Spectrum ROM | Routines |
Prev: 02577 | Up: Map |
The address of this routine is derived from an offset found in the control character table.
The subroutine is entered with the B register holding the current line number and the C register with the current column number.
|
|||||||
PO_BACK_1 | 02595 | INC C | Move leftwards by one column. | ||||
02596 | LD A,34 | Accept the change unless up against the lefthand side. | |||||
02598 | CP C | ||||||
02599 | JR NZ,PO_BACK_3 | ||||||
02601 | BIT 1,(IY+1) | If dealing with the printer jump forward. | |||||
02605 | JR NZ,PO_BACK_2 | ||||||
02607 | INC B | Go up one line. | |||||
02608 | LD C,2 | Set column value. | |||||
02610 | LD A,24 | Test against top line. Note: this ought to be +19. | |||||
02612 | CP B | ||||||
02613 | JR NZ,PO_BACK_3 | Accept the change unless at the top of the screen. | |||||
02615 | DEC B | Unacceptable so down a line. | |||||
PO_BACK_2 | 02616 | LD C,33 | Set to lefthand column. | ||||
PO_BACK_3 | 02618 | JP CL_SET | Make an indirect return via CL_SET and PO_STORE. |
Prev: 02577 | Up: Map |