diff options
| author | Clownacy <Clownacy@users.noreply.github.com> | 2023-08-22 21:04:01 +0100 |
|---|---|---|
| committer | Clownacy <Clownacy@users.noreply.github.com> | 2023-08-22 21:04:01 +0100 |
| commit | 1dce5ac56a2c517ebcfc2b9f07b4d12da24accb2 (patch) | |
| tree | e0d1082a0162551eb5eec7fce71ec6c8a0883c3a /_inc | |
| parent | 89e4ebd15484a731ce13e7742a5177ae80215f7b (diff) | |
Add VRAM constants.
This disassembly is almost 20 years old and only now does it have
VRAM constants. Bloody hell.
Diffstat (limited to '_inc')
| -rw-r--r-- | _inc/AnimateLevelGfx.asm | 26 | ||||
| -rw-r--r-- | _inc/HUD (part 2).asm | 2 | ||||
| -rw-r--r-- | _inc/HUD_Update.asm | 22 | ||||
| -rw-r--r-- | _inc/Pattern Load Cues.asm | 402 | ||||
| -rw-r--r-- | _inc/Special Stage Mappings & VRAM Pointers.asm | 239 |
5 files changed, 309 insertions, 382 deletions
diff --git a/_inc/AnimateLevelGfx.asm b/_inc/AnimateLevelGfx.asm index bded856..e3d9db4 100644 --- a/_inc/AnimateLevelGfx.asm +++ b/_inc/AnimateLevelGfx.asm @@ -48,7 +48,7 @@ AniArt_GHZ_Waterfall: lea .size*$20(a1),a1 ; use graphics for frame 1 .isframe0: - locVRAM $6F00 ; VRAM address + locVRAM ArtTile_GHZ_Waterfall*$20 ; VRAM address move.w #.size-1,d1 ; number of 8x8 tiles bra.w LoadTiles ; =========================================================================== @@ -69,7 +69,7 @@ AniArt_GHZ_Bigflower: lea .size*$20(a1),a1 .isframe0: - locVRAM $6B80 + locVRAM ArtTile_GHZ_Big_Flower_1*$20 move.w #.size-1,d1 bra.w LoadTiles ; =========================================================================== @@ -95,7 +95,7 @@ AniArt_GHZ_Smallflower: move.w d0,d1 add.w d0,d0 add.w d1,d0 ; multiply that by 3 (i.e. frame num times 12 * $20) - locVRAM $6D80 + locVRAM ArtTile_GHZ_Small_Flower*$20 lea (Art_GhzFlower2).l,a1 ; load small flower patterns lea (a1,d0.w),a1 ; jump to appropriate tile move.w #.size-1,d1 @@ -132,7 +132,7 @@ AniArt_MZ_Lava: move.b d0,(v_lani0_frame).w mulu.w #.size*$20,d0 adda.w d0,a1 ; jump to appropriate tile - locVRAM $5C40 + locVRAM ArtTile_MZ_Animated_Lava*$20 move.w #.size-1,d1 bsr.w LoadTiles @@ -146,7 +146,7 @@ AniArt_MZ_Magma: lea (Art_MzLava2).l,a4 ; load magma gfx ror.w #7,d0 ; multiply frame num by $200 adda.w d0,a4 ; jump to appropriate tile - locVRAM $5A40 + locVRAM ArtTile_MZ_Animated_Magma*$20 moveq #0,d3 move.b (v_lani1_frame).w,d3 addq.b #1,(v_lani1_frame).w ; increment frame counter (unused) @@ -183,7 +183,7 @@ AniArt_MZ_Torch: andi.b #3,(v_lani3_frame).w ; there are 3 frames mulu.w #.size*$20,d0 adda.w d0,a1 ; jump to appropriate tile - locVRAM $5E40 + locVRAM ArtTile_MZ_Torch*$20 move.w #.size-1,d1 bra.w LoadTiles @@ -211,7 +211,7 @@ AniArt_SBZ: move.b #7,(v_lani0_time).w ; time to display each frame lea (Art_SbzSmoke).l,a1 ; load smoke patterns - locVRAM $8900 + locVRAM ArtTile_SBZ_Smoke_Puff_1*$20 move.b (v_lani0_frame).w,d0 addq.b #1,(v_lani0_frame).w ; increment frame counter andi.w #7,d0 @@ -248,7 +248,7 @@ AniArt_SBZ: move.b #7,(v_lani1_time).w ; time to display each frame lea (Art_SbzSmoke).l,a1 ; load smoke patterns - locVRAM $8A80 + locVRAM ArtTile_SBZ_Smoke_Puff_2*$20 move.b (v_lani1_frame).w,d0 addq.b #1,(v_lani1_frame).w ; increment frame counter andi.w #7,d0 @@ -292,11 +292,11 @@ AniArt_Ending_BigFlower: lea .size*$20(a2),a2 .isframe0: - locVRAM $6B80 + locVRAM ArtTile_GHZ_Big_Flower_1*$20 move.w #.size-1,d1 bsr.w LoadTiles movea.l a2,a1 - locVRAM $7200 + locVRAM ArtTile_GHZ_Big_Flower_2*$20 move.w #.size-1,d1 bra.w LoadTiles ; =========================================================================== @@ -317,7 +317,7 @@ AniArt_Ending_SmallFlower: move.w d0,d1 add.w d0,d0 add.w d1,d0 ; multiply by 3 - locVRAM $6D80 + locVRAM ArtTile_GHZ_Small_Flower*$20 lea (Art_GhzFlower2).l,a1 ; load small flower patterns lea (a1,d0.w),a1 ; jump to appropriate tile move.w #.size-1,d1 @@ -340,7 +340,7 @@ AniArt_Ending_Flower3: move.b AniArt_Ending_Flower3_sequence(pc,d0.w),d0 ; get actual frame num from sequence data lsl.w #8,d0 ; multiply by $100 add.w d0,d0 ; multiply by 2 - locVRAM $7000 + locVRAM ArtTile_GHZ_Flower_3*$20 lea ($FFFF9800).w,a1 ; load special flower patterns (from RAM) lea (a1,d0.w),a1 ; jump to appropriate tile move.w #.size-1,d1 @@ -363,7 +363,7 @@ AniArt_Ending_Flower4: move.b AniArt_Ending_Flower3_sequence(pc,d0.w),d0 ; get actual frame num from sequence data lsl.w #8,d0 ; multiply by $100 add.w d0,d0 ; multiply by 2 - locVRAM $6800 + locVRAM ArtTile_GHZ_Flower_4*$20 lea ($FFFF9E00).w,a1 ; load special flower patterns (from RAM) lea (a1,d0.w),a1 ; jump to appropriate tile move.w #.size-1,d1 diff --git a/_inc/HUD (part 2).asm b/_inc/HUD (part 2).asm index 5e13527..9323cf0 100644 --- a/_inc/HUD (part 2).asm +++ b/_inc/HUD (part 2).asm @@ -152,7 +152,7 @@ Hud_ClrBonusLoop: Hud_Lives: - locVRAM $FBA0,d0 ; set VRAM address + locVRAM (ArtTile_Lives_Counter+9)*$20,d0 ; set VRAM address moveq #0,d1 move.b (v_lives).w,d1 ; load number of lives lea (Hud_10).l,a2 diff --git a/_inc/HUD_Update.asm b/_inc/HUD_Update.asm index 2355dd3..2563f6e 100644 --- a/_inc/HUD_Update.asm +++ b/_inc/HUD_Update.asm @@ -11,7 +11,7 @@ HUD_Update: beq.s .chkrings ; if not, branch clr.b (f_scorecount).w - locVRAM $DC80,d0 ; set VRAM address + locVRAM (ArtTile_HUD+$1A)*$20,d0 ; set VRAM address move.l (v_score).w,d1 ; load score bsr.w Hud_Score @@ -23,7 +23,7 @@ HUD_Update: .notzero: clr.b (f_ringcount).w - locVRAM $DF40,d0 ; set VRAM address + locVRAM (ArtTile_HUD+$30)*$20,d0 ; set VRAM address moveq #0,d1 move.w (v_rings).w,d1 ; load number of rings bsr.w Hud_Rings @@ -51,11 +51,11 @@ HUD_Update: move.b #9,(a1) ; keep as 9 .updatetime: - locVRAM $DE40,d0 + locVRAM (ArtTile_HUD+$28)*$20,d0 moveq #0,d1 move.b (v_timemin).w,d1 ; load minutes bsr.w Hud_Mins - locVRAM $DEC0,d0 + locVRAM (ArtTile_HUD+$2C)*$20,d0 moveq #0,d1 move.b (v_timesec).w,d1 ; load seconds bsr.w Hud_Secs @@ -70,7 +70,7 @@ HUD_Update: tst.b (f_endactbonus).w ; do time/ring bonus counters need updating? beq.s .finish ; if not, branch clr.b (f_endactbonus).w - locVRAM $AE00 + locVRAM ArtTile_Bonuses*$20 moveq #0,d1 move.w (v_timebonus).w,d1 ; load time bonus bsr.w Hud_TimeRingBonus @@ -100,13 +100,13 @@ HudDebug: .notzero: clr.b (f_ringcount).w - locVRAM $DF40,d0 ; set VRAM address + locVRAM (ArtTile_HUD+$30)*$20,d0 ; set VRAM address moveq #0,d1 move.w (v_rings).w,d1 ; load number of rings bsr.w Hud_Rings .objcounter: - locVRAM $DEC0,d0 ; set VRAM address + locVRAM (ArtTile_HUD+$2C)*$20,d0 ; set VRAM address moveq #0,d1 move.b (v_spritecount).w,d1 ; load "number of objects" counter bsr.w Hud_Secs @@ -119,7 +119,7 @@ HudDebug: tst.b (f_endactbonus).w ; does the ring/time bonus counter need updating? beq.s .finish ; if not, branch clr.b (f_endactbonus).w - locVRAM $AE00 ; set VRAM address + locVRAM ArtTile_Bonuses*$20 ; set VRAM address moveq #0,d1 move.w (v_timebonus).w,d1 ; load time bonus bsr.w Hud_TimeRingBonus @@ -139,7 +139,7 @@ HudDebug: Hud_LoadZero: - locVRAM $DF40 + locVRAM (ArtTile_HUD+$30)*$20 lea Hud_TilesZero(pc),a2 move.w #2,d2 bra.s loc_1C83E @@ -155,7 +155,7 @@ Hud_LoadZero: Hud_Base: lea ($C00000).l,a6 bsr.w Hud_Lives - locVRAM $DC40 + locVRAM (ArtTile_HUD+$18)*$20 lea Hud_TilesBase(pc),a2 move.w #$E,d2 @@ -198,7 +198,7 @@ Hud_TilesZero: dc.b $FF, $FF, 0, 0 HudDb_XY: - locVRAM $DC40 ; set VRAM address + locVRAM (ArtTile_HUD+$18)*$20 ; set VRAM address move.w (v_screenposx).w,d1 ; load camera x-position swap d1 move.w (v_player+obX).w,d1 ; load Sonic's x-position diff --git a/_inc/Pattern Load Cues.asm b/_inc/Pattern Load Cues.asm index 1b4aef2..eecff7e 100644 --- a/_inc/Pattern Load Cues.asm +++ b/_inc/Pattern Load Cues.asm @@ -42,351 +42,351 @@ ptr_PLC_FZBoss: dc.w PLC_FZBoss-ArtLoadCues plcm: macro gfx,vram dc.l gfx - dc.w vram + dc.w (vram)*$20 endm ; --------------------------------------------------------------------------- ; Pattern load cues - standard block 1 ; --------------------------------------------------------------------------- PLC_Main: dc.w ((PLC_Mainend-PLC_Main-2)/6)-1 - plcm Nem_Lamp, $F400 ; lamppost - plcm Nem_Hud, $D940 ; HUD - plcm Nem_Lives, $FA80 ; lives counter - plcm Nem_Ring, $F640 ; rings - plcm Nem_Points, $F2E0 ; points from enemy + plcm Nem_Lamp, ArtTile_Lamppost ; lamppost + plcm Nem_Hud, ArtTile_HUD ; HUD + plcm Nem_Lives, ArtTile_Lives_Counter ; lives counter + plcm Nem_Ring, ArtTile_Ring ; rings + plcm Nem_Points, ArtTile_Points ; points from enemy PLC_Mainend: ; --------------------------------------------------------------------------- ; Pattern load cues - standard block 2 ; --------------------------------------------------------------------------- PLC_Main2: dc.w ((PLC_Main2end-PLC_Main2-2)/6)-1 - plcm Nem_Monitors, $D000 ; monitors - plcm Nem_Shield, $A820 ; shield - plcm Nem_Stars, $AB80 ; invincibility stars + plcm Nem_Monitors, ArtTile_Monitor ; monitors + plcm Nem_Shield, ArtTile_Shield ; shield + plcm Nem_Stars, ArtTile_Invincibility ; invincibility stars PLC_Main2end: ; --------------------------------------------------------------------------- ; Pattern load cues - explosion ; --------------------------------------------------------------------------- PLC_Explode: dc.w ((PLC_Explodeend-PLC_Explode-2)/6)-1 - plcm Nem_Explode, $B400 ; explosion + plcm Nem_Explode, ArtTile_Explosion ; explosion PLC_Explodeend: ; --------------------------------------------------------------------------- ; Pattern load cues - game/time over ; --------------------------------------------------------------------------- PLC_GameOver: dc.w ((PLC_GameOverend-PLC_GameOver-2)/6)-1 - plcm Nem_GameOver, $ABC0 ; game/time over + plcm Nem_GameOver, ArtTile_Game_Over ; game/time over PLC_GameOverend: ; --------------------------------------------------------------------------- ; Pattern load cues - Green Hill ; --------------------------------------------------------------------------- PLC_GHZ: dc.w ((PLC_GHZ2-PLC_GHZ-2)/6)-1 - plcm Nem_GHZ_1st, 0 ; GHZ main patterns - plcm Nem_GHZ_2nd, $39A0 ; GHZ secondary patterns - plcm Nem_Stalk, $6B00 ; flower stalk - plcm Nem_PplRock, $7A00 ; purple rock - plcm Nem_Crabmeat, $8000 ; crabmeat enemy - plcm Nem_Buzz, $8880 ; buzz bomber enemy - plcm Nem_Chopper, $8F60 ; chopper enemy - plcm Nem_Newtron, $9360 ; newtron enemy - plcm Nem_Motobug, $9E00 ; motobug enemy - plcm Nem_Spikes, $A360 ; spikes - plcm Nem_HSpring, $A460 ; horizontal spring - plcm Nem_VSpring, $A660 ; vertical spring + plcm Nem_GHZ_1st, ArtTile_Level ; GHZ main patterns + plcm Nem_GHZ_2nd, ArtTile_Level+$1CD ; GHZ secondary patterns + plcm Nem_Stalk, ArtTile_GHZ_Flower_Stalk ; flower stalk + plcm Nem_PplRock, ArtTile_Purple_Rock ; purple rock + plcm Nem_Crabmeat, ArtTile_Crabmeat ; crabmeat enemy + plcm Nem_Buzz, ArtTile_Buzz_Bomber ; buzz bomber enemy + plcm Nem_Chopper, ArtTile_Chopper ; chopper enemy + plcm Nem_Newtron, ArtTile_Newtron ; newtron enemy + plcm Nem_Motobug, ArtTile_Moto_Bug ; motobug enemy + plcm Nem_Spikes, ArtTile_Spikes ; spikes + plcm Nem_HSpring, ArtTile_Spring_Horizontal ; horizontal spring + plcm Nem_VSpring, ArtTile_Spring_Vertical ; vertical spring PLC_GHZ2: dc.w ((PLC_GHZ2end-PLC_GHZ2-2)/6)-1 - plcm Nem_Swing, $7000 ; swinging platform - plcm Nem_Bridge, $71C0 ; bridge - plcm Nem_SpikePole, $7300 ; spiked pole - plcm Nem_Ball, $7540 ; giant ball - plcm Nem_GhzWall1, $A1E0 ; breakable wall - plcm Nem_GhzWall2, $6980 ; normal wall + plcm Nem_Swing, ArtTile_Swing_GHZ_MZ ; swinging platform + plcm Nem_Bridge, ArtTile_Bridge ; bridge + plcm Nem_SpikePole, ArtTile_GHZ_Spike_Pole ; spiked pole + plcm Nem_Ball, ArtTile_Wrecking_Ball ; giant ball + plcm Nem_GhzWall1, ArtTile_Smashable_Wall ; breakable wall + plcm Nem_GhzWall2, ArtTile_GHZ_Edge_Wall ; normal wall PLC_GHZ2end: ; --------------------------------------------------------------------------- ; Pattern load cues - Labyrinth ; --------------------------------------------------------------------------- PLC_LZ: dc.w ((PLC_LZ2-PLC_LZ-2)/6)-1 - plcm Nem_LZ,0 ; LZ main patterns - plcm Nem_LzBlock1, $3C00 ; block - plcm Nem_LzBlock2, $3E00 ; blocks - plcm Nem_Splash, $4B20 ; waterfalls and splash - plcm Nem_Water, $6000 ; water surface - plcm Nem_LzSpikeBall, $6200 ; spiked ball - plcm Nem_FlapDoor, $6500 ; flapping door - plcm Nem_Bubbles, $6900 ; bubbles and numbers - plcm Nem_LzBlock3, $7780 ; block - plcm Nem_LzDoor1, $7880 ; vertical door - plcm Nem_Harpoon, $7980 ; harpoon - plcm Nem_Burrobot, $94C0 ; burrobot enemy + plcm Nem_LZ, ArtTile_Level ; LZ main patterns + plcm Nem_LzBlock1, $1E0 ; block + plcm Nem_LzBlock2, $1F0 ; blocks + plcm Nem_Splash, ArtTile_Splash ; waterfalls and splash + plcm Nem_Water, ArtTile_Water_Surface ; water surface + plcm Nem_LzSpikeBall, ArtTile_Spikeball_Chain_LZ ; spiked ball + plcm Nem_FlapDoor, ArtTile_Flapping_Door ; flapping door + plcm Nem_Bubbles, ArtTile_Bubbles ; bubbles and numbers + plcm Nem_LzBlock3, ArtTile_Moving_Block_LZ ; block + plcm Nem_LzDoor1, ArtTile_LZ_Door ; vertical door + plcm Nem_Harpoon, ArtTile_Harpoon ; harpoon + plcm Nem_Burrobot, ArtTile_Burrobot ; burrobot enemy PLC_LZ2: dc.w ((PLC_LZ2end-PLC_LZ2-2)/6)-1 - plcm Nem_LzPole, $7BC0 ; pole that breaks - plcm Nem_LzDoor2, $7CC0 ; large horizontal door - plcm Nem_LzWheel, $7EC0 ; wheel - plcm Nem_Gargoyle, $5D20 ; gargoyle head - if Revision=0 - plcm Nem_LzSonic, $8800 ; Sonic holding his breath - endif - plcm Nem_LzPlatfm, $89E0 ; rising platform - plcm Nem_Orbinaut, $8CE0 ; orbinaut enemy - plcm Nem_Jaws, $90C0 ; jaws enemy - plcm Nem_LzSwitch, $A1E0 ; switch - plcm Nem_Cork, $A000 ; cork block - plcm Nem_Spikes, $A360 ; spikes - plcm Nem_HSpring, $A460 ; horizontal spring - plcm Nem_VSpring, $A660 ; vertical spring + plcm Nem_LzPole, ArtTile_Pole ; pole that breaks + plcm Nem_LzDoor2, ArtTile_LZ_Blocks ; large horizontal door + plcm Nem_LzWheel, ArtTile_Conveyor_Belt ; wheel + plcm Nem_Gargoyle, ArtTile_Gargoyle ; gargoyle head + if Revision=0 + plcm Nem_LzSonic, $440 ; Sonic holding his breath + endif + plcm Nem_LzPlatfm, $44F ; rising platform + plcm Nem_Orbinaut, ArtTile_Orbinaut_LZ ; orbinaut enemy + plcm Nem_Jaws, ArtTile_Jaws ; jaws enemy + plcm Nem_LzSwitch, ArtTile_Button ; switch + plcm Nem_Cork, ArtTile_LZ_Cork ; cork block + plcm Nem_Spikes, ArtTile_Spikes ; spikes + plcm Nem_HSpring, ArtTile_Spring_Horizontal ; horizontal spring + plcm Nem_VSpring, ArtTile_Spring_Vertical ; vertical spring PLC_LZ2end: ; --------------------------------------------------------------------------- ; Pattern load cues - Marble ; --------------------------------------------------------------------------- PLC_MZ: dc.w ((PLC_MZ2-PLC_MZ-2)/6)-1 - plcm Nem_MZ,0 ; MZ main patterns - plcm Nem_MzMetal, $6000 ; metal blocks - plcm Nem_MzFire, $68A0 ; fireballs - plcm Nem_Swing, $7000 ; swinging platform - plcm Nem_MzGlass, $71C0 ; green glassy block - plcm Nem_Lava, $7500 ; lava - plcm Nem_Buzz, $8880 ; buzz bomber enemy - plcm Nem_Yadrin, $8F60 ; yadrin enemy - plcm Nem_Basaran, $9700 ; basaran enemy - plcm Nem_Cater, $9FE0 ; caterkiller enemy + plcm Nem_MZ, ArtTile_Level ; MZ main patterns + plcm Nem_MzMetal, ArtTile_Chain_Stomp ; metal blocks + plcm Nem_MzFire, ArtTile_Fireball_MZ ; fireballs + plcm Nem_Swing, ArtTile_Swing_GHZ_MZ ; swinging platform + plcm Nem_MzGlass, ArtTile_Glass_Block ; green glassy block + plcm Nem_Lava, ArtTile_MZ_Lava ; lava + plcm Nem_Buzz, ArtTile_Buzz_Bomber ; buzz bomber enemy + plcm Nem_Yadrin, ArtTile_Yadrin ; yadrin enemy + plcm Nem_Basaran, ArtTile_Basaran ; basaran enemy + plcm Nem_Cater, ArtTile_Caterkiller_MZ_SYZ ; caterkiller enemy PLC_MZ2: dc.w ((PLC_MZ2end-PLC_MZ2-2)/6)-1 - plcm Nem_MzSwitch, $A260 ; switch - plcm Nem_Spikes, $A360 ; spikes - plcm Nem_HSpring, $A460 ; horizontal spring - plcm Nem_VSpring, $A660 ; vertical spring - plcm Nem_MzBlock, $5700 ; green stone block + plcm Nem_MzSwitch, ArtTile_Button+4 ; switch + plcm Nem_Spikes, ArtTile_Spikes ; spikes + plcm Nem_HSpring, ArtTile_Spring_Horizontal ; horizontal spring + plcm Nem_VSpring, ArtTile_Spring_Vertical ; vertical spring + plcm Nem_MzBlock, ArtTile_MZ_Block ; green stone block PLC_MZ2end: ; --------------------------------------------------------------------------- ; Pattern load cues - Star Light ; --------------------------------------------------------------------------- PLC_SLZ: dc.w ((PLC_SLZ2-PLC_SLZ-2)/6)-1 - plcm Nem_SLZ,0 ; SLZ main patterns - plcm Nem_Bomb, $8000 ; bomb enemy - plcm Nem_Orbinaut, $8520 ; orbinaut enemy - plcm Nem_MzFire, $9000 ; fireballs - plcm Nem_SlzBlock, $9C00 ; block - plcm Nem_SlzWall, $A260 ; breakable wall - plcm Nem_Spikes, $A360 ; spikes - plcm Nem_HSpring, $A460 ; horizontal spring - plcm Nem_VSpring, $A660 ; vertical spring + plcm Nem_SLZ, ArtTile_Level ; SLZ main patterns + plcm Nem_Bomb, ArtTile_Bomb ; bomb enemy + plcm Nem_Orbinaut, ArtTile_Orbinaut_SLZ_SBZ ; orbinaut enemy + plcm Nem_MzFire, ArtTile_Fireball_SLZ ; fireballs + plcm Nem_SlzBlock, ArtTile_Collapsing_Floor_SLZ ; block + plcm Nem_SlzWall, ArtTile_Smashable_Wall+4 ; breakable wall + plcm Nem_Spikes, ArtTile_Spikes ; spikes + plcm Nem_HSpring, ArtTile_Spring_Horizontal ; horizontal spring + plcm Nem_VSpring, ArtTile_Spring_Vertical ; vertical spring PLC_SLZ2: dc.w ((PLC_SLZ2end-PLC_SLZ2-2)/6)-1 - plcm Nem_Seesaw, $6E80 ; seesaw - plcm Nem_Fan, $7400 ; fan - plcm Nem_Pylon, $7980 ; foreground pylon - plcm Nem_SlzSwing, $7B80 ; swinging platform - plcm Nem_SlzCannon, $9B00 ; fireball launcher - plcm Nem_SlzSpike, $9E00 ; spikeball + plcm Nem_Seesaw, ArtTile_Seesaw ; seesaw + plcm Nem_Fan, ArtTile_Fan ; fan + plcm Nem_Pylon, ArtTile_Pylon ; foreground pylon + plcm Nem_SlzSwing, ArtTile_Swing_SLZ ; swinging platform + plcm Nem_SlzCannon, ArtTile_Fireball_Launcher ; fireball launcher + plcm Nem_SlzSpike, ArtTile_Spikeball ; spikeball PLC_SLZ2end: ; --------------------------------------------------------------------------- ; Pattern load cues - Spring Yard ; --------------------------------------------------------------------------- PLC_SYZ: dc.w ((PLC_SYZ2-PLC_SYZ-2)/6)-1 - plcm Nem_SYZ,0 ; SYZ main patterns - plcm Nem_Crabmeat, $8000 ; crabmeat enemy - plcm Nem_Buzz, $8880 ; buzz bomber enemy - plcm Nem_Yadrin, $8F60 ; yadrin enemy - plcm Nem_Roller, $9700 ; roller enemy + plcm Nem_SYZ, ArtTile_Level ; SYZ main patterns + plcm Nem_Crabmeat, ArtTile_Crabmeat ; crabmeat enemy + plcm Nem_Buzz, ArtTile_Buzz_Bomber ; buzz bomber enemy + plcm Nem_Yadrin, ArtTile_Yadrin ; yadrin enemy + plcm Nem_Roller, ArtTile_Roller ; roller enemy PLC_SYZ2: dc.w ((PLC_SYZ2end-PLC_SYZ2-2)/6)-1 - plcm Nem_Bumper, $7000 ; bumper - plcm Nem_SyzSpike1, $72C0 ; large spikeball - plcm Nem_SyzSpike2, $7740 ; small spikeball - plcm Nem_Cater, $9FE0 ; caterkiller enemy - plcm Nem_LzSwitch, $A1E0 ; switch - plcm Nem_Spikes, $A360 ; spikes - plcm Nem_HSpring, $A460 ; horizontal spring - plcm Nem_VSpring, $A660 ; vertical spring + plcm Nem_Bumper, ArtTile_Bumper ; bumper + plcm Nem_SyzSpike1, ArtTile_Big_Spikeball ; large spikeball + plcm Nem_SyzSpike2, ArtTile_Spikeball_Chain_SLZ ; small spikeball + plcm Nem_Cater, ArtTile_Caterkiller_MZ_SYZ ; caterkiller enemy + plcm Nem_LzSwitch, ArtTile_Button ; switch + plcm Nem_Spikes, ArtTile_Spikes ; spikes + plcm Nem_HSpring, ArtTile_Spring_Horizontal ; horizontal spring + plcm Nem_VSpring, ArtTile_Spring_Vertical ; vertical spring PLC_SYZ2end: ; --------------------------------------------------------------------------- ; Pattern load cues - Scrap Brain ; --------------------------------------------------------------------------- PLC_SBZ: dc.w ((PLC_SBZ2-PLC_SBZ-2)/6)-1 - plcm Nem_SBZ,0 ; SBZ main patterns - plcm Nem_Stomper, $5800 ; moving platform and stomper - plcm Nem_SbzDoor1, $5D00 ; door - plcm Nem_Girder, $5E00 ; girder - plcm Nem_BallHog, $6040 ; ball hog enemy - plcm Nem_SbzWheel1, $6880 ; spot on large wheel - plcm Nem_SbzWheel2, $6900 ; wheel that grabs Sonic - plcm Nem_SyzSpike1, $7220 ; large spikeball - plcm Nem_Cutter, $76A0 ; pizza cutter - plcm Nem_FlamePipe, $7B20 ; flaming pipe - plcm Nem_SbzFloor, $7EA0 ; collapsing floor - plcm Nem_SbzBlock, $9860 ; vanishing block + plcm Nem_SBZ, ArtTile_Level ; SBZ main patterns + plcm Nem_Stomper, ArtTile_Moving_Block_SBZ_Short ; moving platform and stomper + plcm Nem_SbzDoor1, ArtTile_SBZ_Door ; door + plcm Nem_Girder, ArtTile_Girder ; girder + plcm Nem_BallHog, ArtTile_Ball_Hog ; ball hog enemy + plcm Nem_SbzWheel1, ArtTile_SBZ_Disc ; spot on large wheel + plcm Nem_SbzWheel2, ArtTile_SBZ_Junction ; wheel that grabs Sonic + plcm Nem_SyzSpike1, ArtTile_Swing_SBZ ; large spikeball + plcm Nem_Cutter, ArtTile_Saw ; pizza cutter + plcm Nem_FlamePipe, ArtTile_Flamethrower ; flaming pipe + plcm Nem_SbzFloor, ArtTile_Collapsing_Floor_SBZ ; collapsing floor + plcm Nem_SbzBlock, ArtTile_SBZ_Vanishing_Block ; vanishing block PLC_SBZ2: dc.w ((PLC_SBZ2end-PLC_SBZ2-2)/6)-1 - plcm Nem_Cater, $5600 ; caterkiller enemy - plcm Nem_Bomb, $8000 ; bomb enemy - plcm Nem_Orbinaut, $8520 ; orbinaut enemy - plcm Nem_SlideFloor, $8C00 ; floor that slides away - plcm Nem_SbzDoor2, $8DE0 ; horizontal door - plcm Nem_Electric, $8FC0 ; electric orb - plcm Nem_TrapDoor, $9240 ; trapdoor - plcm Nem_SbzFloor, $7F20 ; collapsing floor - plcm Nem_SpinPform, $9BE0 ; small spinning platform - plcm Nem_LzSwitch, $A1E0 ; switch - plcm Nem_Spikes, $A360 ; spikes - plcm Nem_HSpring, $A460 ; horizontal spring - plcm Nem_VSpring, $A660 ; vertical spring + plcm Nem_Cater, ArtTile_Caterkiller_SBZ ; caterkiller enemy + plcm Nem_Bomb, ArtTile_Bomb ; bomb enemy + plcm Nem_Orbinaut, ArtTile_Orbinaut_SLZ_SBZ ; orbinaut enemy + plcm Nem_SlideFloor, ArtTile_Moving_Block_SBZ_Long ; floor that slides away + plcm Nem_SbzDoor2, ArtTile_SBZ_Horizontal_Door ; horizontal door + plcm Nem_Electric, ArtTile_Electric_Orb ; electric orb + plcm Nem_TrapDoor, ArtTile_SBZ_Trap_Door ; trapdoor + plcm Nem_SbzFloor, ArtTile_Collapsing_Floor_SBZ+4 ; collapsing floor + plcm Nem_SpinPform, ArtTile_SBZ_Spinning_Platform ; small spinning platform + plcm Nem_LzSwitch, ArtTile_Button ; switch + plcm Nem_Spikes, ArtTile_Spikes ; spikes + plcm Nem_HSpring, ArtTile_Spring_Horizontal ; horizontal spring + plcm Nem_VSpring, ArtTile_Spring_Vertical ; vertical spring PLC_SBZ2end: ; --------------------------------------------------------------------------- ; Pattern load cues - title card ; --------------------------------------------------------------------------- PLC_TitleCard: dc.w ((PLC_TitleCardend-PLC_TitleCard-2)/6)-1 - plcm Nem_TitleCard, $B000 + plcm Nem_TitleCard, ArtTile_Title_Card PLC_TitleCardend: ; --------------------------------------------------------------------------- ; Pattern load cues - act 3 boss ; --------------------------------------------------------------------------- PLC_Boss: dc.w ((PLC_Bossend-PLC_Boss-2)/6)-1 - plcm Nem_Eggman, $8000 ; Eggman main patterns - plcm Nem_Weapons, $8D80 ; Eggman's weapons - plcm Nem_Prison, $93A0 ; prison capsule - plcm Nem_Bomb, $A300 ; bomb enemy ((gets overwritten) - plcm Nem_SlzSpike, $A300 ; spikeball ((SLZ boss) - plcm Nem_Exhaust, $A540 ; exhaust flame + plcm Nem_Eggman, ArtTile_Eggman ; Eggman main patterns + plcm Nem_Weapons, ArtTile_Eggman_Weapons ; Eggman's weapons + plcm Nem_Prison, ArtTile_Prison_Capsule ; prison capsule + plcm Nem_Bomb, ArtTile_Eggman_Spikeball ; bomb enemy (gets overwritten) + plcm Nem_SlzSpike, ArtTile_Eggman_Spikeball ; spikeball (SLZ boss) + plcm Nem_Exhaust, ArtTile_Eggman_Exhaust ; exhaust flame PLC_Bossend: ; --------------------------------------------------------------------------- ; Pattern load cues - act 1/2 signpost ; --------------------------------------------------------------------------- PLC_Signpost: dc.w ((PLC_Signpostend-PLC_Signpost-2)/6)-1 - plcm Nem_SignPost, $D000 ; signpost - plcm Nem_Bonus, $96C0 ; hidden bonus points - plcm Nem_BigFlash, $8C40 ; giant ring flash effect + plcm Nem_SignPost, ArtTile_Signpost ; signpost + plcm Nem_Bonus, ArtTile_Hidden_Points ; hidden bonus points + plcm Nem_BigFlash, ArtTile_Giant_Ring_Flash ; giant ring flash effect PLC_Signpostend: ; --------------------------------------------------------------------------- ; Pattern load cues - beta special stage warp effect ; --------------------------------------------------------------------------- PLC_Warp: - if Revision=0 + if Revision=0 dc.w ((PLC_Warpend-PLC_Warp-2)/6)-1 - plcm Nem_Warp, $A820 - endif + plcm Nem_Warp, ArtTile_Warp + endif PLC_Warpend: ; --------------------------------------------------------------------------- ; Pattern load cues - special stage ; --------------------------------------------------------------------------- PLC_SpecialStage: dc.w ((PLC_SpeStageend-PLC_SpecialStage-2)/6)-1 - plcm Nem_SSBgCloud, 0 ; bubble and cloud background - plcm Nem_SSBgFish, $A20 ; bird and fish background - plcm Nem_SSWalls, $2840 ; walls - plcm Nem_Bumper, $4760 ; bumper - plcm Nem_SSGOAL, $4A20 ; GOAL block - plcm Nem_SSUpDown, $4C60 ; UP and DOWN blocks - plcm Nem_SSRBlock, $5E00 ; R block - plcm Nem_SS1UpBlock, $6E00 ; 1UP block - plcm Nem_SSEmStars, $7E00 ; emerald collection stars - plcm Nem_SSRedWhite, $8E00 ; red and white block - plcm Nem_SSGhost, $9E00 ; ghost block - plcm Nem_SSWBlock, $AE00 ; W block - plcm Nem_SSGlass, $BE00 ; glass block - plcm Nem_SSEmerald, $EE00 ; emeralds - plcm Nem_SSZone1, $F2E0 ; ZONE 1 block - plcm Nem_SSZone2, $F400 ; ZONE 2 block - plcm Nem_SSZone3, $F520 ; ZONE 3 block + plcm Nem_SSBgCloud, ArtTile_SS_Background_Clouds ; bubble and cloud background + plcm Nem_SSBgFish, ArtTile_SS_Background_Fish ; bird and fish background + plcm Nem_SSWalls, ArtTile_SS_Wall ; walls + plcm Nem_Bumper, ArtTile_SS_Bumper ; bumper + plcm Nem_SSGOAL, ArtTile_SS_Goal ; GOAL block + plcm Nem_SSUpDown, ArtTile_SS_Up_Down ; UP and DOWN blocks + plcm Nem_SSRBlock, ArtTile_SS_R_Block ; R block + plcm Nem_SS1UpBlock, ArtTile_SS_Extra_Life ; 1UP block + plcm Nem_SSEmStars, ArtTile_SS_Emerald_Sparkle ; emerald collection stars + plcm Nem_SSRedWhite, ArtTile_SS_Red_White_Block ; red and white block + plcm Nem_SSGhost, ArtTile_SS_Ghost_Block ; ghost block + plcm Nem_SSWBlock, ArtTile_SS_W_Block ; W block + plcm Nem_SSGlass, ArtTile_SS_Glass ; glass block + plcm Nem_SSEmerald, ArtTile_SS_Emerald ; emeralds + plcm Nem_SSZone1, ArtTile_SS_Zone_1 ; ZONE 1 block + plcm Nem_SSZone2, ArtTile_SS_Zone_2 ; ZONE 2 block + plcm Nem_SSZone3, ArtTile_SS_Zone_3 ; ZONE 3 block PLC_SpeStageend: - plcm Nem_SSZone4, $F2E0 ; ZONE 4 block - plcm Nem_SSZone5, $F400 ; ZONE 5 block - plcm Nem_SSZone6, $F520 ; ZONE 6 block + ; Unused + plcm Nem_SSZone4, ArtTile_SS_Zone_4 ; ZONE 4 block + plcm Nem_SSZone5, ArtTile_SS_Zone_5 ; ZONE 5 block + plcm Nem_SSZone6, ArtTile_SS_Zone_6 ; ZONE 6 block ; --------------------------------------------------------------------------- ; Pattern load cues - GHZ animals ; --------------------------------------------------------------------------- PLC_GHZAnimals: dc.w ((PLC_GHZAnimalsend-PLC_GHZAnimals-2)/6)-1 - plcm Nem_Rabbit, $B000 ; rabbit - plcm Nem_Flicky, $B240 ; flicky + plcm Nem_Rabbit, ArtTile_Animal_1 ; rabbit + plcm Nem_Flicky, ArtTile_Animal_2 ; flicky PLC_GHZAnimalsend: ; --------------------------------------------------------------------------- ; Pattern load cues - LZ animals ; --------------------------------------------------------------------------- PLC_LZAnimals: dc.w ((PLC_LZAnimalsend-PLC_LZAnimals-2)/6)-1 - plcm Nem_Penguin, $B000 ; penguin - plcm Nem_Seal, $B240 ; seal + plcm Nem_Penguin, ArtTile_Animal_1 ; penguin + plcm Nem_Seal, ArtTile_Animal_2 ; seal PLC_LZAnimalsend: ; --------------------------------------------------------------------------- ; Pattern load cues - MZ animals ; --------------------------------------------------------------------------- PLC_MZAnimals: dc.w ((PLC_MZAnimalsend-PLC_MZAnimals-2)/6)-1 - plcm Nem_Squirrel, $B000 ; squirrel - plcm Nem_Seal, $B240 ; seal + plcm Nem_Squirrel, ArtTile_Animal_1 ; squirrel + plcm Nem_Seal, ArtTile_Animal_2 ; seal PLC_MZAnimalsend: ; --------------------------------------------------------------------------- ; Pattern load cues - SLZ animals ; --------------------------------------------------------------------------- PLC_SLZAnimals: dc.w ((PLC_SLZAnimalsend-PLC_SLZAnimals-2)/6)-1 - plcm Nem_Pig, $B000 ; pig - plcm Nem_Flicky, $B240 ; flicky + plcm Nem_Pig, ArtTile_Animal_1 ; pig + plcm Nem_Flicky, ArtTile_Animal_2 ; flicky PLC_SLZAnimalsend: ; --------------------------------------------------------------------------- ; Pattern load cues - SYZ animals ; --------------------------------------------------------------------------- PLC_SYZAnimals: dc.w ((PLC_SYZAnimalsend-PLC_SYZAnimals-2)/6)-1 - plcm Nem_Pig, $B000 ; pig - plcm Nem_Chicken, $B240 ; chicken + plcm Nem_Pig, ArtTile_Animal_1 ; pig + plcm Nem_Chicken, ArtTile_Animal_2 ; chicken PLC_SYZAnimalsend: ; --------------------------------------------------------------------------- ; Pattern load cues - SBZ animals ; --------------------------------------------------------------------------- PLC_SBZAnimals: dc.w ((PLC_SBZAnimalsend-PLC_SBZAnimals-2)/6)-1 - plcm Nem_Rabbit, $B000 ; rabbit - plcm Nem_Chicken, $B240 ; chicken + plcm Nem_Rabbit, ArtTile_Animal_1 ; rabbit + plcm Nem_Chicken, ArtTile_Animal_2 ; chicken PLC_SBZAnimalsend: ; --------------------------------------------------------------------------- ; Pattern load cues - special stage results screen ; --------------------------------------------------------------------------- PLC_SSResult:dc.w ((PLC_SpeStResultend-PLC_SSResult-2)/6)-1 - plcm Nem_ResultEm, $A820 ; emeralds - plcm Nem_MiniSonic, $AA20 ; mini Sonic + plcm Nem_ResultEm, ArtTile_SS_Results_Emeralds ; emeralds + plcm Nem_MiniSonic, ArtTile_Mini_Sonic ; mini Sonic PLC_SpeStResultend: ; --------------------------------------------------------------------------- ; Pattern load cues - ending sequence ; --------------------------------------------------------------------------- PLC_Ending: dc.w ((PLC_Endingend-PLC_Ending-2)/6)-1 - plcm Nem_GHZ_1st,0 ; GHZ main patterns - plcm Nem_GHZ_2nd, $39A0 ; GHZ secondary patterns - plcm Nem_Stalk, $6B00 ; flower stalk - plcm Nem_EndFlower, $7400 ; flowers - plcm Nem_EndEm, $78A0 ; emeralds - plcm Nem_EndSonic, $7C20 ; Sonic - if Revision=0 - plcm Nem_EndEggman, $A480 ; Eggman's death ((unused) - endif - plcm Nem_Rabbit, $AA60 ; rabbit - plcm Nem_Chicken, $ACA0 ; chicken - plcm Nem_Penguin, $AE60 ; penguin - plcm Nem_Seal, $B0A0 ; seal - plcm Nem_Pig, $B260 ; pig - plcm Nem_Flicky, $B4A0 ; flicky - plcm Nem_Squirrel, $B660 ; squirrel - plcm Nem_EndStH, $B8A0 ; "SONIC THE HEDGEHOG" + plcm Nem_GHZ_1st, ArtTile_Level ; GHZ main patterns + plcm Nem_GHZ_2nd, ArtTile_Level+$1CD ; GHZ secondary patterns + plcm Nem_Stalk, ArtTile_GHZ_Flower_Stalk ; flower stalk + plcm Nem_EndFlower, ArtTile_Ending_Flowers ; flowers + plcm Nem_EndEm, ArtTile_Ending_Emeralds ; emeralds + plcm Nem_EndSonic, ArtTile_Ending_Sonic ; Sonic + if Revision=0 + plcm Nem_EndEggman, ArtTile_Ending_Eggman ; Eggman's death (unused) + endif + plcm Nem_Rabbit, ArtTile_Ending_Rabbit ; rabbit + plcm Nem_Chicken, ArtTile_Ending_Chicken ; chicken + plcm Nem_Penguin, ArtTile_Ending_Penguin ; penguin + plcm Nem_Seal, ArtTile_Ending_Seal ; seal + plcm Nem_Pig, ArtTile_Ending_Pig ; pig + plcm Nem_Flicky, ArtTile_Ending_Flicky ; flicky + plcm Nem_Squirrel, ArtTile_Ending_Squirrel ; squirrel + plcm Nem_EndStH, ArtTile_Ending_STH ; "SONIC THE HEDGEHOG" PLC_Endingend: ; --------------------------------------------------------------------------- ; Pattern load cues - "TRY AGAIN" and "END" screens ; --------------------------------------------------------------------------- PLC_TryAgain: dc.w ((PLC_TryAgainend-PLC_TryAgain-2)/6)-1 - plcm Nem_EndEm, $78A0 ; emeralds - plcm Nem_TryAgain, $7C20 ; Eggman - plcm Nem_CreditText, $B400 ; credits alphabet + plcm Nem_EndEm, ArtTile_Try_Again_Emeralds ; emeralds + plcm Nem_TryAgain, ArtTile_Try_Again_Eggman ; Eggman + plcm Nem_CreditText, ArtTile_Credits_Font ; credits alphabet PLC_TryAgainend: ; --------------------------------------------------------------------------- ; Pattern load cues - Eggman on SBZ 2 ; --------------------------------------------------------------------------- PLC_EggmanSBZ2: dc.w ((PLC_EggmanSBZ2end-PLC_EggmanSBZ2-2)/6)-1 - plcm Nem_SbzBlock, $A300 ; block - plcm Nem_Sbz2Eggman, $8000 ; Eggman - plcm Nem_LzSwitch, $9400 ; switch + plcm Nem_SbzBlock, ArtTile_Eggman_Trap_Floor ; block + plcm Nem_Sbz2Eggman, ArtTile_Eggman ; Eggman + plcm Nem_LzSwitch, ArtTile_Eggman_Button-4 ; switch PLC_EggmanSBZ2end: ; --------------------------------------------------------------------------- ; Pattern load cues - final boss ; --------------------------------------------------------------------------- PLC_FZBoss: dc.w ((PLC_FZBossend-PLC_FZBoss-2)/6)-1 - plcm Nem_FzEggman, $7400 ; Eggman after boss - plcm Nem_FzBoss, $6000 ; FZ boss - plcm Nem_Eggman, $8000 ; Eggman main patterns - plcm Nem_Sbz2Eggman, $8E00 ; Eggman without ship - plcm Nem_Exhaust, $A540 ; exhaust flame + plcm Nem_FzEggman, ArtTile_FZ_Eggman_Fleeing ; Eggman after boss + plcm Nem_FzBoss, ArtTile_FZ_Boss ; FZ boss + plcm Nem_Eggman, ArtTile_Eggman ; Eggman main patterns + plcm Nem_Sbz2Eggman, ArtTile_Eggman_Outside_Vehicle ; Eggman without ship + plcm Nem_Exhaust, ArtTile_Eggman_Exhaust ; exhaust flame PLC_FZBossend: - even ; --------------------------------------------------------------------------- ; Pattern load cue IDs @@ -422,4 +422,4 @@ plcid_SSResult: equ (ptr_PLC_SSResult-ArtLoadCues)/2 ; $1B plcid_Ending: equ (ptr_PLC_Ending-ArtLoadCues)/2 ; $1C plcid_TryAgain: equ (ptr_PLC_TryAgain-ArtLoadCues)/2 ; $1D plcid_EggmanSBZ2: equ (ptr_PLC_EggmanSBZ2-ArtLoadCues)/2 ; $1E -plcid_FZBoss: equ (ptr_PLC_FZBoss-ArtLoadCues)/2 ; $1F
\ No newline at end of file +plcid_FZBoss: equ (ptr_PLC_FZBoss-ArtLoadCues)/2 ; $1F diff --git a/_inc/Special Stage Mappings & VRAM Pointers.asm b/_inc/Special Stage Mappings & VRAM Pointers.asm index 6bce00b..d66fc31 100644 --- a/_inc/Special Stage Mappings & VRAM Pointers.asm +++ b/_inc/Special Stage Mappings & VRAM Pointers.asm @@ -1,159 +1,86 @@ ; --------------------------------------------------------------------------- ; Special stage mappings and VRAM pointers ; --------------------------------------------------------------------------- - dc.l Map_SSWalls ; address of mappings - dc.w $142 ; VRAM setting - dc.l Map_SSWalls - dc.w $142 - dc.l Map_SSWalls - dc.w $142 - dc.l Map_SSWalls - dc.w $142 - dc.l Map_SSWalls - dc.w $142 - dc.l Map_SSWalls - dc.w $142 - dc.l Map_SSWalls - dc.w $142 - dc.l Map_SSWalls - dc.w $142 - dc.l Map_SSWalls - dc.w $142 - dc.l Map_SSWalls - dc.w $2142 - dc.l Map_SSWalls - dc.w $2142 - dc.l Map_SSWalls - dc.w $2142 - dc.l Map_SSWalls - dc.w $2142 - dc.l Map_SSWalls - dc.w $2142 - dc.l Map_SSWalls - dc.w $2142 - dc.l Map_SSWalls - dc.w $2142 - dc.l Map_SSWalls - dc.w $2142 - dc.l Map_SSWalls - dc.w $2142 - dc.l Map_SSWalls - dc.w $4142 - dc.l Map_SSWalls - dc.w $4142 - dc.l Map_SSWalls - dc.w $4142 - dc.l Map_SSWalls - dc.w $4142 - dc.l Map_SSWalls - dc.w $4142 - dc.l Map_SSWalls - dc.w $4142 - dc.l Map_SSWalls - dc.w $4142 - dc.l Map_SSWalls - dc.w $4142 - dc.l Map_SSWalls - dc.w $4142 - dc.l Map_SSWalls - dc.w $6142 - dc.l Map_SSWalls - dc.w $6142 - dc.l Map_SSWalls - dc.w $6142 - dc.l Map_SSWalls - dc.w $6142 - dc.l Map_SSWalls - dc.w $6142 - dc.l Map_SSWalls - dc.w $6142 - dc.l Map_SSWalls - dc.w $6142 - dc.l Map_SSWalls - dc.w $6142 - dc.l Map_SSWalls - dc.w $6142 - dc.l Map_Bump - dc.w $23B - dc.l Map_SS_R - dc.w $570 - dc.l Map_SS_R - dc.w $251 - dc.l Map_SS_R - dc.w $370 - dc.l Map_SS_Up - dc.w $263 - dc.l Map_SS_Down - dc.w $263 - dc.l Map_SS_R - dc.w $22F0 - dc.l Map_SS_Glass - dc.w $470 - dc.l Map_SS_Glass - dc.w $5F0 - dc.l Map_SS_Glass - dc.w $65F0 - dc.l Map_SS_Glass - dc.w $25F0 - dc.l Map_SS_Glass - dc.w $45F0 - dc.l Map_SS_R - dc.w $2F0 - dc.l Map_Bump+$1000000 ; add frame no. * $1000000 - dc.w $23B - dc.l Map_Bump+$2000000 - dc.w $23B - dc.l Map_SS_R - dc.w $797 - dc.l Map_SS_R - dc.w $7A0 - dc.l Map_SS_R - dc.w $7A9 - dc.l Map_SS_R - dc.w $797 - dc.l Map_SS_R - dc.w $7A0 - dc.l Map_SS_R - dc.w $7A9 - dc.l Map_Ring - dc.w $27B2 - dc.l Map_SS_Chaos3 - dc.w $770 - dc.l Map_SS_Chaos3 - dc.w $2770 - dc.l Map_SS_Chaos3 - dc.w $4770 - dc.l Map_SS_Chaos3 - dc.w $6770 - dc.l Map_SS_Chaos1 - dc.w $770 - dc.l Map_SS_Chaos2 - dc.w $770 - dc.l Map_SS_R - dc.w $4F0 - dc.l Map_Ring+$4000000 - dc.w $27B2 - dc.l Map_Ring+$5000000 - dc.w $27B2 - dc.l Map_Ring+$6000000 - dc.w $27B2 - dc.l Map_Ring+$7000000 - dc.w $27B2 - dc.l Map_SS_Glass - dc.w $23F0 - dc.l Map_SS_Glass+$1000000 - dc.w $23F0 - dc.l Map_SS_Glass+$2000000 - dc.w $23F0 - dc.l Map_SS_Glass+$3000000 - dc.w $23F0 - dc.l Map_SS_R+$2000000 - dc.w $4F0 - dc.l Map_SS_Glass - dc.w $5F0 - dc.l Map_SS_Glass - dc.w $65F0 - dc.l Map_SS_Glass - dc.w $25F0 - dc.l Map_SS_Glass - dc.w $45F0
\ No newline at end of file +specialStageData: macro frame,mappings,palette,vram + dc.l mappings|(frame<<24) + dc.w make_art_tile(vram,palette,0) + endm + + specialStageData 0, Map_SSWalls, 0, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 0, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 0, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 0, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 0, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 0, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 0, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 0, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 0, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 1, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 1, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 1, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 1, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 1, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 1, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 1, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 1, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 1, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 2, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 2, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 2, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 2, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 2, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 2, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 2, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 2, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 2, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 3, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 3, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 3, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 3, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 3, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 3, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 3, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 3, ArtTile_SS_Wall + specialStageData 0, Map_SSWalls, 3, ArtTile_SS_Wall + specialStageData 0, Map_Bump, 0, ArtTile_SS_Bumper + specialStageData 0, Map_SS_R, 0, ArtTile_SS_W_Block + specialStageData 0, Map_SS_R, 0, ArtTile_SS_Goal + specialStageData 0, Map_SS_R, 0, ArtTile_SS_Extra_Life + specialStageData 0, Map_SS_Up, 0, ArtTile_SS_Up_Down + specialStageData 0, Map_SS_Down, 0, ArtTile_SS_Up_Down + specialStageData 0, Map_SS_R, 1, ArtTile_SS_R_Block + specialStageData 0, Map_SS_Glass, 0, ArtTile_SS_Red_White_Block + specialStageData 0, Map_SS_Glass, 0, ArtTile_SS_Glass + specialStageData 0, Map_SS_Glass, 3, ArtTile_SS_Glass + specialStageData 0, Map_SS_Glass, 1, ArtTile_SS_Glass + specialStageData 0, Map_SS_Glass, 2, ArtTile_SS_Glass + specialStageData 0, Map_SS_R, 0, ArtTile_SS_R_Block + specialStageData 1, Map_Bump, 0, ArtTile_SS_Bumper + specialStageData 2, Map_Bump, 0, ArtTile_SS_Bumper + specialStageData 0, Map_SS_R, 0, ArtTile_SS_Zone_1 + specialStageData 0, Map_SS_R, 0, ArtTile_SS_Zone_2 + specialStageData 0, Map_SS_R, 0, ArtTile_SS_Zone_3 + specialStageData 0, Map_SS_R, 0, ArtTile_SS_Zone_4 + specialStageData 0, Map_SS_R, 0, ArtTile_SS_Zone_5 + specialStageData 0, Map_SS_R, 0, ArtTile_SS_Zone_6 + specialStageData 0, Map_Ring, 1, ArtTile_Ring + specialStageData 0, Map_SS_Chaos3, 0, ArtTile_SS_Emerald + specialStageData 0, Map_SS_Chaos3, 1, ArtTile_SS_Emerald + specialStageData 0, Map_SS_Chaos3, 2, ArtTile_SS_Emerald + specialStageData 0, Map_SS_Chaos3, 3, ArtTile_SS_Emerald + specialStageData 0, Map_SS_Chaos1, 0, ArtTile_SS_Emerald + specialStageData 0, Map_SS_Chaos2, 0, ArtTile_SS_Emerald + specialStageData 0, Map_SS_R, 0, ArtTile_SS_Ghost_Block + specialStageData 4, Map_Ring, 1, ArtTile_Ring + specialStageData 5, Map_Ring, 1, ArtTile_Ring + specialStageData 6, Map_Ring, 1, ArtTile_Ring + specialStageData 7, Map_Ring, 1, ArtTile_Ring + specialStageData 0, Map_SS_Glass, 1, ArtTile_SS_Emerald_Sparkle + specialStageData 1, Map_SS_Glass, 1, ArtTile_SS_Emerald_Sparkle + specialStageData 2, Map_SS_Glass, 1, ArtTile_SS_Emerald_Sparkle + specialStageData 3, Map_SS_Glass, 1, ArtTile_SS_Emerald_Sparkle + specialStageData 2, Map_SS_R, 0, ArtTile_SS_Ghost_Block + specialStageData 0, Map_SS_Glass, 0, ArtTile_SS_Glass + specialStageData 0, Map_SS_Glass, 3, ArtTile_SS_Glass + specialStageData 0, Map_SS_Glass, 1, ArtTile_SS_Glass + specialStageData 0, Map_SS_Glass, 2, ArtTile_SS_Glass
\ No newline at end of file |
