Routines |
Prev: 10A8 | Up: Map | Next: 1190 |
ED_COPY | 111D | CALL TEMPS | Use the permanent colours. | |
1120 | RES 3,(IY+$02) | Signal that the 'mode is to be considered unchanged' (reset bit 3 of TV-FLAG) and the 'lower screen does not need clearing' (reset bit 5). | ||
1124 | RES 5,(IY+$02) | |||
1128 | LD HL,($5C8A) | Save the current value of S-POSNL. | ||
112B | PUSH HL | |||
112C | LD HL,($5C3D) | Keep the current value of ERR-SP. | ||
112F | PUSH HL | |||
1130 | LD HL,$1167 | This is ED_FULL. | ||
1133 | PUSH HL | Push this address on to the machine stack to make ED_FULL the entry point following an error (see ERR-SP). | ||
1134 | LD ($5C3D),SP | |||
1138 | LD HL,($5C82) | Push the value of ECHO-E on to the stack. | ||
113B | PUSH HL | |||
113C | SCF | Make HL point to the start of the space and DE the end. | ||
113D | CALL SET_DE | |||
1140 | EX DE,HL | |||
1141 | CALL OUT_LINE2 | Now print the line. | ||
1144 | EX DE,HL | Exchange the pointers and print the cursor. | ||
1145 | CALL OUT_CURS | |||
1148 | LD HL,($5C8A) | Next fetch the current value of S-POSNL and exchange it with ECHO-E. | ||
114B | EX (SP),HL | |||
114C | EX DE,HL | Pass ECHO-E to DE. | ||
114D | CALL TEMPS | Again fetch the permanent colours. | ||
The remainder of any line that has been started is now completed with spaces printed with the 'permanent' PAPER colour.
|
||||
ED_BLANK | 1150 | LD A,($5C8B) | Fetch the current line number from S-POSNL and subtract the old line number. | |
1153 | SUB D | |||
1154 | JR C,ED_C_DONE | Jump forward if no 'blanking' of lines required. | ||
1156 | JR NZ,ED_SPACES | Jump forward if not on the same line. | ||
1158 | LD A,E | Fetch the old column number and subtract the new column number (at S-POSNL). | ||
1159 | SUB (IY+$50) | |||
115C | JR NC,ED_C_DONE | Jump if no spaces required. | ||
ED_SPACES | 115E | LD A," " | A 'space'. | |
1160 | PUSH DE | Save the old values. | ||
1161 | CALL PRINT_OUT | Print it. | ||
1164 | POP DE | Fetch the old values. | ||
1165 | JR ED_BLANK | Back again. | ||
New deal with any errors.
|
||||
ED_FULL | 1167 | LD D,$00 | Give out a 'rasp' (see RASP). | |
1169 | LD E,(IY-$02) | |||
116C | LD HL,$1A90 | |||
116F | CALL BEEPER | |||
1172 | LD (IY+$00),$FF | Cancel the error number (ERR-NR). | ||
1176 | LD DE,($5C8A) | Fetch the current value of S-POSNL and jump forward. | ||
117A | JR ED_C_END | |||
The normal exit upon completion of the copying over of the edit or the INPUT line.
|
||||
ED_C_DONE | 117C | POP DE | The new position value. | |
117D | POP HL | The 'error address'. | ||
But come here after an error.
|
||||
ED_C_END | 117E | POP HL | The old value of ERR-SP is restored. | |
117F | LD ($5C3D),HL | |||
1182 | POP BC | Fetch the old value of S-POSNL. | ||
1183 | PUSH DE | Save the new position values. | ||
1184 | CALL CL_SET | Set the system variables. | ||
1187 | POP HL | The old value of S-POSNL goes into ECHO-E. | ||
1188 | LD ($5C82),HL | |||
118B | LD (IY+$26),$00 | X-PTR is cleared in a suitable manner and the return made. | ||
118F | RET |
Prev: 10A8 | Up: Map | Next: 1190 |