Prev: 29032 Up: Map Next: 29150
29089: Room drawing: Draw picture in frame (1) and replace picture with alternative
This routine draws the picture in a frame at 59548 and replaces the picture with the alternative at 60108.
Used by the routine at 27865.
29089 CALL 29441 Read two bytes AFTER HL position into BC, advancing HL before both reads
29092 PUSH HL Store HL
29093 PUSH BC Store BC
29094 LD A,7 Store 7 (white INK, black PAPER) at 23695...
29096 LD (23695),A ...
29099 LD A,64 Set current terrain interaction parameter to preserve-attribute...
29101 LD (23483),A ...
29104 LD A,59 Draw picture in frame (1) [graphic data at 59548]...
29106 CALL 29960 ...
29109 POP BC Restore BC
29110 PUSH BC Store BC
29111 INC B Increase y-coordinate by 2...
29112 INC B ...
29113 INC C Increase x-coordinate by 1
29114 LD A,4 Store 4 (green INK, black PAPER) at 23695...
29116 LD (23695),A ...
29119 LD A,61 Draw landscape 1 from picture [graphic data at 60108]...
29121 CALL 29960 ...
29124 POP BC Restore BC
29125 CALL 36569 Update virtual attribute cursor storage location to position (C, B) and point HL to corresponding attribute file address
29128 PUSH HL Transfer memory address of attribute cursor...
29129 POP IX ...into IX
The sun in the picture is 34 bytes, or 1 character down and 2 characters right from top-left corner of picture.
29131 LD (IX+34),70 Set attribute of sun in picture to 70 (yellow INK, black PAPER, BRIGHT)
29135 LD A,69 Set attribute to 69 (cyan INK, black PAPER, BRIGHT) for...
29137 LD (IX+97),A ...sea / ocean in picture (3 characters, 3 × 1)...
29140 LD (IX+98),A ...
29143 LD (IX+99),A ...
29146 POP HL Restore HL
29147 JP 28060 Return to room drawing routine and process next data
Prev: 29032 Up: Map Next: 29150