I can't recall too much about MSU-1 since I never worked with it but can explain about official enhancement chips:
I'd say that SA-1 is quite well documented. There isn't much about Super FX, though, as the only knowledgable person I can think of is DiscoTheBat who has disappeared (though I have some knowledge about Super FX as well, especially since I work on the YI disassembly), but IMO the SNES developer manual should explain everything but the only documentation I have is the last ASM Workshop. About SPC700... I don't know any documentation, tbh.
So far, only one enhancement chip + MSU-1 (IIRC) is supported. The official enhancement chips can't be used together because their mapping and and access to registers and additional RAM conflict with each other (particularily SA-1 which has got great control about the mapping). As such, no emulator officially support more than one enhancement chip, not counting MSU-1.
Yes, Asar is the standard and supports SPC700 and Super FX ASM as well.
The last question depends. SA-1 has got greater support for SMW since it is a 65816 much like the SNES whereas proper Super FX support would require you to rewrite SMW, not to mention there isn't any development towards Super FX.
In addition, SA-1 has got great maths capabilities as well (in fact, it even has got proper division which Super FX lack) and Super FX is quite a beast also (especially when code runs in cache).
They do! Not all samples found in musics are used in sound effects and one sound effect sample (the thunder one) isn't used for any of SMW's musics but I'd say around half of them are shared between music and SFX.
TopCorner is called TopCorner because that's the interaction point which is triggered on block corners and not right above a block. There is no such thing as "LeftFoot" and "RightFoot" because the game swaps between the left and right interaction point in such a way, one of them is close to the block centre (MarioAbove) and the other is close to the corners (TopCorner).
Remember that there are eight sets of interaction points and they all are indexed by the following properties: Whether Mario is small, whether he rides Yoshi and whether he is on the left side of a block. That determines which side has got interaction but also whether TopCorner is to the left or to the right of MarioAbove.
To take into consideration: If Mario's left side is on the left half of a block, MarioAbove is the left interaction point and TopCorner the right, but if it's on the right half, TopCorner is the left interaction point and MarioAbove the right one.
Hi, please where can I fin blocks that are similar to the ones solid for sprites and not for the player, but the sprites don't move when touching them? They're often been used in hard or very hard hacks.
Use tiles with an acts like from 1D8 to 1FA. Keep in mind that in order to have the sprites stand still, they need to be placed on top of a 1F0 tile and it doesn't work with every sprite.
One thing to note: On Windows, you need to enter python instead of python3 since the latter is a thing in Linux/Unix-based systems (where often Python 2 and 3 are installed and not all have fully switched to Python 3).
Enhacement chip emulation is very tricky. That means, SA-1 Pack tries its best to work on a real SNES but it can be only as accurate as BSNES allows it. As SA-1 emulation gets better and better, so does the probability that BSNES doesn't work with older versions of SA-1 Pack rise. That's why your hack works on BSNES since SA-1 Pack v1.32 does work with latest BSNES but existing hacks only in older versions and inaccurate emulators.
Grinders have got a very low priority. That means, the only things which go behind the grinder are sprites on a lower OAM slot and layer 3 tiles with no priority enabled.
There are two fixes:
The first one is to give the grinder some priority. For that, paste the following code into an ASM file and patch it with Asar:
The other method is to give all the layer 3 tiles no prioity. Open the layer 3 background with , open , select all tiles and set priority in the overworld box to "Priority Off" and save the background. If it's from SMW, select an unused background ExGFX slot and use the default settings. Those same settings need to be used within the level at .
First of all: Be patient! It's been almost eight hours since you created this thread, not everyone can answer this quickly, especially because...
Second: Not everyone is an expert here, only a subset of us can possibly help you. And even then, how can we help you when...
Last: Your question is too vague to be answered properly without guessing. What do you want to do, where do you have issues and what went wrong? If you answer these question to us, we might help you out with your problem.
You aren't restricted to GFX29. This is twofold: First off, you can use ExGFX on the title screen just like on any other level, it will load the correct graphics. Second, you aren't restricted to LG2 but also to LG1, 3 and 4.
The looping point is always the beginning of the chance by default, so if this is not what you need, you have to specify where to resume after the end is reached. This has to be done for each channel if even just one channel changes its loop point! Make sure the loop point is synced in length with the other channels, otherwise your port will desync once it reaches the loop point, meaning that notes will start to play out of order!
So, to specify a loop point inside a channel, you have to use the / command.
Those tiles are, interestingly, dynamically created by either shifting the tiles horizontally (water) or downwards (waterfalls). That's possible because SMW stores animated tiles in RAM (they're all decompressed and need to be recompressed there anyway) which means it's free to modify the tiles and animate them that way.
It's generally better to use existing frames, though, as the SNES's planar graphics format is difficult to work with if you don't convert a bitmap into planar format (aka SA-1 and Super FX).