| Routines

18C1: THE 'PRINT A FLASHING CHARACTER' SUBROUTINE

Used by the routines at OUT_LINE and OUT_CURS. The 'error cursor' and the 'mode cursors' are printed using this subroutine.
Input
A | Character code ('C', 'E', 'G', 'K', 'L' or '?')
OUT_FLASH | 18C1 | EXX | Switch to the alternate registers.
| 18C2 | LD HL,($5C8F) | Save the values of ATTR-T and MASK-T on the machine stack.
| 18C5 | PUSH HL
| 18C6 | RES 7,H | Ensure that FLASH is active.
| 18C8 | SET 7,L
| 18CA | LD ($5C8F),HL | Use these modified values for ATTR-T and MASK-T.
| 18CD | LD HL,$5C91 | This is P-FLAG.
| 18D0 | LD D,(HL) | Save P-FLAG also on the machine stack.
| 18D1 | PUSH DE
| 18D2 | LD (HL),$00 | Ensure INVERSE 0, OVER 0, and not PAPER 9 nor INK 9.
| 18D4 | CALL PRINT_OUT | The character is printed.
| 18D7 | POP HL | The former value of P-FLAG is restored.
| 18D8 | LD (IY+$57),H
| 18DB | POP HL | The former values of ATTR-T and MASK-T are also restored before returning.
| 18DC | LD ($5C8F),HL
| 18DF | EXX
| 18E0 | RET