![]() |
Routines |
| Prev: 5FB7 | Up: Map | Next: 613B |
|
Used by the routine at 6D87.
|
||||
| 5FE1 | LD HL,$5F2E | Increase 1UP_Lives by one. | ||
| 5FE4 | INC (HL) | |||
| 5FE5 | CALL $6FFD | Call 6FFD. | ||
|
This entry point is used by the routine at 68C4.
|
||||
| 5FE8 | LD A,($5F2D) | A=1UP_Level. | ||
| 5FEB | INC A | |||
| 5FEC | RET Z | |||
| 5FED | CALL CreateWindow | Call CreateWindow. | ||
| 5FF0 | CALL $6017 | Call 6017. | ||
| 5FF3 | CALL $7378 | Call 7378. | ||
|
Self modifying code; this updates the command at 7515 to "CP 1A".
|
||||
| 5FF6 | LD A,$1A | Write 1A to 7516. | ||
| 5FF8 | LD ($7516),A | |||
| 5FFB | LD A,($5C78) | Write FRAMES to LastFrame. | ||
| 5FFE | LD ($5F22),A | |||
| 6001 | RET | Return. | ||
| 6002 | LD A,B | A=B. | ||
| 6003 | EXX | Switch to the shadow registers. | ||
| 6004 | LD C,A | Create an offset in BC'. | ||
| 6005 | LD B,$00 | |||
| 6007 | LD HL,$6011 | Calculate the address using the offset and 6011. | ||
| 600A | ADD HL,BC | |||
| 600B | LD A,(HL) | Write the data from the offset to 5F27. | ||
| 600C | LD ($5F27),A | |||
| 600F | EXX | Switch to the normal registers. | ||
| 6010 | RET | Return. | ||
| 6011 | DEFB $00,$43,$46,$42,$44,$46 | |||
|
The pantry is constructed like it is a font.
|
||||
| 6017 | LD HL,($5C36) | Stash CHARS on the stack. | ||
| 601A | PUSH HL | |||
| 601B | LD HL,$7B4A | Write CupboardGraphic to CHARS. | ||
| 601E | LD ($5C36),HL | |||
| 6021 | LD A,($5F2D) | A=1UP_Level. | ||
| 6024 | AND %00000111 | Keep only bits 0-2. | ||
| 6026 | LD B,A | Store the result in B. | ||
| 6027 | LD A,$20 | A=20. | ||
| 6029 | JR Z,$602F | |||
| 602B | SRL A | |||
| 602D | DJNZ $602B | |||
| 602F | LD ($5F2A),A | |||
| 6032 | LD DE,$613B | DE=CupboardData. | ||
| 6035 | LD HL,$10D0 | HL=10D0. | ||
| 6038 | CALL PrintString | Call PrintString. | ||
| 603B | EXX | |||
| 603C | INC DE | |||
| 603D | LD HL,$18D0 | |||
| 6040 | CALL PrintString | |||
| 6043 | EXX | |||
| 6044 | LD HL,$20D0 | |||
| 6047 | INC DE | |||
| 6048 | LD B,$05 | |||
| 604A | CALL $60BD | |||
| 604D | DJNZ $604A | |||
| 604F | LD DE,$616D | |||
| 6052 | LD HL,$98D0 | |||
| 6055 | CALL PrintString | |||
| 6058 | LD DE,$6174 | |||
| 605B | LD HL,$20D0 | |||
| 605E | LD B,$05 | |||
| 6060 | CALL $6002 | |||
| 6063 | CALL $60FD | |||
| 6066 | DJNZ $6060 | |||
| 6068 | LD HL,$A000 | |||
| 606B | LD DE,$6198 | |||
| 606E | LD C,$04 | |||
| 6070 | LD A,$20 | |||
| 6072 | CALL $60E2 | |||
| 6075 | LD DE,$6218 | |||
| 6078 | LD HL,$A000 | |||
| 607B | LD C,$04 | |||
| 607D | CALL $60A4 | |||
| 6080 | POP HL | |||
| 6081 | LD ($5C36),HL | |||
| 6084 | LD B,$00 | |||
| 6086 | CALL $6C88 | |||
| 6089 | LD A,($5F30) | |||
| 608C | LD C,A | |||
| 608D | RRA | |||
| 608E | RRA | |||
| 608F | RRA | |||
| 6090 | RRA | |||
| 6091 | AND $0F | |||
| 6093 | ADD A,$30 | |||
| 6095 | LD HL,$50FC | |||
| 6098 | CALL PrintScreen | |||
| 609B | LD A,C | |||
| 609C | AND $0F | |||
| 609E | ADD A,$30 | |||
| 60A0 | CALL PrintScreen | |||
| 60A3 | RET | |||
| 60A4 | LD A,($5F28) | |||
| 60A7 | LD B,A | |||
| 60A8 | PUSH HL | |||
| 60A9 | PUSH BC | |||
| 60AA | CALL AttributeAddress | |||
| 60AD | POP BC | |||
| 60AE | LD A,(DE) | |||
| 60AF | LD (HL),A | |||
| 60B0 | INC HL | |||
| 60B1 | INC DE | |||
| 60B2 | DJNZ $60AE | |||
| 60B4 | POP HL | |||
| 60B5 | LD A,H | |||
| 60B6 | ADD A,$08 | |||
| 60B8 | LD H,A | |||
| 60B9 | DEC C | |||
| 60BA | JR NZ,$60A4 | |||
| 60BC | RET | |||
| 60BD | PUSH BC | |||
| 60BE | PUSH DE | |||
| 60BF | LD A,B | |||
| 60C0 | RLCA | |||
| 60C1 | RLCA | |||
| 60C2 | RLCA | |||
| 60C3 | AND $38 | |||
| 60C5 | OR $47 | |||
| 60C7 | LD ($60CE),A | |||
| 60CA | LD A,($5F2A) | |||
| 60CD | RLC B | |||
| 60CF | JR Z,$60D8 | |||
| 60D1 | PUSH HL | |||
| 60D2 | LD HL,$0012 | |||
| 60D5 | ADD HL,DE | |||
| 60D6 | EX DE,HL | |||
| 60D7 | POP HL | |||
| 60D8 | LD C,$03 | |||
| 60DA | LD A,$06 | |||
| 60DC | CALL $60E2 | |||
| 60DF | POP DE | |||
| 60E0 | POP BC | |||
| 60E1 | RET | |||
| 60E2 | LD ($5F28),A | |||
| 60E5 | LD A,($5F28) | |||
| 60E8 | LD B,A | |||
| 60E9 | PUSH HL | |||
| 60EA | CALL ScreenAddress | |||
| 60ED | LD A,(DE) | |||
| 60EE | CALL PrintScreen | |||
| 60F1 | INC DE | |||
| 60F2 | DJNZ $60ED | |||
| 60F4 | POP HL | |||
| 60F5 | LD A,H | |||
| 60F6 | ADD A,$08 | |||
| 60F8 | LD H,A | |||
| 60F9 | DEC C | |||
| 60FA | JR NZ,$60E5 | |||
| 60FC | RET | |||
| 60FD | PUSH BC | |||
| 60FE | PUSH DE | |||
| 60FF | LD A,B | |||
| 6100 | RLCA | |||
| 6101 | RLCA | |||
| 6102 | RLCA | |||
| 6103 | AND $38 | |||
| 6105 | OR $47 | |||
| 6107 | LD ($610E),A | |||
| 610A | LD A,($5F2A) | |||
| 610D | BIT 0,A | |||
| 610F | JR Z,$6118 | |||
| 6111 | PUSH HL | |||
| 6112 | LD HL,$0012 | |||
| 6115 | ADD HL,DE | |||
| 6116 | EX DE,HL | |||
| 6117 | POP HL | |||
| 6118 | LD C,$03 | |||
| 611A | LD B,$06 | |||
| 611C | PUSH HL | |||
| 611D | PUSH BC | |||
| 611E | CALL AttributeAddress | |||
| 6121 | POP BC | |||
| 6122 | LD A,(DE) | |||
| 6123 | AND A | |||
| 6124 | CALL Z,$6137 | |||
| 6127 | LD (HL),A | |||
| 6128 | INC DE | |||
| 6129 | INC HL | |||
| 612A | DJNZ $6122 | |||
| 612C | POP HL | |||
| 612D | LD A,H | |||
| 612E | ADD A,$08 | |||
| 6130 | LD H,A | |||
| 6131 | DEC C | |||
| 6132 | JR NZ,$611A | |||
| 6134 | POP DE | |||
| 6135 | POP BC | |||
| 6136 | RET | |||
| 6137 | LD A,($5F27) | |||
| 613A | RET | |||
| Prev: 5FB7 | Up: Map | Next: 613B |