![]() |
Routines |
Prev: 6D96 | Up: Map | Next: 6E10 |
Used by the routine at DrawSpriteObject.
|
||||
DrawLargeSprite | 6DA8 | LD A,(BC) | A=*BC. | |
DrawLargeSprite_0 | 6DA9 | INC BC | Increment BC by one. | |
6DAA | ADD A,E | A+=E. | ||
6DAB | LD E,A | E=A. | ||
6DAC | LD A,(BC) | A=*BC. | ||
6DAD | INC BC | Increment BC by one. | ||
6DAE | ADD A,D | A+=D. | ||
6DAF | DEC A | Decrease A by one. | ||
6DB0 | LD D,A | D=A. | ||
DrawLargeSprite_1 | 6DB1 | CP $10 | Compare A with 10. | |
6DB3 | JR NC,DrawLargeSprite_2 | Jump to DrawLargeSprite_2 if A is greater than or equal to 10. | ||
6DB5 | LD A,E | Jump to DrawLargeSprite_5 if E is less than 20. | ||
6DB6 | CP $20 | |||
6DB8 | JR C,DrawLargeSprite_5 | |||
DrawLargeSprite_2 | 6DBA | LD HL,$0008 | HL=0008+BC. | |
6DBD | ADD HL,BC | |||
6DBE | LD B,H | B=H. | ||
6DBF | LD C,L | C=L. | ||
6DC0 | INC D | Increment D by one. | ||
DrawLargeSprite_3 | 6DC1 | LD A,(BC) | A=*BC. | |
6DC2 | INC A | Increment A by one. | ||
6DC3 | LD A,D | Jump to DrawLargeSprite_1 if D is not equal to 20. | ||
6DC4 | JR NZ,DrawLargeSprite_1 | |||
DrawLargeSprite_4 | 6DC6 | INC BC | Increment BC by one. | |
6DC7 | LD A,(BC) | Jump to DrawLargeSprite_0 if *BC is not equal to 80. | ||
6DC8 | CP $80 | |||
6DCA | JR NZ,DrawLargeSprite_0 | |||
6DCC | JP CompleteSpriteSequence | Jump to CompleteSpriteSequence. | ||
DrawLargeSprite_5 | 6DCF | LD A,D | A=D. | |
6DD0 | ADD A,$40 | A+=40. | ||
6DD2 | AND %01001000 | Keep only bits 3, 6. | ||
6DD4 | LD H,A | H=A. | ||
6DD5 | LD A,D | A=D. | ||
6DD6 | RRCA | RRCA. | ||
6DD7 | RRCA | RRCA. | ||
6DD8 | RRCA | RRCA. | ||
6DD9 | AND %11100000 | Keep only bits 5-7. | ||
6DDB | ADD A,E | A+=E. | ||
6DDC | LD L,A | L=A. | ||
6DDD | CALL $6D96 | Call 6D96. | ||
6DE0 | INC H | Increment H by one. | ||
DrawLargeSprite_6 | 6DE1 | CALL DrawSprite | Call DrawSprite. | |
6DE4 | CALL ScreenBufferToAttributeBuffer | Call ScreenBufferToAttributeBuffer. | ||
6DE7 | INC D | Increment D by one. | ||
6DE8 | LD A,D | Jump to DrawLargeSprite_7 if D is less than 10. | ||
6DE9 | CP $10 | |||
6DEB | JR C,DrawLargeSprite_7 | |||
6DED | INC BC | Increment BC by four. | ||
6DEE | INC BC | |||
6DEF | INC BC | |||
6DF0 | INC BC | |||
6DF1 | JR DrawLargeSprite_3 | Jump to DrawLargeSprite_3. | ||
DrawLargeSprite_7 | 6DF3 | ADD A,$40 | A+=40. | |
6DF5 | AND %01001000 | Keep only bits 3, 6. | ||
6DF7 | LD H,A | H=A. | ||
6DF8 | LD A,D | A=D. | ||
6DF9 | RRCA | RRCA. | ||
6DFA | RRCA | RRCA. | ||
6DFB | RRCA | RRCA. | ||
6DFC | AND %11100000 | Keep only bits 5-7. | ||
6DFE | ADD A,E | A+=E. | ||
6DFF | LD L,A | L=A. | ||
6E00 | CALL DrawSprite | Call DrawSprite. | ||
6E03 | INC H | Increment H by one. | ||
6E04 | LD A,(BC) | A=*BC. | ||
6E05 | INC A | Increment A by one. | ||
6E06 | JR NZ,DrawLargeSprite_6 | Jump to DrawLargeSprite_6 if A is not zero. | ||
6E08 | CALL $6D96 | Call 6D96. | ||
6E0B | CALL ScreenBufferToAttributeBuffer | Call ScreenBufferToAttributeBuffer. | ||
6E0E | JR DrawLargeSprite_4 | Jump to DrawLargeSprite_4. |
Prev: 6D96 | Up: Map | Next: 6E10 |