![]() |
Routines |
| Prev: 36987 | Up: Map | Next: 37333 |
|
Used by the routine at 36987.
|
||||||||||
| 37147 | LD (23695),A | Store border attribute at 23695 | ||||||||
| 37150 | LD A,(23493) | Load A with x-coordinate of left of window | ||||||||
| 37153 | LD C,A | Copy into C | ||||||||
| 37154 | LD A,(23495) | Load A with x-coordinate of right of window | ||||||||
| 37157 | SUB C | Get distance between left and right coordinates | ||||||||
| 37158 | DEC A | Subtract 1 to get width of window top-edge (not including corner pieces) | ||||||||
| 37159 | LD C,A | Transfer this to BC... | ||||||||
| 37160 | LD B,0 | ... | ||||||||
| 37162 | PUSH BC | Store BC on stack | ||||||||
| 37163 | LD BC,(23493) | Load B with y-coordinate of top edge and C with x-coordinate of left edge | ||||||||
| 37167 | INC C | Increase C by one to skip over corner piece | ||||||||
| 37168 | CALL 36551 | Set position of virtual cursor for drawing | ||||||||
| 37171 | POP HL | Put width of top edge piece into HL... | ||||||||
| 37172 | PUSH HL | ...but retain it on stack also | ||||||||
| 37173 | CALL 36908 | Draw the top edge of the window | ||||||||
| 37176 | LD A,(36912) | Get previously drawn window component character (i.e. top edge)... | ||||||||
| 37179 | INC A | ...and increase to obtain next one (i.e. bottom edge) | ||||||||
| 37180 | LD (36912),A | Place this new character into the drawing routine | ||||||||
| 37183 | LD A,(23493) | Load A with x-coordinate of left of window | ||||||||
| 37186 | LD C,A | Copy into C | ||||||||
| 37187 | LD A,(23496) | Load A with y-coordinate of bottom of window | ||||||||
| 37190 | LD B,A | Copy into B | ||||||||
| 37191 | INC C | Increase C by one to skip over corner piece | ||||||||
| 37192 | CALL 36551 | Set position of virtual cursor for drawing | ||||||||
| 37195 | POP HL | Put width of bottom edge into HL... | ||||||||
| 37196 | CALL 36908 | Draw the bottom edge of the window | ||||||||
| 37199 | LD A,(36912) | Get previously drawn window component character (i.e. bottom edge)... | ||||||||
| 37202 | INC A | ...and increase to obtain next one (i.e. left edge) | ||||||||
| 37203 | LD (36912),A | Place this new character into the drawing routine | ||||||||
| 37206 | LD A,(23494) | Load y-coordinate of top of window into A | ||||||||
| 37209 | LD B,A | Copy into B | ||||||||
| 37210 | LD A,(23496) | Load y-coordinate of bottom of window into A | ||||||||
| 37213 | SUB B | Subtract B... | ||||||||
| 37214 | DEC A | ...and decrease by one to get length of left-edge (not including corner pieces) | ||||||||
| 37215 | PUSH AF | Store AF (A contains length of left / right edges) | ||||||||
| 37216 | LD E,A | Store length in E | ||||||||
| 37217 | LD BC,(23493) | Load B with y-coordinate of top edge and C with x-coordinate of left edge | ||||||||
| 37221 | ADD A,B | Add to get starting point of left edge | ||||||||
| 37222 | LD B,A | Load into B | ||||||||
| 37223 | PUSH DE | Store DE | ||||||||
| 37224 | CALL 36551 | Set position of virtual cursor for drawing | ||||||||
| 37227 | LD A,(36912) | Get character to draw | ||||||||
| 37230 | CALL 36475 | Draw character | ||||||||
| 37233 | POP DE | Restore DE (length of edge in E) | ||||||||
| 37234 | LD A,(23495) | Load x-coordinate of right edge of window into A | ||||||||
| 37237 | LD C,A | Copy to C | ||||||||
| 37238 | LD A,(23494) | Load y-coordinate of top edge of window into A | ||||||||
| 37241 | ADD A,E | Add to E to give y-coordinate of bottom of edge | ||||||||
| 37242 | LD B,A | Copy to B | ||||||||
| 37243 | CALL 36551 | Set position of virtual cursor for drawing | ||||||||
| 37246 | LD A,(36912) | Get character previously drawn (left edge)... | ||||||||
| 37249 | INC A | ...and increase to give right edge | ||||||||
| 37250 | CALL 36475 | Draw character | ||||||||
| 37253 | POP AF | Restore AF (A contains length of left / right edges) | ||||||||
| 37254 | DEC A | Decrease A by one as we have drawn one character of both left and right edges | ||||||||
| 37255 | JP NZ,37215 | If there is still some left and right edge to be drawn, loop back | ||||||||
|
edges of window have been drawn
|
||||||||||
| 37258 | LD A,(23495) | Load x-coordinate of right edge into A | ||||||||
| 37261 | LD C,A | Copy to C | ||||||||
| 37262 | LD A,(23494) | Load y-coordinate of top edge into A | ||||||||
| 37265 | LD B,A | Copy to B | ||||||||
| 37266 | CALL 36551 | Set position of virtual cursor for drawing | ||||||||
| 37269 | LD A,(36912) | Get character previously STORED (left edge)... | ||||||||
| 37272 | INC A | ...and increase twice to get top-right corner piece... | ||||||||
| 37273 | INC A | ... | ||||||||
| 37274 | LD (36912),A | Update drawing routine with this character | ||||||||
| 37277 | CALL 36475 | Draw character | ||||||||
| 37280 | LD BC,(23495) | Load B with y-coordinate of bottom edge and C with x-coordinate of right edge | ||||||||
| 37284 | CALL 36551 | Set position of virtual cursor for drawing | ||||||||
| 37287 | LD A,(36912) | Get character previously stored (top-right corner)... | ||||||||
| 37290 | INC A | ...and increase to get bottom-right corner piece | ||||||||
| 37291 | LD (36912),A | Place this character back into drawing routine | ||||||||
| 37294 | CALL 36475 | Draw character | ||||||||
| 37297 | LD A,(23493) | Load x-coordinate of left edge into A | ||||||||
| 37300 | LD C,A | Copy into C | ||||||||
| 37301 | LD A,(23496) | Load y-coordinate of bottom edge into A | ||||||||
| 37304 | LD B,A | Copy into B | ||||||||
| 37305 | CALL 36551 | Set position of virtual cursor for drawing | ||||||||
| 37308 | LD A,(36912) | Get character previously stored (bottom-right corner)... | ||||||||
| 37311 | INC A | ...and increase to get bottom-left corner piece | ||||||||
| 37312 | LD (36912),A | Place this character back into drawing routine | ||||||||
| 37315 | CALL 36475 | Draw character | ||||||||
| 37318 | LD BC,(23493) | Load B with y-coordinate of top edge and C with x-coordinate of left edge | ||||||||
| 37322 | CALL 36551 | Set position of virtual cursor for drawing | ||||||||
| 37325 | LD A,(36912) | Get character previously stored (bottom-left corner)... | ||||||||
| 37328 | INC A | ...and increase to get top-left corner piece | ||||||||
| 37329 | CALL 36475 | Draw character | ||||||||
| 37332 | RET | Return | ||||||||
| Prev: 36987 | Up: Map | Next: 37333 |