Prev: C392 Up: Map Next: C422
C3EF: Draw Strips Left To Right
Used by the routine at DrawCell.
Draws a list of sixteen tiles for the bottom edges of a cell, going down and to the right for the first eight and up and to the right for the second eight. The second eight are drawn flipped.
Input
A The number of the list in the table at TileListPointers
Find the address of the list.
DrawStripsLeftToRight C3EF LD BC,$626C Point BC at TileListPointers.
C3F2 CALL GetTableEntry Call GetTableEntry.
C3F5 PUSH HL Copy the list address to IY (using the stack).
C3F6 POP IY
Draw tiles as they are.
C3F8 XOR A Write 00 to *FlipFlag.
C3F9 LD ($A252),A
C3FC LD BC,$0800 Set a count of eight tiles, without swapping any.
Draw eight tiles going down and to the right.
DrawStripsLeftToRight_Down C3FF CALL DrawStrip Call DrawStrip.
C402 CALL StepDownRight Call StepDownRight.
C405 DJNZ DrawStripsLeftToRight_Down Jump to DrawStripsLeftToRight_Down if there are any left.
Move up by eight pixels to start the second run.
C407 LD HL,($A250) Move ScreenVerticalPosition up by eight pixels.
C40A LD DE,$0008
C40D ADD HL,DE
C40E LD ($A250),HL
Draw the rest of the tiles flipped.
C411 LD A,$01 Write 01 to *FlipFlag.
C413 LD ($A252),A
C416 LD BC,$0800 Set a count of eight tiles, without swapping any.
Draw eight tiles going up and to the right.
DrawStripsLeftToRight_Up C419 CALL DrawStrip Call DrawStrip.
C41C CALL StepUpRight Call StepUpRight.
C41F DJNZ DrawStripsLeftToRight_Up Jump to DrawStripsLeftToRight_Up if there are any left.
C421 RET Return.
View the equivalent code in;
Prev: C392 Up: Map Next: C422