Prev: C13E Up: Map Next: C1EF
C14C: Routine at C14C
Used by the routine at BFEC.
C14C BIT 7,(IX+$07) Test bit 7 of *IX+07.
C150 LD HL,$C38C HL=C38C.
C153 JR NZ,$C15A Jump to C15A if bit 7 of *IX+07 is set.
C155 LD A,$20 A=20.
C157 LD C,(HL) C=*HL.
C158 JR $C15D Jump to C15D.
C15A LD A,(HL) A=*HL.
C15B LD C,$20 C=20.
C15D CP (IX+$00) Return if A is not equal to *IX+00.
C160 RET NZ
C161 LD (IX+$00),C Write C to *IX+00.
C164 PUSH IX Stash IX on the stack.
C166 CALL $C1CD Call C1CD.
C169 POP IX Restore IX from the stack.
C16B LD A,($C1E5) A=*C1E5.
C16E AND %00000011 Keep only bits 0-1.
C170 JR NZ,$C174 Jump to C174 if A is not zero.
C172 ADD A,$02 A+=02.
C174 LD (IX+$08),A Write A to *IX+08.
C177 RET Return.
This entry point is used by the routine at BFEC.
C178 LD HL,$C38C HL=C38C.
C17B LD A,(HL) A=*HL.
C17C SUB $20 A-=20.
C17E LD B,A B=A.
C17F LD A,(IX+$00) A=*IX+00.
C182 BIT 7,(IX+$07) Jump to C196 if bit 7 of *IX+07 is not set.
C186 JR Z,$C196
C188 SUB $06 A-=06.
C18A CP $20 Jump to C1A0 if A is lower than 20.
C18C JR C,$C1A0
C18E CP (HL) Compare A with *HL.
C18F JR Z,$C193 Jump to C193 if {} is zero.
C191 JR NC,$C1A0 Jump to C1A0 if {} is higher.
C193 SUB B A-=B.
C194 JR $C1A0 Jump to C1A0.
C196 ADD A,$06 A+=06.
C198 CP $20 Jump to C1A0 if A is lower than 20.
C19A JR C,$C1A0
C19C CP (HL) Jump to C1A0 if A is higher than *HL.
C19D JR NC,$C1A0
C19F ADD A,B A+=B.
C1A0 LD L,(IX+$01) L=*IX+01.
C1A3 PUSH IX Stash IX on the stack.
C1A5 LD IX,$C293 IX=C293.
C1A9 LD B,$04 B=04 (counter).
C1AB LD DE,$000D DE=000D.
C1AE CP (IX+$00) Jump to C1BA if A with *IX+00 is zero.
C1B1 JR Z,$C1BA
C1B3 ADD IX,DE IX+=DE.
C1B5 DJNZ $C1AE Decrease counter by one and loop back to C1AE until counter is zero.
C1B7 POP IX Restore IX from the stack.
C1B9 RET Return.
C1BA LD C,A C=A.
C1BB LD A,(IX+$01) A=*IX+01.
C1BE XOR L Reset the bits from L.
C1BF AND %00011111 Keep only bits 0-4.
C1C1 LD A,C A=C.
C1C2 JR NZ,$C1B3 Jump to C1B3 if {} is not zero.
C1C4 LD A,(IX+$08) A=*IX+08.
C1C7 POP IX Restore IX from the stack.
C1C9 LD (IX+$08),A Write A to *IX+08.
C1CC RET Return.
This entry point is used by the routines at B724, BF9F and CB9C.
C1CD LD IX,$C1E5 IX=C1E5.
C1D1 RR (IX+$01) Rotate *IX+01 right.
C1D5 BIT 4,(IX+$00) Jump to C1DC if bit 4 of *IX+00 is zero.
C1D9 JR Z,$C1DC
C1DB CCF Invert the carry flag.
C1DC RL (IX+$00) Rotate *IX+00 left.
C1E0 RL (IX+$01) Rotate *IX+01 left.
C1E4 RET Return.
C1E5 DEFB $01,$00
C1E7 DEFB $01,$00,$20,$00,$FF,$FF,$E0,$FF
Prev: C13E Up: Map Next: C1EF