Prev: C8EF Up: Map Next: C989
C929: Routine at C929
Used by the routines at B191, B77F and C4D1.
C929 CALL $C8EF Call C8EF.
C92C LD A,($A034) Jump to C972 if *RoomDisplayParameter is greater than or equal to FE.
C92F CP $FE
C931 JR NC,$C972
C933 LD IX,($A017) IX=*A017.
C937 BIT 6,(IX+$05) Jump to C94D if bit 6 of *IX+05 is not set.
C93B JR Z,$C94D
C93D XOR A A=00.
C93E CALL $D1DC Call D1DC.
C941 JR NC,$C94D Jump to C94D if A is greater than or equal to FE.
C943 LD A,($A033) A=*A033.
C946 CALL SearchTwoByteTable Call SearchTwoByteTable.
C949 CP $FF Jump to C960 if A is not equal to FF.
C94B JR NZ,$C960
C94D LD A,($A00F) Jump to C972 if *A00F is less than 07.
C950 CP $07
C952 JR C,$C972
C954 LD IX,($A013) IX=*A013.
C958 LD A,($A033) A=*A033.
C95B CALL $D1DC Call D1DC.
C95E JR NC,$C972 Jump to C972 if A is greater than or equal to 07.
C960 LD A,(IX+$01) A=*IX+01.
C963 LD E,A E=A.
C964 LD D,$00 D=00.
C966 LD HL,$AA71 HL=AA71.
C969 DEC DE Decrease DE by one.
C96A ADD HL,DE HL+=DE.
C96B ADD HL,DE HL+=DE.
C96C LD E,(HL) E=*HL.
C96D INC HL Increment HL by one.
C96E LD D,(HL) D=*HL.
C96F EX DE,HL Exchange the DE and HL registers.
C970 JR $C996 Jump to C996.
C972 LD A,($A033) A=*A033.
C975 LD IX,$9F38 IX=9F38.
C979 CALL SearchThreeByteTable Call SearchThreeByteTable.
C97C CP $FF Jump to DC15 if A is equal to FF.
C97E JP Z,$DC15
C981 LD L,(IX+$01) L=*IX+01.
C984 LD H,(IX+$02) H=*IX+02.
C987 JR $C996 Jump to C996.
Prev: C8EF Up: Map Next: C989