Routines |
Prev: BFEC | Up: Map | Next: C13E |
C023 | LD A,(IX+$07) | A=*IX+07. | ||
C026 | BIT 7,A | Jump to C03B if bit 7 of A is not set. | ||
C028 | JR Z,$C03B | |||
C02A | SUB (IX+$08) | A-=*IX+08. | ||
C02D | BIT 3,A | Jump to C042 if bit 3 of A is not set. | ||
C02F | JR Z,$C042 | |||
C031 | ADD A,$08 | A+=08. | ||
C033 | LD (IX+$07),A | Write A to *IX+07. | ||
C036 | DEC (IX+$00) | Decrease *IX+00 by one. | ||
C039 | JR $C057 | Jump to C057. | ||
C03B | ADD A,(IX+$08) | A+=*IX+08. | ||
C03E | BIT 3,A | Jump to C04F if bit 3 of A is set. | ||
C040 | JR NZ,$C04F | |||
C042 | LD (IX+$07),A | Write A to *IX+07. | ||
C045 | LD A,(IX+$00) | A=*IX+00. | ||
C048 | CP (IX+$0B) | Return if A is higher than *IX+0B. | ||
C04B | RET NC | |||
C04C | JP $C112 | Jump to C112. | ||
C04F | RES 3,A | Reset bit 3 of A. | ||
C051 | LD (IX+$07),A | Write A to *IX+07. | ||
C054 | INC (IX+$00) | Increment *IX+00 by one. | ||
This entry point is used by the routines at B3BE and B591.
|
||||
C057 | LD A,(IX+$00) | A=*IX+00. | ||
C05A | CP (IX+$0B) | Return if A is higher than *IX+0B. | ||
C05D | RET NC | |||
C05E | CP $14 | Jump to C0A9 if A is higher than 14. | ||
C060 | JR NC,$C0A9 | |||
C062 | CP (IX+$0C) | Jump to C06F if A is lower than *IX+0C. | ||
C065 | JR C,$C06F | |||
C067 | LD A,(IX+$0C) | A=*IX+0C. | ||
C06A | LD (IX+$03),A | Write A to *IX+03. | ||
C06D | JR $C073 | Jump to C073. | ||
C06F | INC A | Increment A by one. | ||
C070 | LD (IX+$03),A | Write A to *IX+03. | ||
C073 | LD A,(IX+$05) | A=*IX+05. | ||
C076 | AND %00011111 | Keep only bits 0-4. | ||
C078 | LD C,A | C=A. | ||
C079 | LD A,(IX+$00) | A=*IX+00. | ||
C07C | NEG | NEG. | ||
C07E | ADD A,$15 | A+=15. | ||
C080 | LD E,A | E=A. | ||
C081 | RRCA | RRCA. | ||
C082 | RRCA | RRCA. | ||
C083 | RRCA | RRCA. | ||
C084 | LD B,A | B=A. | ||
C085 | AND %11100000 | Keep only bits 5-7. | ||
C087 | OR C | Set the bits from C. | ||
C088 | LD (IX+$05),A | Write A to *IX+05. | ||
C08B | LD (IX+$01),A | Write A to *IX+01. | ||
C08E | LD A,$03 | A=03. | ||
C090 | AND B | Merge the bits from B. | ||
C091 | OR %01011000 | Set bits 3-4, 6. | ||
C093 | LD D,A | D=A. | ||
C094 | SET 5,D | Set bit 5 of D. | ||
C096 | LD (IX+$06),A | Write A to *IX+06. | ||
C099 | LD A,$18 | A=18. | ||
C09B | AND E | Merge the bits from E. | ||
C09C | OR %01000000 | Set bits 6. | ||
C09E | LD (IX+$02),A | Write A to *IX+02. | ||
C0A1 | LD E,(IX+$05) | E=*IX+05. | ||
C0A4 | LD BC,$0000 | BC=0000. | ||
C0A7 | JR $C0D8 | Jump to C0D8. | ||
C0A9 | NEG | NEG. | ||
C0AB | ADD A,(IX+$0B) | A+=*IX+0B. | ||
C0AE | LD (IX+$03),A | Write A to *IX+03. | ||
C0B1 | SUB (IX+$0C) | A-=*IX+0C. | ||
C0B4 | NEG | NEG. | ||
C0B6 | BIT 0,(IX+$04) | Jump to C0BD if bit 0 of *IX+04 is set. | ||
C0BA | JR NZ,$C0BD | |||
C0BC | RLCA | RLCA. | ||
C0BD | LD C,A | C=A. | ||
C0BE | LD B,$00 | B=00. | ||
C0C0 | LD A,(IX+$05) | A=*IX+05. | ||
C0C3 | AND %00011111 | Keep only bits 0-4. | ||
C0C5 | OR %01000000 | Set bits 6. | ||
C0C7 | LD E,A | E=A. | ||
C0C8 | LD (IX+$05),A | Write A to *IX+05. | ||
C0CB | LD (IX+$01),A | Write A to *IX+01. | ||
C0CE | LD D,$78 | D=78. | ||
C0D0 | LD (IX+$06),$58 | Write 06 to *IX+06. | ||
C0D4 | LD (IX+$02),$40 | Write 02 to *IX+02. | ||
C0D8 | LD L,(IX+$09) | L=*IX+09. | ||
C0DB | LD H,(IX+$0A) | H=*IX+0A. | ||
C0DE | LD A,C | A=C. | ||
C0DF | PUSH AF | Stash AF and HL on the stack. | ||
C0E0 | PUSH HL | |||
C0E1 | ADD HL,BC | HL+=BC. | ||
C0E2 | LD C,(IX+$0C) | C=*IX+0C. | ||
C0E5 | BIT 0,(IX+$04) | Jump to C0ED if bit 0 of *IX+04 is set. | ||
C0E9 | JR NZ,$C0ED | |||
C0EB | SLA C | Shift C left (with carry). | ||
C0ED | SLA C | Shift C left (with carry). | ||
C0EF | ADD HL,BC | HL+=BC. | ||
C0F0 | LD B,(IX+$03) | B=*IX+03. | ||
C0F3 | LD C,(IX+$04) | C=*IX+04. | ||
C0F6 | PUSH BC | Stash BC and DE on the stack. | ||
C0F7 | PUSH DE | |||
C0F8 | CALL $B1B2 | Call B1B2. | ||
C0FB | POP HL | Restore HL from the stack. | ||
C0FC | ADD HL,HL | HL+=HL. | ||
C0FD | LD A,$07 | A=07. | ||
C0FF | AND H | Merge the bits from H. | ||
C100 | OR %01110000 | Set bits 4-6. | ||
C102 | LD D,A | D=A. | ||
C103 | LD E,L | E=L. | ||
C104 | POP BC | Restore BC, HL and AF from the stack. | ||
C105 | POP HL | |||
C106 | POP AF | |||
C107 | RLCA | RLCA. | ||
C108 | ADD A,L | A+=L. | ||
C109 | LD L,A | L=A. | ||
C10A | JR NC,$C10D | Jump to C10D if {} is higher. | ||
C10C | INC H | Increment H by one. | ||
C10D | SLA C | Shift C left (with carry). | ||
C10F | CALL PlayareaCopier | Call PlayareaCopier. | ||
C112 | CALL $C13E | Call C13E. | ||
C115 | LD B,(IX+$03) | B=*IX+03. | ||
C118 | LD A,(IX+$07) | A=*IX+07. | ||
C11B | AND %00000111 | Keep only bits 0-2. | ||
C11D | LD C,A | C=A. | ||
C11E | LD DE,$003D | DE=003D. | ||
C121 | LD A,(HL) | A=*HL. | ||
C122 | AND %11111000 | Keep only bits 3-7. | ||
C124 | OR C | Set the bits from C. | ||
C125 | LD (HL),A | Write A to *HL. | ||
C126 | INC L | Increment L by one. | ||
C127 | SET 7,(HL) | Set bit 7 of *HL. | ||
C129 | INC L | Increment L by two. | ||
C12A | INC L | |||
C12B | BIT 0,(IX+$04) | Jump to C13A if bit 0 of *IX+04 is set. | ||
C12F | JR NZ,$C13A | |||
C131 | DEC L | Decrease L by one. | ||
C132 | LD A,(HL) | A=*HL. | ||
C133 | AND %11111000 | Keep only bits 3-7. | ||
C135 | OR C | Set the bits from C. | ||
C136 | LD (HL),A | Write A to *HL. | ||
C137 | INC L | Increment L by one. | ||
C138 | SET 7,(HL) | Set bit 7 of *HL. | ||
C13A | ADD HL,DE | HL+=DE. | ||
C13B | DJNZ $C121 | Decrease counter by one and loop back to C121 until counter is zero. | ||
C13D | RET | Return. |
Prev: BFEC | Up: Map | Next: C13E |