| Routines

02595: THE 'CURSOR LEFT' SUBROUTINE

The address of this routine is derived from an offset found in the control character table.
Input
B | Current line number
C | 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 (bit 1 of FLAGS set) 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 25.
| 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.