Routines |
Prev: 47193 | Up: Map | Next: 47491 |
Used by the routine at 47193.
|
||||
47326 | LD (23695),A | Store border attribute at 23695 | ||
47329 | LD A,(23408) | Load A with x-coordinate of left of window | ||
47332 | LD C,A | Copy into C | ||
47333 | LD A,(23410) | Load A with x-coordinate of right of window | ||
47336 | SUB C | Get distance between left and right coordinates | ||
47337 | DEC A | Subtract 1 to get width of window top-edge (not including corner pieces) | ||
47338 | LD C,A | Transfer this to BC... | ||
47339 | LD B,0 | ... | ||
47341 | PUSH BC | Store BC (width of top edge of window, not including corner pieces) | ||
47342 | LD BC,(23408) | Load B with y-coordinate of top edge and C with x-coordinate of left edge | ||
47346 | INC C | Increase C by one to skip over corner piece | ||
47347 | CALL 63203 | Move virtual cursor (bitmap) to display file address for coordinates x=C, y=B and load address into HL | ||
47350 | POP HL | Restore HL (width of top edge of window, not including corner pieces) | ||
47351 | PUSH HL | Store HL (width of top edge of window, not including corner pieces) | ||
47352 | HALT | Wait for interrupt | ||
47353 | CALL 47491 | Draw upper window frame edge then increment the border character index in routine at 63302 | ||
47356 | LD A,(23408) | Load C with x-coordinate of left of window... | ||
47359 | LD C,A | ... | ||
47360 | LD A,(23411) | Load B with y-coordinate of bottom of window... | ||
47363 | LD B,A | ... | ||
47364 | INC C | Increase C by one to skip over corner piece | ||
47365 | CALL 63203 | Move virtual cursor (bitmap) to display file address for coordinates x=C, y=B and load address into HL | ||
47368 | POP HL | Restore HL (width of bottom edge of window)... | ||
47369 | CALL 47491 | Draw lower window frame edge then increment the border character index in routine at 63302 | ||
47372 | LD A,(23409) | Load y-coordinate of top of window into B... | ||
47375 | LD B,A | ... | ||
47376 | LD A,(23411) | Load y-coordinate of bottom of window into A | ||
47379 | SUB B | Subtract B... | ||
47380 | DEC A | ...and decrease by one to get length of left-edge (not including corner pieces) | ||
47381 | PUSH AF | Store AF (A = remaining length of left / right edges) | ||
47382 | LD BC,(23408) | Load B with y-coordinate of top edge and C with x-coordinate of left edge | ||
47386 | ADD A,B | Add A and B to get y-coordinate of character to draw in left edge... | ||
47387 | LD B,A | ...and load into B | ||
47388 | CALL 63203 | Move virtual cursor (bitmap) to display file address for coordinates x=C, y=B and load address into HL | ||
47391 | LD A,(63306) | Load A with index of character (left edge) to draw | ||
47394 | CALL 63005 | Print text/graphic character in A and advance bitmap virtual text cursor | ||
47397 | LD HL,(63018) | Load HL with address of bitmap virtual text cursor | ||
47400 | LD A,L | Load A with LSB of display file address (virtual attribute cursor location) | ||
47401 | AND 224 | Decrease to nearest multiple of 32 (i.e. start of character row)... | ||
47403 | LD L,A | ...and place back in L | ||
47404 | LD A,(23410) | Load A with x-coordinate of right edge of window (characters) | ||
47407 | OR L | Add this x-coordinate to value in HL... | ||
47408 | LD L,A | ... | ||
47409 | LD (63018),HL | ...and update address of bitmap virtual text cursor | ||
47412 | LD A,(63306) | Load A with index of character (left edge) to draw... | ||
47415 | INC A | ...and increment index to get index of right-edge character | ||
47416 | CALL 63005 | Print text/graphic character in A and advance bitmap virtual text cursor | ||
47419 | POP AF | Restore AF (A = remaining length of left / right edges) | ||
47420 | DEC A | Decrease remaining length | ||
47421 | JP NZ,47381 | If remaining length is not zero then loop back to 47381 | ||
47424 | LD A,(23410) | Load C with x-coordinate of right edge of window (characters)... | ||
47427 | LD C,A | ... | ||
47428 | LD A,(23409) | Load y-coordinate of top edge of window into B... | ||
47431 | LD B,A | ... | ||
47432 | CALL 63203 | Move virtual cursor (bitmap) to display file address for coordinates x=C, y=B and load address into HL | ||
47435 | LD A,(63306) | Load A with index of character (left-edge) to draw... | ||
47438 | INC A | ...and increment (to get right-edge character) | ||
47439 | CALL 47497 | Increment index again (to get top-right corner character) and store at 63306 | ||
47442 | CALL 63005 | Print text/graphic character in A and advance bitmap virtual text cursor | ||
47445 | LD BC,(23410) | Load B with y-coordinate of window's bottom edge and C with x-coordinate of window's right-edge | ||
47449 | CALL 63203 | Move virtual cursor (bitmap) to display file address for coordinates x=C, y=B and load address into HL | ||
47452 | CALL 47494 | Increment index of window frame character currently in use to get bottom-right corner character | ||
47455 | CALL 63005 | Print text/graphic character in A and advance bitmap virtual text cursor | ||
47458 | LD A,(23408) | Load C with x-coordinate of left edge of current window to draw (characters)... | ||
47461 | LD C,A | ... | ||
47462 | LD A,(23411) | Load B with y-coordinate of window's bottom edge... | ||
47465 | LD B,A | ... | ||
47466 | CALL 63203 | Move virtual cursor (bitmap) to display file address for coordinates x=C, y=B and load address into HL | ||
47469 | CALL 47494 | Increment index of window frame character currently in use to get bottom-left corner character | ||
47472 | CALL 63005 | Print text/graphic character in A and advance bitmap virtual text cursor | ||
47475 | LD BC,(23408) | Load B with y-coordinate of top-edge of window and C with x-coordinate of left-edge of window | ||
47479 | CALL 63203 | Move virtual cursor (bitmap) to display file address for coordinates x=C, y=B and load address into HL | ||
47482 | CALL 47494 | Increment index of window frame character currently in use to get top-left corner character | ||
47485 | CALL 63005 | Print text/graphic character in A and advance bitmap virtual text cursor | ||
47488 | JP 63472 | Update character printing routine to use base address of text character set graphics and return |
Prev: 47193 | Up: Map | Next: 47491 |