| Routines

007D: THE 'SKIP-OVER' SUBROUTINE

Used by the routine at GET_CHAR. The value brought to the subroutine in the A register is tested to see if it is printable. Various special codes lead to HL being incremented once or twice, and CH-ADD amended accordingly.
Input
A | Character code
SKIP_OVER | 007D | CP $21 | Return with the carry flag reset if ordinary character code.
| 007F | RET NC
| 0080 | CP $0D | Return if the end of the line has been reached.
| 0082 | RET Z
| 0083 | CP $10 | Return with codes +00 to +0F but with carry set.
| 0085 | RET C
| 0086 | CP $18 | Return with codes +18 to +20 again with carry set.
| 0088 | CCF
| 0089 | RET C
| 008A | INC HL | Skip over once.
| 008B | CP $16 | Jump forward with codes +10 to +15 (INK to OVER).
| 008D | JR C,SKIPS
| 008F | INC HL | Skip over once more (AT and TAB).
SKIPS | 0090 | SCF | Return with the carry flag set and CH-ADD holding the appropriate address.
| 0091 | LD ($5C5D),HL
| 0094 | RET