![]() |
Routines |
| Prev: D0BD | Up: Map | Next: D135 |
|
Used by the routines at RUN_CLOCK, PRINT_TEXT_SINGLE_COLOUR, PRINT_TEXT, SHOW_CARRIED, BLIT_2X8, RENDER_DYNAMIC_OBJECTS and CALC_PIXEL_XY_AND_RENDER.
The buffer is plain rows of 32 bytes, the bottom line first, so the address is y * 32 + x / 8 from its start: BC shifted right three times. HL is kept. As Knight Lore's calc_vidbuf_addr.
|
||||||||||||||
| CALC_VIDBUF_ADDR | D120 | PUSH HL | ||||||||||||
| D121 | SRL B | BC / 8 = y * 32 + x / 8 | ||||||||||||
| D123 | RR C | |||||||||||||
| D125 | SRL B | |||||||||||||
| D127 | RR C | |||||||||||||
| D129 | SRL B | |||||||||||||
| D12B | RR C | |||||||||||||
| D12D | LD HL,BUFFER | Plus the start of the buffer | ||||||||||||
| D130 | ADD HL,BC | |||||||||||||
| D131 | LD C,L | |||||||||||||
| D132 | LD B,H | |||||||||||||
| D133 | POP HL | |||||||||||||
| D134 | RET | |||||||||||||
| Prev: D0BD | Up: Map | Next: D135 |