The Little Mermaid:ROM map: Difference between revisions
Jump to navigation
Jump to search
(Created page with "Page 06 (0x8000-0xBFFF) Address in ROM: 0x18010-0x1C00F 0x8000 Runs the action scripts of every object slot (other than Ariel) from lowest to highest. 06:8000:A5 B1 LD...") |
No edit summary |
||
Line 1: | Line 1: | ||
Page 06 (0x8000-0xBFFF) | Page 06 (0x8000-0xBFFF) | ||
Address in ROM: 0x18010-0x1C00F | Address in ROM: 0x18010-0x1C00F | ||
Revision as of 22:06, 27 December 2018
Page 06 (0x8000-0xBFFF)
Address in ROM: 0x18010-0x1C00F
0x8000 Runs the action scripts of every object slot (other than Ariel) from lowest to highest. 06:8000:A5 B1 LDA $00B1 ; Check Ariel's health 06:8002:F0 3A BEQ $803E ; Exit if zero 06:8004:A2 01 LDX #$01 06:8006:86 EF STX $00EF ; Current slot # 06:8008:A9 06 LDA #$06 06:800A:85 99 STA $0099 ; ? 06:800C:BD 00 03 LDA $0300,X 06:800F:10 25 BPL $8036 ; Skip ahead if slot is empty 06:8011:BD A0 04 LDA $04A0,X ; Check if object is stunned 06:8014:D0 16 BNE $802C ; If so, skip action script 06:8016:BC 10 03 LDY $0310,X 06:8019:B9 20 85 LDA $8520,Y ; Obtain address of action script 06:801C:85 00 STA $0000 ; from jump table located 06:801E:B9 80 85 LDA $8580,Y ; at 0x8520,0x8580 06:8021:85 01 STA $0001 06:8023:A9 80 LDA #$80 ; Set return address 06:8025:48 PHA 06:8026:A9 2B LDA #$2B 06:8028:48 PHA 06:8029:6C 00 00 JMP ($0000) ; Run object's action script 06:802C:E0 03 CPX #$03 ; Check if object is a bubble 06:802E:90 06 BCC $8036 ; Jump ahead if so 06:8030:20 3F 80 JSR $803F ; Run action if object is colliding with Ariel 06:8033:20 FF 80 JSR $80FF ; Run action if object is colliding with a bubble 06:8036:E6 EF INC $00EF ; Tick up to next object slot 06:8038:A6 EF LDX $00EF 06:803A:E0 10 CPX #$10 ; Loop until all slots examined 06:803C:D0 CA BNE $8008 06:803E:60 RTS -----------------------------------------