![]() |
Routines |
| Prev: 53661 | Up: Map | Next: 53805 |
|
Used by the routine at DrawCell.
Draws a list of sixteen strips along the edge of a cell from left to right: eight strips going up and to the right, and then eight going down and to the right, which are mirrored.
|
||||||||
|
Find the address of the list.
|
||||||||
| DrawStripsLeftToRight | 53754 | LD BC,25252 | Point BC at StripListTable. | |||||
| 53757 | CALL GetTableEntry | Call GetTableEntry. | ||||||
| 53760 | PUSH HL | Copy the list address to IY (using the stack). | ||||||
| 53761 | POP IY | |||||||
|
Draw tiles as they are.
|
||||||||
| 53763 | XOR A | Write 0 to *MirrorFlag. | ||||||
| 53764 | LD (48114),A | |||||||
| 53767 | LD BC,2048 | Set a count of eight tiles, without swapping any. | ||||||
|
Draw eight tiles going up and to the right.
|
||||||||
| DrawStripsLeftToRight_Up | 53770 | CALL DrawStrip | Call DrawStrip. | |||||
| 53773 | CALL StepUpRightInList | Call StepUpRightInList. | ||||||
| 53776 | DJNZ DrawStripsLeftToRight_Up | Jump to DrawStripsLeftToRight_Up if there are any left. | ||||||
|
Move down by eight pixels to start the second run.
|
||||||||
| 53778 | LD HL,(48056) | Move the position of the strips down one step. | ||||||
| 53781 | LD DE,8 | |||||||
| 53784 | ADD HL,DE | |||||||
| 53785 | LD (48056),HL | |||||||
|
Draw the rest of the tiles flipped.
|
||||||||
| 53788 | LD A,1 | Write 1 to *MirrorFlag. | ||||||
| 53790 | LD (48114),A | |||||||
| 53793 | LD BC,2048 | Set a count of eight tiles, without swapping any. | ||||||
|
Draw eight tiles going down and to the right.
|
||||||||
| DrawStripsLeftToRight_Down | 53796 | CALL DrawStrip | Call DrawStrip. | |||||
| 53799 | CALL StepDownRightInList | Call StepDownRightInList. | ||||||
| 53802 | DJNZ DrawStripsLeftToRight_Down | Jump to DrawStripsLeftToRight_Down if there are any left. | ||||||
| 53804 | RET | Return. | ||||||
|
View the equivalent code in;
|
||||||||
| Prev: 53661 | Up: Map | Next: 53805 |