| Routines

02548: THE 'PRINT-OUT' ROUTINES

Used by the routines at ED_COPY and OUT_FLASH. The address of this routine is found in the initial channel information table. All of the printing to the main part of the screen, the lower part of the screen and the printer is handled by this set of routines. This routine is entered with the A register holding the code for a control character, a printable character or a token.
Input
A | Character code
PRINT_OUT | 02548 | CALL PO_FETCH | The current print position.
| 02551 | CP " " | If the code represents a printable character then jump.
| 02553 | JP NC,PO_ABLE
| 02556 | CP 6 | Print a question mark for codes in the range 0 to 5.
| 02558 | JR C,PO_QUEST
| 02560 | CP 24 | And also for codes 24 to 31.
| 02562 | JR NC,PO_QUEST
| 02564 | LD HL,2571 | Base of the control character table.
| 02567 | LD E,A | Move the code to the DE register pair.
| 02568 | LD D,0
| 02570 | ADD HL,DE | Index into the table and fetch the offset.
| 02571 | LD E,(HL)
| 02572 | ADD HL,DE | Add the offset and make an indirect jump to the appropriate subroutine.
| 02573 | PUSH HL
| 02574 | JP PO_FETCH