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 |