![]() |
Routines |
| Prev: B038 | Up: Map | Next: B074 |
|
Used by the routine at end_of_frame.
Only on the first frame in a room, which build_screen_objects flags at $5BB7. Every other frame draws only what changed; this one paints the room's colour over the whole screen, redraws the panel, the carried objects, the sun or moon and the counters, and then copies the whole buffer to the display.
|
||||
| no_delay | B03F | LD A,($5BB7) | not a new room: on to the next frame | |
| B042 | AND A | |||
| B043 | JR Z,next_frame_or_die | |||
| B045 | XOR A | once only | ||
| B046 | LD ($5BB7),A | |||
| B049 | LD A,($5BAD) | the whole attribute file in the room's colour | ||
| B04C | CALL fill_attr | |||
| B04F | CALL display_objects | the three objects being carried | ||
| B052 | CALL colour_panel | the panel's colours and its artwork | ||
| B055 | CALL colour_sun_moon | |||
| B058 | CALL display_panel | |||
| B05B | LD IX,sun_moon_scratchpad | the sun or moon in its frame | ||
| B05F | CALL display_sun_moon_frame | |||
| B062 | CALL display_day | the day, the days, the lives icon and the lives | ||
| B065 | CALL print_days | |||
| B068 | CALL print_lives_gfx | |||
| B06B | CALL print_lives | |||
| B06E | CALL update_screen | the whole buffer to the display | ||
| B071 | CALL reset_objs_wipe_flag | nothing drawn so far needs wiping | ||
| Prev: B038 | Up: Map | Next: B074 |