| Deathchase | Routines |
| Prev: 67C6 | Up: Map | Next: 6859 |
|
Used by the routine at 5F89.
|
||||
| 6802 | LD A,($5DDE) | |||
| 6805 | BIT 0,A | |||
| 6807 | RET NZ | |||
| 6808 | LD A,($5DCB) | Is a bike being blown up? | ||
| 680B | BIT 7,(HL) | |||
| 680D | RET NZ | Return if it is | ||
| 680E | LD A,($5DD8) | |||
| 6811 | CP C | |||
| 6812 | RET NZ | |||
|
This entry point is used by the routine at 663D.
|
||||
| 6813 | LD A,($5DCB) | Is a bike being blown up? | ||
| 6816 | BIT 7,A | |||
| 6818 | RET NZ | Return if it is | ||
| 6819 | LD DE,($5DDC) | Get the next photon bolt graphic | ||
| 681D | LD IX,($5DDA) | Get the screen location for it | ||
| 6821 | LD L,(IX+$00) | Put the display position in HL | ||
| 6824 | LD H,(IX+$01) | |||
| 6827 | LD A,($5DD8) | Get current photon bolt offset | ||
| 682A | ADD A,L | |||
| 682B | LD L,A | Adjust display file to the right place | ||
| 682C | LD A,(HL) | Get the current display file offset | ||
| 682D | INC A | Is there anything here (eg: tree)? | ||
| 682E | DEC A | |||
| 682F | JR NZ,$6886 | Jump forward if there is something here | ||
| 6831 | LD B,$08 | 8 lines | ||
| 6833 | LD A,(DE) | Get character | ||
| 6834 | OR (HL) | Merge it with what's on screen and store it | ||
| 6835 | LD (HL),A | |||
| 6836 | INC H | Move to next line | ||
| 6837 | INC DE | |||
| 6838 | DJNZ $6833 | |||
| 683A | LD H,(IX+$02) | Get attribute address | ||
| 683D | LD A,$07 | Set white INK | ||
| 683F | OR (HL) | Merge which what's there and store it | ||
| 6840 | LD (HL),A | |||
| 6841 | LD A,($5DD9) | Get photon bolt distance | ||
| 6844 | DEC A | One less | ||
| 6845 | JR Z,$686B | Jump if we've finished firing | ||
| 6847 | DEC IX | Back to offset store | ||
| 6849 | DEC IX | |||
| 684B | DEC IX | |||
| 684D | LD ($5DDA),IX | Store next screen location | ||
| 6851 | LD ($5DDC),DE | Store next graphic | ||
| 6855 | LD ($5DD9),A | Store next distance | ||
| 6858 | RET | |||
| Prev: 67C6 | Up: Map | Next: 6859 |