![]() |
Routines |
| Prev: C392 | Up: Map | Next: C422 |
|
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.
|
||||||||
|
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 |