Prev: 63134 Up: Map Next: 63203
63162: Draw a UDG, with index A, from 2 × 2 blocks' UDG data at location of bitmap virtual text cursor
Used by the routine at 41271.
Input
A Block UDG index (in graphic data starting at 28504)
63162 PUSH HL Store HL
63163 LD DE,28504 Load DE with start address of UDG data for 2 × 2 blocks
63166 ADD A,A Load HL with eight times UDG index...
63167 LD H,0 ...
63169 LD L,A ...
63170 ADD HL,HL ...
63171 ADD HL,HL ...
63172 ADD HL,DE Add start address of UDG data for 2 × 2 blocks to HL as offset in HL
63173 EX DE,HL Swap DE (now address of graphic data for required UDG) and HL (now start address of UDG data for 2 × 2 blocks)
63174 LD HL,(63018) Load HL with (display file address of) bitmap virtual text cursor
63177 LD B,8 Print UDG data at address in DE to display file address in HL...
63179 LD A,(DE) ...
63180 LD (HL),A ...
63181 INC DE ...
63182 INC H ...
63183 DJNZ 63179 ...
63185 LD HL,(63018) Load HL with (display file address of) bitmap virtual text cursor
63188 LD A,H Load H into A...
63189 AND 31 ...and cap at 31, to give screen third of interest (H=0-7, top third; H=8-15, middle third; H=16-23, bottom third)
63191 RRCA Divide by eight to get character row within the third...
63192 RRCA ...
63193 RRCA ...
63194 ADD A,88 Add 22,528 to HL to move into attribute section of video memory
63196 LD H,A L still contains offset of x characters, so points to start of attributes for area where room name was just printed
63197 LD A,(23695) Load A with attribute stored at 23695...
63200 LD (HL),A ...and apply this to the attribute file address in HL
63201 POP HL Restore HL
63202 RET Return
Prev: 63134 Up: Map Next: 63203