Prev: 28344 Up: Map Next: 28561
28510: Blank out bitmap and set attribute to stored value for 2-by-2 character block
Used by the routine at 28344.
28510 LD HL,(36488) Load HL with display file address to draw character
28513 LD DE,(36488) Load DE with display file address to draw character
28517 INC DE Advance DE by one byte
28518 XOR A Set A to zero
28519 LD B,8 Load loop counter with 8
28521 LD (HL),A Draw blank space to display file addresses HL...
28522 LD (DE),A ...and DE
28523 INC H Advance HL and DE down one pixel row (by adding 256 to display file address), drawing down from top...
28524 INC D ...
28525 DJNZ 28521 Repeat loop for remaining pixel rows
28527 LD A,L Add 32 to HL and DE to move them both down by eight pixel rows...
28528 ADD A,32 ...
28530 LD L,A ...
28531 INC A ...
28532 LD E,A ...
28533 XOR A Set A to zero
28534 LD B,8 Load loop counter with 8
28536 DEC H Advance HL and DE up one pixel row (by subtracting 256 from display file address), drawing up from bottom...
28537 DEC D ...
28538 LD (HL),A Draw blank space to display file addresses HL...
28539 LD (DE),A ...and DE
28540 DJNZ 28536 Repeat loop for remaining pixel rows
28542 CALL 36709 Store and point HL at attribute file address for character just printed
28545 LD A,(23695) Load A with attribute stored at 23695...
28548 LD (HL),A ...and set attribute of four character block just rendered to match this value...
28549 INC HL ...
28550 LD (HL),A ...
28551 LD BC,31 ...
28554 ADD HL,BC ...
28555 LD (HL),A ...
28556 INC HL ...
28557 LD (HL),A ...
28558 JP 28471 Move location to print and terrain interaction cursor down two character rows observing y-wrap, then return
Prev: 28344 Up: Map Next: 28561