Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- arch snes.cpu
- //Disassembly of Dr. Hiroshi Character Tokens
- //Using BSXTokens.asm as a base
- incsrc "BSXTokens.asm"
- base $91DD82
- OBJ_Data:
- dl OBJ_GFX, OBJ_PAL
- OBJ_GFX: //COMPRESSED GRAPHICS
- incbin "BSX_DrHiroshiGFXCompressed.bin"
- OBJ_PAL: //PALETTE DATA
- incbin "BSX_DrHiroshiPalette.bin"
- //Has 16-bit Size at the Start for both
- OBJ_Shape:
- incbin "BSX_DrHiroshiOBJShape.bin"
- //Format Unknown
- //$91E4A4 (SNES) / $08E4A4 (PC)
- ScriptDrHiroshi:
- {AllocateAndInitObjPaletteAndObjTilesOrUseExistingOnes OBJ_Data}
- {SetObjWidthDepthFlagmask ({var_imm}+$0006), ({var_imm}+$0004), ({var_imm}+$0022)}
- {CreateAnotherInterpreterThreadWithLimit ({var_prv}+$1768), $01, _SubThread4}
- {MathsLet ({var_prv}+$19DA), ({var_prv}+$1650)}
- {MathsLet ({var_prv}+$1A02), ({var_prv}+$1650)}
- {MathsSub ({var_prv}+$19DA), ({var_imm}+$0060)}
- {MathsAdd ({var_prv}+$1A02), ({var_imm}+$0060)}
- {MathsLet ({var_prv}+$1A2A), ({var_imm}+$0180)}
- {ControlSubThread _SubThread2}
- _label0:
- {SignedCompareWithConditionalGoto ({var_prv}+$1650), {cmp_lessequ}, ({var_prv}+$19DA), _label1}
- {SignedCompareWithConditionalGoto ({var_prv}+$1650), {cmp_greatequ}, ({var_prv}+$1A02), _label2}
- {Goto _label3}
- _label1:
- {ControlSubThread _SubThread1}
- {MathsLet ({var_prv}+$1A2A), ({var_imm}+$0180)}
- {Goto _label3}
- _label2:
- {ControlSubThread _SubThread2}
- {MathsLet ({var_prv}+$1A2A), ({var_imm}+$FE80)}
- {Goto _label3}
- _label3:
- {GosubIfAccessedByPlayer $000001}
- {SetXYsignViewDirectionToSignsOfIncomingValues ({var_prv}+$16C8), ({var_prv}+$16F0)}
- {SleepAndMoveChangeXYstepIfCollideOtherThread $0001, ({var_imm}+$0001), ({var_prv}+$1A2A), ({var_imm}+$0000)}
- {Gosub {PauseSubThreadIfXYstepIsZero}}
- {Goto _label0}
- _SubThread1:
- {SleepWithXYsignAs9wayObjShape $000B, _Sub1_9way1, $000000, $000000, $000000, $000000, $000000, $000000, $000000, $000000}
- {SleepWithXYsignAs9wayObjShape $0008, _Sub1_9way2, $000000, $000000, $000000, $000000, $000000, $000000, $000000, $000000}
- {SleepWithXYsignAs9wayObjShape $0008, _Sub1_9way3, $000000, $000000, $000000, $000000, $000000, $000000, $000000, $000000}
- {SleepWithXYsignAs9wayObjShape $000B, _Sub1_9way4, $000000, $000000, $000000, $000000, $000000, $000000, $000000, $000000}
- {SleepWithXYsignAs9wayObjShape $0008, _Sub1_9way3, $000000, $000000, $000000, $000000, $000000, $000000, $000000, $000000}
- {SleepWithXYsignAs9wayObjShape $0008, _Sub1_9way2, $000000, $000000, $000000, $000000, $000000, $000000, $000000, $000000}
- {Goto _SubThread1}
- _Sub1_9way1:
- dl $91E24C, $91E24C, $91E24C, $91E310, $91E24C, $91E442, $91E2AE, $91E2AE, $91E2AE
- _Sub1_9way2:
- dl $91E262, $91E262, $91E262, $91E326, $91E262, $91E458, $91E2C4, $91E2C4, $91E2C4
- _Sub1_9way3:
- dl $91E27D, $91E27D, $91E27D, $91E341, $91E27D, $91E473, $91E2DF, $91E2DF, $91E2DF
- _Sub1_9way4:
- dl $91E298, $91E298, $91E298, $91E35C, $91E298, $91E48E, $91E2DF, $91E2DF, $91E2DF
- _SubThread2:
- {SleepWithXYsignAs9wayObjShape $000B, _Sub2_9way1, $000000, $000000, $000000, $000000, $000000, $000000, $000000, $000000}
- {SleepWithXYsignAs9wayObjShape $0008, _Sub2_9way2, $000000, $000000, $000000, $000000, $000000, $000000, $000000, $000000}
- {SleepWithXYsignAs9wayObjShape $0008, _Sub2_9way3, $000000, $000000, $000000, $000000, $000000, $000000, $000000, $000000}
- {SleepWithXYsignAs9wayObjShape $000B, _Sub2_9way4, $000000, $000000, $000000, $000000, $000000, $000000, $000000, $000000}
- {SleepWithXYsignAs9wayObjShape $0008, _Sub2_9way3, $000000, $000000, $000000, $000000, $000000, $000000, $000000, $000000}
- {SleepWithXYsignAs9wayObjShape $0008, _Sub2_9way2, $000000, $000000, $000000, $000000, $000000, $000000, $000000, $000000}
- {Goto _SubThread2}
- _Sub2_9way1:
- dl $91E37E, $91E37E, $91E37E, $91E310, $91E37E, $91E442, $91E3E0, $91E3E0, $91E3E0
- _Sub2_9way2:
- dl $91E394, $91E394, $91E394, $91E326, $91E394, $91E458, $91E3F6, $91E3F6, $91E3F6
- _Sub2_9way3:
- dl $91E3AF, $91E3AF, $91E3AF, $91E341, $91E3AF, $91E473, $91E411, $91E411, $91E411
- _Sub2_9way4:
- dl $91E3CA, $91E3CA, $91E3CA, $91E35C, $91E3CA, $91E48E, $91E42C, $91E42C, $91E42C
- _SubThread3:
- {SleepWithFixedObjShape $0001, $91E372}
- {Goto _SubThread4}
- _SubThread4:
- {SetObjWidthDepthFlagmask ({var_imm}+$0000), ({var_imm}+$0000), ({var_imm}+$0022)}
- {ControlSubThread _SubThread3}
- _label4:
- {SetXYposRelativeToParentThread ({var_imm}+$0000), ({var_imm}+$0000)}
- {Sleep $0001}
- {Goto _label4}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement