Routines |
Prev: 55985 | Up: Map | Next: 56110 |
Used by the routines at 54098 and Handler_Bombs.
|
||||
55999 | LD A,(59229) | A=*Tile_Horizontal_Position. | ||
56002 | DEC A | Decrease A by one. | ||
56003 | LD (59231),A | Write A to *Tile_Horizontal_Coordinate. | ||
56006 | LD A,(59230) | A=*Tile_Vertical_Position. | ||
56009 | DEC A | Decrease A by one. | ||
56010 | LD (59232),A | Write A to *Tile_Vertical_Coordinate. | ||
56013 | LD B,4 | B=4. | ||
56015 | HALT | Halt operation (suspend CPU until the next interrupt). | ||
56016 | PUSH BC | Stash BC on the stack. | ||
56017 | LD A,(59231) | B=*Tile_Horizontal_Coordinate. | ||
56020 | LD B,A | |||
56021 | LD A,(59232) | C=*Tile_Vertical_Coordinate. | ||
56024 | LD C,A | |||
56025 | CALL Calculate_ScreenBlockAddress | Call Calculate_ScreenBlockAddress. | ||
56028 | PUSH HL | Stash HL on the stack. | ||
56029 | LD A,0 | A=0. | ||
56031 | LD B,8 | B=8. | ||
56033 | PUSH BC | Stash BC and HL on the stack. | ||
56034 | PUSH HL | |||
56035 | LD B,4 | B=4. | ||
56037 | LD (HL),A | Write A to *HL. | ||
56038 | INC HL | Increment HL by one. | ||
56039 | DJNZ 56037 | Decrease counter by one and loop back to 56037 until counter is zero. | ||
56041 | POP HL | Restore HL and BC from the stack. | ||
56042 | POP BC | |||
56043 | INC H | Increment H by one. | ||
56044 | DJNZ 56033 | Decrease counter by one and loop back to 56033 until counter is zero. | ||
56046 | POP HL | Restore HL from the stack. | ||
56047 | CALL Calculate_AttributeAddress | Call Calculate_AttributeAddress. | ||
56050 | LD A,71 | A=71. | ||
56052 | LD B,4 | B=4. | ||
56054 | LD (DE),A | Write A to *DE. | ||
56055 | INC DE | Increment DE by one. | ||
56056 | DJNZ 56054 | Decrease counter by one and loop back to 56054 until counter is zero. | ||
56058 | POP BC | Restore BC from the stack. | ||
56059 | LD HL,59231 | HL=Tile_Horizontal_Coordinate. | ||
56062 | INC (HL) | Increment *HL by one. | ||
56063 | DJNZ 56016 | Decrease counter by one and loop back to 56016 until counter is zero. | ||
56065 | LD A,(55347) | Return if *55347 is equal to 0. | ||
56068 | CP 0 | |||
56070 | RET Z | |||
56071 | LD B,3 | B=3. | ||
56073 | PUSH BC | Stash BC on the stack. | ||
56074 | LD A,5 | A=5. | ||
56076 | LD C,30 | C=30. | ||
56078 | LD B,40 | B=40. | ||
56080 | SLA B | Shift B left (with carry). | ||
56082 | DJNZ 56082 | Decrease counter by one and loop back to 56082 until counter is zero. | ||
56084 | XOR %00010000 | Flip bit 4. | ||
56086 | OUT (254),A | Set border to the colour held by A. | ||
56088 | DEC C | Decrease C by one. | ||
56089 | JR NZ,56078 | Jump to 56078 if C is not zero. | ||
56091 | LD C,20 | C=20. | ||
56093 | LD B,60 | B=60. | ||
56095 | SLA B | Shift B left (with carry). | ||
56097 | DJNZ 56097 | Decrease counter by one and loop back to 56097 until counter is zero. | ||
56099 | XOR %00010000 | Flip bit 4. | ||
56101 | OUT (254),A | Set border to the colour held by A. | ||
56103 | DEC C | Decrease C by one. | ||
56104 | JR NZ,56093 | Jump to 56093 if C is not zero. | ||
56106 | POP BC | Restore BC from the stack. | ||
56107 | DJNZ 56073 | Decrease counter by one and loop back to 56073 until counter is zero. | ||
56109 | RET | Return. |
Prev: 55985 | Up: Map | Next: 56110 |