Prev: 0A11 Up: Map Next: 0A3D
0A23: 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
Output
PO_BACK_1 0A23 INC C Move leftwards by one column.
0A24 LD A,$22 Accept the change unless up against the lefthand side.
0A26 CP C
0A27 JR NZ,PO_BACK_3
0A29 BIT 1,(IY+$01) If dealing with the printer (bit 1 of FLAGS set) jump forward.
0A2D JR NZ,PO_BACK_2
0A2F INC B Go up one line.
0A30 LD C,$02 Set column value.
0A32 LD A,$18 Test against top line. Note: this ought to be +19.
0A34 CP B
0A35 JR NZ,PO_BACK_3 Accept the change unless at the top of the screen.
0A37 DEC B Unacceptable so down a line.
PO_BACK_2 0A38 LD C,$21 Set to lefthand column.
PO_BACK_3 0A3A JP CL_SET Make an indirect return via CL_SET and PO_STORE.
Prev: 0A11 Up: Map Next: 0A3D