![]() |
Routines |
Prev: D064 | Up: Map | Next: D0D0 |
D078 | PUSH IX | Stash IX, IY and BC on the stack. | ||
D07A | PUSH IY | |||
D07C | PUSH BC | |||
D07D | LD IX,($A017) | IX=*A017. | ||
D081 | LD A,(IX+$04) | A=*IX+04. | ||
D084 | AND %10000000 | Keep only bit 7. | ||
D086 | JR Z,$D0C6 | Jump to D0C6 if ?? is equal to 00. | ||
D088 | CALL $C86E | Call C86E. | ||
D08B | INC A | Increment A by one. | ||
D08C | JR NZ,$D09E | Jump to D09E if A is not equal to 00. | ||
D08E | CALL $D33C | Call D33C. | ||
D091 | BIT 7,(IX+$00) | Jump to D0C6 if bit 7 of *IX+00 is set. | ||
D095 | JR NZ,$D0C6 | |||
D097 | CALL $C00C | Call C00C. | ||
D09A | CP $01 | Jump to D0C6 if A is not equal to 01. | ||
D09C | JR NZ,$D0C6 | |||
D09E | LD IX,$8B6F | IX=Table_Objects. | ||
D0A2 | CALL FetchNextObject | Call FetchNextObject. | ||
D0A5 | JR Z,$D0C9 | Jump to D0C9 if A is equal to 01. | ||
D0A7 | LD A,(IY+$00) | Jump to D0A2 if *IY+00 is not equal to 01. | ||
D0AA | CP $01 | |||
D0AC | JR NZ,$D0A2 | |||
D0AE | LD A,(IY+$05) | A=*IY+05. | ||
D0B1 | XOR %10110111 | Flip bits 0-2, 4-5, 7. | ||
D0B3 | AND %01011100 | Keep only bits 2-4, 6. | ||
D0B5 | JR NZ,$D0A2 | Jump to D0A2 if A is not equal to 01. | ||
D0B7 | LD A,(IY+$04) | A=*IY+04. | ||
D0BA | AND %10000000 | Keep only bit 7. | ||
D0BC | JR Z,$D0A2 | Jump to D0A2 if A is equal to 01. | ||
D0BE | LD A,(IX+$00) | A=*IX+00. | ||
D0C1 | CALL $C821 | Call C821. | ||
D0C4 | JR Z,$D0A2 | Jump to D0A2 if A is equal to 01. | ||
D0C6 | AND A | Set flags. | ||
D0C7 | JR $D0CA | Jump to D0CA. | ||
D0C9 | SCF | Set the carry flag. | ||
D0CA | POP BC | Restore BC, IY and IX from the stack. | ||
D0CB | POP IY | |||
D0CD | POP IX | |||
D0CF | RET | Return. |
Prev: D064 | Up: Map | Next: D0D0 |