- Group:
- Pending Approval: Pending Approvals
- Active Posts:
- 21 (0.01 per day)
- Most Active In:
- Engineering & Reverse Engineering (19 posts)
- Joined:
- 20-January 07
- Profile Views:
- 300
- Last Active:
Aug 29 2012 01:28 PM- Currently:
- Offline
My Information
- Age:
- 21 years old
- Birthday:
- August 14, 1991
- Gender:
-
Not Telling
Contact Information
- E-mail:
- Private
- Website:
-
http://
- Yahoo:
-
[email protected]
Previous Fields
- Project:
- Sonic 1: Eggman's Vengance
- National Flag:
- us
Latest Visitors
-
ENERGYMAN 
04 Dec 2012 - 09:29 -
Caitlin 
14 Aug 2011 - 20:11 -
nineko 
13 Aug 2011 - 19:51 -
Toasty 
09 Jul 2011 - 17:56 -
SonicSynthesizer 
08 May 2011 - 09:36
Posts I've Made
-
In Topic: Basic Questions & Answers thread
26 June 2010 - 03:01 PM
This is a Sonic 2 disassembly (Xenowhirl's disassembly) I'm using. -
In Topic: Basic Questions & Answers thread
26 June 2010 - 02:53 PM
I'm a bit confused. What do you replace these with?:CODE@fail
@wait
@notmoving
@noflip
Help me out there, please? -
In Topic: Basic Questions & Answers thread
25 June 2010 - 09:18 PM
I'm actually talking about this list of pattern load cue lists:CODE; ---------------------------------------------------------------------------
; PATTERN LOAD REQUEST LISTS
;
; Pattern load request lists are simple structures used to load
; Nemesis-compressed art for sprites.
;
; The decompressor predictably moves down the list, so request 0 is processed first, etc.
; This only matters if your addresses are bad and you overwrite art loaded in a previous request.
;
; NOTICE: The load queue buffer can only hold $15 (21) load requests. None of the routines
; that load PLRs into the queue do any bounds checking, so it's possible to create a buffer
; overflow and completely screw up the variables stored directly after the queue buffer.
;
; Of course, this problem is mitigated by the difficulty one will have in finding space
; to load 21 Nemesis-compressed bits of art. It's still something you need to be aware of
; before adding PLRs.
; ---------------------------------------------------------------------------
;---------------------------------------------------------------------------------------
; Table of pattern load request lists. Remember to use word-length data when adding lists
; otherwise you'll break the array.
;---------------------------------------------------------------------------------------
; word_42660 ; OffInd_PlrLists:
ArtLoadCues:
dc.w PlrList_Std1 - ArtLoadCues ; 0
dc.w PlrList_Std2 - ArtLoadCues ; 1
dc.w PlrList_StdWtr - ArtLoadCues ; 2
dc.w PlrList_GameOver - ArtLoadCues ; 3
dc.w PlrList_Ehz1 - ArtLoadCues ; 4
dc.w PlrList_Ehz2 - ArtLoadCues ; 5
dc.w PLC_6 - ArtLoadCues ; 6
dc.w PLC_7 - ArtLoadCues ; 7
dc.w PLC_8 - ArtLoadCues ; 8
dc.w PLC_9 - ArtLoadCues ; 9
dc.w PlrList_Mtz1 - ArtLoadCues ; 10
dc.w PlrList_Mtz1 - ArtLoadCues ; 11
dc.w PlrList_Mtz1 - ArtLoadCues ; 12
dc.w PlrList_Mtz2 - ArtLoadCues ; 13
dc.w PlrList_Wfz1 - ArtLoadCues ; 14
dc.w PlrList_Wfz1 - ArtLoadCues ; 15
dc.w PlrList_Wfz1 - ArtLoadCues ; 16
dc.w PlrList_Wfz2 - ArtLoadCues ; 17
dc.w PlrList_Htz1 - ArtLoadCues ; 18
dc.w PlrList_Htz2 - ArtLoadCues ; 19
dc.w PLC_10 - ArtLoadCues ; 20
dc.w PLC_10 - ArtLoadCues ; 21
dc.w PLC_10 - ArtLoadCues ; 22
dc.w PLC_10 - ArtLoadCues ; 23
dc.w PLC_10 - ArtLoadCues ; 24
dc.w PLC_11 - ArtLoadCues ; 25
dc.w PLC_12 - ArtLoadCues ; 26
dc.w PLC_13 - ArtLoadCues ; 27
dc.w PLC_14 - ArtLoadCues ; 28
dc.w PLC_15 - ArtLoadCues ; 29
dc.w PLC_16 - ArtLoadCues ; 30
dc.w PLC_17 - ArtLoadCues ; 31
dc.w PLC_18 - ArtLoadCues ; 32
dc.w PLC_19 - ArtLoadCues ; 33
dc.w PLC_1A - ArtLoadCues ; 34
dc.w PLC_1B - ArtLoadCues ; 35
dc.w PLC_1C - ArtLoadCues ; 36
dc.w PLC_1D - ArtLoadCues ; 37
dc.w PLC_1E - ArtLoadCues ; 38
dc.w PLC_1F - ArtLoadCues ; 39
dc.w PLC_20 - ArtLoadCues ; 40
dc.w PLC_21 - ArtLoadCues ; 41
dc.w PLC_22 - ArtLoadCues ; 42
dc.w PLC_23 - ArtLoadCues ; 43
dc.w PLC_24 - ArtLoadCues ; 44
dc.w PLC_25 - ArtLoadCues ; 45
dc.w PLC_26 - ArtLoadCues ; 46
dc.w PLC_27 - ArtLoadCues ; 47
dc.w PLC_28 - ArtLoadCues ; 48
dc.w PLC_29 - ArtLoadCues ; 49
dc.w PLC_2A - ArtLoadCues ; 50
dc.w PLC_2B - ArtLoadCues ; 51
dc.w PLC_2C - ArtLoadCues ; 52
dc.w PLC_2D - ArtLoadCues ; 53
dc.w PLC_2E - ArtLoadCues ; 54
dc.w PLC_2F - ArtLoadCues ; 55
dc.w PLC_30 - ArtLoadCues ; 56
dc.w PLC_31 - ArtLoadCues ; 57
dc.w PLC_32 - ArtLoadCues ; 58
dc.w PLC_33 - ArtLoadCues ; 59
dc.w PLC_34 - ArtLoadCues ; 60
dc.w PLC_35 - ArtLoadCues ; 61
dc.w PLC_36 - ArtLoadCues ; 62
dc.w PLC_37 - ArtLoadCues ; 63
dc.w PLC_38 - ArtLoadCues ; 64
dc.w PLC_39 - ArtLoadCues ; 65
dc.w PLC_3A - ArtLoadCues ; 66
dc.w PLC_3B - ArtLoadCues ; 67
dc.w PLC_3C - ArtLoadCues ; 68
; macro for a pattern load request list header
; must be on the same line as a label that has a corresponding _End label later
plrlistheader macro {INTLABEL}
__LABEL__ label *
dc.w ((__LABEL___End - __LABEL__ - 8) / 6)
endm
; macro for a pattern load request
plreq macro toVRAMaddr,fromROMaddr
dc.l fromROMaddr
dc.w toVRAMaddr
endm
;---------------------------------------------------------------------------------------
; PATTERN LOAD REQUEST LIST
; Standard 1 - loaded for every level
;---------------------------------------------------------------------------------------
PlrList_Std1: plrlistheader
plreq $D940, ArtNem_HUD
plreq $FA80, ArtNem_Sonic_life_counter
plreq $D780, ArtNem_Ring
plreq $9580, ArtNem_Numbers
PlrList_Std1_End
;---------------------------------------------------------------------------------------
; PATTERN LOAD REQUEST LIST
; Standard 2 - loaded for every level
;---------------------------------------------------------------------------------------
PlrList_Std2: plrlistheader
plreq $8F80, ArtNem_Checkpoint
plreq $D000, ArtNem_Powerups
plreq $97C0, ArtNem_Shield
plreq $9BC0, ArtNem_Invincible_stars
PlrList_Std2_End
;---------------------------------------------------------------------------------------
; PATTERN LOAD REQUEST LIST
; Aquatic level standard
;---------------------------------------------------------------------------------------
PlrList_StdWtr: plrlistheader
plreq $B480, ArtNem_Explosion
plreq $BE40, ArtNem_SuperSonic_stars
plreq $BD00, ArtNem_Bubbles
PlrList_StdWtr_End
;---------------------------------------------------------------------------------------
; PATTERN LOAD REQUEST LIST
; Game/Time over
;---------------------------------------------------------------------------------------
PlrList_GameOver: plrlistheader
plreq $9BC0, ArtNem_Game_Over
PlrList_GameOver_End
;---------------------------------------------------------------------------------------
; PATTERN LOAD REQUEST LIST
; Emerald Hill Zone primary
;---------------------------------------------------------------------------------------
PlrList_Ehz1: plrlistheader
plreq $73C0, ArtNem_Waterfall
plreq $76C0, ArtNem_EHZ_Bridge
plreq $77C0, ArtNem_Buzzer_Fireball
plreq $7A40, ArtNem_Buzzer
plreq $7DC0, ArtNem_Coconuts
plreq $8280, ArtNem_Masher
PlrList_Ehz1_End
;---------------------------------------------------------------------------------------
; PATTERN LOAD REQUEST LIST
; Emerald Hill Zone secondary
;---------------------------------------------------------------------------------------
PlrList_Ehz2: plrlistheader
plreq $8680, ArtNem_Spikes
plreq $8780, ArtNem_DignlSprng
plreq $8B80, ArtNem_VrtclSprng
plreq $8E00, ArtNem_HrzntlSprng
PlrList_Ehz2_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; Wood Zone primary
;---------------------------------------------------------------------------------------
PLC_3B: plrlistheader
plreq $6380, ArtNem_Crabmeat
plreq $7DC0, ArtNem_Coconuts
plreq $7800, ArtNem_Crawlton
PLC_3B_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; Miles 1up patch
;---------------------------------------------------------------------------------------
PLC_6: plrlistheader
plreq $DE80, ArtUnc_MilesLife
PLC_6_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; Miles life counter
;---------------------------------------------------------------------------------------
PLC_7: plrlistheader
plreq $FA80, ArtUnc_MilesLife
PLC_7_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; Tails 1up patch
;---------------------------------------------------------------------------------------
PLC_8: plrlistheader
plreq $DE80, ArtNem_TailsLife
PLC_8_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; Tails life counter
;---------------------------------------------------------------------------------------
PLC_9: plrlistheader
plreq $FA80, ArtNem_TailsLife
PLC_9_End
;---------------------------------------------------------------------------------------
; PATTERN LOAD REQUEST LIST
; Metropolis Zone primary
;---------------------------------------------------------------------------------------
PlrList_Mtz1: plrlistheader
plreq $6F00, ArtNem_MtzWheel
plreq $7E00, ArtNem_MtzWheelIndent
plreq $7F20, ArtNem_LavaCup
plreq $7FA0, ArtNem_BoltEnd_Rope
plreq $80A0, ArtNem_MtzSteam
plreq $8280, ArtNem_MtzSpikeBlock
plreq $8380, ArtNem_MtzSpike
plreq $6380, ArtNem_Crabmeat
plreq $6D00, ArtNem_MtzSupernova
PlrList_Mtz1_End
;---------------------------------------------------------------------------------------
; PATTERN LOAD REQUEST LIST
; Metropolis Zone secondary
;---------------------------------------------------------------------------------------
PlrList_Mtz2: plrlistheader
plreq $8480, ArtNem_Button
plreq $8680, ArtNem_Spikes
plreq $8780, ArtNem_MtzMantis
plreq $8B80, ArtNem_VrtclSprng
plreq $8E00, ArtNem_HrzntlSprng
plreq $A000, ArtNem_MtzAsstBlocks
plreq $A6C0, ArtNem_MtzLavaBubble
plreq $ABE0, ArtNem_MtzCog
plreq $AD60, ArtNem_MtzUnkBlocks
PlrList_Mtz2_End
;---------------------------------------------------------------------------------------
; PATTERN LOAD REQUEST LIST
; Wing Fortress Zone primary
;---------------------------------------------------------------------------------------
PlrList_Wfz1: plrlistheader
plreq $A000, ArtNem_Tornado
plreq $A9E0, ArtNem_Clouds
plreq $AC20, ArtNem_WfzVrtclPrpllr
plreq $79A0, ArtNem_WfzHrzntlPrpllr
plreq $ACA0, ArtNem_Balkrie
plreq $9180, ArtNem_BreakPanels
plreq $6F20, ArtNem_WfzScratch
plreq $7260, ArtNem_WfzTiltPlatforms
plreq $A000, ArtNem_Tornado
plreq $A9E0, ArtNem_Clouds
PlrList_Wfz1_End
;---------------------------------------------------------------------------------------
; PATTERN LOAD REQUEST LIST
; Wing Fortress Zone secondary
;---------------------------------------------------------------------------------------
PlrList_Wfz2: plrlistheader
plreq $AC20, ArtNem_WfzVrtclPrpllr
plreq $79A0, ArtNem_WfzHrzntlPrpllr
plreq $73E0, ArtNem_WfzVrtclLazer
plreq $7560, ArtNem_WfzWallTurret
plreq $7860, ArtNem_WfzHrzntlLazer
plreq $7D40, ArtNem_WfzConveyorBeltWheel
plreq $7F40, ArtNem_WfzHook
plreq $8CA0, ArtNem_WfzThrust
plreq $81C0, ArtNem_WfzBeltPlatform
plreq $8340, ArtNem_WfzGunPlatform
plreq $8A00, ArtNem_WfzUnusedBadnik
plreq $8B80, ArtNem_WfzLaunchCatapult
plreq $8C20, ArtNem_WfzSwitch
plreq $8DA0, ArtNem_WfzFloatingPlatform
PlrList_Wfz2_End
;---------------------------------------------------------------------------------------
; PATTERN LOAD REQUEST LIST
; Hill Top Zone primary
;---------------------------------------------------------------------------------------
PlrList_Htz1: plrlistheader
plreq $73C0, ArtNem_Buzzer_Fireball
plreq $7640, ArtNem_HtzRock
plreq $78C0, ArtNem_HtzSeeSaw
plreq $7BC0, ArtNem_Sol
plreq $6FC0, ArtNem_Rexon
plreq $A400, ArtNem_Spiker
plreq $8680, ArtNem_Spikes
plreq $8780, ArtNem_DignlSprng
plreq $8B80, ArtNem_VrtclSprng
plreq $8E00, ArtNem_HrzntlSprng
PlrList_Htz1_End
;---------------------------------------------------------------------------------------
; PATTERN LOAD REQUEST LIST
; Hill Top Zone secondary
;---------------------------------------------------------------------------------------
PlrList_Htz2: plrlistheader
plreq $7CC0, ArtNem_HtzZipline
plreq $82C0, ArtNem_HtzFireball
plreq $84C0, ArtNem_HtzValveBarrier
PlrList_Htz2_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; OOZ Primary
;---------------------------------------------------------------------------------------
PLC_10: plrlistheader
plreq $5C40, ArtNem_OOZBurn
plreq $5E80, ArtNem_OOZElevator
plreq $6180, ArtNem_SpikyThing
plreq $6580, ArtNem_BurnerLid
plreq $6640, ArtNem_StripedBlocksVert
plreq $66C0, ArtNem_Oilfall
plreq $68C0, ArtNem_Oilfall2
plreq $6A80, ArtNem_BallThing
plreq $6D00, ArtNem_LaunchBall
PLC_10_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; OOZ Secondary
;---------------------------------------------------------------------------------------
PLC_11: plrlistheader
plreq $73A0, ArtNem_OOZPlatform
plreq $78A0, ArtNem_PushSpring
plreq $7C60, ArtNem_OOZSwingPlat
plreq $7FE0, ArtNem_StripedBlocksHoriz
plreq $8060, ArtNem_OOZFanHoriz
plreq $8480, ArtNem_Button
plreq $8680, ArtNem_Spikes
plreq $8780, ArtNem_DignlSprng
plreq $8B80, ArtNem_VrtclSprng
plreq $8E00, ArtNem_HrzntlSprng
plreq $A000, ArtNem_Aquis
plreq $A700, ArtNem_Octus
PLC_11_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; MCZ Primary
;---------------------------------------------------------------------------------------
PLC_12: plrlistheader
plreq $7A80, ArtNem_Crate
plreq $7E80, ArtNem_MCZCollapsePlat
plreq $81C0, ArtNem_VineSwitch
plreq $83C0, ArtNem_VinePulley
plreq $7500, ArtNem_Flasher
plreq $7800, ArtNem_Crawlton
PLC_12_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; MCZ Secondary
;---------------------------------------------------------------------------------------
PLC_13: plrlistheader
plreq $8580, ArtNem_HorizSpike
plreq $8680, ArtNem_Spikes
plreq $8780, ArtNem_MCZGateLog
plreq $8800, ArtNem_LeverSpring
plreq $8B80, ArtNem_VrtclSprng
plreq $8E00, ArtNem_HrzntlSprng
PLC_13_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; CNZ Primary
;---------------------------------------------------------------------------------------
PLC_14: plrlistheader
plreq $6800, ArtNem_Crawl
plreq $6D80, ArtNem_BigMovingBlock
plreq $6F80, ArtNem_CNZSnake
plreq $7000, ArtNem_CNZBonusSpike
plreq $7080, ArtNem_CNZElevator
plreq $7100, ArtNem_CNZCage
plreq $7280, ArtNem_CNZHexBumper
plreq $7340, ArtNem_CNZRoundBumper
plreq $7640, ArtNem_CNZFlipper
plreq $7CC0, ArtNem_CNZMiniBumper
PLC_14_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; CNZ Secondary
;---------------------------------------------------------------------------------------
PLC_15: plrlistheader
plreq $8040, ArtNem_CNZDiagPlunger
plreq $8440, ArtNem_CNZVertPlunger
plreq $8680, ArtNem_Spikes
plreq $8780, ArtNem_DignlSprng
plreq $8B80, ArtNem_VrtclSprng
plreq $8E00, ArtNem_HrzntlSprng
PLC_15_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; CPZ Primary
;---------------------------------------------------------------------------------------
PLC_16: plrlistheader
plreq $6E60, ArtNem_CPZMetalThings
plreq $7280, ArtNem_ConstructionStripes
plreq $7380, ArtNem_CPZBooster
plreq $7400, ArtNem_CPZElevator
plreq $7600, ArtNem_CPZAnimatedBits
plreq $7C00, ArtNem_CPZTubeSpring
plreq $8000, ArtNem_WaterSurface
plreq $8300, ArtNem_CPZStairBlock
plreq $8600, ArtNem_CPZMetalBlock
PLC_16_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; CPZ Secondary
;---------------------------------------------------------------------------------------
PLC_17: plrlistheader
plreq $A000, ArtNem_Grabber
plreq $A5A0, ArtNem_Spiny
plreq $8680, ArtNem_Spikes
plreq $8780, ArtNem_CPZDroplet
plreq $8800, ArtNem_LeverSpring
plreq $8B80, ArtNem_VrtclSprng
plreq $8E00, ArtNem_HrzntlSprng
PLC_17_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; DEZ Primary
;---------------------------------------------------------------------------------------
PLC_18: plrlistheader
plreq $6500, ArtNem_ConstructionStripes
PLC_18_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; DEZ Secondary
;---------------------------------------------------------------------------------------
PLC_19: plrlistheader
plreq $7000, ArtNem_SilverSonic
plreq $6F00, ArtNem_DEZWindow
plreq $A300, ArtNem_RobotnikRunning
plreq $A000, ArtNem_RobotnikUpper
plreq $AC80, ArtNem_RobotnikLower
PLC_19_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; ARZ Primary
;---------------------------------------------------------------------------------------
PLC_1A: plrlistheader
plreq $7F00, ArtNem_ARZBarrierThing
plreq $8000, ArtNem_WaterSurface2
plreq $8200, ArtNem_Leaves
plreq $82E0, ArtNem_ArrowAndShooter
PLC_1A_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; ARZ Secondary
;---------------------------------------------------------------------------------------
PLC_1B: plrlistheader
plreq $A760, ArtNem_ChopChop
plreq $A000, ArtNem_Whisp
plreq $A120, ArtNem_Grounder
plreq $AB60, ArtNem_BigBubbles
plreq $8680, ArtNem_Spikes
plreq $8800, ArtNem_LeverSpring
plreq $8B80, ArtNem_VrtclSprng
plreq $8E00, ArtNem_HrzntlSprng
PLC_1B_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; SCZ Primary
;---------------------------------------------------------------------------------------
PLC_1C: plrlistheader
plreq $A000, ArtNem_Tornado
PLC_1C_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; SCZ Secondary
;---------------------------------------------------------------------------------------
PLC_1D: plrlistheader
plreq $A9E0, ArtNem_Clouds
plreq $AC20, ArtNem_WfzVrtclPrpllr
plreq $79A0, ArtNem_WfzHrzntlPrpllr
plreq $ACA0, ArtNem_Balkrie
plreq $7140, ArtNem_Turtloid
plreq $6DC0, ArtNem_Nebula
PLC_1D_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; Sonic end of level results screen
;---------------------------------------------------------------------------------------
PLC_1E: plrlistheader
plreq $B000, ArtNem_TitleCard
plreq $B600, ArtNem_ResultsText
plreq $BE80, ArtNem_MiniSonic
plreq $A800, ArtNem_Perfect
PLC_1E_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; End of level signpost
;---------------------------------------------------------------------------------------
PLC_1F: plrlistheader
plreq $8680, ArtNem_Signpost
PLC_1F_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; CPZ Boss
;---------------------------------------------------------------------------------------
PLC_20: plrlistheader
plreq $8400, ArtNem_Eggpod
plreq $A000, ArtNem_CPZBoss
plreq $8300, ArtNem_EggpodJets
plreq $AE00, ArtNem_BossSmoke
plreq $B000, ArtNem_FieryExplosion
PLC_20_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; EHZ Boss
;---------------------------------------------------------------------------------------
PLC_21: plrlistheader
plreq $7400, ArtNem_Eggpod
plreq $8000, ArtNem_EHZBoss
plreq $AD80, ArtNem_EggChoppers
plreq $B000, ArtNem_FieryExplosion
PLC_21_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; HTZ Boss
;---------------------------------------------------------------------------------------
PLC_22: plrlistheader
plreq $7820, ArtNem_Eggpod
plreq $8420, ArtNem_HTZBoss
plreq $B000, ArtNem_FieryExplosion
plreq $BC80, ArtNem_BossSmoke
PLC_22_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; ARZ Boss
;---------------------------------------------------------------------------------------
PLC_23: plrlistheader
plreq $A000, ArtNem_Eggpod
plreq $7C00, ArtNem_ARZBoss
plreq $B000, ArtNem_FieryExplosion
PLC_23_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; MCZ Boss
;---------------------------------------------------------------------------------------
PLC_24: plrlistheader
plreq $A000, ArtNem_Eggpod
plreq $7800, ArtNem_MCZBoss
plreq $B000, ArtNem_FieryExplosion
PLC_24_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; CNZ Boss
;---------------------------------------------------------------------------------------
PLC_25: plrlistheader
plreq $A000, ArtNem_Eggpod
plreq $80E0, ArtNem_CNZBoss
plreq $B000, ArtNem_FieryExplosion
PLC_25_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; MTZ Boss
;---------------------------------------------------------------------------------------
PLC_26: plrlistheader
plreq $A000, ArtNem_Eggpod
plreq $6F80, ArtNem_MTZBoss
plreq $AC00, ArtNem_EggpodJets
plreq $B000, ArtNem_FieryExplosion
PLC_26_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; OOZ Boss
;---------------------------------------------------------------------------------------
PLC_27: plrlistheader
plreq $7180, ArtNem_OOZBoss
plreq $B000, ArtNem_FieryExplosion
PLC_27_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; Fiery Explosion
;---------------------------------------------------------------------------------------
PLC_28: plrlistheader
plreq $B000, ArtNem_FieryExplosion
PLC_28_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; Death Egg
;---------------------------------------------------------------------------------------
PLC_29: plrlistheader
plreq $6600, ArtNem_DEZBoss
PLC_29_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; EHZ Animals
;---------------------------------------------------------------------------------------
PLC_2A: plrlistheader
plreq $B000, ArtNem_Squirrel
plreq $B280, ArtNem_Bird
PLC_2A_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; WZ animals
;---------------------------------------------------------------------------------------
PLC_3C: plrlistheader
plreq $B000, ArtNem_Pig
plreq $B280, ArtNem_Bird
PLC_3C_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; MCZ Animals
;---------------------------------------------------------------------------------------
PLC_2B: plrlistheader
plreq $B000, ArtNem_Mouse
plreq $B280, ArtNem_Chicken
PLC_2B_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; HTZ/MTZ/WFZ animals
;---------------------------------------------------------------------------------------
PLC_2C: plrlistheader
plreq $B000, ArtNem_Beaver
plreq $B280, ArtNem_Eagle
PLC_2C_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; DEZ Animals
;---------------------------------------------------------------------------------------
PLC_2D: plrlistheader
plreq $B000, ArtNem_Pig
plreq $B280, ArtNem_Chicken
PLC_2D_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; HPZ animals
;---------------------------------------------------------------------------------------
PLC_2E: plrlistheader
plreq $B000, ArtNem_Mouse
plreq $B280, ArtNem_Seal
PLC_2E_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; OOZ Animals
;---------------------------------------------------------------------------------------
PLC_2F: plrlistheader
plreq $B000, ArtNem_Penguin
plreq $B280, ArtNem_Seal
PLC_2F_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; SCZ Animals
;---------------------------------------------------------------------------------------
PLC_30: plrlistheader
plreq $B000, ArtNem_Turtle
plreq $B280, ArtNem_Chicken
PLC_30_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; CNZ Animals
;---------------------------------------------------------------------------------------
PLC_31: plrlistheader
plreq $B000, ArtNem_Bear
plreq $B280, ArtNem_Bird
PLC_31_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; CPZ Animals
;---------------------------------------------------------------------------------------
PLC_32: plrlistheader
plreq $B000, ArtNem_Rabbit
plreq $B280, ArtNem_Eagle
PLC_32_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; ARZ Animals
;---------------------------------------------------------------------------------------
PLC_33: plrlistheader
plreq $B000, ArtNem_Penguin
plreq $B280, ArtNem_Bird
PLC_33_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; Special Stage
;---------------------------------------------------------------------------------------
PLC_34: plrlistheader
plreq $2E80, ArtNem_SpecialEmerald
plreq $3440, ArtNem_SpecialMessages
plreq $3F40, MapEng_SpecialHUD
plreq $4780, ArtNem_SpecialFlatShadow
plreq $4C40, ArtNem_SpecialDiagShadow
plreq $5380, ArtNem_SpecialSideShadow
plreq $56A0, ArtNem_SpecialExplosion
plreq $6440, ArtNem_SpecialRings
plreq $7140, ArtNem_SpecialStart
plreq $7BE0, ArtNem_SpecialPlayerVSPlayer
plreq $E000, ArtNem_SpecialBack
plreq $EFE0, ArtNem_SpecialStars
plreq $F480, ArtNem_SpecialTailsText
PLC_34_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; Special Stage Bombs
;---------------------------------------------------------------------------------------
PLC_35: plrlistheader
plreq $7140, ArtNem_SpecialBomb
PLC_35_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; WFZ Boss
;---------------------------------------------------------------------------------------
PLC_36: plrlistheader
plreq $6F20, ArtNem_WFZBoss
plreq $A300, ArtNem_RobotnikRunning
plreq $A000, ArtNem_RobotnikUpper
plreq $AC80, ArtNem_RobotnikLower
plreq $B000, ArtNem_FieryExplosion
PLC_36_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; Tornado
;---------------------------------------------------------------------------------------
PLC_37: plrlistheader
plreq $A000, ArtNem_Tornado
plreq $AC20, ArtNem_TornadoThruster
plreq $A9E0, ArtNem_Clouds
PLC_37_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; Egg Prison
;---------------------------------------------------------------------------------------
PLC_38: plrlistheader
plreq $D000, ArtNem_Capsule
PLC_38_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; Normal explosion
;---------------------------------------------------------------------------------------
PLC_39: plrlistheader
plreq $B480, ArtNem_Explosion
PLC_39_End
;---------------------------------------------------------------------------------------
; Pattern load queue
; Tails end of level results screen
;---------------------------------------------------------------------------------------
PLC_3A: plrlistheader
plreq $B000, ArtNem_TitleCard
plreq $B600, ArtNem_ResultsText
plreq $BE80, ArtNem_MiniTails
plreq $A800, ArtNem_Perfect
PLC_3A_End
Plus, I'm adding Caterkiller and this is what the code looks like:CODE; ---------------------------------------------------------------------------
; Object 4C - Caterkiller enemy (MTZ, WZ)
; ---------------------------------------------------------------------------
Caterkiller: ; XREF: Obj_Index
moveq #0,d0
move.b obRoutine(a0),d0
move.w Cat_Index(pc,d0.w),d1
jmp Cat_Index(pc,d1.w)
; ===========================================================================
Cat_Index: dc.w Cat_Main-Cat_Index
dc.w Cat_Head-Cat_Index
dc.w Cat_BodySeg1-Cat_Index
dc.w Cat_BodySeg2-Cat_Index
dc.w Cat_BodySeg1-Cat_Index
dc.w Cat_Delete-Cat_Index
dc.w loc_16CC0-Cat_Index
cat_parent: = $3C ; address of parent object
; ===========================================================================
locret_100000:
rts
; ===========================================================================
Cat_Main: ; Routine 0
move.b #7,obWidth(a0)
move.b #8,obHeight(a0)
jsr ObjectFall
jsr ObjFloorDist
tst.w d1
bpl.s locret_100000
add.w d1,obY(a0)
clr.w obVelY(a0)
addq.b #2,obRoutine(a0)
move.l #Map_Cat,obMap(a0)
move.w #$22B0,obGfx(a0)
cmpi.b #id_WZ,(v_zone).w ; if level is WZ, branch
beq.s @iswood
move.w #$24FF,obGfx(a0) ; MTZ specific code
@iswood:
andi.b #3,obRender(a0)
ori.b #4,obRender(a0)
move.b obRender(a0),obStatus(a0)
move.b #4,obPriority(a0)
move.b #8,obActWid(a0)
move.b #$B,obColType(a0)
move.w obX(a0),d2
moveq #$C,d5
btst #0,obStatus(a0)
beq.s @noflip
neg.w d5
@noflip:
move.b #4,d6
moveq #0,d3
moveq #4,d4
movea.l a0,a2
moveq #2,d1
Cat_Loop:
jsr FindNextFreeObj
if Revision=0
bne.s @fail
else
bne.w Cat_ChkGone
endc
move.b #id_Caterkiller,0(a1) ; load body segment object
move.b d6,obRoutine(a1) ; goto Cat_BodySeg1 or Cat_BodySeg2 next
addq.b #2,d6 ; alternate between the two
move.l obMap(a0),obMap(a1)
move.w obGfx(a0),obGfx(a1)
move.b #5,obPriority(a1)
move.b #8,obActWid(a1)
move.b #$CB,obColType(a1)
add.w d5,d2
move.w d2,obX(a1)
move.w obY(a0),obY(a1)
move.b obStatus(a0),obStatus(a1)
move.b obStatus(a0),obRender(a1)
move.b #8,obFrame(a1)
move.l a2,cat_parent(a1)
move.b d4,cat_parent(a1)
addq.b #4,d4
movea.l a1,a2
@fail:
dbf d1,Cat_Loop ; repeat sequence 2 more times
move.b #7,$2A(a0)
clr.b cat_parent(a0)
Cat_Head: ; Routine 2
tst.b obStatus(a0)
bmi.w loc_16C96
moveq #0,d0
move.b ob2ndRout(a0),d0
move.w Cat_Index2(pc,d0.w),d1
jsr Cat_Index2(pc,d1.w)
move.b $2B(a0),d1
bpl.s @display
lea (Ani_Cat).l,a1
move.b obAngle(a0),d0
andi.w #$7F,d0
addq.b #4,obAngle(a0)
move.b (a1,d0.w),d0
bpl.s @animate
bclr #7,$2B(a0)
bra.s @display
@animate:
andi.b #$10,d1
add.b d1,d0
move.b d0,obFrame(a0)
@display:
obRange Cat_ChkGone
jmp DisplaySprite
Cat_ChkGone:
lea (v_objstate).w,a2
moveq #0,d0
move.b obRespawnNo(a0),d0
beq.s @delete
bclr #7,2(a2,d0.w)
@delete:
move.b #$A,obRoutine(a0) ; goto Cat_Delete next
rts
; ===========================================================================
Cat_Delete: ; Routine $A
jmp DeleteObject
; ===========================================================================
Cat_Index2: dc.w @wait-Cat_Index2
dc.w loc_1001B2-Cat_Index2
; ===========================================================================
@wait:
subq.b #1,$2A(a0)
bmi.s @move
rts
; ===========================================================================
@move:
addq.b #2,ob2ndRout(a0)
move.b #$10,$2A(a0)
move.w #-$C0,obVelX(a0)
move.w #$40,obInertia(a0)
bchg #4,$2B(a0)
bne.s loc_1001AC
clr.w obVelX(a0)
neg.w obInertia(a0)
loc_1001AC:
bset #7,$2B(a0)
loc_1001B2: ; XREF: Cat_Index2
subq.b #1,$2A(a0)
bmi.s @loc_10020E
if Revision=0
move.l obX(a0),-(sp)
move.l obX(a0),d2
else
tst.w obVelX(a0)
beq.s @notmoving
move.l obX(a0),d2
move.l d2,d3
endc
move.w obVelX(a0),d0
btst #0,obStatus(a0)
beq.s @noflip
neg.w d0
@noflip:
ext.l d0
asl.l #8,d0
add.l d0,d2
move.l d2,obX(a0)
if Revision=0
jsr ObjFloorDist
move.l (sp)+,d2
cmpi.w #-8,d1
blt.s @loc_100220
cmpi.w #$C,d1
bge.s @loc_100220
add.w d1,obY(a0)
swap d2
cmp.w obX(a0),d2
beq.s @notmoving
else
swap.w d3
cmp.w obX(a0),d3
beq.s @notmoving
jsr ObjFloorDist
cmpi.w #$FFF8,d1
blt.s @loc_100220
cmpi.w #$C,d1
bge.s @loc_100220
add.w d1,obY(a0)
endc
moveq #0,d0
move.b cat_parent(a0),d0
addq.b #1,cat_parent(a0)
andi.b #$F,cat_parent(a0)
move.b d1,$2C(a0,d0.w)
@notmoving:
rts
; ===========================================================================
@loc_10020E:
subq.b #2,ob2ndRout(a0)
move.b #7,$2A(a0)
if Revision=0
move.w #0,obVelX(a0)
else
clr.w obVelX(a0)
clr.w obInertia(a0)
endc
rts
; ===========================================================================
@loc_100220:
if Revision=0
move.l d2,obX(a0)
bchg #0,obStatus(a0)
move.b obStatus(a0),obRender(a0)
moveq #0,d0
move.b cat_parent(a0),d0
move.b #$80,$2C(a0,d0.w)
else
moveq #0,d0
move.b cat_parent(a0),d0
move.b #$80,$2C(a0,d0)
neg.w obX+2(a0)
beq.s @loc_1730A
btst #0,obStatus(a0)
beq.s @loc_1730A
subq.w #1,obX(a0)
addq.b #1,cat_parent(a0)
moveq #0,d0
move.b cat_parent(a0),d0
clr.b $2C(a0,d0)
@loc_1009BA:
bchg #0,obStatus(a0)
move.b obStatus(a0),obRender(a0)
endc
addq.b #1,cat_parent(a0)
andi.b #$F,cat_parent(a0)
rts
; ===========================================================================
Cat_BodySeg2: ; Routine 6
movea.l cat_parent(a0),a1
move.b $2B(a1),$2B(a0)
bpl.s Cat_BodySeg1
lea (Ani_Cat).l,a1
move.b obAngle(a0),d0
andi.w #$7F,d0
addq.b #4,obAngle(a0)
tst.b 4(a1,d0.w)
bpl.s Cat_AniBody
addq.b #4,obAngle(a0)
Cat_AniBody:
move.b (a1,d0.w),d0
addq.b #8,d0
move.b d0,obFrame(a0)
Cat_BodySeg1: ; Routine 4, 8
movea.l cat_parent(a0),a1
tst.b obStatus(a0)
bmi.w loc_16C90
move.b $2B(a1),$2B(a0)
move.b ob2ndRout(a1),ob2ndRout(a0)
beq.w loc_16C64
move.w obInertia(a1),obInertia(a0)
move.w obVelX(a1),d0
if Revision=0
add.w obInertia(a1),d0
else
add.w obInertia(a0),d0
endc
move.w d0,obVelX(a0)
move.l obX(a0),d2
move.l d2,d3
move.w obVelX(a0),d0
btst #0,obStatus(a0)
beq.s loc_16C0C
neg.w d0
loc_1002BC:
ext.l d0
asl.l #8,d0
add.l d0,d2
move.l d2,obX(a0)
swap d3
cmp.w obX(a0),d3
beq.s loc_16C64
moveq #0,d0
move.b cat_parent(a0),d0
move.b $2C(a1,d0.w),d1
cmpi.b #$80,d1
bne.s loc_16C50
if Revision=0
swap d3
move.l d3,obX(a0)
move.b d1,$2C(a0,d0.w)
else
move.b d1,$2C(a0,d0)
neg.w obX+2(a0)
beq.s locj_173E4
btst #0,obStatus(a0)
beq.s locj_173E4
cmpi.w #-$C0,obVelX(a0)
bne.s locj_173E4
subq.w #1,obX(a0)
addq.b #1,cat_parent(a0)
moveq #0,d0
move.b cat_parent(a0),d0
clr.b $2C(a0,d0)
locj_100A94:
endc
bchg #0,obStatus(a0)
move.b obStatus(a0),1(a0)
addq.b #1,cat_parent(a0)
andi.b #$F,cat_parent(a0)
bra.s loc_16C64
; ===========================================================================
loc_100300:
ext.w d1
add.w d1,obY(a0)
addq.b #1,cat_parent(a0)
andi.b #$F,cat_parent(a0)
move.b d1,$2C(a0,d0.w)
loc_100314:
cmpi.b #$C,obRoutine(a1)
beq.s loc_16C90
cmpi.b #id_ExplosionItem,0(a1)
beq.s loc_16C7C
cmpi.b #$A,obRoutine(a1)
bne.s loc_16C82
loc_10032C:
move.b #$A,obRoutine(a0)
loc_100332:
jmp DisplaySprite
; ===========================================================================
Cat_FragSpeed: dc.w -$200, -$180, $180, $200
; ===========================================================================
loc_100340:
bset #7,obStatus(a1)
loc_100346:
moveq #0,d0
move.b obRoutine(a0),d0
move.w Cat_FragSpeed-2(pc,d0.w),d0
btst #0,obStatus(a0)
beq.s loc_10035A
neg.w d0
loc_10035A:
move.w d0,obVelX(a0)
move.w #-$400,obVelY(a0)
move.b #$C,obRoutine(a0)
andi.b #$F8,obFrame(a0)
loc_100370: ; Routine $C
jsr ObjectFall
tst.w obVelY(a0)
bmi.s loc_16CE0
jsr ObjFloorDist
tst.w d1
bpl.s loc_16CE0
add.w d1,obY(a0)
move.w #-$400,obVelY(a0)
loc_100390:
tst.b obRender(a0)
bpl.w Cat_ChkGone
jmp DisplaySprite
But when I used build.bat, I get thisCODEmacro assembler 1.42 Beta [Bld 55]
(i386-unknown-win32)
© 1992,2007 Alfred Arnold
68RS08-Generator © 2006 Andreas Bolsch
Mitsubishi M16C-Generator also © 1999 RMS
XILINX KCPSM(Picoblaze)-Generator © 2003 Andreas Wassatsch
TMS320C2x-Generator © 1994/96 Thomas Sailer
TMS320C5x-Generator © 1995/96 Thomas Sailer
assembling s2.asm
PASS 1
s2.macrosetup.asm(201)
> > >s2.asm(57546): error: addressing mode not allowed on 68000
> > > move.b obRoutine(a0),d0
> > >s2.asm(57546): error: addressing mode not allowed here
> > > move.b obRoutine(a0),d0
> > >s2.asm(57566): error: addressing mode not allowed on 68000
> > > move.b #7,obWidth(a0)
> > >s2.asm(57566): error: addressing mode not allowed here
> > > move.b #7,obWidth(a0)
> > >s2.asm(57567): error: addressing mode not allowed on 68000
> > > move.b #8,obHeight(a0)
> > >s2.asm(57567): error: addressing mode not allowed here
> > > move.b #8,obHeight(a0)
> > >s2.asm(57572): error: addressing mode not allowed on 68000
> > > add.w d1,obY(a0)
> > >s2.asm(57572): error: addressing mode not allowed here
> > > add.w d1,obY(a0)
> > >s2.asm(57572): error: addressing mode not allowed on 68000
> > > add.w d1,obY(a0)
> > >s2.asm(57572): error: addressing mode not allowed here
> > > add.w d1,obY(a0)
> > >s2.asm(57573): error: addressing mode not allowed on 68000
> > > clr.w obVelY(a0)
> > >s2.asm(57573): error: addressing mode not allowed here
> > > clr.w obVelY(a0)
> > >s2.asm(57574): error: addressing mode not allowed on 68000
> > > addq.b #2,obRoutine(a0)
> > >s2.asm(57574): error: addressing mode not allowed here
> > > addq.b #2,obRoutine(a0)
> > >s2.asm(57575): error: addressing mode not allowed on 68000
> > > move.l #Map_Cat,obMap(a0)
> > >s2.asm(57575): error: addressing mode not allowed here
> > > move.l #Map_Cat,obMap(a0)
> > >s2.asm(57576): error: addressing mode not allowed on 68000
> > > move.w #$22B0,obGfx(a0)
> > >s2.asm(57576): error: addressing mode not allowed here
> > > move.w #$22B0,obGfx(a0)
> > >s2.asm(57577): error: short addressing not allowed
> > > cmpi.b #id_WZ,(v_zone).w ; if level is WZ, branch
> > >s2.asm(57577): error: addressing mode not allowed here
> > > cmpi.b #id_WZ,(v_zone).w ; if level is WZ, branch
> > >s2.asm(57577): error: short addressing not allowed
> > > cmpi.b #id_WZ,(v_zone).w ; if level is WZ, branch
> > >s2.asm(57577): error: addressing mode not allowed here
> > > cmpi.b #id_WZ,(v_zone).w ; if level is WZ, branch
> > >s2.asm(57578): error: invalid symbol name
> > > @iswood
> > > beq.s @iswood
> > >s2.asm(57579): error: addressing mode not allowed on 68000
> > > move.w #$24FF,obGfx(a0) ; MTZ specific code
> > >s2.asm(57579): error: addressing mode not allowed here
> > > move.w #$24FF,obGfx(a0) ; MTZ specific code
> > >s2.asm(57581): error: invalid symbol name
> > > @iswood
> > > @iswood:
> > >s2.asm(57582): error: addressing mode not allowed on 68000
> > > andi.b #3,obRender(a0)
> > >s2.asm(57582): error: addressing mode not allowed here
> > > andi.b #3,obRender(a0)
> > >s2.asm(57583): error: addressing mode not allowed on 68000
> > > ori.b #4,obRender(a0)
> > >s2.asm(57583): error: addressing mode not allowed here
> > > ori.b #4,obRender(a0)
> > >s2.asm(57584): error: addressing mode not allowed on 68000
> > > move.b obRender(a0),obStatus(a0)
> > >s2.asm(57584): error: addressing mode not allowed here
> > > move.b obRender(a0),obStatus(a0)
> > >s2.asm(57585): error: addressing mode not allowed on 68000
> > > move.b #4,obPriority(a0)
> > >s2.asm(57585): error: addressing mode not allowed here
> > > move.b #4,obPriority(a0)
> > >s2.asm(57586): error: addressing mode not allowed on 68000
> > > move.b #8,obActWid(a0)
> > >s2.asm(57586): error: addressing mode not allowed here
> > > move.b #8,obActWid(a0)
> > >s2.asm(57587): error: addressing mode not allowed on 68000
> > > move.b #$B,obColType(a0)
> > >s2.asm(57587): error: addressing mode not allowed here
> > > move.b #$B,obColType(a0)
> > >s2.asm(57588): error: addressing mode not allowed on 68000
> > > move.w obX(a0),d2
> > >s2.asm(57588): error: addressing mode not allowed here
> > > move.w obX(a0),d2
> > >s2.asm(57590): error: addressing mode not allowed on 68000
> > > btst #0,obStatus(a0)
> > >s2.asm(57590): error: addressing mode not allowed here
> > > btst #0,obStatus(a0)
> > >s2.asm(57591): error: invalid symbol name
> > > @noflip
> > > beq.s @noflip
> > >s2.asm(57594): error: invalid symbol name
> > > @noflip
> > > @noflip:
> > >s2.asm(57603): error: expression must be evaluatable in first pass
> > > if Revision=0
> > >s2.asm(57604): error: invalid symbol name
> > > @fail
> > > bne.s @fail
s2.asm(88234)
> > >: error: missing ENDIF/ENDCASE
> > >
18.66 seconds assembly time
88435 lines source file
110192 lines incl. macro expansions
1 pass
47 errors
0 warnings
Press any key to continue . . .
I wonder what I did wrong? -
In Topic: Basic Questions & Answers thread
25 June 2010 - 06:01 PM
I'm making the pattern load cues for Wood Zone (Which I already ported). Where in the list of pattern load cues lists should I put it? -
In Topic: Project Sonic 1: Two-Eight
23 June 2010 - 08:22 PM
Thank you, pal! You know, you make a great idea like this one. I'm also converting something also: Sonic 1 badniks into Sonic 2. I'm still having trouble converting the Caterkiller to Sonic 2. (Question posted on pg 172 of "Basic Questions & Answers thread")
Friends
Sinkdude hasn't added any friends yet.

Find My Content