Prev: 36475 Up: Map Next: 36551
36510: Draw a single character block part of a wall, ceiling or floor
Used by the routine at 28344.
Input
A Index of brickwork graphic to draw (from lookup table 54617)
36510 PUSH HL Store HL
36511 LD DE,64756 Point DE at start of brickwork (architecture) graphic data
36514 ADD A,A Double architecture style index
36515 LD H,0 Load brickwork graphic index into HL...
36517 LD L,A ...
36518 ADD HL,HL Multiply by 4 (to give 8 times original value)...
36519 ADD HL,HL ...
36520 ADD HL,DE Add to DE as offset
36521 EX DE,HL Switch DE and HL
At this point, HL points to start of brickwork graphic data and DE points graphic data for required brickwork block
36522 LD HL,(36488) Load memory location to start printing character into HL...
36525 LD B,8 Set loop repeat counter to 8
36527 LD A,(DE) Load a byte of graphic data into A...
36528 LD (HL),A ...and draw to display
36529 INC DE Advance to next data to read
36530 INC H Move HL down one pixel row
36531 DJNZ 36527 Repeat loop for next pixel row
36533 LD HL,(36488) Load bitmap memory location to start printing character into HL...
36536 LD A,H Advance HL to attribute memory location corresponding to this display file address...
36537 AND 31 ...
36539 RRCA ...
36540 RRCA ...
36541 RRCA ...
36542 ADD A,88 ...
36544 LD H,A ...
36545 LD A,(23695) Load value at 23695 into this memory location (i.e. apply attribute)...
36548 LD (HL),A ...
36549 POP HL Restore HL
36550 RET Return
Prev: 36475 Up: Map Next: 36551