Sorry, I'm late. Like rhs said correctly, you need MIDI Controller 111 which is the loop controller for mid2smps. (and also RPG Maker, although it's used a bit differently there) You need to place two of them on every used channel, one with value/data 0 to mark the loop start and one with value 1 to mark the loop end. Loop controllers on the drum channel 10 are used for both, DAC and PSG3 tracks.
I want to replace Green Hill Zone's background with these: The problem is the parallax scrolling in GHZ can be quite tricky. I know there's Selbi's Parallax Editor, but it keeps giving me an error each time I try to load S1LVL.ini. Any solutions? Keep in mind that I'm using SonLVL.
Your getting an error because it is most likely targeting an older version of SonLVL. I believe you can just use an image to load and use that to see it on the background of Selbi's editor. Then just paste the code into your hack.
Okay, here's what I have: As well as this code: Code (ASM): lea ($FFFFCC00).w,a1 ; load beginning address of horizontal scroll buffer to a1 move.w ($FFFFF700).w,d0 ; load FG screen's X position neg.w d0 ; negate (positive to negative) swap d0 ; send to the left side of d0 move.w ($FFFFF708).w,d0 ; load BG screen's X position neg.w d0 ; negate (positive to negative) asr.w #1,d0 ; divide by 2 (Slow down the scroll position) move.w #88-1,d1 ; set number of scan lines to dump (minus 1 for dbf) GHZ_DeformLoop_1: move.l d0,(a1)+ ; dump both the FG and BG scanline position to buffer dbf d1,GHZ_DeformLoop_1 ; repeat d1 number of scanlines move.w ($FFFFF700).w,d0 ; load FG screen's X position neg.w d0 ; negate (positive to negative) swap d0 ; send to the left side of d0 move.w ($FFFFF708).w,d0 ; load BG screen's X position neg.w d0 ; negate (positive to negative) asr.w #1,d0 ; divide by 2 (Slow down the scroll position) move.w #66-1,d1 ; set number of scan lines to dump (minus 1 for dbf) GHZ_DeformLoop_2: move.l d0,(a1)+ ; dump both the FG and BG scanline position to buffer dbf d1,GHZ_DeformLoop_2 ; repeat d1 number of scanlines move.w ($FFFFF700).w,d0 ; load FG screen's X position neg.w d0 ; negate (positive to negative) swap d0 ; send to the left side of d0 move.w ($FFFFF708).w,d0 ; load BG screen's X position neg.w d0 ; negate (positive to negative) asr.w #1,d0 ; divide by 2 (Slow down the scroll position) move.w #72-1,d1 ; set number of scan lines to dump (minus 1 for dbf) GHZ_DeformLoop_3: move.l d0,(a1)+ ; dump both the FG and BG scanline position to buffer dbf d1,GHZ_DeformLoop_3 ; repeat d1 number of scanlines Where should I paste it at?
Find Deform_GHZ routine in your disassembly, then, according to the original Selbi's post (http://forums.sonicretro.org/index.php?showtopic=25359):
I just tried deleting some blocks to make room, but it still ended up garbled. Could it be the format I'm saving the image in? I'm saving it as a PNG, 8bpp (256 colors).
Strangely enough, the image doesn't end up garbled in SonED2. Could the problem be related to SonLVL?
In that case, I'll just use SonLVL for layout editing and SonED2 for art. That being said, anyone know how to get SonED2 to use palette row 2 for art importing? I had to edit palette row 0 (Sonic's palette) in order to get the colors right as seen in the image above. EDIT: Just for comparison sake, here's what happens when I import the art without editing palette row 0.
SonED doesn't use palette 'rows' but uses colour IDs for its art, kind of a pain in the ass, but you'll want an image editor that you can select a palette from...
Would GraphicsGale do? That's the program I used to make sure that only the colors in palette row 2 were used.
Any emulator that works on 7 should work on 8 - assuming of course it's the x86/x64 version and not the ARM-only RT.
Having just come back to hacking after a long beak, I decided to upgrade to the Mercurial disassembly. I attempted to use SonMapEd to remind myself of how to work it, and I saved some unmodified mappings and pattern cues for Sonic. When I attempted to build the ROM it gave this error log: Spoiler SN 68k version 2.53 C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INC\PALETTE POINTERS.ASM(25) : Warning : Size of pal_levels ($6) does not match ZoneCount ($7). C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\SONIC.ASM(3038) : Warning : Size of colpointers ($6) does not match ZoneCount ($7). C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INCOBJ\3A GOT THROUGH CARD.ASM(175) : Warning : Size of levelorder ($6) does not match ZoneCount ($7). C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\SONIC.ASM(6825) : Warning : Size of musiclist2 ($6) does not match ZoneCount ($7). C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INC\PATTERN LOAD CUES.ASM(23) : Warning : Size of plc_levels ($6) does not match ZoneCount ($7). C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INC\PATTERN LOAD CUES.ASM(36) : Warning : Size of plc_animals ($6) does not match ZoneCount ($7). C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\SONIC.ASM(9093) : Warning : Forward reference to redefinable symbol C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\SONIC.ASM(2298) : Warning : Forward reference to redefinable symbol C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\SONIC.ASM(2384) : Warning : Forward reference to redefinable symbol C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INCOBJ\81 CONTINUE SCREEN SONIC.ASM(22) : Error : Symbol 'map_sonic' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INCOBJ\81 CONTINUE SCREEN SONIC.ASM(54) : Error : Symbol 'map_sonic' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INCOBJ\59 SLZ ELEVATORS.ASM(10) : Warning : Forward reference to redefinable symbol C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INCOBJ\5A SLZ CIRCLING PLATFORM.ASM(10) : Warning : Forward reference to redefinable symbol C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INCOBJ\5B STAIRCASE.ASM(10) : Warning : Forward reference to redefinable symbol C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INCOBJ\5E SEESAW.ASM(10) : Warning : Forward reference to redefinable symbol C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\SONIC.ASM(6761) : Error : Symbol 'map_sonic' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(38) : Error : Symbol 'fr_walk13' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(38) : Error : Symbol 'fr_walk14' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(38) : Error : Symbol 'fr_walk15' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(38) : Error : Symbol 'fr_walk16' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(38) : Error : Symbol 'fr_walk11' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(38) : Error : Symbol 'fr_walk12' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(40) : Error : Symbol 'fr_run11' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(40) : Error : Symbol 'fr_run12' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(40) : Error : Symbol 'fr_run13' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(40) : Error : Symbol 'fr_run14' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(42) : Error : Symbol 'fr_roll1' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(42) : Error : Symbol 'fr_roll2' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(42) : Error : Symbol 'fr_roll3' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(42) : Error : Symbol 'fr_roll4' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(42) : Error : Symbol 'fr_roll5' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(44) : Error : Symbol 'fr_roll1' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(44) : Error : Symbol 'fr_roll2' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(44) : Error : Symbol 'fr_roll5' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(44) : Error : Symbol 'fr_roll3' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(44) : Error : Symbol 'fr_roll4' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(44) : Error : Symbol 'fr_roll5' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(46) : Error : Symbol 'fr_push1' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(46) : Error : Symbol 'fr_push2' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(46) : Error : Symbol 'fr_push3' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(46) : Error : Symbol 'fr_push4' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(48) : Error : Symbol 'fr_stand' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(48) : Error : Symbol 'fr_stand' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(48) : Error : Symbol 'fr_stand' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(48) : Error : Symbol 'fr_stand' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(48) : Error : Symbol 'fr_stand' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(48) : Error : Symbol 'fr_stand' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(48) : Error : Symbol 'fr_stand' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(48) : Error : Symbol 'fr_stand' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(48) : Error : Symbol 'fr_stand' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(49) : Error : Symbol 'fr_stand' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(49) : Error : Symbol 'fr_stand' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(49) : Error : Symbol 'fr_stand' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(49) : Error : Symbol 'fr_wait2' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(49) : Error : Symbol 'fr_wait1' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(49) : Error : Symbol 'fr_wait1' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(49) : Error : Symbol 'fr_wait1' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(49) : Error : Symbol 'fr_wait2' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(49) : Error : Symbol 'fr_wait3' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(51) : Error : Symbol 'fr_balance1' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(51) : Error : Symbol 'fr_balance2' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(53) : Error : Symbol 'fr_lookup' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(55) : Error : Symbol 'fr_duck' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(57) : Error : Symbol 'fr_warp1' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(59) : Error : Symbol 'fr_warp2' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(61) : Error : Symbol 'fr_warp3' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(63) : Error : Symbol 'fr_warp4' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(65) : Error : Symbol 'fr_stop1' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(65) : Error : Symbol 'fr_stop2' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(67) : Error : Symbol 'fr_float1' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(67) : Error : Symbol 'fr_float4' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(69) : Error : Symbol 'fr_float1' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(69) : Error : Symbol 'fr_float2' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(69) : Error : Symbol 'fr_float5' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(69) : Error : Symbol 'fr_float3' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(69) : Error : Symbol 'fr_float6' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(71) : Error : Symbol 'fr_spring' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(73) : Error : Symbol 'fr_hang1' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(73) : Error : Symbol 'fr_hang2' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(75) : Error : Symbol 'fr_leap1' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(75) : Error : Symbol 'fr_leap1' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(75) : Error : Symbol 'fr_leap1' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(77) : Error : Symbol 'fr_leap1' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(77) : Error : Symbol 'fr_leap2' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(79) : Error : Symbol 'fr_surf' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(81) : Error : Symbol 'fr_getair' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(81) : Error : Symbol 'fr_getair' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(81) : Error : Symbol 'fr_walk15' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(81) : Error : Symbol 'fr_walk16' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(83) : Error : Symbol 'fr_burnt' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(85) : Error : Symbol 'fr_drown' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(87) : Error : Symbol 'fr_death' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(89) : Error : Symbol 'fr_shrink1' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(89) : Error : Symbol 'fr_shrink2' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(89) : Error : Symbol 'fr_shrink3' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(89) : Error : Symbol 'fr_shrink4' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(89) : Error : Symbol 'fr_shrink5' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(89) : Error : Symbol 'fr_null' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(91) : Error : Symbol 'fr_injury' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(94) : Error : Symbol 'fr_injury' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(94) : Error : Symbol 'fr_waterslide' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(96) : Error : Symbol 'fr_null' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(98) : Error : Symbol 'fr_float1' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(98) : Error : Symbol 'fr_float2' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(98) : Error : Symbol 'fr_float5' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(98) : Error : Symbol 'fr_float3' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(98) : Error : Symbol 'fr_float6' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_ANIM\SONIC.ASM(100) : Error : Symbol 'fr_float1' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INCOBJ\SONIC LOADGFX.ASM(15) : Error : Symbol 'sonicdynplc' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INCOBJ\SUB REACTTOITEM.ASM(17) : Error : Symbol 'fr_duck' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INCOBJ\09 SONIC IN SPECIAL STAGE.ASM(28) : Error : Symbol 'map_sonic' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INCOBJ\DEBUGMODE.ASM(183) : Error : Symbol 'map_sonic' not defined C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INCOBJ\DEBUGMODE.ASM(195) : Error : Symbol 'map_sonic' not defined Assembly completed. 100 error(s) from 52085 lines in 0.16 seconds I looked a little further into the matter and found that SonMapEd seems to save mappings in a different format to how they are in this disassembly. Does anyone know a way (preferably quick) to convert the mappings saved by SonMapEd to be usable in this disassembly?
Unfortunately not. The format is the same but SonMapEd does not read the labels from the input file, so when you save it again it generates new labels. It's a go-though-by-hand solution I'm afraid. I would use the original file as a reference, it doesn't take too long with a good text editor.
The best way to solve all further problems would be using a Hivebrain's Disassembly. I tried HG disasm a while ago. I downloaded a new clean disassembly with no changes at all. I build it and... I got a bunch of warnings. Seriously, what the fuck with that thing? How am I supposed to use something that doesn't even prove to be stable in a clean form? This is nonsense, a disassembly that doesn't even assembles properly from the very beginning. I know so many people were trying their best on HG disassembly, incredible amounts of work were done, so many code was annotated. I'm using some resources of it sometimes, as it has a lot of excellent ideas of storing things, like macros to work with VRAM, constants for object's STTs and so informative variables file, that I often look through. I mean, it's awesome, it's full of some great ideas and features overall, but it has one major problem: it's totally messy and unusable, your issue just proves that. Basically, they overdid everything. Usage of macros and labels, dividing subroutines into separate files, everything is too extensive and annoying, leaving you guess where the code you need for hours. As for the particular issue you've having. I'm more or less familiar with this disassembly, and I'm afraid fixing it is a real challenge. You see, when you save mappings with SonMapEd, it changes all the labels used to mark frames to randomly generated names. This is fine, as these labels are only necessary to build table of offsets in the beginning of mappings data. But in HG disasm, they overdid things once again, now label names from mappings file are used directly in animation scripts, instead of frame IDs. This doesn't make much sense, look, you can just open Sonic's sprites in SonMapEd to see what frame ID is what when you need it. Was naming IDs really that necessary? As a result, you now can't touch Sonic's mappings with SonMapEd because of that solution. So, to fix it, you'd rather: 1) Fix about 100 labels renamed by SonMapEd every time you save mappings. 2) Replace over 9000 references to these labels in Sonic.asm file with proper frame IDs, like they were in old good Hivebrain's disassembly. You can try replacing all Sonic animation scripts with ones from old disassembly, which can be rather challenging as well, since HG uses more labels in animations scripts as well (as far as I remember). And this doesn't guarantee you won't have issues any further, there can be even more label-sensitive places. 3) Use a good disassembly.