| Routines

1CBE: THE 'COMMAND CLASS +09' ROUTINE

The address of this routine is derived from an offset found in the command class table. This routine is used by PLOT, DRAW and CIRCLE statements in order to specify the default conditions of 'FLASH 8; BRIGHT 8; PAPER 8;' that are set up before any embedded colour items are considered.
CLASS_09 | 1CBE | CALL SYNTAX_Z | Jump forward if checking syntax.
| 1CC1 | JR Z,CL_09_1
| 1CC3 | RES 0,(IY+$02) | Signal 'main screen' (reset bit 0 of TV-FLAG).
| 1CC7 | CALL TEMPS | Set the temporary colours for the main screen.
| 1CCA | LD HL,$5C90 | This is MASK-T.
| 1CCD | LD A,(HL) | Fetch its present value but keep only its INK part 'unmasked'.
| 1CCE | OR $F8
| 1CD0 | LD (HL),A | Restore the value which now indicates 'FLASH 8; BRIGHT 8; PAPER 8;'.
| 1CD1 | RES 6,(IY+$57) | Also ensure NOT 'PAPER 9' (reset bit 6 of P-FLAG).
| 1CD5 | RST $18 | Fetch the present character before continuing to deal with embedded colour items.
CL_09_1 | 1CD6 | CALL CO_TEMP_2 | Deal with the locally dominant colour items.
| 1CD9 | JR CLASS_08 | Now get the first two operands for PLOT, DRAW or CIRCLE.