Routines |
Prev: 692B | Up: Map | Next: 6992 |
692C | LD B,A | B=A. | ||
692D | LD A,C | A=C. | ||
692E | EXX | Switch to the shadow registers. | ||
692F | LD HL,($781C) | HL'=*781C. | ||
6932 | LD C,A | C'=A. | ||
6933 | LD A,($781B) | A=*781B. | ||
6936 | LD B,A | B'=A. | ||
6937 | EXX | Switch back to the normal registers. | ||
6938 | LD A,B | A=B. | ||
6939 | ADD A,A | A+=A. | ||
693A | LD L,A | L=A. | ||
693B | ADC A,$BE | A+=BE (including carry). | ||
693D | SUB L | A-=L. | ||
693E | LD H,A | H=A. | ||
693F | LD A,B | A=B. | ||
6940 | LD C,(HL) | C=*HL. | ||
6941 | INC L | Increment L by one. | ||
6942 | LD B,(HL) | B=*HL. | ||
6943 | BIT 5,A | Test bit 5 of A. | ||
6945 | JP NZ,$6DA8 | Jump to 6DA8 if {} is not zero. | ||
6948 | LD A,(BC) | A=*BC. | ||
6949 | INC BC | Increment BC by one. | ||
694A | ADD A,E | A+=E. | ||
694B | LD E,A | E=A. | ||
694C | LD A,(BC) | A=*BC. | ||
694D | INC BC | Increment BC by one. | ||
694E | ADD A,D | A+=D. | ||
694F | LD D,A | D=A. | ||
6950 | CP $10 | Jump to 6959 if A is higher than 10. | ||
6952 | JR NC,$6959 | |||
6954 | LD A,E | Jump to 696E if E is lower than 20. | ||
6955 | CP $20 | |||
6957 | JR C,$696E | |||
6959 | LD HL,$0008 | BC+=0008. | ||
695C | ADD HL,BC | |||
695D | LD B,H | |||
695E | LD C,L | |||
695F | LD A,(BC) | A=*BC. | ||
Check for the terminator (FF+01 will set the Z flag).
|
||||
6960 | INC A | Increment A by one. | ||
6961 | LD A,$01 | A=01. | ||
6963 | JR NZ,$694E | Jump to 694E if A was not zero (on line 6960). | ||
We reached the terminator.
|
||||
6965 | INC BC | Increment BC by one. | ||
6966 | LD A,(BC) | Jump to 6949 if *BC is not equal to 80. | ||
6967 | CP $80 | |||
6969 | JR NZ,$6949 | |||
696B | JP $68EC | Jump to 68EC. | ||
696E | LD A,D | A=D. | ||
696F | ADD A,$40 | A+=40. | ||
6971 | AND %01001000 | Keep only bits 3 and 6. | ||
6973 | LD H,A | H=A. | ||
6974 | LD A,D | A=D. | ||
6975 | RRCA | Rotate A right three positions (bits 0 to 2 are now in positions 5 to 7). | ||
6976 | RRCA | |||
6977 | RRCA | |||
6978 | AND %11100000 | Keep only bits 5-7. | ||
697A | ADD A,E | A+=E. | ||
697B | LD L,A | L=A. | ||
697C | CALL DrawSprite | Call DrawSprite. | ||
697F | INC H | Increment H by one. | ||
6980 | CALL DrawSprite | Call DrawSprite. | ||
6983 | CALL ScreenBufferToAttributeBuffer | Call ScreenBufferToAttributeBuffer. | ||
6986 | JR $695F | Jump to 695F. | ||
6988 | LD ($7825),A | Write A to *7825. | ||
698B | EXX | Switch to the shadow registers. | ||
698C | LD (HL),A | Write A to *HL. | ||
698D | LD H,B | H=B. | ||
698E | LD L,C | L=C. | ||
698F | JP ColouriseSprite | Jump to ColouriseSprite. |
Prev: 692B | Up: Map | Next: 6992 |