![]() |
Routines |
| Prev: 88D2 | Up: Map | Next: 8916 |
|
Used by the routine at GameStart.
|
||||
| 88DA | LD IY,$88D2 | IY=88D2. | ||
| 88DE | LD DE,$E09C | DE=E09C. | ||
| 88E1 | LD B,$04 | Set a counter of 04. | ||
| 88E3 | PUSH BC | Stash the counter on the stack. | ||
| 88E4 | LD L,(IY+$00) | Load the address from IY into HL. | ||
| 88E7 | LD H,(IY+$01) | |||
| 88EA | INC IY | Move the pointer in IY to the next address. | ||
| 88EC | INC IY | |||
| 88EE | LD A,H | Jump to 8912 if the address in HL is zero. | ||
| 88EF | OR L | |||
| 88F0 | JR Z,$8912 | |||
| 88F2 | PUSH HL | IX=HL (using the stack). | ||
| 88F3 | POP IX | |||
| 88F5 | LD A,(IX+$00) | |||
| 88F8 | CP $FF | |||
| 88FA | JR Z,$8912 | |||
| 88FC | LD A,(IX+$0A) | |||
| 88FF | AND $80 | |||
| 8901 | JR Z,$890B | |||
| 8903 | PUSH IX | |||
| 8905 | POP HL | |||
| 8906 | LD BC,$000C | |||
| 8909 | LDIR | |||
| 890B | LD BC,$000C | |||
| 890E | ADD IX,BC | |||
| 8910 | JR $88F5 | |||
| 8912 | POP BC | Restore BC from the stack. | ||
| 8913 | DJNZ $88E3 | Decrease counter by one and loop back to 88E3 until counter is zero. | ||
| 8915 | RET | Return. | ||
| Prev: 88D2 | Up: Map | Next: 8916 |