Routines |
Prev: 34990 | Up: Map | Next: 35285 |
Used by the routine at 34990.
|
||||
35123 | LD (23695),A | Store border attribute at 23695 | ||
35126 | LD A,(23493) | Load A with x-coordinate of left of window | ||
35129 | LD C,A | Copy into C | ||
35130 | LD A,(23495) | Load A with x-coordinate of right of window | ||
35133 | SUB C | Get distance between left and right coordinates | ||
35134 | DEC A | Subtract 1 to get width of window top-edge (not including corner pieces) | ||
35135 | LD C,A | Transfer this to BC... | ||
35136 | LD B,0 | ... | ||
35138 | PUSH BC | Store BC (width of top edge of window, not including corner pieces) | ||
35139 | LD BC,(23493) | Load B with y-coordinate of top edge and C with x-coordinate of left edge | ||
35143 | INC C | Increase C by one to skip over corner piece | ||
35144 | CALL 54132 | Move virtual cursor (bitmap) to display file address for coordinates x=C, y=B and load address into HL | ||
35147 | POP HL | Restore HL (width of top edge of window, not including corner pieces) | ||
35148 | PUSH HL | Store HL (width of top edge of window, not including corner pieces) | ||
35149 | HALT | Wait for interrupt | ||
35150 | CALL 35285 | Draw upper window frame edge then increment the border character index in routine at 54231 | ||
35153 | LD A,(23493) | Load C with x-coordinate of left of window... | ||
35156 | LD C,A | ... | ||
35157 | LD A,(23496) | Load B with y-coordinate of bottom of window... | ||
35160 | LD B,A | ... | ||
35161 | INC C | Increase C by one to skip over corner piece | ||
35162 | CALL 54132 | Move virtual cursor (bitmap) to display file address for coordinates x=C, y=B and load address into HL | ||
35165 | POP HL | Restore HL (width of bottom edge of window)... | ||
35166 | CALL 35285 | Draw lower window frame edge then increment the border character index in routine at 54231 | ||
35169 | LD A,(23494) | Load y-coordinate of top of window into B... | ||
35172 | LD B,A | ... | ||
35173 | LD A,(23496) | Load y-coordinate of bottom of window into A | ||
35176 | SUB B | Subtract B... | ||
35177 | DEC A | ...and decrease by one to get length of left-edge (not including corner pieces) | ||
35178 | PUSH AF | Store AF (A = remaining length of left / right edges) | ||
35179 | LD BC,(23493) | Load B with y-coordinate of top edge and C with x-coordinate of left edge | ||
35183 | ADD A,B | Add A and B to get y-coordinate of character to draw in left edge... | ||
35184 | LD B,A | ...and load into B | ||
35185 | CALL 54132 | Move virtual cursor (bitmap) to display file address for coordinates x=C, y=B and load address into HL | ||
35188 | LD A,(54235) | Load A with index of character (left edge) to draw | ||
35191 | CALL 54097 | Print text/graphic character in A and advance bitmap virtual text cursor | ||
35194 | LD HL,(54110) | Load HL with address of bitmap virtual text cursor | ||
35197 | LD A,L | Load A with LSB of display file address (virtual attribute cursor location) | ||
35198 | AND 224 | Decrease to nearest multiple of 32 (i.e. start of character row)... | ||
35200 | LD L,A | ...and place back in L | ||
35201 | LD A,(23495) | Load A with x-coordinate of right edge of window (characters) | ||
35204 | OR L | Add this x-coordinate to value in HL... | ||
35205 | LD L,A | ... | ||
35206 | LD (54110),HL | ...and update address of bitmap virtual text cursor | ||
35209 | LD A,(54235) | Load A with index of character (left edge) to draw... | ||
35212 | INC A | ...and increment index to get index of right-edge character | ||
35213 | CALL 54097 | Print text/graphic character in A and advance bitmap virtual text cursor | ||
35216 | POP AF | Restore AF (A = remaining length of left / right edges) | ||
35217 | DEC A | Decrease remaining length | ||
35218 | JP NZ,35178 | If remaining length is not zero then loop back to 35178 | ||
35221 | LD A,(23495) | Load C with x-coordinate of right edge of window (characters)... | ||
35224 | LD C,A | ... | ||
35225 | LD A,(23494) | Load y-coordinate of top edge of window into B... | ||
35228 | LD B,A | ... | ||
35229 | CALL 54132 | Move virtual cursor (bitmap) to display file address for coordinates x=C, y=B and load address into HL | ||
35232 | LD A,(54235) | Load A with index of character (left-edge) to draw... | ||
35235 | INC A | ...and increment (to get right-edge character) | ||
35236 | CALL 35291 | Increment index again (to get top-right corner character) and store at 54235 | ||
35239 | CALL 54097 | Print text/graphic character in A and advance bitmap virtual text cursor | ||
35242 | LD BC,(23495) | Load B with y-coordinate of window's bottom edge and C with x-coordinate of window's right-edge | ||
35246 | CALL 54132 | Move virtual cursor (bitmap) to display file address for coordinates x=C, y=B and load address into HL | ||
35249 | CALL 35288 | Increment index of window frame character currently in use to get bottom-right corner character | ||
35252 | CALL 54097 | Print text/graphic character in A and advance bitmap virtual text cursor | ||
35255 | LD A,(23493) | Load C with x-coordinate of left edge of current window to draw (characters)... | ||
35258 | LD C,A | ... | ||
35259 | LD A,(23496) | Load B with y-coordinate of window's bottom edge... | ||
35262 | LD B,A | ... | ||
35263 | CALL 54132 | Move virtual cursor (bitmap) to display file address for coordinates x=C, y=B and load address into HL | ||
35266 | CALL 35288 | Increment index of window frame character currently in use to get bottom-left corner character | ||
35269 | CALL 54097 | Print text/graphic character in A and advance bitmap virtual text cursor | ||
35272 | LD BC,(23493) | Load B with y-coordinate of top-edge of window and C with x-coordinate of left-edge of window | ||
35276 | CALL 54132 | Move virtual cursor (bitmap) to display file address for coordinates x=C, y=B and load address into HL | ||
35279 | CALL 35288 | Increment index of window frame character currently in use to get top-left corner character | ||
35282 | JP 54097 | Print text/graphic character in A and advance bitmap virtual text cursor and return |
Prev: 34990 | Up: Map | Next: 35285 |