Prev: 28882 Up: Map Next: 29032
28960: Room drawing: Draw picture in frame (2) and replace picture with alternative
This routine draws the picture in a frame at 59748 and replaces the picture with the alternative at 60156.
Used by the routine at 27865.
28960 CALL 29441 Read two bytes AFTER HL position into BC, advancing HL before both reads
28963 PUSH HL Store HL
28964 PUSH BC Store BC
28965 LD A,6 Store 6 (yellow INK, black PAPER) at 23695...
28967 LD (23695),A ...
28970 LD A,64 Set current terrain interaction parameter to preserve-attribute...
28972 LD (23483),A ...
28975 LD A,60 Draw picture in frame (2) [graphic data at 59748]...
28977 CALL 29960 ...
28980 POP BC Restore BC
28981 PUSH BC Store BC
28982 INC B Increase y-coordinate by one
28983 INC C Increase x-coordinate by one
28984 LD A,4 Store 4 (green INK, black PAPER) at 23695...
28986 LD (23695),A ...
28989 LD A,62 Draw landscape from picture (2) [graphic data at 60156]...
28991 CALL 29960 ...
28994 POP BC Restore BC
28995 CALL 36569 Update virtual attribute cursor storage location to position (C, B) and point HL to corresponding attribute file address
28998 PUSH HL Transfer memory address of attribute cursor...
28999 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.
29001 LD (IX+34),70 Set attribute of sun in picture to 70 (yellow INK, black PAPER, BRIGHT)
29005 LD A,69 Set attribute to 69 (cyan INK, black PAPER, BRIGHT) for...
29007 LD (IX+97),A ...sea / ocean in picture (7 characters, 7 × 1)...
29010 LD (IX+98),A ...
29013 LD (IX+99),A ...
29016 LD (IX+100),A ...
29019 LD (IX+101),A ...
29022 LD (IX+102),A ...
29025 LD (IX+103),A ...
29028 POP HL Restore HL
29029 JP 28060 Return to room drawing routine and process next data
Prev: 28882 Up: Map Next: 29032