don't click here

Everything That I Know About Sonic the Hedgehog's Source Code

Discussion in 'General Sonic Discussion' started by Clownacy, Mar 30, 2022.

  1. Kilo

    Kilo

    Starting new projects every week Tech Member
    1,210
    1,159
    93
    Canada
    Changes with the weather
    Potentially TTS related? Although I guess since vertical scrolling is included, it could be ruled out as such.
    It's not the first time we've found TTS code leftover within the scrolling code.
     
  2. Devon

    Devon

    La mer va embrassé moi et délivré moi lakay. Tech Member
    1,485
    1,810
    93
    your mom
    So, what's up with background Z in the Sonic 1 prototype? Let's start from the top

    So, there's a bit of code for testing something related to H-BLANK interrupts. If we look at its code, not only can we see that it affects the H-BLANK interrupt position, but it also shifts "scrz_v_posit", or background Z's Y position. This is the only part in the prototype in which scrz_v_posit is directly manipulated.

    [​IMG]

    Let's take a look at scrz_h_posit, background Z's X position and its relation to stage drawing. There are 3 functions related to drawing backgrounds: scrollwrtb, scrollwrtc, and scrollwrtz. scrollwrtb and scrollwrtc are used, but scrollwrtz is completely unreferenced. scrollwrtb and scrollwrtc call the normal VDP command calculation function vramadrset, but scrollwrtz calls an alternate function that is called vramadrset2. The difference between them is that vramadrset is for writing to VRAM range 0xC000-0xFFFF, while vramadrset2 is for writing to VRAM range 0x8000-0xBFFF.

    [​IMG]

    scrollwrtz's functionality is that it draws a stack of 3 blocks on either the left or right side of the screen, with the Y position being calculated from scrz_v_posit. The way it calculates this Y position explains the inverted movement of its value as seen in watercnt.

    [​IMG]

    On top of this, there is also an unused function for initializing background Z's drawing. What's notable is that it too uses vramadrset2, and unlike the drawing update function, this actually has a little setup code that gives a bit extra information.

    As established before, background Z's drawing range is always 3 blocks high, and on initialization, it draws 3 rows of blocks at the bottom of the screen. But, the most interesting part to me is the 2nd line, where d2 is set to 0x6000. So, with it using vramadrset2, that means the calculated VDP command is set to affect VRAM address range 0x8000-0xBFFF. d2 is used in the drawing code to effectively pick out which segment in that address range to work with. The foreground uses 0x4000, which means starting with 0xC000 when using vramadrset, and the background uses 0x6000, which means starting from 0xE000.

    In this case, with d2 being 0x6000, this means background Z's segment affects range 0xA000-0xAFFF.

    [​IMG]

    So, now let's take a look at the unused H-BLANK interrupt handler. Here, it changes the VRAM address of the plane B and the sprite table. The stuff with the sprite table doesn't seem to effectively do anything, as it just resets the address to the same default value that it always has and loads from the same standard sprite table buffer as used throughout the game. It probably would have evolved in some way. Regardless, it does lead me to believe that background Z object sprites would have overridden the general game sprites, too.

    However, I would like to point out that plane B's address gets set to... 0xA000! The same base address used for background Z drawing! Now it makes sense why scrz_v_posit was used for the H-BLANK interrupt positioning function.

    [​IMG]

    And look here, during initialization, the H-BLANK interrupt counter is set to around 3 blocks above the bottom of the screen, much like how 3 rows of blocks are drawn at the bottom of the screen for background Z!

    [​IMG]

    The only other tidbits that can be explored from here are the fact that background Z's X and Y position get stored into a couple of unused variables (presumably meant to be used while swapping out plane B's address), the option for certain objects to scroll along background Z (and also B and C) and an unfinished implementation of a background Z specific object layout manager. With the last one, all it was programmed to do was continually spawn objects whose X positions are less than (scrz_h_posit + 0x200) & 0xFF80.

    [​IMG]

    [​IMG]
    [​IMG]

    So, from what can be gathered here, background Z was going to be this separate plane, whose graphics are drawn in 3 block tall segments, and was designed to override plane B via H-BLANK interrupt at whatever Y position it is set to (scrz_v_posit). I could not tell you for certain what exactly it's for, especially since this was clearly left unfinished, but yeah.
     
    Last edited: Jan 2, 2025
    • Informative Informative x 7
    • List
  3. Devon

    Devon

    La mer va embrassé moi et délivré moi lakay. Tech Member
    1,485
    1,810
    93
    your mom
    So, as it is documented, source code for the debug mode was found in the Sonic 2 Nick Arcade prototype. Some people have already noticed already, but Sonic 1's debug item lists are actually at the bottom, past the "end" directive (minus the one for Green Hill, but that's already normally in the ROM, so...), so if you want more Sonic 1 symbols, here you go:
    Code (ASM):
    1. edit1tbl:
    2.         dc.w    14
    3.         dcblw   ring_act,ringpat,$26bc,0,$00            ;1:
    4.         dcblw   item_act,itempat,$0680,0,$00            ;2:
    5.         dcblw   kani_act,kanipat,$0400,0,$00            ;3:
    6.         dcblw   hachi_act,hachipat,$0444,0,$00          ;4:
    7.         dcblw   fish_act,fishpat,$0470,0,$00            ;5:
    8.         dcblw   toge_act,togepat,$04a0,0,$00            ;6:
    9.         dcblw   shima_act,shimapat2,$4000,0,$00         ;7:
    10.         dcblw   jyama_act,jyamapat,$66c0,0,$00          ;8:
    11.         dcblw   musi_act,musipat,$04e0,0,$00            ;9:
    12.         dcblw   sjump_act,sjumppat,$04a8,0,$00          ;10:
    13.         dcblw   kamere_act,kamerepat,$249b,0,$00        ;11:
    14.         dcblw   kageb_act,kagebpat,$434c,0,$00          ;12:
    15.         dcblw   save_act,savepat,$26bc,0,$01            ;13:
    16.         dcblw   colichg_act,colichgpat,$26bc,0,$00      ;14:
    17.  
    18.         -----
    19.  
    20. edit2tbl:
    21.         dc.w    25
    22.         dcblw   ring_act,ringpat,$26bc,0,$00            ;1:
    23.         dcblw   item_act,itempat,$0680,0,$00            ;2:
    24.         dcblw   sjump_act,sjumppat,$0523,0,$00          ;3:
    25.         dcblw   fish2_act,fish2pat,$2486,0,$08          ;4:
    26.         dcblw   mogura_act,mogurapat,$84a6,2,$00        ;5:
    27.         dcblw   yari_act,yaripat,$03cc,0,$00            ;6:
    28.         dcblw   yari_act,yaripat,$03cc,3,$02            ;7:
    29.         dcblw   box_act,boxpat,$43de,0,$00              ;8:
    30.         dcblw   switch2_act,switch2pat,$0513,0,$00      ;9:
    31.         dcblw   toge_act,togepat,$051b,0,$00            ;10:
    32.         dcblw   dai_act,udaipat,$43bc,0,$04             ;11:
    33.         dcblw   dai3_act,dai3pat,$43e6,0,$01            ;12:
    34.         dcblw   dai3_act,dai3pat,$43e6,1,$13            ;13:
    35.         dcblw   dai3_act,dai3pat,$43e6,0,$05            ;14:
    36.         dcblw   kazari_act,kazaripat,$443e,0,$00        ;15:
    37.         dcblw   dai3_act,dai3pat,$43e6,2,$27            ;16:
    38.         dcblw   dai3_act,dai3pat,$43e6,3,$30            ;17:
    39.         dcblw   kassya_act,kassyapat,$03f6,0,$7f        ;18:
    40.         dcblw   uni_act,unipat,$0467,0,$00              ;19:
    41.         dcblw   awa_act,awapat,$8348,19,$84             ;20:
    42.         dcblw   mizu_act,mizupat,$c259,2,$02            ;21:
    43.         dcblw   mizu_act,mizupat,$c259,9,$09            ;22:
    44.         dcblw   bou_act,boupat,$43de,0,$00              ;23:
    45.         dcblw   ben_act,benpat,$4328,0,$02              ;24:
    46.         dcblw   save_act,savepat,$26bc,0,$01            ;25:
    47.  
    48. *       dcblw   dai4_act,dai4pat,$41f0,4,$80            ;25:
    49. edit3tbl:
    50.         dc.w    18
    51.         dcblw   ring_act,ringpat,$26bc,0,$00            ;1:
    52.         dcblw   item_act,itempat,$0680,0,$00            ;2:
    53.         dcblw   hachi_act,hachipat,$0444,0,$00          ;3:
    54.         dcblw   toge_act,togepat,$051b,0,$00            ;4:
    55.         dcblw   sjump_act,sjumppat,$0523,0,$00          ;5:
    56.         dcblw   mfire_act,firepat,$0345,0,$00           ;6:
    57.         dcblw   fblock_act,fblockpat,$4000,0,$00        ;7:
    58.         dcblw   myogan_act,yoganpat,$63a8,0,$00         ;8:
    59.         dcblw   yogan2_act,yogan2pat,$63a8,0,$00        ;9:
    60.         dcblw   box_act,boxpat,$42b8,0,$00              ;10:
    61.         dcblw   yado_act,yadopat,$247b,0,$00            ;11:
    62.         dcblw   bryuka_act,bryukapat,$42b8,0,$00        ;12:
    63.         dcblw   dai_act,daipat,$02b8,0,$00              ;13:
    64.         dcblw   break2_act,break2pat,$62b8,0,$00        ;14:
    65.         dcblw   yoganc_act,yogancpat,$8680,0,$00        ;15:
    66.         dcblw   bat_act,batpat,$04b8,0,$00              ;16:
    67.         dcblw   imo_act,imopat,$24ff,0,$00              ;17:
    68.         dcblw   save_act,savepat,$26bc,0,$01            ;18:
    69. edit4tbl:
    70.         dc.w    15
    71.         dcblw   ring_act,ringpat,$26bc,0,$00            ;1:
    72.         dcblw   item_act,itempat,$0680,0,$00            ;2:
    73.         dcblw   elev_act,elevpat,$4000,0,$00            ;3:
    74.         dcblw   break2_act,break2pat,$44e0,2,$00        ;4:
    75.         dcblw   shima_act,z4daipat,$4000,0,$00          ;5:
    76.         dcblw   pedal_act,pedalpat,$4000,0,$00          ;6:
    77.         dcblw   step_act,steppat,$4000,0,$00            ;7:
    78.         dcblw   fun_act,funpat,$43a0,0,$00              ;8:
    79.         dcblw   sisoo_act,sisoopat,$0374,0,$00          ;9:
    80.         dcblw   sjump_act,sjumppat,$0523,0,$00          ;10:
    81.         dcblw   mfire_act,firepat,$0480,0,$00           ;11:
    82.         dcblw   bgspr_act,hassyapat,$44d8,0,$00         ;12:
    83.         dcblw   brobo_act,brobopat,$0400,0,$00          ;13:
    84.         dcblw   uni_act,unipat,$2429,0,$00              ;14:
    85.         dcblw   save_act,savepat,$26bc,0,$01            ;15:
    86. edit5tbl:
    87.         dc.w    15
    88.         dcblw   ring_act,ringpat,$26bc,0,$00            ;1:
    89.         dcblw   item_act,itempat,$0680,0,$00            ;2:
    90.         dcblw   toge_act,togepat,$051b,0,$00            ;3:
    91.         dcblw   sjump_act,sjumppat,$0523,0,$00          ;4:
    92.         dcblw   aruma_act,arumapat,$04b8,0,$00          ;5:
    93.         dcblw   signal_act,signalpat,$0000,0,$00        ;6:
    94.         dcblw   bobin_act,bobinpat,$0380,0,$00          ;7:
    95.         dcblw   kani_act,kanipat,$0400,0,$00            ;8:
    96.         dcblw   hachi_act,hachipat,$0444,0,$00          ;9:
    97.         dcblw   yado_act,yadopat,$247b,0,$00            ;10:
    98.         dcblw   shima_act,z5daipat,$4000,0,$00          ;11:
    99.         dcblw   dai2_act,dai2pat,$4000,0,$00            ;12:
    100.         dcblw   switch2_act,switch2pat,$0513,0,$00      ;13:
    101.         dcblw   imo_act,imopat,$24ff,0,$00              ;14:
    102.         dcblw   save_act,savepat,$26bc,0,$01            ;15:
    103. edit6tbl:
    104.         dc.w    29
    105.         dcblw   ring_act,ringpat,$26bc,0,$00            ;1:
    106.         dcblw   item_act,itempat,$0680,0,$00            ;2:
    107.         dcblw   brobo_act,brobopat,$0400,0,$00          ;3:
    108.         dcblw   uni_act,unipat,$0429,0,$00              ;4:
    109.         dcblw   imo_act,imopat,$22b0,0,$00              ;5:
    110.         dcblw   buranko_act,fetamapat,$4391,2,$07       ;6:
    111.         dcblw   haguruma_act,hagurumapat,$c344,00,$e0   ;7:
    112.         dcblw   dai_act,daipat,$22c0,2,$28              ;8:
    113.         dcblw   switch2_act,switch2pat,$0513,0,$00      ;9:
    114.         dcblw   pata_act,patapat,$4492,0,$03            ;10:
    115.         dcblw   pata_act,yukafpat,$04df,0,$83           ;11:
    116.         dcblw   noko_act,nokopat,$43b5,0,$02            ;12:
    117.         dcblw   break2_act,break2pat,$43f5,0,$00        ;13:
    118.         dcblw   dai_act,daipat,$4460,3,$39              ;14:
    119.         dcblw   dai4_act,dai4pat,$22c0,0,$00            ;15:
    120.         dcblw   door_act,doorpat,$42e8,0,$00            ;16:
    121.         dcblw   dai4_act,dai4pat,$22c0,1,$13            ;17:
    122.         dcblw   noko_act,nokopat,$43b5,0,$01            ;18:
    123.         dcblw   dai4_act,dai4pat,$22c0,1,$24            ;19:
    124.         dcblw   noko_act,nokopat,$43b5,2,$04            ;20:
    125.         dcblw   dai4_act,dai4pat,$22c0,1,$34            ;21:
    126.         dcblw   yukae_act,yukaepat,$44c3,0,$00          ;22:
    127.         dcblw   fire6_act,fire6pat,$83d9,0,$64          ;23:
    128.         dcblw   fire6_act,fire6pat,$83d9,11,$64         ;24:
    129.         dcblw   ele_act,elepat,$047e,0,$04              ;25:
    130.         dcblw   yukai_act,yukaipat,$42f0,0,$00          ;26:
    131.         dcblw   scoli_act,scolipat,$8680,0,$11          ;27:
    132.         dcblw   buta_act,butapat,$2302,0,$04            ;28:
    133.         dcblw   save_act,savepat,$26bc,0,$01            ;29:
    134.  
    135. *       dcblw   ring_act,playpat,$0780,50,$00           ;28:
    136. *       dcblw   usa_act,usapat,$0448,0,$00              ;5:
    137. *       dcblw   mawaru_act,mawarupat,$4348,16,$00       ;7:
    138.  
    139. edit7tbl:
    140.         dc.w    02      *13
    141.         dcblw   ring_act,ringpat,$26bc,0,$00            ;1:
    142.         dcblw   ring_act,ringpat,$26bc,8,$00            ;2:
    143. *       dcblw   bobin_act,bobinpat,$0380,0,$00          ;2:
    144. *       dcblw   usagi_act,flicpat,$05a0,0,$0a           ;3
    145. *       dcblw   usagi_act,flicpat,$05a0,0,$0b           ;4
    146. *       dcblw   usagi_act,flicpat,$05a0,0,$0c           ;5
    147. *       dcblw   usagi_act,usagipat,$0553,0,$0d          ;6
    148. *       dcblw   usagi_act,usagipat,$0553,0,$0e          ;7
    149. *       dcblw   usagi_act,pengpat,$0573,0,$0f           ;8
    150. *       dcblw   usagi_act,pengpat,$0573,0,$10           ;9
    151. *       dcblw   usagi_act,azarpat,$0585,0,$11           ;10
    152. *       dcblw   usagi_act,fbutapat,$0593,0,$12          ;11
    153. *       dcblw   usagi_act,niwapat,$0565,0,$13           ;12
    154. *       dcblw   usagi_act,risupat,$05b3,0,$14           ;13
     
    Last edited: Jan 3, 2025
    • Informative Informative x 6
    • List
  4. Devon

    Devon

    La mer va embrassé moi et délivré moi lakay. Tech Member
    1,485
    1,810
    93
    your mom
    Okay, so first thing, the Sonic 2 Nick Arcade symbol tables actually do have multiple labels for a single address (you can see them most commonly with local labels and a few sprites). Second, object 4A's sprite data in Sonic 1 is sandwiched between the shield/invincibility and splash sprites, right after Sonic's object code. "warppat" is shown to be at the same address as "zonepat", "sprevpat", "derupat", and "sp1uppat", in which they all refer to "Map_SS_R", right after the table that defines each block and its graphics.

    Additionally, there's a label called "golepat" at that same location. Now, I do agree that the signpost object was called "gole", and its sprite data was probably called "golepat"... so what's up with this one? My theory is that it's just some XDEF/XREF dickery happening here. For those not in the know, the Genesis Sonic games were built using an assembler and linker, and when you have a linker, source files are assembled/compiled individually, and then linked together to make the built program. An "XDEF" marks a symbol as visible to other modules when linking, and an "XREF" tells the assembler that the symbol being referenced comes from another module. In the case of this set of sprite data, what I am thinking is that there is a proper XDEF of the signpost version of "golepat" that can be XREF'd as desired, but here, I believe that the source file that holds the special stage sprite data and tables has its own contained "golepat" symbol specifically to be assigned with the rest of those other labels, and doesn't use an XREF to use the one from the signpost module, and are also only visible to her.

    There are other examples of this sort of thing. For example, the ring object's initialization routine is called "ringinit", but so is the function that initializes the HUD's ring counter graphics. The leftover Chopper badnik's animation data is called "fishchg", but so is "bfish"'s. The stegosaurus badnik has a function called "checksonic", but so does the alligator badnik. The Emerald Hill boss has a function called "checkshoot", but so does the Buzzer badnik. Hell, in Sonic CD, Amy has her own version of "speedset", which is normally a global function that updates an object's movement, and also applies gravity, but in Amy's case, her own personal version just calls 2 separate functions called "speedsetx" and "speedsety", which just updates her movement, but on separate axes.

    Last thing I will mention about "warppat" is that one of the blocks that uses this specific sprite data is the "W" block. Make of this info how you will.

    [​IMG]

    Also, here's what I think each label is supposed to represent:
    zonepat = unused ZONE blocks
    warppat = unused W block
    sprevpat = R (reverse) block
    golepat = GOAL block
    derupat = red/white ghost/gate block
    sp1uppat = unused 1-UP block
    sphashpat = red/white solid block
    koukapat = emerald sparkle
    breakpat = diamond block
    spuppat = UP block
    spdownpat = DOWN block
    metpat = ????????? (prototype leftover maybe?)
     
    Last edited: Jan 4, 2025
    • Agree Agree x 1
    • Informative Informative x 1
    • Useful Useful x 1
    • List
  5. Brainulator

    Brainulator

    Regular garden-variety member Member
    I noticed this, but unfortunately, there's not enough info in the ROM to definitively say whether the W block is the warp block.
     
  6. Devon

    Devon

    La mer va embrassé moi et délivré moi lakay. Tech Member
    1,485
    1,810
    93
    your mom
    Not sure what else it would be referring to, considering that every other block that uses its sprite data has a matching label... but I'm just not sure what "metpat" is supposed to be, which is what's throwing me off...
     
  7. Kilo

    Kilo

    Starting new projects every week Tech Member
    1,210
    1,159
    93
    Canada
    Changes with the weather
    Perhaps the diamonds? They make a metal like noise...?
     
  8. Devon

    Devon

    La mer va embrassé moi et délivré moi lakay. Tech Member
    1,485
    1,810
    93
    your mom
    The diamonds use a different set of sprites (Map_SS_Glass in the disassembly, as opposed to Map_SS_R that warpat uses), and of course already have their own label.
     
    • Informative Informative x 1
    • List
  9. Devon

    Devon

    La mer va embrassé moi et délivré moi lakay. Tech Member
    1,485
    1,810
    93
    your mom
    Bump, because I got this to share, from the Sonic 2 Nick Arcade ROM:
    Code (Text):
    1. --------------------------------------------------------------------------
    2.  Related assembler work data located around the assembled code (before?)
    3. --------------------------------------------------------------------------
    4. 5410C - sisoo (assembler work)
    5. 546F8 - wasp (assembler work)
    6. 557B8 - seahorse, skyhorse (assembler work)
    7. 56424 - redz (assembler work)
    8. 5669C - wfish2 (assembler work)
    9. 56CCC - gator (assembler work)
    10. 57644 - bbat (assembler work)
    11. 57FF8 - oct (assembler work)
    12. 59304 - bossdriller, driller, drillerguy (assembler work)
    13. 5A12C - snail (assembler work)
    14. 5A718 - boss1, btama (assembler work)
    15. 5B1FC - staff (assembler work)
    16. 5C0B0 - bossba, billbomb (assembler work)
    17. --------------------------------------------------------------------------
    18. 5C570 - staff (tail end of assembler work)
    19. 5D000 - bossba, billbomb (assembler work)
    20. --------------------------------------------------------------------------
    21. 5D781 - edit (source code)
    22. --------------------------------------------------------------------------
    23. 60BE0 - Title screen logo mappings (tail end of data)
    24. 60C20 - Title screen background mappings 1 (old version?)
    25. 60EF8 - I have NO clue
    26. --------------------------------------------------------------------------
    27. 62230 - pcol (assembler work)
    28. 62C48 - masin (assembler work)
    29. 65260 - sprscr, sprscractcnt, scrwkchk, scrcnt, sprmapset (assembler work)
    30. 66548 - efectwrt, efectmove, efectblockset (assembler work)
    31. 67894 - play01 (assembler work)
    32. 68464 - edit (assembler work)
    33. 69464 - score, scoreup, scoreset (assembler work)
    34. 6B5C4 - mapinittbl, divdevtbl (assembler work)
    35. --------------------------------------------------------------------------

    Basically, a good chunk of the second "symbol table" is actually just scrap assembler work data for various source files. Any pointers listed as "assembler work" will point to assembled 68000 code, with related assembler data nearby (I think it's right before the assembled code). I did also find a tilemap at 0x60C20 that is meant to go with the title screen that doesn't match any other data in the ROM, or even like Sonic 1. It's also larger than the data that did get used for the ROM.

    But yeah, with this, you can find even more symbols, and also even earlier code! I did previously go through this and restored the earlier Emerald Hill boss with the weird janky bobbing animation that's handled by a small table:



    I also noticed that the earlier version of "efectwrt" found in this ROM segment actually calls the unused function for shifting Chemical Plant's background (called efectmove). I'll probably comb through more later, but if anyone would like to, I absolutely encourage anyone to take a look for themselves. You will need to go through the assembler work data in order to apply patches to the assembled 68000 code, but it can be reconstructed, as I have shown above.
     
    Last edited: Jan 9, 2025 at 1:16 AM
    • Informative Informative x 2
    • List
  10. Blastfrog

    Blastfrog

    See ya starside. Member
    Wait a second, was Final Zone once planned to contain SYZ bumpers and Splats? (bobin and usagi, respectively)
     
  11. Devon

    Devon

    La mer va embrassé moi et délivré moi lakay. Tech Member
    1,485
    1,810
    93
    your mom
    That's the ending's table (Final zone is technically Scrap Brain Zone act 3, with the real SBZ3 being Labyrinth Zone act 4), and usagi isn't Splats, it's the animal object. Dunno about the bumper, though. Those lines that are commented out can actually be found in REV00, just without the second ring line (which is only in REV01).
     
    Last edited: Jan 4, 2025
  12. Kilo

    Kilo

    Starting new projects every week Tech Member
    1,210
    1,159
    93
    Canada
    Changes with the weather
    Splats is in Scrap Brain/Final Zone's debug list, albeit commented out:
    Code (Text):
    1. *       dcblw   usa_act,usapat,$0448,0,$00              ;5:
    They just shortened usagi to usa. Similarly to how buta is ball-hog, so the pig animal subtype of usagi is called fbuta.
    This is also supported by Yasuhara's enemy planning sheet where Splats is marked for SBZ
    upload_2025-1-4_7-48-54.png
    It was probably only made placeable in MZ in the prototype for testing.

    Back on metpat though, I think I got a more solid theory, the scrapped items from the prototype:
    upload_2025-1-4_7-44-45.png
    Sticking to met = metal, that would be the magnet. And deru means to leave so that could be the skull (It's that or the goal block... but golepat so)
     
  13. Devon

    Devon

    La mer va embrassé moi et délivré moi lakay. Tech Member
    1,485
    1,810
    93
    your mom
    deru refers to the ghost/gate block. That I do know, because the function for managing them is called "derusub".
     
    • Like Like x 1
    • Agree Agree x 1
    • Informative Informative x 1
    • List
  14. Kilo

    Kilo

    Starting new projects every week Tech Member
    1,210
    1,159
    93
    Canada
    Changes with the weather
    Damn I keep shootin and missing :flunked:
     
  15. Devon

    Devon

    La mer va embrassé moi et délivré moi lakay. Tech Member
    1,485
    1,810
    93
    your mom
    So, I went ahead and extracted the older version of assembled code and assembler/linker data scraps that can be found in the second symbol table of Sonic 2 Nick Arcade. The data provided seems to be late into the build process, seeing as the assembled code already have their addresses resolved. Code and scrap work data are split out, and I did attempt to organize the scrap work data go with the modules they are supposed to go to.

    The scrap work data is made up of the following in this order:
    • Symbols located inside the module
    • Symbol XDEFs (symbols marked as visible to other modules)
    • Symbol XREFs (symbols referenced from other modules)
    The first one is simple, it's basically just a table of symbols and their offsets within the module. The last 2 are a bit more complex, but pretty easy to understand. You can differentiate them from the first one based on how much more info is packed with the symbol names.

    To find the XDEFs within the module, first go to the symbol name you wanna find, then scan back like 4 bytes, and then you'll find the offset.

    To find the XREFs within the module, first, go to the symbol name you wanna find. Then, you scan back past the list of longwords whose values are > 0x400000. From there, you will find the list of offsets, whose format is very simple: it starts with a count, and then it lists each offset in the module for that symbol.

    Symbol name lengths are stored in units of 4 bytes and are padded out accordingly (i.e. "sisoo", 5 characters, is padded to 8, with its length set to 8/4, or 2).

    I'm currently going through this myself and disassembling the code, while also figuring out the rest of the symbols that can be found here, and I do plan on posting my work on GitHub. But, if you wanna take a look for yourself, go crazy. I also made a couple of corrections to my address table for this ROM segment, as I accidentally left out the first 4 bytes in a couple of assembled code modules.
     
  16. Brainulator

    Brainulator

    Regular garden-variety member Member
  17. Devon

    Devon

    La mer va embrassé moi et délivré moi lakay. Tech Member
    1,485
    1,810
    93
    your mom
    Oh, my intention was to only disassemble these particular modules and post them as is, with as many official symbols as I can use. I am not disassembling the entire prototype ROM.
     
  18. Brainulator

    Brainulator

    Regular garden-variety member Member
    I understand. The file I posted includes disassemblies of those modules.
     
  19. Devon

    Devon

    La mer va embrassé moi et délivré moi lakay. Tech Member
    1,485
    1,810
    93
    your mom
    Presenting... an updated Sonic 2 Nick Arcade symbol dump!

    Turns out that the one that's easily accessible online, particularly on TCRF, is incomplete! I went ahead and went through the ROM myself and filled in the blanks the best I could. I also managed to figure out where certain parts of got cut-out, which allowed me to even correct an error or two. I did manage to find a couple more addresses at those cut-out spots, but they did not have names. However, through some pattern recognition, I was able to figure them out, except for one, which is 0x13606 (appears somewhere around (before?) kaiten).

    One interesting thing I found was that there's actually 2 versions of the "bossba" assembler/linker scrap work data hidden in the ROM. While the code is the same, the pointers are slightly different. As such, I've also updated their symbols as to document both versions. On top of that, I also found a section that contained several "JmpTo" instructions in groups at 0x4EA8C, which appears to have been created for yet another earlier build with slight address differences. Through further pattern recognition, I was able to find that one of them was for "actchkwk2", which is actually one of the symbols that was affected by the "bossba" thing, so it gets 3 unique values! Unfortunately, I could not figure out the names for 0x18A82 and 0x19A3C, as there's simply not enough context for them (both of them are in their own individual groups, all by themselves).

    Without further ado... enjoy!
    Code (Text):
    1. bossvac             000000 (dummied out)
    2. vacumeguy           000000 (dummied out)
    3. explode             000000 (dummied out)
    4. ascii               0004E8
    5. bgmset              0012F6
    6. soundset            0012FC
    7. dmactrset           0013A0
    8. mapdevr             00170E
    9. random              002AF0
    10. sinset              002B16
    11. atan                002DAE
    12. burankoposiset      007D6A
    13. burankoposiset2     007DAE
    14. burankopat          007EAE
    15. buranko0dpat        007EDA
    16. ballpat             007F4A
    17. shimapat2           0084AE
    18. dai00pat            008556
    19. pltfrmpat           008C64
    20. frntlitpat          008E04
    21. kanipat             009C84
    22. hachipat            009FC2
    23. ringgetsub          00A236
    24. ringpat             00A54A
    25. itempat             00ABF0
    26. fishpat             00B11E
    27. togepat             00C17E
    28. jyamapat            00C202
    29. speedset            00C706
    30. speedset2           00C732
    31. actionsub           00C758
    32. frameoutchk         00C7AE
    33. frameoutchkd        00C81A
    34. frameout            00C88E
    35. patchg              00C89C
    36. spatsetsub          00CB26
    37. dualmodesub         00CFC2
    38. dualmodesub2        00CFDE
    39. ringcolchk          00D2F0
    40. actwkchk            00DAA2
    41. actwkchk2           00DAB8 | 00DAB0 | 00DAC8
    42. sjumppat            00E0B4
    43. banepat             00E12C
    44. kamerepat           00E4A8
    45. kagebpat            00E640
    46. goleset             00E80A
    47. musipat             00EA80
    48. atariridesub        00EB1C
    49. ridechksub_t        00EEC0
    50. jumpcolsub          00FDCC
    51. patchgmain          00FF82
    52. playwrt             01029A
    53. emycol_d            0128C6
    54. savepat             012D74
    55. bobinpat            013002
    56. colichg             01349C
    57. .jump$zdba          0134B6
    58. .frameoutd2$zdba    0134BE
    59. .frameout$zdba      0134D4
    60. .frameout2$zdba     0134E6
    61. colichg_move_tbl    0134EA
    62. colichgmove         01352A
    63. .loop$ceba          013556
    64. .jump2$ceba         013594
    65. .jump3$ceba         0135A2
    66. .jump4$ceba         0135C0
    67. .end2$ceba          0135D0
    68. .end1$ceba          0135D4
    69. .end$ceba           0135E0
    70. colichgtbl          0135E2
    71. colichgpat          013602
    72. kaiten              01364C
    73. kaiten_move_tbl     01365A
    74. kaiteninit          013660
    75. kaiteninit2         0136B4
    76. kaitenmove          0136C2
    77. .jump1$rdba         0136DA
    78. .jump2$rdba         0136E0
    79. kaitenmove2         0136EC
    80. .jump3$sdba         013706
    81. .jump4$sdba         01371E
    82. kaitenchg           013722
    83. kaitenchg0          013726
    84. kaitenchg1          01372E
    85. kaitenpat           013736
    86. kaitensp0           013740
    87. kaitensp1           01374A
    88. kaitensp2           013754
    89. kaitensp3           01375E
    90. kaitensp4           013768
    91. prodai              013774
    92. prodai_move_tbl     013782
    93. prodaiinit          013786
    94. prodaimove          0137E6
    95. .jump0$vdba         013806
    96. .jump$vdba          013824
    97. .jump2$vdba         013834
    98. .jump3$vdba         013838
    99. .jump4$vdba         01384A
    100. prodaipat           01385E
    101. prodaisp0           013860
    102. gem                 013874
    103. gem_move_tbl        013882
    104. geminit             013886
    105. gemmove             0138AE
    106. gemfoutchk          0138C2
    107. gempat              0138DA
    108. gemsp00             0138DC
    109. wfall               0138F0
    110. wfall_move_tbl      0138FE
    111. wfallinit           013904
    112. .sub$rdba           01396C
    113. .worknai$rdba       0139AE
    114. .end$rdba           0139B0
    115. wfallmove           0139CA
    116. .jump$sdba          0139E2
    117. .jump2$sdba         0139FC
    118. .jump5$sdba         013A14
    119. .jump4$sdba         013A1C
    120. .jump3$sdba         013A34
    121. wfallmove2          013A54
    122. wfallpat            013A6C
    123. wfallsp19           013AA4
    124. wfallsp00           013AA6
    125. wfallsp01           013AB0
    126. wfallsp02           013AC2
    127. wfallsp03           013AD4
    128. wfallsp04           013AEE
    129. wfallsp05           013B08
    130. wfallsp06           013B2A
    131. wfallsp07           013B4C
    132. wfallsp08           013B76
    133. wfallsp09           013BA0
    134. wfallsp10           013BD2
    135. wfallsp11           013C04
    136. wfallsp12           013C3E
    137. wfallsp13           013C78
    138. wfallsp14           013CBA
    139. wfallsp15           013CFC
    140. wfallsp16           013D46
    141. wfallsp17           013D46
    142. wfallsp18           013D46
    143. wfallsp20           013D58
    144. wfallsp21           013D62
    145. wfallsp22           013D6C
    146. wfallsp23           013D7E
    147. wfallsp24           013D90
    148. wfallsp25           013DAA
    149. wfallsp26           013DC4
    150. wfallsp27           013DE6
    151. sloop               013E08
    152. .frameoutd$wdba     013E1E
    153. .frameout$wdba      013E32
    154. sloop_move_tbl      013E38
    155. sloopinit           013E3C
    156. sloopmove           013E46
    157. .sub$zdba           013E54
    158. .left$zdba          013E7C
    159. .right$zdba         013E8A
    160. .jump$zdba          013E96
    161. .plrideon$zdba      013EAE
    162. .left2$zdba         013EBC
    163. .right2$zdba        013ECA
    164. .jump0$zdba         013ED6
    165. .end$zdba           013EEC
    166. .rideon$zdba        013EEE
    167. .jumps$zdba         013EF6
    168. .jump1$zdba         013F18
    169. .jump2$zdba         013F24
    170. sloopdirtbl         013F56
    171. slooptbl            013F8A
    172. sisoo               01412C
    173. sisoo_move_tbl      014152
    174. sisooinit           01415E
    175. .worknai$feba       0141B8
    176. .jump$feba          0141C6
    177. sisoomove           0141CC
    178. .rideon$geba        0141D8
    179. .jump$geba          0141EC
    180. .jump2$geba         0141F4
    181. .jump3$geba         014210
    182. .jump4$geba         014218
    183. .jump44$geba        014222
    184. .noride$geba        014226
    185. .jump5$geba         014242
    186. .jump6$geba         01424A
    187. .jump7$geba         01424A
    188. .jump8$geba         014262
    189. sisooride           01427E
    190. sisoosub            014280
    191. .jump$ieba          014294
    192. sisoosub2           01429C
    193. .jump2$ieba         01429C
    194. .jump3$jeba         0142A8
    195. .end$jeba           0142C6
    196. sballinit           0142C8
    197. .jump$keba          014328
    198. sballwait           014328
    199. .jump$leba          01433C
    200. .jump3$leba         014362
    201. .jump2$leba         014378
    202. .jump4$leba         01437E
    203. .jump0$leba         01439C
    204. sballmove           0143BC
    205. .up$meba            0143C2
    206. .end$meba           0143D8
    207. .down$meba          0143DA
    208. .jump0$meba         0143FA
    209. .jump$meba          014418
    210. .jump1$meba         014434
    211. .jump2$meba         014442
    212. .jump3$meba         01444E
    213. .sub$meba           014450
    214. sballtbl            014480
    215. sisootbl            01448A
    216. sisootbl2           0144BB
    217. sisoopat            0144EC
    218. sisoosp0            0144F4
    219. sisoosp1            014536
    220. sballpat            014578
    221. sballsp0            01457C
    222. sballsp1            01457C
    223. water               014588
    224. water_move_tbl      014596
    225. waterinit           01459A
    226. watermove           0145C2
    227. .jump0$ceba         0145E4
    228. .jump1$ceba         0145F4
    229. .jump2$ceba         0145F4
    230. waterpattbl         014614
    231. waterpat            014654
    232. watersp0            014660
    233. watersp1            01467A
    234. watersp2            014694
    235. watersp3            0146AE
    236. watersp4            0146E0
    237. watersp5            014712
    238. taki                014744
    239. taki_move_tbl       014752
    240. takiinit            014756
    241. takimove            014790
    242. .frameoutd$oeba     0147AA
    243. .jump$oeba          0147DC
    244. .end$oeba           0147EE
    245. takipat             0147F6
    246. takisp00            0147FE
    247. takisp01            014810
    248. takisp02            014882
    249. takisp03            014884
    250. stego               0148D0
    251. stego_move_tbl      0148DE
    252. stegoinit           0148E2
    253. .end$pdba           014930
    254. stegomove           014932
    255. stegomove_tbl       01494E
    256. stego_0             014952
    257. .jump$sdba          014974
    258. stego_1             014976
    259. .end$tdba           01499A
    260. .jump2$tdba         01499C
    261. checksonic          0149C0
    262. .lft$udba           0149CA
    263. .out$udba           0149E4
    264. .out0$udba          0149E6
    265. .rt$udba            0149F4
    266. .out1$udba          014A10
    267. stegochg            014A1E
    268. stegochg00          014A24
    269. stegochg01          014A32
    270. stegochg02          014A35
    271. stegopat            014A3A
    272. stegosp00           014A4A
    273. stegosp01           014A74
    274. stegosp02           014A9E
    275. stegosp03           014AC8
    276. stegosp04           014AF2
    277. stegosp05           014B1C
    278. stegosp06           014B46
    279. stegosp07           014B68
    280. bfish2              014BA0
    281. bfish               014BA0
    282. fish2_move_tbl      014BAE
    283. fish2init           014BB4
    284. fish2move           014C2C
    285. .jump$ydba          014C2C
    286. .skip$zdba          014C38
    287. .jump$zdba          014C5A
    288. fish2jump           014C9C
    289. .level$aeba         014CF4
    290. .below$aeba         014D08
    291. .join$aeba          014D22
    292. waterspeedset       014D4C
    293. .sub$beba           014D80
    294. .cnt$beba           014D88
    295. fishchg             014D9A
    296. fishchg0            014DA2
    297. fishchg1            014DA6
    298. fishchg2            014DAA
    299. fishchg3            014DAE
    300. bfish2pat           014DB2
    301. bfishpat            014DB2
    302. fish1sp0            014DBA
    303. fish1sp1            014DC4
    304. fish1sp2            014DCE
    305. fish1sp3            014DD8
    306. redz                014DF8
    307. redz_move_tbl       014E06
    308. redzinit            014E0C
    309. .end$pdba           014E60
    310. redzmove            014E62
    311. .frameout$qdba      014E92
    312. .frameout2$qdba     014EA4
    313. redzmove_tbl        014EA8
    314. redz_0              014EAC
    315. .jump$sdba          014ECE
    316. redz_1              014ED0
    317. .end$tdba           014EEA
    318. .jump2$tdba         014EEC
    319. redzdie             014F04
    320. redzchg             014F08
    321. redzchg0            014F0C
    322. redzchg1            014F0F
    323. redzpat             014F16
    324. redzsp0             014F1C
    325. redzsp1             014F26
    326. redzsp2             014F30
    327. seahorse            014F5C
    328. seahorse_move_tbl   014F6A
    329. seahorseinit        014F76
    330. .worknai$vdba       01502E
    331. seahorsemove        01502E
    332. seahorsemove_tbl    015054
    333. seahorsewings       01505A
    334. seahorseshot        015084
    335. seahorseswim        01509A
    336. seahorsefloat       0150AC
    337. seahorseattack      0150BA
    338. chkshot             0150CC
    339. .end$deba           0150D8
    340. .makeshot$deba      0150DA
    341. .ok$deba            01513A
    342. .worknai$deba       015146
    343. chkatkdone          015148
    344. .end$eeba           01516E
    345. chkatack            015170
    346. .toleft$feba        01519E
    347. .toright$feba       0151AE
    348. .edge$feba          0151BC
    349. .end$feba           0151D6
    350. chkfloat            0151D8
    351. .vel$geba           0151F4
    352. .end$geba           0151F8
    353. chkfltdone          0151FA
    354. .end$heba           015216
    355. .down$heba          015218
    356. fixwings            01522C
    357. .normal$ieba        01525C
    358. shotdrops           015266
    359. hitground           01527C
    360. .end$keba           015296
    361. oilslip             0152A2
    362. updatoil            0152A6
    363. .end$oeba           0152E2
    364. .done$oeba          0152E4
    365. landedyet           0152F2
    366. .end$peba           015330
    367. chkflip             015332
    368. .jump$qeba          01534E
    369. chkhit              015350
    370. .loop$reba          01535A
    371. .left$reba          0153B8
    372. .r1$reba            0153C6
    373. .worknai$reba       0153CC
    374. .out$reba           0153EE
    375. .end$reba           0153F2
    376. horsechg            0153F4
    377. seahorsechg0        015404
    378. seahorsechg1        015407
    379. horsechg2           01540F
    380. seahorsechg3        015415
    381. seahorsechg4        015419
    382. seahorsechg5        01541C
    383. skyhorsechg0        01541F
    384. skyhorsechg1        015423
    385. horsepat            01542C
    386. seahorsesp00        015446
    387. seahorsesp01        015460
    388. seahorsesp02        01546A
    389. seahorsesp03        015474
    390. seahorsesp04        015496
    391. horsesp05           0154B8
    392. horsesp06           0154C2
    393. horsesp07           0154CC
    394. horsesp08           0154D6
    395. skyhorsesp00        0154E0
    396. skyhorsesp01        015502
    397. skyhorsesp02        015524
    398. skyhorsesp03        01554E
    399. skyhorse            015578
    400. skyhorse_move_tbl   015586
    401. skyhorseinit        015592
    402. skyhorsemove        0155F0
    403. skyhorsemove_tbl    015610
    404. skyhorseshot        015614
    405. skyhorsefly         015628
    406. skyhorseattack      01563E
    407. shotstatus          015654
    408. .done$bgba          015668
    409. getposition         01567A
    410. .toleft$cgba        01569A
    411. .setbehind$cgba     0156A2
    412. .next$cgba          0156A6
    413. .above$cgba         0156C6
    414. .out$cgba           0156CA
    415. chkshoot            0156CC
    416. .end$dgba           0156F0
    417. makeshot            0156F2
    418. .ok$egba            01574E
    419. .worknai$egba       01575A
    420. seeksonic           01575C
    421. .above$fgba         015768
    422. .speed$fgba         015784
    423. .below$fgba         01578C
    424. .negspeed$fgba      0157A8
    425. .end$fgba           0157B0
    426. .out$fgba           0157BA
    427. wasp                0157E0
    428. wasp_move_tbl       0157F2
    429. waspshot            0157FA
    430. waspafterb          01580C
    431. .cnt$feba           01581E
    432. waspinit            015844
    433. .done$geba          0158E6
    434. waspmove            0158E8
    435. waspmove_tbl        015904
    436. waspfly             015908
    437. .here$jeba          015926
    438. .end$jeba           01592C
    439. .here2$jeba         01592E
    440. checkshoot          01594A
    441. .cnt$keba           015960
    442. .toleft$keba        01597A
    443. .sht$keba           015982
    444. .out$keba           015996
    445. waspshoot           015998
    446. .done$leba          0159AC
    447. .here$leba          0159B2
    448. .out$leba           015A16
    449. waspchg             015A18
    450. waspchg00           015A20
    451. waspchg01           015A23
    452. waspchg02           015A27
    453. waspchg03           015A2B
    454. wasppat             015A34
    455. waspsp00            015A42
    456. waspsp01            015A54
    457. waspsp02            015A6E
    458. waspsp03            015A88
    459. waspsp04            015A92
    460. waspsp05            015A9C
    461. waspsp06            015AA6
    462. oct                 015AC8
    463. oct_move_tbl        015AD6
    464. octshot             015ADE
    465. .cnt$pdba           015AE8
    466. octeye              015AFA
    467. octinit             015B06
    468. .end$rdba           015B64
    469. octmove             015B6C
    470. octmove_tbl         015B88
    471. octstand            015B90
    472. .done$udba          015BAE
    473. octfly              015BB0
    474. .end$vdba           015BD0
    475. octshoot            015BD2
    476. .end0$wdba          015C38
    477. .end$wdba           015C9C
    478. .out$wdba           015C9E
    479. octleave            015CA4
    480. .cnt$xdba           015CB2
    481. octchg              015CBA
    482. octchg00            015CC0
    483. octchg01            015CC3
    484. octchg02            015CC8
    485. octpat              015CCC
    486. octsp00             015CDA
    487. octsp01             015CEC
    488. octsp02             015D06
    489. octsp03             015D20
    490. octsp04             015D3A
    491. octsp05             015D44
    492. octsp06             015D4E
    493. bbat                015D78
    494. bat_move_tbl        015D86
    495. batinit             015D8C
    496. batmove             015DCA
    497. batmove_tbl         015DEA
    498. setposi             015DF0
    499. seekchk             015E0A
    500. .end$xdba           015E36
    501. batattack           015E38
    502. fixme               015E58
    503. .end$zdba           015E6A
    504. attackchk           015E6C
    505. .cnt$aeba           015E90
    506. .end$aeba           015EB6
    507. .gone$aeba          015EB8
    508. .norm$aeba          015EC4
    509. direcchg            015ED8
    510. .end$beba           015EF0
    511. .rt$beba            015EF2
    512. .done$beba          015F06
    513. moveset             015F36
    514. bathover            015F56
    515. .end$deba           015F8C
    516. batflap             015F8E
    517. .end$eeba           015F98
    518. batseek             015F9A
    519. .here$feba          015FC8
    520. .cnt$feba           015FE0
    521. batchg              015FE2
    522. batchg00            015FEA
    523. batchg01            015FEE
    524. batchg02            015FFD
    525. batchg03            01600E
    526. bbatpat             016016
    527. batsp00             016034
    528. batsp01             016056
    529. batsp02             016078
    530. batsp03             01609A
    531. batsp04             0160BC
    532. batsp05             0160D6
    533. batsp06             0160F8
    534. batsp07             01611A
    535. batsp08             01613C
    536. batsp09             01615E
    537. batsp10             016178
    538. batsp11             016192
    539. batsp12             0161AC
    540. batsp13             0161BE
    541. batsp14             0161D0
    542. gator               016200
    543. gator_move_tbl      01620E
    544. gatorinit           016212
    545. .end$pdba           016260
    546. gatormove           016262
    547. gatormove_tbl       01627E
    548. gator_0             016282
    549. .jump$sdba          0162A4
    550. gator_1             0162A6
    551. .end$tdba           0162C4
    552. .jump2$tdba         0162C6
    553. checksonic          0162DE
    554. .lft$udba           0162E8
    555. .rt$udba            0162F8
    556. .set$udba           016306
    557. .out$udba           01630E
    558. gatorchg            016316
    559. gatorchg00          01631C
    560. gatorchg01          016324
    561. gatorchg02          016327
    562. gatorpat            016330
    563. gatorsp00           016348
    564. gatorsp01           01636A
    565. gatorsp02           01638C
    566. gatorsp03           0163AE
    567. gatorsp04           0163D0
    568. gatorsp05           0163F2
    569. gatorsp06           016414
    570. gatorsp07           016436
    571. gatorsp08           016458
    572. gatorsp09           01647A
    573. gatorsp10           01649C
    574. gatorsp11           0164BE
    575. wfish2              0164F8
    576. wfish_move_tbl      01650A
    577. wfishinit           01650E
    578. wfishmove           016548
    579. .jump$beba          016570
    580. .jump2$beba         016592
    581. wfishchg            016594
    582. wfishchg0           01659A
    583. wfishchg1           01659E
    584. wfishchg2           0165A2
    585. wfish2pat           0165A6
    586. fishsp0             0165AA
    587. fishsp1             0165C4
    588. snail               0165F8
    589. snail_move_tbl      01660A
    590. snailinit           016614
    591. .out1$deba          016694
    592. .cnt$deba           0166A6
    593. snailmove           0166AC
    594. .jump$eeba          0166D8
    595. chkcharge           0166F4
    596. .toleft$feba        016712
    597. .toright$feba       01671C
    598. .doit$feba          016724
    599. .done$feba          016736
    600. makeafb             016738
    601. .out$geba           016790
    602. afbupdate           016792
    603. .cnt$heba           0167BA
    604. snailturn           0167CC
    605. updateparts         016804
    606. snailchg            01682C
    607. snailchg0           016830
    608. snailchg1           016834
    609. snailpat            016838
    610. snailsp0            01683E
    611. snailsp1            016850
    612. snailsp2            016862
    613. bossdriller         016890 | 016888
    614. bossdrillmove_tbl   01689E
    615. moveonscreen        0168AA
    616. .done$oeba          0168C2
    617. joincar             0168D0
    618. join_tbl            0168DE
    619. joinland            0168E2
    620. .joined$reba        0168F4
    621. joinadjust          016908
    622. movecar             01692C
    623. tbl                 01696C
    624. deathstart          016970
    625. .jump$veba          016978
    626. .end$veba           0169A4
    627. deathdrop           0169A6
    628. flyaway             0169C0
    629. flyaway_tbl         0169D2
    630. initrotors          0169D8
    631. takeoff             016A4C
    632. .end$afba           016A64
    633. runaway             016A66
    634. .out$bfba           016A7A
    635. checkflip           016A7C
    636. .off$cfba           016A8C
    637. .done$cfba          016A9C
    638. checkhit            016A9E
    639. .jump$dfba          016AC8
    640. .jump1$dfba         016AD6
    641. .jump2$dfba         016AE4
    642. .die$dfba           016AE6
    643. driller             016B00
    644. driller_tbl         016B0E
    645. growrotors          016B18
    646. sticktoboss         016B3C
    647. stick_tbl           016B4A
    648. normal              016B4E
    649. .cnt$ofba           016B72
    650. retract             016B98
    651. .done$pfba          016BB4
    652. carbody             016BC2
    653. tiremove            016C04
    654. tiremove_tbl        016C12
    655. tiresit             016C1A
    656. tireroll            016C38
    657. .cnt$ufba           016C5A
    658. tireexplode         016C70
    659. tirebounce          016CA0
    660. .end$wfba           016CBE
    661. drill               016CC2
    662. .cnt$xfba           016D10
    663. .movedrill$xfba     016D22
    664. .cnt3$xfba          016D30
    665. checkshoot          016D42
    666. .chkset$yfba        016D4C
    667. .right$yfba         016D56
    668. .left$yfba          016D60
    669. .set$yfba           016D6A
    670. makewheels          016D72
    671. .worknai1$zfba      016DE6
    672. .worknai2$zfba      016E5A
    673. .worknai3$zfba      016ECE
    674. .worknai4$zfba      016F2A
    675. drillerguy          016F2C | 016F24
    676. .worknai$cgba       016F70
    677. .worknai2$cgba      016FD0
    678. bosshelichg         016FD2
    679. bosshelichg0        016FD8
    680. bosshelichg1        016FDC
    681. bosshelichg2        016FF2
    682. bosshelipat         01700C
    683. bosshelisp00        01701A
    684. bosshelisp01        017024
    685. bosshelisp02        01704E
    686. bosshelisp03        017078
    687. bosshelisp04        017092
    688. bosshelisp05        0170AC
    689. bosshelisp06        0170C6
    690. bossdrillchg        0170E0
    691. bossdrillchg0       0170E6
    692. bossdrillchg1       0170EB
    693. bossdrillchg2       0170EF
    694. bossdrillpat        0170F4
    695. bossdrillsp0        017104
    696. bossdrillsp1        01711E
    697. bossdrillsp2        017128
    698. bossdrillsp3        017132
    699. bossdrillsp4        01713C
    700. bossdrillsp5        017146
    701. bossdrillsp6        017150
    702. bossdrillsp7        01715A
    703. bossba              017194 | 01718C
    704. bossba_move_tbl     0171A2 | 01719A
    705. bossbainit          0171AC | 0171A4
    706. .cnt$geba           0171F8 | 0171F0
    707. .cnt2$geba          01725C | 017254
    708. .worknai$geba       0172B0 | 0172A8
    709. bossbaappendage     0172C2 | 0172BA
    710. bossbamove          0172CA | 0172C2
    711. bossbamove_tbl      017300 | 0172F8
    712. bossbatop           017308 | 017300
    713. afbtbl              017336 | 01732E
    714. bossafb             01733A | 017332
    715. .cnt$neba           017378 | 017370
    716. .jump$neba          017382
    717. .hurt$neba          01738E | 017386
    718. .here$neba          01739C | 017394
    719. bosssm              0173D8 | 0173D0
    720. .jump$oeba          01741A
    721. billbomb            01741E | 017416
    722. billbomb_tbl        01742C | 017424
    723. billbombinit        017430 | 017428
    724. billbombmove        017468 | 017460
    725. .jump$seba          017482 | 01747A
    726. bossafbpat          017486 | 01747E
    727. afbsp00             01748A | 017482
    728. afbsp01             017494 | 01748C
    729. bosssmpat           01749E | 017496
    730. smbsp00             0174A6 | 01749E
    731. smbsp01             0174B0 | 0174A8
    732. smbsp02             0174BA | 0174B2
    733. smbsp03             0174C4 | 0174BC
    734. billbombpat         0174CE | 0174C6
    735. bossbmsp00          0174DC | 0174D4
    736. bossbmsp01          0174E6 | 0174DE
    737. bossbmsp02          0174F0 | 0174E8
    738. bossbmsp03          0174FA | 0174F2
    739. bossbmsp04          017504 | 0174FC
    740. bossbmsp05          01750E | 017506
    741. bossbmsp06          017518 | 017510
    742. bossbachg           017522 | 01751A
    743. bossbachg1          017526 | 01751E
    744. bossbachg2          017529 | 017521
    745. bossbapat           01752E | 017526
    746. bossbasp00          017534 | 01752C
    747. bossbasp01          017556 | 01754E
    748. bossbasp02          017578 | 017570
    749. staff               0175A8
    750. staff_move_tbl      0175B6
    751. staff_init          0175BA
    752. staff_move          017628
    753. .jump$ndba          017628
    754. staffpat            01762E
    755. staffsp00           017644
    756. staffsp01           0176B6
    757. staffsp02           017738
    758. staffsp03           01778A
    759. staffsp04           01784C
    760. staffsp05           0178EE
    761. staffsp06           0179C0
    762. staffsp07           017A7A
    763. staffsp08           017B74
    764. staffsp09           017BEE
    765. staffsp10           017C30
    766. boss1               017CC4
    767. boss1_move_tbl      017CD2
    768. boss1tbl            017CDA
    769. boss1init           017CE0
    770. .loop$kdba          017CEA
    771. .jump$kdba          017CF2
    772. .worknai$kdba       017D38
    773. boss1move           017D50
    774. boss1move_tbl       017D82
    775. boss1_0             017D90
    776. boss_ysub           017DAC
    777. .end$ndba           017DAC
    778. .jump$odba          017DF4
    779. .jump1$odba         017E02
    780. .jump2$odba         017E10
    781. .die$odba           017E12
    782. bossbomb            017E26
    783. .worknai$pdba       017E68
    784. .jump$pdba          017E68
    785. speedset_m          017E6A
    786. boss1_1             017E90
    787. .worknai$rdba       017ED6
    788. .end$rdba           017EDC
    789. boss1_2             017EE0
    790. .jump$sdba          017F0A
    791. .jump2$sdba         017F16
    792. boss1_3             017F1A
    793. .jump2$tdba         017F26
    794. .end$tdba           017F3C
    795. boss1_4             017F40
    796. .jump$udba          017F4A
    797. .end$udba           017F70
    798. boss1_5             017F72
    799. .falling$vdba       017F7A
    800. .turn$vdba          017F82
    801. .rise_up$vdba       017F88
    802. .go_up$vdba         017FA0
    803. .fire$vdba          017FA8
    804. .exit$vdba          017FB6
    805. boss1_6             017FBE
    806. .jump$wdba          017FD8
    807. .jump2$wdba         017FDE
    808. .frameout$wdba      017FE6
    809. boss1oyaji          017FEE
    810. .pass0$xdba         018008
    811. .pass1$xdba         018010
    812. .pass2$xdba         01801A
    813. .jump$xdba          018024
    814. .jump0$xdba         018038
    815. .frameout$xdba      01803A
    816. boss1fire           018040
    817. .jump0$ydba         018060
    818. .jump$ydba          01806C
    819. .frameout$ydba      01806E
    820. boss1sub            018074
    821. btama               0180AE
    822. btama_move_tbl      0180BC
    823. btamainit           0180C6
    824. .loop$jeba          0180F6
    825. .jump$jeba          018132
    826. .worknai$jeba       01815C
    827. btamalentbl         018188
    828. btamamove           01818E
    829. .loop$leba          01819A
    830. .jump$leba          0181B4
    831. .jump2$leba         0181CE
    832. .jump3$leba         0181DA
    833. btamamove2          0181EE
    834. btamasub            0181FE
    835. .pass$neba          018210
    836. .jump$neba          01823A
    837. btamakusari         01823C
    838. .jump$oeba          018252 | 017412
    839. btamatama           018258
    840. .jump0$peba         018262
    841. .jump$peba          01828A
    842. boss1chg            018290
    843. boss1chg0           0182A8
    844. boss1chg1           0182AB
    845. boss1chg2           0182AF
    846. boss1chg3           0182B3
    847. boss1chg4           0182B7
    848. boss1chg5           0182BB
    849. boss1chg6           0182BF
    850. boss1chg7           0182C3
    851. boss1chg8           0182C6
    852. boss1chg9           0182CA
    853. boss1chg10          0182CE
    854. boss1chg11          0182D1
    855. boss1pat            0182DC
    856. boss1sp0            0182F6
    857. boss1sp1            018328
    858. boss1sp2            01833A
    859. boss1sp3            01834C
    860. boss1sp4            018366
    861. boss1sp5            018380
    862. boss1sp6            01839A
    863. boss1sp7            0183B4
    864. boss1sp8            0183D6
    865. boss1sp9            0183E0
    866. boss1sp10           0183EA
    867. boss1sp11           0183EC
    868. boss1sp12           0183FE
    869. boss2pat            018410
    870. boss2sp0            018420
    871. boss2sp1            01842A
    872. boss2sp2            01843C
    873. boss2sp3            018446
    874. boss2sp4            018450
    875. boss2sp5            01845A
    876. boss2sp6            01847C
    877. boss2sp7            01848E
    878. masin               0184AC
    879. .frameout$edba      0184D2
    880. masin_move_tbl      0184D8
    881. masintbl            0184E8
    882. masininit           0184F8
    883. .end$hdba           018544
    884. masinmove           018546
    885. .jump$idba          018564
    886. .jump2$idba         01857A
    887. masinswitch         018582
    888. .jump$jdba          0185E8
    889. masinbomb           0185EA
    890. masincenter         0185EA
    891. masincenter2        0185EA
    892. .worknai$mdba       018628
    893. .jump$mdba          018628
    894. .end$mdba           01862E
    895. .bombend$mdba       018630
    896. .lp$mdba            018656
    897. .no_work_left$mdba  018680
    898. masinusagi          018682
    899. .pass$ndba          0186B6
    900. .worknai$ndba       0186C0
    901. .jump$ndba          0186C0
    902. .end$ndba           0186D0
    903. masinclear          0186D2
    904. .lp$odba            0186DC
    905. .end$odba           0186F2
    906. masinchg            0186F4
    907. masinchg0           0186F8
    908. masinchg1           0186F8
    909. masinpat            0186FC
    910. masinsp0            01870A
    911. masinsp1            018744
    912. masinsp2            01874E
    913. masinsp3            018780
    914. masinsp4            01878A
    915. masinsp5            01879C
    916. masinsp6            0187A6
    917. pcol                0187B0
    918. .jump0$ldba         0187DA
    919. .loop$ldba          0187E8
    920. .jump$ldba          0187EE
    921. .colitbl$ldba       0187FA
    922. .jump2$ldba         018842
    923. .jump3$ldba         018864
    924. .jump4$ldba         01886A
    925. .jump5$ldba         018882
    926. .atari$ldba         018888
    927. pcolitem            0188A2
    928. .ring$mdba          0188B0
    929. .ringe$mdba         0188C0
    930. .item$mdba          0188C2
    931. .item2$mdba         0188EE
    932. .iteme$mdba         018900
    933. pcolnomal           018902
    934. .jump$ndba          01891A
    935. .jump4$ndba         018942
    936. .jump0$ndba         018944
    937. .jump5$ndba         01895C
    938. .jump6$ndba         018976
    939. .jump3$ndba         018986
    940. .jump1$ndba         01899C
    941. .jump2$ndba         0189A4
    942. escoretbl           0189AC
    943. pcolplay2           0189B4
    944. pcolplay            0189BA
    945. pcolend             0189C0
    946. pcole               0189C4
    947. playdamageset       0189CE
    948. .worknai$tdba       0189F6
    949. .damage$tdba        0189F6
    950. .jump0$tdba         018A2C
    951. .jump$tdba          018A3A
    952. .jump2$tdba         018A60
    953. .end$tdba           018A66
    954. .die$tdba           018A6A
    955. playdieset          018A72
    956. .jump2$udba         018AC0
    957. .end$udba           018AC6
    958. pcolspecial         018ACA
    959. .imo$vdba           018AEC
    960. .yado$vdba          018AF0
    961. .yado1$vdba         018B0A
    962. .yado2$vdba         018B16
    963. .yado3$vdba         018B1A
    964. .yado4$vdba         018B1E
    965. .bobin$vdba         018B22
    966. .bobin2$vdba        018B2E
    967. .bou$vdba           018B34
    968. sprscr              018B48
    969. .loop$ndba          018B98
    970. .loop2$ndba         018BBA
    971. sprscre             018BDC
    972. sprscrset           018BDC
    973. .loop$pdba          018C06
    974. .loop2$pdba         018C0A
    975. .jump$pdba          018C62
    976. .end$pdba           018C82
    977. sprscractcnt        018C8A
    978. .loop$qdba          018C9E
    979. .jump2$qdba         018CC2
    980. .jump4$qdba         018CDE
    981. .jump5$qdba         018D20
    982. .jump3$qdba         018D4A
    983. scractofftbl        018E34
    984. scrwkchk            018EB4
    985. .loop$sdba          018EBE
    986. .jump$sdba          018EC8
    987. scrcnt              018ECA
    988. .loop$tdba          018ED4
    989. .jump$tdba          018EE2
    990. scracttbl           018EEA
    991. scr_ring            018F02
    992. .end$vdba           018F2A
    993. .jump$vdba          018F2A
    994. scr_ringtbl         018F2C
    995. scr_bobin           018F32
    996. .jump$xdba          018F5E
    997. .end$xdba           018F60
    998. scr_bobintbl        018F62
    999. scr_1up             018F68
    1000. .end$zdba           018F90
    1001. .jump$zdba          018F90
    1002. scr_1uptbl          018F92
    1003. scr_revers          018F98
    1004. .jump$beba          018FC4
    1005. .end$beba           018FC6
    1006. scr_reverstbl       018FC8
    1007. scr_houseki         018FCE
    1008. .jump$deba          019006
    1009. .end$deba           019006
    1010. scr_housekitbl      019008
    1011. scr_break           01900E
    1012. .jump$feba          01903A
    1013. .end$feba           01903A
    1014. scr_breaktbl        01903C
    1015. sprmapsettbl        019046
    1016. sprplaypositbl      01905E
    1017. sprmapset           019076
    1018. .jump$jeba          01908E
    1019. .loop0$jeba         0190A4
    1020. .jump0$jeba         0190AC
    1021. .jump2$jeba         0190B0
    1022. .loop$jeba          0190DC
    1023. .loop1$jeba         0190F0
    1024. .loop2$jeba         0190F2
    1025. scrpatset           019100
    1026. .loop$keba          01910E
    1027. scrcntclr           019120
    1028. .loop$leba          01912A
    1029. scrpattbl           019132
    1030. metpat              019306
    1031. sprevpat            019306
    1032. zonepat             019306
    1033. derupat             019306
    1034. sp1uppat            019306
    1035. golepat             019306
    1036. warppat             019306
    1037. golesp0             01930C
    1038. golesp1             019312
    1039. derusp2             019318
    1040. sphashpat           01931A
    1041. koukapat            01931A
    1042. breakpat            01931A
    1043. koukasp0            019322
    1044. sphashsp0           019322
    1045. koukasp1            019328
    1046. sphashsp1           019328
    1047. koukasp2            01932E
    1048. koukasp3            019334
    1049. spuppat             01933A
    1050. spupsp0             01933E
    1051. spupsp1             019344
    1052. spdownpat           01934A
    1053. spdownsp0           01934E
    1054. spdownsp1           019354
    1055. hous0pat            01935A
    1056. hous1pat            01935E
    1057. hous2pat            019362
    1058. sphoussp0           019366
    1059. sphoussp1           01936C
    1060. sphoussp2           019372
    1061. sphoussp3           019378
    1062. play01              019380
    1063. .jump$neba          01938E
    1064. play01_move_tbl     01939C
    1065. play01init          0193A4
    1066. play01move          0193E4
    1067. .jump5$qeba         0193F8
    1068. play01move_tbl      01941C
    1069. play01walk          019420
    1070. play01jump          01942E
    1071. play01sub           01943A
    1072. splevermove         019460
    1073. .jump5$veba         01946C
    1074. .jump6$veba         019478
    1075. .right$veba         01948A
    1076. .right2$veba        019494
    1077. .left$veba          01949A
    1078. .left2$veba         0194A4
    1079. .jump7$veba         0194A8
    1080. .jump$veba          0194F2
    1081. spplwalk_l          0194F8
    1082. .left$weba          019506
    1083. .left2$weba         019514
    1084. .right$weba         01951A
    1085. .right2$weba        019522
    1086. spplwalk_r          019528
    1087. .right$xeba         019534
    1088. .right2$xeba        019542
    1089. .left$xeba          019548
    1090. .left2$xeba         019550
    1091. .rightcol$xeba      019554
    1092. spjumpchk           019556
    1093. .end$yeba           019598
    1094. spjumpchk2          01959A
    1095. .end$zeba           0195B4
    1096. playscr             0195B6
    1097. .jump$afba          0195CE
    1098. .jump2$afba         0195DE
    1099. play01gole          0195E0
    1100. .jump0$bfba         0195F4
    1101. .jump$bfba          019612
    1102. play01gole2         019634
    1103. .end$cfba           019640
    1104. rotspdset           019656
    1105. .jump2$dfba         0196B0
    1106. .jump3$dfba         0196C6
    1107. .jump4$dfba         0196D4
    1108. spcol               0196E8
    1109. spcol2              0196E8
    1110. spcolsub            019730
    1111. .end$gfba           019744
    1112. .jump2$gfba         019746
    1113. spcol_ev            019752
    1114. spcolsub_ev         01978C
    1115. .worknai$ifba       0197A0
    1116. .jump$ifba          0197C4
    1117. .jump2$ifba         0197C8
    1118. .worknai2$ifba      0197DC
    1119. .jump3$ifba         0197F2
    1120. .worknai3$ifba      01980C
    1121. .jump33$ifba        01982A
    1122. .jump4$ifba         019838
    1123. .jump5$ifba         019844
    1124. .jump6$ifba         019858
    1125. derusub             01985C
    1126. .loop1$jfba         01986C
    1127. .loop2$jfba         01986E
    1128. .jump$jfba          019878
    1129. .end$jfba           019886
    1130. bobinchk            01988E
    1131. .jmp$kfba           0198A0
    1132. .jmp2$kfba          0198AC
    1133. .jump$kfba          0198AE
    1134. .worknai$kfba       01991C
    1135. .jump2$kfba         019926
    1136. .jump3$kfba         01993C
    1137. .jump33$kfba        019966
    1138. .jump4$kfba         019970
    1139. .jump44$kfba        01999A
    1140. .jump5$kfba         0199A4
    1141. .worknai2$kfba      0199CC
    1142. .jump6$kfba         0199DA
    1143. .jump66$kfba        0199F2
    1144. .jump666$kfba       019A12
    1145. .worknai3$kfba      019A16
    1146. .end$kfba           019A20
    1147. .jump7$kfba         019A20
    1148. play02              019A22
    1149. efectwrt            019A2C
    1150. .end$wdba           019A4A
    1151. efecttbl            019A4C
    1152. efstagea            019A8C
    1153. efstageb            019A8C
    1154. efstagec            019A8C
    1155. efstagee            019A8C
    1156. efstagef            019A8C
    1157. efstage1            019A8C
    1158. efstage5            019A8C
    1159. efstage6            019A8C
    1160. efstage7            019A8C
    1161. efstage9            019A8C
    1162. efstage0            019A8E
    1163. efstaged            019A90
    1164. efstage2            019A90
    1165. efstage3            019A90
    1166. efstage4            019A90
    1167. efstage8            019A90
    1168. .loop$neba          019A96
    1169. .jump$neba          019AAC | 01737A
    1170. .jump1$neba         019ABA
    1171. .jump2$neba         019ADC
    1172. .jump3$neba         019AE6
    1173. efecttbl0           019AF8
    1174. efecttbl3           019AF8
    1175. efecttbl4           019B56
    1176. efecttbl8           019B56
    1177. efecttbl1           019B82
    1178. efecttbl2           019B82
    1179. efecttbl5           019B82
    1180. efecttbl6           019B82
    1181. efecttbl7           019B82
    1182. efecttbl9           019B82
    1183. efecttbla           019B82
    1184. efecttblb           019B82
    1185. efecttblc           019B82
    1186. efecttbld           019B82
    1187. efecttble           019B82
    1188. efecttblf           019B82
    1189. efectmove           019BEA
    1190. .end$efba           019BF2
    1191. .jump$efba          019BF4
    1192. .sub$efba           019C24
    1193. .loop$efba          019C28
    1194. efectblockset       019CBE
    1195. .loop$ffba          019CE0
    1196. .end$ffba           019CE6
    1197. .loop2$ffba         019CE8
    1198. efectblocktbl       019D00
    1199. zone00pcblk         019D20
    1200. zone03pcblk         019D20
    1201. zone0apcblk         019D5C
    1202. zone0bpcblk         019D5C
    1203. zone0cpcblk         019D5C
    1204. zone0epcblk         019D5C
    1205. zone0fpcblk         019D5C
    1206. zone09pcblk         019D5C
    1207. zone07pcblk         019D5C
    1208. zone01pcblk         019D5C
    1209. zone05pcblk         019D5C
    1210. zone06pcblk         019D5C
    1211. zone0dpcblk         019E9A
    1212. zone02pcblk         019E9A
    1213. zone08pcblk         019F7E
    1214. zone04pcblk         019F7E
    1215. score               01A074
    1216. score_move_tbl      01A082
    1217. score_init          01A086
    1218. score_move          01A0B4
    1219. .jump0$udba         01A0CE
    1220. .jump$udba          01A0D8
    1221. .jump2$udba         01A0EE
    1222. scorepat            01A0F8
    1223. scoresp0            01A100
    1224. scoresp1            01A152
    1225. scoresp2            01A1A4
    1226. scoresp3            01A1F6
    1227. scoreup             01A248
    1228. .jump$aeba          01A260
    1229. .jumpus$aeba        01A288
    1230. .jump0$aeba         01A288
    1231. scoreset            01A28A
    1232. .jump$beba          01A2B2
    1233. .jump1$beba         01A2BE
    1234. .jump2$beba         01A2D2
    1235. .jump3$beba         01A30E
    1236. .jump4$beba         01A32E
    1237. .jump5$beba         01A33C
    1238. .jump6$beba         01A364
    1239. .timeover$beba      01A366
    1240. scoreset2           01A37C
    1241. .jump1$ceba         01A38C
    1242. .jump2$ceba         01A3A0
    1243. .jump3$ceba         01A3B0
    1244. .jump4$ceba         01A3BE
    1245. .jump5$ceba         01A3E6
    1246. ringinit            01A3E8
    1247. scoreinit           01A3FC
    1248. scoreinitsub        01A418
    1249. .loop$feba          01A41C
    1250. .loop1$feba         01A42C
    1251. .jump$feba          01A432
    1252. .loop2$feba         01A438
    1253. .spaceset$feba      01A438
    1254. scoreinittbl        01A444
    1255. ringinittbl         01A450
    1256. posiwrt             01A454
    1257. hexwrtw             01A47C
    1258. .loop$jeba          01A484
    1259. .jump$jeba          01A496
    1260. .jump5$jeba         01A4AC
    1261. ringwrt             01A4B4
    1262. scorewrt            01A4BE
    1263. scorewrt2           01A4C6
    1264. .loop$meba          01A4CC
    1265. .jump2$meba         01A4D0
    1266. .jump3$meba         01A4D8
    1267. .jump4$meba         01A4E2
    1268. .jump5$meba         01A510
    1269. contwrt             01A51C
    1270. .loop$neba          01A53A
    1271. .jump2$neba         01A53E
    1272. .jump3$neba         01A546
    1273. subtbl              01A574
    1274. subtbl4             01A57C
    1275. subtbl3             01A580
    1276. subtbl2             01A584
    1277. subtbl1             01A588
    1278. timewrt1            01A58C
    1279. timewrt             01A594
    1280. timewrt0            01A59A
    1281. .loop$veba          01A5A0
    1282. .jump2$veba         01A5A4
    1283. .jump3$veba         01A5AC
    1284. .jump4$veba         01A5B6
    1285. bonuswrt            01A5EC
    1286. .loop$weba          01A5F8
    1287. .jump2$weba         01A5FC
    1288. .jump3$weba         01A604
    1289. .jump4$weba         01A60E
    1290. .jump5$weba         01A638
    1291. .jump7$weba         01A63E
    1292. .loop2$weba         01A640
    1293. playsuuwrt          01A64C
    1294. .loop$xeba          01A664
    1295. .jump2$xeba         01A66C
    1296. .jump3$xeba         01A674
    1297. .jump4$xeba         01A67E
    1298. .jump5$xeba         01A682
    1299. .jump6$xeba         01A698
    1300. .jump7$xeba         01A6A4
    1301. .loop2$xeba         01A6AA
    1302. scorewrtcg          01A6B6
    1303. playsuucg           01A9B6
    1304. edit                01AB00
    1305. edit_move_tbl       01AB0E
    1306. editinit            01AB12
    1307. .jump0$ydba         01AB58
    1308. .jump1$ydba         01AB5E
    1309. .jump$ydba          01AB78
    1310. editmove            01AB88
    1311. .jump$zdba          01AB98
    1312. editwalk            01ABB0
    1313. .jump$aeba          01ABDA
    1314. .jump0$aeba         01ABF2
    1315. .jump1$aeba         01ABF6
    1316. .jump2$aeba         01AC16
    1317. .jump3$aeba         01AC2C
    1318. .jump4$aeba         01AC38
    1319. .jump5$aeba         01AC40
    1320. .lend$aeba          01AC48
    1321. .jump77$aeba        01AC64
    1322. .jump6$aeba         01AC7C
    1323. .jump7$aeba         01AC80
    1324. .worknai$aeba       01ACC4
    1325. .jump8$aeba         01ACC4
    1326. .end$aeba           01ACEC
    1327. .jump9$aeba         01AD1E
    1328. editpatchg          01AD20
    1329. edittbl             01AD40
    1330. edit1tbl            01AD4E
    1331. edit2tbl            01ADC0
    1332. edit3tbl            01ADC0
    1333. edit4tbl            01ADFA
    1334. edit5tbl            01AED4
    1335. edit6tbl            01AED4
    1336. edit7tbl            01AED4
    1337. mapinittbl          01AF58
    1338. divdevtbl           01AFC8
    1339. ddev00              01B008
    1340. ddev01              01B028
    1341. ddev02              01B03C
    1342. ddev03              01B044
    1343. ddev04              01B04C
    1344. ddev05              01B084
    1345. ddev06              01B08C
    1346. ddev08              01B08C
    1347. ddev14              01B08C
    1348. ddev10              01B0AC
    1349. ddev11              01B0E4
    1350. ddev12              01B0F8
    1351. ddev13              01B12A
    1352. ddev07              01B15C
    1353. ddev09              01B15C
    1354. ddev15              01B15C
    1355. ddev16              01B170
    1356. ddev17              01B178
    1357. ddev18              01B1B0
    1358. ddev19              01B1C4
    1359. ddev20              01B1C4
    1360. ddev21              01B1C6
    1361. ddev22              01B1D4
    1362. ddev23              01B1E2
    1363. ddev24              01B1F0
    1364. ddev25              01B1FE
    1365. ddev26              01B20C
    1366. ddev27              01B21A
    1367. ddev28              01B21C
    1368. ddev29              01B21E
    1369. ddev30              01B220
    1370. ddev31              01B222
    1371. scddirtbl1          020000
    1372. scddirtbl2          020100
    1373. scdtbl              020200
    1374. scdtbl1             020200
    1375. scdtbl2             021200
    1376. scdtbl3             022200
    1377. scdtbl4             023200
    1378. zone1scd            024200
    1379. zone1scdb           02439A
    1380. zone4scd            024534
    1381. zone4scdb           024834
    1382. zone6scd            024B34
    1383. zone3scd            024B34
    1384. zone2scd            024B34
    1385. zone6scdb           024E34
    1386. zone3scdb           024E34
    1387. zone2scdb           024E34
    1388. zone5scd            025134
    1389. zone5scdb           025434
    1390. rotmaptbl0          025734
    1391. rotmaptbl1          0259AE
    1392. rotmaptbl2          025DC0
    1393. rotmaptbl3          02611C
    1394. rotmaptbl4          0265F6
    1395. rotmaptbl5          026AA6
    1396. efect00acg          026D98
    1397. efect00bcg          026E18
    1398. efect00ccg          026E98
    1399. efect00dcg          026F18
    1400. efect00ecg          026F98
    1401. efect08acg          027098
    1402. efect08bcg          027498
    1403. efect0dacg          027798
    1404. efect0dbcg          027898
    1405. efect0dccg          027B98
    1406. efect0ddcg          027C58
    1407. efect0decg          027D18
    1408. efect0dfcg          027DD8
    1409. efect0dgcg          027F58
    1410. efect0dhcg          028198
    1411. zonemaptbl          028218
    1412. zone1_1a            0282C0
    1413. zone1_2a            0283B2
    1414. zone1_3a            02847A
    1415. zone1_3b            02859C
    1416. zone1_2b            02859C
    1417. zone1_1b            02859C
    1418. zone4_1a            0285BE
    1419. zone4_2a            028DC0
    1420. zone4_3a            0295C2
    1421. zone4_4a            029DC4
    1422. zone4_4b            02A5C6
    1423. zone4_3b            02A5C6
    1424. zone4_2b            02A5C6
    1425. zone4_1b            02A5C6
    1426. zone7_4a            02A5D0
    1427. zone6_4a            02A5D0
    1428. zone3_4a            02A5D0
    1429. zone2_4a            02A5D0
    1430. zone1_4a            02A5D0
    1431. zone7_3a            02A5D0
    1432. zone6_3a            02A5D0
    1433. zone3_3a            02A5D0
    1434. zone2_3a            02A5D0
    1435. zone7_2a            02A5D0
    1436. zone6_2a            02A5D0
    1437. zone3_2a            02A5D0
    1438. zone2_2a            02A5D0
    1439. zone7_1a            02A5D0
    1440. zone6_1a            02A5D0
    1441. zone3_1a            02A5D0
    1442. zone2_1a            02A5D0
    1443. zone5_4a            02ADD2
    1444. zone5_3a            02ADD2
    1445. zone5_2a            02ADD2
    1446. zone5_1a            02ADD2
    1447. zone7_4b            02B5D4
    1448. zone6_4b            02B5D4
    1449. zone3_4b            02B5D4
    1450. zone2_4b            02B5D4
    1451. zone1_4b            02B5D4
    1452. zone7_3b            02B5D4
    1453. zone6_3b            02B5D4
    1454. zone3_3b            02B5D4
    1455. zone2_3b            02B5D4
    1456. zone7_2b            02B5D4
    1457. zone6_2b            02B5D4
    1458. zone3_2b            02B5D4
    1459. zone2_2b            02B5D4
    1460. zone7_1b            02B5D4
    1461. zone6_1b            02B5D4
    1462. zone3_1b            02B5D4
    1463. zone2_1b            02B5D4
    1464. zone5_4b            02B666
    1465. zone5_3b            02B666
    1466. zone5_2b            02B666
    1467. zone5_1b            02B666
    1468. zone7_4z            02B6B0
    1469. zone6_4z            02B6B0
    1470. zone5_4z            02B6B0
    1471. zone4_4z            02B6B0
    1472. zone3_4z            02B6B0
    1473. zone2_4z            02B6B0
    1474. zone1_4z            02B6B0
    1475. zone7_3z            02B6B0
    1476. zone6_3z            02B6B0
    1477. zone5_3z            02B6B0
    1478. zone4_3z            02B6B0
    1479. zone3_3z            02B6B0
    1480. zone2_3z            02B6B0
    1481. zone1_3z            02B6B0
    1482. zone7_2z            02B6B0
    1483. zone6_2z            02B6B0
    1484. zone5_2z            02B6B0
    1485. zone4_2z            02B6B0
    1486. zone3_2z            02B6B0
    1487. zone2_2z            02B6B0
    1488. zone1_2z            02B6B0
    1489. zone7_1z            02B6B0
    1490. zone6_1z            02B6B0
    1491. zone5_1z            02B6B0
    1492. zone4_1z            02B6B0
    1493. zone3_1z            02B6B0
    1494. zone2_1z            02B6B0
    1495. zone1_1z            02B6B0
    1496. bigringcg           02B6B4
    1497. asettbl             040000
    1498. asettbl10           040096
    1499. asettbl11           0403A8
    1500. asettbl12           040798
    1501. asettbl20           040C8A
    1502. asettbl21           040C90
    1503. asettbl23           040C96
    1504. asettbl22           040C96
    1505. kassya10            040C9C
    1506. kassya11            040CCE
    1507. kassya20            040D00
    1508. kassya21            040D32
    1509. kassya30            040D64
    1510. kassya31            040DAE
    1511. asettbl30           040DEC
    1512. asettbl31           040E5E
    1513. asettbl32           040E64
    1514. asettbl40           040E6A
    1515. asettbl41           041080
    1516. asettbl42           0412AE
    1517. asettbl50           0412B4
    1518. asettbl51           0413BC
    1519. asettbl52           0413C2
    1520. asettbl60           0413C8
    1521. asettbl61           0413CE
    1522. asettbl62           0413D4
    1523. beltc10             0413E6
    1524. beltc11             041418
    1525. beltc12             04144A
    1526. beltc13             04147C
    1527. beltc14             0414AE
    1528. beltc15             0414E0
    1529. asettbl70           041518
    1530. asettbl70z          041674
    1531. asettbl60z          041674
    1532. asettbl10z          041674
    1533. asettbl50z          041674
    1534. asettbl40z          041674
    1535. asettbl30z          041674
    1536. asettbl20z          041674
    1537. ringacttbl          050000
    1538. ringact11           050030
    1539. ringact12           05017A
    1540. ringact13           0502A4
    1541. ringact21           0503CE
    1542. ringact22           05045C
    1543. ringact23           0504BA
    1544. ringact80           050538
    1545. ringact00           0506AA
    1546. ringact01           05080C
    1547. ringact02           05099A
    1548. ringact03           05099C
    1549. sound               071B4C
    1550. pcm_top             072E7C
    1551. pcm_end             0745DC
    1552. playcg              080000
    1553. playpat             0914C0
    1554. ply000              09160E
    1555. ply001              091610
    1556. ply002              091632
    1557. ply003              091644
    1558. ply004              09166E
    1559. ply005              091698
    1560. ply006              0916C2
    1561. ply007              0916E4
    1562. ply008              091706
    1563. ply009              091718
    1564. ply010              09172A
    1565. ply011              09173C
    1566. ply012              09175E
    1567. ply013              091780
    1568. ply014              091792
    1569. ply015              0917A4
    1570. ply016              0917BE
    1571. ply017              0917D8
    1572. ply018              0917F2
    1573. ply019              091814
    1574. ply020              091836
    1575. ply021              091850
    1576. ply022              09186A
    1577. ply023              091884
    1578. ply024              09189E
    1579. ply025              0918C0
    1580. ply026              0918EA
    1581. ply027              091914
    1582. ply028              091936
    1583. ply029              091958
    1584. ply030              09197A
    1585. ply031              09199C
    1586. ply032              0919BE
    1587. ply033              0919E8
    1588. ply034              091A0A
    1589. ply035              091A2C
    1590. ply036              091A4E
    1591. ply037              091A68
    1592. ply038              091A7A
    1593. ply039              091A8C
    1594. ply040              091A9E
    1595. ply041              091AB8
    1596. ply042              091AD2
    1597. ply043              091AEC
    1598. ply044              091AFE
    1599. ply045              091B10
    1600. ply046              091B22
    1601. ply047              091B34
    1602. ply048              091B4E
    1603. ply049              091B70
    1604. ply050              091B92
    1605. ply051              091BBC
    1606. ply052              091BDE
    1607. ply053              091C00
    1608. ply054              091C22
    1609. ply055              091C44
    1610. ply056              091C66
    1611. ply057              091C88
    1612. ply058              091CAA
    1613. ply059              091CCC
    1614. ply060              091CEE
    1615. ply061              091D00
    1616. ply062              091D12
    1617. ply063              091D24
    1618. ply064              091D36
    1619. ply065              091D48
    1620. ply066              091D5A
    1621. ply067              091D6C
    1622. ply068              091D7E
    1623. ply069              091D90
    1624. ply070              091DA2
    1625. ply071              091DB4
    1626. ply072              091DC6
    1627. ply073              091DD8
    1628. ply074              091DEA
    1629. ply075              091DFC
    1630. ply076              091E0E
    1631. ply077              091E20
    1632. ply078              091E32
    1633. ply079              091E44
    1634. ply080              091E56
    1635. ply081              091E68
    1636. ply082              091E7A
    1637. ply083              091E8C
    1638. ply084              091E9E
    1639. ply085              091EB0
    1640. ply086              091EC2
    1641. ply087              091ED4
    1642. ply088              091EE6
    1643. ply089              091EF8
    1644. ply090              091F0A
    1645. ply091              091F1C
    1646. ply092              091F2E
    1647. ply093              091F40
    1648. ply094              091F52
    1649. ply095              091F64
    1650. ply096              091F76
    1651. ply097              091F88
    1652. ply098              091F9A
    1653. ply099              091FAC
    1654. ply100              091FBE
    1655. ply101              091FD0
    1656. ply102              091FE2
    1657. ply103              091FF4
    1658. ply104              092006
    1659. ply105              092018
    1660. ply106              09202A
    1661. ply107              09203C
    1662. ply108              09204E
    1663. ply109              092058
    1664. ply110              092062
    1665. ply111              09206C
    1666. ply112              092076
    1667. ply113              092080
    1668. ply114              09208A
    1669. ply115              092094
    1670. ply116              09209E
    1671. ply117              0920A8
    1672. ply118              0920B2
    1673. ply119              0920BC
    1674. ply120              0920D6
    1675. ply121              0920F0
    1676. ply122              09210A
    1677. ply123              092124
    1678. ply124              092146
    1679. ply125              092168
    1680. ply126              09218A
    1681. ply127              0921A4
    1682. ply128              0921AE
    1683. ply129              0921B8
    1684. ply130              0921D2
    1685. ply131              0921EC
    1686. ply132              092206
    1687. ply133              092220
    1688. ply134              092232
    1689. ply135              092244
    1690. ply136              092256
    1691. ply137              092268
    1692. ply138              09228A
    1693. ply139              09229C
    1694. ply140              0922B6
    1695. ply141              0922D0
    1696. ply142              0922E2
    1697. ply143              0922F4
    1698. ply144              092306
    1699. ply145              092318
    1700. ply146              09233A
    1701. ply147              09235C
    1702. ply148              09237E
    1703. ply149              092398
    1704. ply150              0923B2
    1705. ply151              0923D4
    1706. ply152              0923EE
    1707. ply153              092410
    1708. ply154              092432
    1709. ply155              09244C
    1710. ply156              092466
    1711. ply157              092480
    1712. ply158              092492
    1713. ply159              09249C
    1714. ply160              0924AE
    1715. ply161              0924C8
    1716. ply162              0924E2
    1717. ply163              0924FC
    1718. ply164              09250E
    1719. ply165              092520
    1720. ply166              09253A
    1721. foxcg               09254C
    1722. playwrtpat          09DA4C
    1723. plwpat              09DA4C
    1724. plw000              09DB9A
    1725. plw001              09DB9C
    1726. plw002              09DBA6
    1727. plw003              09DBAC
    1728. plw004              09DBB8
    1729. plw005              09DBC4
    1730. plw006              09DBD0
    1731. plw007              09DBDA
    1732. plw008              09DBE4
    1733. plw009              09DBEA
    1734. plw010              09DBF0
    1735. plw011              09DBF6
    1736. plw012              09DC00
    1737. plw013              09DC0A
    1738. plw014              09DC10
    1739. plw015              09DC16
    1740. plw016              09DC1E
    1741. plw017              09DC26
    1742. plw018              09DC2E
    1743. plw019              09DC38
    1744. plw020              09DC42
    1745. plw021              09DC4A
    1746. plw022              09DC52
    1747. plw023              09DC5A
    1748. plw024              09DC62
    1749. plw025              09DC6C
    1750. plw026              09DC78
    1751. plw027              09DC84
    1752. plw028              09DC8E
    1753. plw029              09DC98
    1754. plw030              09DCA2
    1755. plw031              09DCAC
    1756. plw032              09DCB6
    1757. plw033              09DCC2
    1758. plw034              09DCCC
    1759. plw035              09DCD6
    1760. plw036              09DCE0
    1761. plw037              09DCE8
    1762. plw038              09DCEE
    1763. plw039              09DCF4
    1764. plw040              09DCFA
    1765. plw041              09DD02
    1766. plw042              09DD0A
    1767. plw043              09DD12
    1768. plw044              09DD18
    1769. plw045              09DD1E
    1770. plw046              09DD24
    1771. plw047              09DD2A
    1772. plw048              09DD32
    1773. plw049              09DD3C
    1774. plw050              09DD46
    1775. plw051              09DD52
    1776. plw052              09DD5C
    1777. plw053              09DD66
    1778. plw054              09DD70
    1779. plw055              09DD7A
    1780. plw056              09DD84
    1781. plw057              09DD8E
    1782. plw058              09DD98
    1783. plw059              09DDA2
    1784. plw068              09DDAC
    1785. plw064              09DDAC
    1786. plw060              09DDAC
    1787. plw069              09DDB2
    1788. plw065              09DDB2
    1789. plw061              09DDB2
    1790. plw070              09DDB8
    1791. plw066              09DDB8
    1792. plw062              09DDB8
    1793. plw071              09DDBE
    1794. plw067              09DDBE
    1795. plw063              09DDBE
    1796. plw080              09DDC4
    1797. plw076              09DDC4
    1798. plw072              09DDC4
    1799. plw081              09DDCA
    1800. plw077              09DDCA
    1801. plw073              09DDCA
    1802. plw082              09DDD0
    1803. plw078              09DDD0
    1804. plw074              09DDD0
    1805. plw083              09DDD6
    1806. plw079              09DDD6
    1807. plw075              09DDD6
    1808. plw092              09DDDC
    1809. plw088              09DDDC
    1810. plw084              09DDDC
    1811. plw093              09DDE2
    1812. plw089              09DDE2
    1813. plw085              09DDE2
    1814. plw094              09DDE8
    1815. plw090              09DDE8
    1816. plw086              09DDE8
    1817. plw095              09DDEE
    1818. plw091              09DDEE
    1819. plw087              09DDEE
    1820. plw104              09DDF4
    1821. plw100              09DDF4
    1822. plw096              09DDF4
    1823. plw105              09DDFA
    1824. plw101              09DDFA
    1825. plw097              09DDFA
    1826. plw106              09DE00
    1827. plw102              09DE00
    1828. plw098              09DE00
    1829. plw107              09DE06
    1830. plw103              09DE06
    1831. plw099              09DE06
    1832. plw108              09DE0C
    1833. plw109              09DE10
    1834. plw110              09DE14
    1835. plw111              09DE18
    1836. plw112              09DE1C
    1837. plw113              09DE20
    1838. plw114              09DE24
    1839. plw115              09DE28
    1840. plw116              09DE2C
    1841. plw117              09DE30
    1842. plw118              09DE34
    1843. plw119              09DE38
    1844. plw120              09DE40
    1845. plw121              09DE48
    1846. plw122              09DE50
    1847. plw123              09DE58
    1848. plw124              09DE62
    1849. plw125              09DE6C
    1850. plw126              09DE76
    1851. plw127              09DE7E
    1852. plw128              09DE82
    1853. plw129              09DE86
    1854. plw130              09DE8E
    1855. plw131              09DE96
    1856. plw132              09DE9E
    1857. plw133              09DEA6
    1858. plw134              09DEAC
    1859. plw135              09DEB2
    1860. plw136              09DEB8
    1861. plw137              09DEBE
    1862. plw138              09DEC8
    1863. plw139              09DECE
    1864. plw140              09DED6
    1865. plw141              09DEDE
    1866. plw142              09DEE4
    1867. plw143              09DEEA
    1868. plw144              09DEF0
    1869. plw147              09DEF6
    1870. plw145              09DEF6
    1871. plw146              09DF00
    1872. plw149              09DF06
    1873. plw148              09DF06
    1874. plw150              09DF0E
    1875. plw151              09DF18
    1876. plw152              09DF20
    1877. plw153              09DF2A
    1878. plw154              09DF34
    1879. plw155              09DF3C
    1880. plw156              09DF44
    1881. plw157              09DF4C
    1882. plw158              09DF52
    1883. plw159              09DF56
    1884. plw160              09DF5C
    1885. plw161              09DF64
    1886. plw162              09DF6C
    1887. plw163              09DF74
    1888. plw164              09DF7A
    1889. plw165              09DF80
    1890. plw166              09DF88
    1891. bariacg             09DF8E
    1892. mutekicg            09E114
    1893. stopfxcg            09E1FC
    1894. spinsfxcg           09E3FC
    1895. exit2cg             09ED3C
    1896. foxpat              09FB3C
    1897. foxsp000            09FC46
    1898. foxsp001            09FC48
    1899. foxsp002            09FC5A
    1900. foxsp003            09FC6C
    1901. foxsp004            09FC7E
    1902. foxsp005            09FC90
    1903. foxsp006            09FC9A
    1904. foxsp007            09FCA4
    1905. foxsp008            09FCB6
    1906. foxsp009            09FCC8
    1907. foxsp010            09FCD2
    1908. foxsp011            09FCDC
    1909. foxsp012            09FCE6
    1910. foxsp013            09FCF0
    1911. foxsp014            09FCFA
    1912. foxsp015            09FD14
    1913. foxsp016            09FD2E
    1914. foxsp017            09FD48
    1915. foxsp018            09FD62
    1916. foxsp019            09FD7C
    1917. foxsp020            09FD96
    1918. foxsp021            09FDB0
    1919. foxsp022            09FDCA
    1920. foxsp023            09FDE4
    1921. foxsp024            09FDFE
    1922. foxsp025            09FE18
    1923. foxsp026            09FE32
    1924. foxsp027            09FE4C
    1925. foxsp028            09FE66
    1926. foxsp029            09FE80
    1927. foxsp030            09FE9A
    1928. foxsp031            09FEB4
    1929. foxsp032            09FECE
    1930. foxsp033            09FEE8
    1931. foxsp034            09FF02
    1932. foxsp035            09FF1C
    1933. foxsp036            09FF36
    1934. foxsp037            09FF50
    1935. foxsp038            09FF6A
    1936. foxsp039            09FF7C
    1937. foxsp040            09FF96
    1938. foxsp041            09FFA8
    1939. foxsp042            09FFC2
    1940. foxsp043            09FFD4
    1941. foxsp044            09FFEE
    1942. foxsp045            0A0000
    1943. foxsp046            0A001A
    1944. foxsp047            0A002C
    1945. foxsp048            0A003E
    1946. foxsp049            0A0050
    1947. foxsp050            0A0062
    1948. foxsp051            0A0074
    1949. foxsp052            0A0086
    1950. foxsp053            0A00A0
    1951. foxsp054            0A00BA
    1952. foxsp055            0A00D4
    1953. foxsp056            0A00EE
    1954. foxsp057            0A0108
    1955. foxsp058            0A0122
    1956. foxsp061            0A013C
    1957. foxsp059            0A013C
    1958. foxsp060            0A0156
    1959. foxsp062            0A0170
    1960. foxsp063            0A018A
    1961. foxsp064            0A01A4
    1962. foxsp065            0A01BE
    1963. foxsp066            0A01D8
    1964. foxsp067            0A01F2
    1965. foxsp068            0A020C
    1966. foxsp069            0A0226
    1967. foxsp070            0A0240
    1968. foxsp071            0A024A
    1969. foxsp072            0A0254
    1970. foxsp073            0A025E
    1971. foxsp074            0A0268
    1972. foxsp075            0A0272
    1973. foxsp076            0A027C
    1974. foxsp077            0A0286
    1975. foxsp078            0A0290
    1976. foxsp079            0A029A
    1977. foxsp080            0A02A4
    1978. foxsp081            0A02AE
    1979. foxsp082            0A02B8
    1980. foxsp083            0A02C2
    1981. foxsp084            0A02CC
    1982. foxsp085            0A02D6
    1983. foxsp086            0A02E0
    1984. foxsp087            0A02EA
    1985. foxsp088            0A02F4
    1986. foxsp089            0A02FE
    1987. foxsp090            0A0310
    1988. foxsp091            0A0322
    1989. foxsp092            0A032C
    1990. foxsp093            0A0336
    1991. foxsp094            0A0340
    1992. foxsp095            0A0352
    1993. foxsp096            0A0364
    1994. foxsp097            0A036E
    1995. foxsp098            0A0378
    1996. foxsp099            0A0382
    1997. foxsp100            0A0394
    1998. foxsp101            0A03A6
    1999. foxsp102            0A03B8
    2000. foxsp103            0A03CA
    2001. foxsp104            0A03DC
    2002. foxsp105            0A03EE
    2003. foxsp106            0A0400
    2004. foxsp107            0A0412
    2005. foxsp108            0A041C
    2006. foxsp109            0A042E
    2007. foxsp110            0A0440
    2008. foxsp111            0A0452
    2009. foxsp112            0A0464
    2010. foxsp113            0A0476
    2011. foxsp114            0A0488
    2012. foxsp115            0A049A
    2013. foxsp116            0A04AC
    2014. foxsp117            0A04B6
    2015. foxsp118            0A04C0
    2016. foxsp119            0A04D2
    2017. foxsp120            0A04DC
    2018. foxsp121            0A04E6
    2019. foxsp122            0A04F0
    2020. foxsp123            0A04FA
    2021. foxsp124            0A0504
    2022. foxsp125            0A050E
    2023. foxsp126            0A0518
    2024. foxsp127            0A0522
    2025. foxsp128            0A0534
    2026. foxsp129            0A0546
    2027. foxsp130            0A0550
    2028. foxsp131            0A055A
    2029. foxsp132            0A0564
    2030. foxwrtpat           0A056E
    2031. foxw000             0A0678
    2032. foxw001             0A067A
    2033. foxw002             0A0680
    2034. foxw003             0A0686
    2035. foxw004             0A068C
    2036. foxw005             0A0692
    2037. foxw006             0A0696
    2038. foxw007             0A069A
    2039. foxw008             0A06A0
    2040. foxw009             0A06A6
    2041. foxw010             0A06AA
    2042. foxw011             0A06AE
    2043. foxw012             0A06B2
    2044. foxw013             0A06B6
    2045. foxw014             0A06BA
    2046. foxw015             0A06C2
    2047. foxw016             0A06CA
    2048. foxw017             0A06D2
    2049. foxw018             0A06DA
    2050. foxw019             0A06E2
    2051. foxw020             0A06EA
    2052. foxw021             0A06F2
    2053. foxw022             0A06FA
    2054. foxw023             0A0702
    2055. foxw024             0A070A
    2056. foxw025             0A0712
    2057. foxw026             0A071A
    2058. foxw027             0A0722
    2059. foxw028             0A072A
    2060. foxw029             0A0732
    2061. foxw030             0A073A
    2062. foxw031             0A0742
    2063. foxw032             0A074A
    2064. foxw033             0A0752
    2065. foxw034             0A075A
    2066. foxw035             0A0762
    2067. foxw036             0A076A
    2068. foxw037             0A0772
    2069. foxw038             0A077A
    2070. foxw039             0A0780
    2071. foxw040             0A0788
    2072. foxw041             0A078E
    2073. foxw042             0A0796
    2074. foxw043             0A079C
    2075. foxw044             0A07A4
    2076. foxw045             0A07AA
    2077. foxw046             0A07B2
    2078. foxw047             0A07B8
    2079. foxw048             0A07BE
    2080. foxw050             0A07C4
    2081. foxw051             0A07CA
    2082. foxw052             0A07D0
    2083. foxw053             0A07D8
    2084. foxw054             0A07E0
    2085. foxw055             0A07E8
    2086. foxw056             0A07F0
    2087. foxw057             0A07F8
    2088. foxw058             0A0800
    2089. foxw061             0A0808
    2090. foxw059             0A0808
    2091. foxw060             0A0810
    2092. foxw062             0A0818
    2093. foxw063             0A0820
    2094. foxw064             0A0828
    2095. foxw065             0A0830
    2096. foxw066             0A0838
    2097. foxw067             0A0840
    2098. foxw068             0A0848
    2099. foxw069             0A0850
    2100. foxw070             0A0858
    2101. foxw071             0A085C
    2102. foxw072             0A0860
    2103. foxw129             0A0864
    2104. foxw073             0A0864
    2105. foxw130             0A0868
    2106. foxw074             0A0868
    2107. foxw131             0A086C
    2108. foxw075             0A086C
    2109. foxw132             0A0870
    2110. foxw076             0A0870
    2111. foxw077             0A0874
    2112. foxw078             0A0878
    2113. foxw079             0A087C
    2114. foxw080             0A0880
    2115. foxw081             0A0884
    2116. foxw082             0A0888
    2117. foxw083             0A088C
    2118. foxw084             0A0890
    2119. foxw085             0A0894
    2120. foxw086             0A0898
    2121. foxw087             0A089C
    2122. foxw088             0A08A0
    2123. foxw089             0A08A4
    2124. foxw090             0A08AA
    2125. foxw091             0A08B0
    2126. foxw092             0A08B4
    2127. foxw093             0A08B8
    2128. foxw095             0A08BC
    2129. foxw094             0A08BC
    2130. foxw096             0A08C2
    2131. foxw097             0A08C6
    2132. foxw098             0A08CA
    2133. foxw099             0A08CE
    2134. foxw100             0A08D4
    2135. foxw101             0A08DA
    2136. foxw102             0A08E0
    2137. foxw103             0A08E6
    2138. foxw104             0A08EC
    2139. foxw105             0A08F2
    2140. foxw106             0A08F8
    2141. foxw107             0A08FE
    2142. foxw108             0A0902
    2143. foxw109             0A0908
    2144. foxw112             0A090E
    2145. foxw110             0A090E
    2146. foxw111             0A0914
    2147. foxw114             0A091A
    2148. foxw113             0A091A
    2149. foxw115             0A0920
    2150. foxw116             0A0926
    2151. foxw117             0A092A
    2152. foxw118             0A092E
    2153. foxw119             0A0934
    2154. foxw120             0A0938
    2155. foxw121             0A093C
    2156. foxw122             0A0940
    2157. foxw123             0A0944
    2158. foxw124             0A0948
    2159. foxw125             0A094C
    2160. foxw126             0A0950
    2161. foxw127             0A0954
    2162. foxw128             0A095A
    2163. logocg              0A0960
    2164. logomap             0A0DD0
    2165. titleamap           0A0ECC
    2166. titlebmap           0A1024
    2167. titlecg             0A12FC
    2168. titlespcg           0A2CA6
    2169. greencg             0A37EA
    2170. burankocg           0A3834
    2171. hashicg             0A394E
    2172. movecg              0A3A3A
    2173. tamacg              0A3A82
    2174. togehcg             0A3C20
    2175. togehcg2            0A3E34
    2176. jyamacg             0A3F60
    2177. brkabecg            0A408E
    2178. kagebcg             0A412C
    2179. fire00cg            0A418C
    2180. moekasucg           0A42C4
    2181. taki00cg            0A43D2
    2182. fball00cg           0A44D8
    2183. hashi00cg           0A4626
    2184. cablecarcg          0A46FE
    2185. door00cg            0A49F2
    2186. cso00cg             0A4A6A
    2187. brig08cg            0A4C02
    2188. falls08cg           0A4D7A
    2189. gem08cg             0A50DC
    2190. pltfrm08cg          0A534E
    2191. frntlite08cg        0A540E
    2192. cork08cg            0A564A
    2193. kemuri0dcg          0A57E4
    2194. dai0dcg             0A5904
    2195. nami0dcg            0A5BF0
    2196. swichcg             0A5D60
    2197. banevcg             0A5E38
    2198. banehcg             0A5F54
    2199. bane45cg            0A601E
    2200. scorecg             0A61F2
    2201. playnocg            0A62FA
    2202. ringcg              0A6410
    2203. itemcg              0A6504
    2204. togecg              0A692E
    2205. tencg               0A697E
    2206. savecg              0A6A58
    2207. gatorcg             0A6AFE
    2208. waspcg              0A6EA0
    2209. bbatcg              0A7086
    2210. octcg               0A73DC
    2211. stegocg             0A76FC
    2212. redzcg              0A7AF8
    2213. billfishcg          0A7ECE
    2214. seahorsecg          0A83C6
    2215. bballcg             0A8814
    2216. mamabubcg           0A8AAA
    2217. bubblercg           0A8CD6
    2218. snailcg             0A8EF8
    2219. sandcrabcg          0A90F4
    2220. bfishcg             0A9476
    2221. bossbacg            0A9682
    2222. zdbcg               0A9DBE
    2223. bossbmcg            0AA31C
    2224. bossafbcg           0AA9A4
    2225. bosssmcg            0AAA22
    2226. boss00cg            0AAB08
    2227. bosshcg             0AB2F4
    2228. butacg              0AB3E8
    2229. kanicg              0AB7A8
    2230. hachicg             0ABC96
    2231. bakuhacg            0AC03C
    2232. moguracg            0AC224
    2233. fishcg              0AC90E
    2234. fish2cg             0ACB76
    2235. arumacg             0ACE00
    2236. musicg              0AD324
    2237. kamerecg            0AD5AE
    2238. yadocg              0ADBCC
    2239. batcg               0ADFB4
    2240. usacg               0AE2B0
    2241. brobocg             0AE4F8
    2242. unicg               0AE790
    2243. imocg               0AE96E
    2244. zonecg              0AEAFC
    2245. yararecg            0AF10A
    2246. overcg              0AF770
    2247. jumpcg              0AF902
    2248. jump2cg             0AFA04
    2249. golecg              0AFAE0
    2250. ebigringcg          0AFF5C
    2251. btencg              0B00D0
    2252. contcg              0B03D2
    2253. sdsoniccg           0B0682
    2254. usagicg             0B08BC
    2255. niwacg              0B0A14
    2256. pengcg              0B0B70
    2257. azarcg              0B0CEC
    2258. fbutacg             0B0E08
    2259. fliccg              0B0F3E
    2260. risucg              0B1078
    2261. zone00blk           0B11D4
    2262. zone00cg            0B2174
    2263. zone00map           0B4FAC
    2264. zone08blk           0BCFAC
    2265. zone08cg            0BE58C
    2266. zone08pccg          0C129A
    2267. zone08map           0C140E
    2268. zone0dblk           0C940E
    2269. zone0dcg            0CA3AE
    2270. zone0dpccg          0CCD56
    2271. zone0dmap           0CCFB2
    2272. zone1blk            0D4FB2
    2273. zone1cg             0D5DB2
    2274. enkeicg             0D936E
    2275. zone1map            0DA9CE
    2276. scdtblwk            FE0000
    2277. scdtblwk2           FE2000
    2278. scddirtbl           FE4000

    For those curious, these are the new symbols that I extracted. I do recall seeing a few of these being discussed on various pages, but I don't think I've seen it properly documented, so here you go:
    Code (Text):
    1. bossvac             000000 (dummied out)
    2. vacumeguy           000000 (dummied out)
    3. explode             000000 (dummied out)
    4. burankoposiset      007D6A
    5. burankoposiset2     007DAE
    6. burankopat          007EAE
    7. buranko0dpat        007EDA
    8. ballpat             007F4A
    9. shimapat2           0084AE
    10. fishpat             00B11E
    11. speedset            00C706
    12. frameoutchk         00C7AE
    13. frameoutchkd        00C81A
    14. dualmodesub         00CFC2
    15. dualmodesub2        00CFDE
    16. ringcolchk          00D2F0
    17. kamerepat           00E4A8
    18. musipat             00EA80
    19. ridechksub_t        00EEC0
    20. jumpcolsub          00FDCC
    21. emycol_d            0128C6
    22. zone1scd            024200
    23. zone1scdb           02439A
    24. zone4scd            024534
    25. zone4scdb           024834
    26. zone6scd            024B34
    27. zone3scd            024B34
    28. zone2scd            024B34
    29. zone6scdb           024E34
    30. zone3scdb           024E34
    31. zone2scdb           024E34
    32. zone5scd            025134
    33. zone5scdb           025434
    34. efect08acg          027098
    35. zone1_1a            0282C0
    36. zone1_2a            0283B2
    37. zone1_3a            02847A
    38. zone1_3b            02859C
    39. zone1_2b            02859C
    40. zone1_1b            02859C
    41. zone4_1a            0285BE
    42. zone4_2a            028DC0
    43. zone4_3a            0295C2
    44. zone4_3b            02A5C6
    45. zone4_2b            02A5C6
    46. zone4_1b            02A5C6
    47. zone7_3a            02A5D0
    48. zone6_3a            02A5D0
    49. zone3_3a            02A5D0
    50. zone2_3a            02A5D0
    51. zone7_2a            02A5D0
    52. zone6_2a            02A5D0
    53. zone3_2a            02A5D0
    54. zone2_2a            02A5D0
    55. zone7_1a            02A5D0
    56. zone6_1a            02A5D0
    57. zone3_1a            02A5D0
    58. zone2_1a            02A5D0
    59. zone5_3a            02ADD2
    60. zone5_2a            02ADD2
    61. zone5_1a            02ADD2
    62. zone7_3b            02B5D4
    63. zone6_3b            02B5D4
    64. zone3_3b            02B5D4
    65. zone2_3b            02B5D4
    66. zone7_2b            02B5D4
    67. zone6_2b            02B5D4
    68. zone3_2b            02B5D4
    69. zone2_2b            02B5D4
    70. zone7_1b            02B5D4
    71. zone6_1b            02B5D4
    72. zone3_1b            02B5D4
    73. zone2_1b            02B5D4
    74. zone5_3b            02B666
    75. zone5_2b            02B666
    76. zone5_1b            02B666
    77. zone7_2z            02B6B0
    78. zone6_2z            02B6B0
    79. zone5_2z            02B6B0
    80. zone4_2z            02B6B0
    81. zone3_2z            02B6B0
    82. zone2_2z            02B6B0
    83. zone1_2z            02B6B0
    84. zone7_1z            02B6B0
    85. zone6_1z            02B6B0
    86. zone5_1z            02B6B0
    87. zone4_1z            02B6B0
    88. zone3_1z            02B6B0
    89. zone2_1z            02B6B0
    90. zone1_1z            02B6B0
    91. kassya10            040C9C
    92. kassya11            040CCE
    93. kassya20            040D00
    94. kassya21            040D32
    95. kassya30            040D64
    96. kassya31            040DAE
    97. beltc10             0413E6
    98. beltc11             041418
    99. beltc12             04144A
    100. beltc13             04147C
    101. beltc14             0414AE
    102. beltc15             0414E0
    103. asettbl50z          041674
    104. asettbl40z          041674
    105. asettbl30z          041674
    106. sound               071B4C
    107. playcg              080000
    108. plwpat              09DA4C
    109. spinsfxcg           09E3FC
    110. foxsp127            0A0522
    111. foxwrtpat           0A056E
    112. foxw000             0A0678
    113. foxw001             0A067A
    114. foxw002             0A0680
    115. foxw003             0A0686
    116. foxw004             0A068C
    117. foxw005             0A0692
    118. foxw006             0A0696
    119. foxw007             0A069A
    120. foxw008             0A06A0
    121. foxw009             0A06A6
    122. foxw010             0A06AA
    123. foxw011             0A06AE
    124. foxw012             0A06B2
    125. foxw013             0A06B6
    126. foxw014             0A06BA
    127. foxw015             0A06C2
    128. foxw016             0A06CA
    129. foxw017             0A06D2
    130. foxw018             0A06DA
    131. foxw019             0A06E2
    132. foxw020             0A06EA
    133. foxw021             0A06F2
    134. foxw022             0A06FA
    135. foxw023             0A0702
    136. foxw024             0A070A
    137. foxw025             0A0712
    138. foxw026             0A071A
    139. foxw027             0A0722
    140. foxw028             0A072A
    141. foxw029             0A0732
    142. foxw030             0A073A
    143. foxw031             0A0742
    144. foxw032             0A074A
    145. foxw033             0A0752
    146. foxw034             0A075A
    147. foxw035             0A0762
    148. foxw036             0A076A
    149. foxw037             0A0772
    150. foxw038             0A077A
    151. foxw039             0A0780
    152. foxw040             0A0788
    153. foxw041             0A078E
    154. foxw042             0A0796
    155. foxw043             0A079C
    156. foxw044             0A07A4
    157. foxw045             0A07AA
    158. foxw046             0A07B2
    159. foxw047             0A07B8
    160. foxw048             0A07BE
    161. logomap             0A0DD0
    162. titleamap           0A0ECC
    163. titlebmap           0A1024
    164. titlecg             0A12FC
    165. tamacg              0A3A82
    166. togehcg2            0A3E34
    167. moekasucg           0A42C4
    168. fball00cg           0A44D8
    169. cablecarcg          0A46FE
    170. octcg               0A73DC
    171. seahorsecg          0A83C6
    172. butacg              0AB3E8
    173. kanicg              0AB7A8
    174. hachicg             0ABC96
    175. bakuhacg            0AC03C
    176. fish2cg             0ACB76
    177. yadocg              0ADBCC
    178. batcg               0ADFB4
    179. brobocg             0AE4F8
    180. zone00blk           0B11D4
    181. zone08blk           0BCFAC
    182. zone08pccg          0C129A
    183. zone0dblk           0C940E
    184. zone0dcg            0CA3AE
    185. zone1blk            0D4FB2
    186. scdtblwk            FE0000
    187. scddirtbl           FE4000
     
    Last edited: Jan 6, 2025
    • Like Like x 4
    • Agree Agree x 1
    • Useful Useful x 1
    • List
  20. Devon

    Devon

    La mer va embrassé moi et délivré moi lakay. Tech Member
    1,485
    1,810
    93
    your mom
    So, I managed to track a couple more labels from the Sonic CD Gems Collection decompilation, related to stage data.

    Sonic CD calls the pointer to chunk data "pmapwk", and calls the buffer for block data "blockwk". This actually checks out with the Sonic 2 labels. For example, Emerald Hill's blocks are called "zone00blk" and its chunks are called "zone00map". I do think it's possible that the "p" in "pmapwk" stands for "pointer" in Sonic CD, since the palette buffer is called "lpcolorwk", and the horizontal scroll buffer is called "lphscrollbuff", and they all point to memory located outside of the core game code:
    Code (C):
    1.   pmapwk = (unsigned short*)**pBufTbl++;
    2.   lpcolorwk = (PALETTEENTRY*)**pBufTbl++;
    3.   lpcolorwk2 = (PALETTEENTRY*)**pBufTbl++;
    4.   lpcolorwk3 = (PALETTEENTRY*)**pBufTbl++;
    5.   lpcolorwk4 = (PALETTEENTRY*)**pBufTbl++;
    6.   lphscrollbuff = (int_union*)**pBufTbl++;

    Confusingly, Sonic CD also refers to the foreground layout buffer as "mapwka", and the background layout buffer as "mapwkb". In Sonic 2, the labels for the actual data in ROM are just "zoneZ_AL", with "Z" being the zone number (GHZ = "1"), "A" being the act number (act 1 = "1"), and "L" being the layer type ("a" = foreground, "b" = background). GHZ1's foreground data is called "zone1_1a", for example. The index table for these layouts is called "zonemaptbl".

    Personally, I think the chunk buffer is called "mapwk", with "mapwka" and "mapwkb" referring to the layouts, considering they are arrays of chunk IDs.
     
    Last edited: Jan 7, 2025
    • Informative Informative x 1
    • List