| &BD3A | KM SET LOCKS |
| Action | Turns the shift and caps locks on and off |
| Entry | H contains the caps lock state, and L contains the shift lock state |
| Exit | AF is corrupt, and all others are preserved |
| Notes | In this routine, &00 means turned off, and &FF means turned on |
| &BD3D | KM FLUSH |
| Action | Empties the key buffer |
| Entry | No entry conditions |
| Exit | AF is corrupt, and all other registers are preserved |
| Notes | This routine also discards any current expansion string |
| &BD40 | TXT ASK STATE |
| Action | Gets the VDU and cursor state |
| Entry | No entry conditions |
| Exit | A contains the VDU and cursor state, the flags are corrupt, and all others are preserved |
| Notes | The value in the A register is bit significant, as follows: if bit 0 is set, then the cursor is disabled, otherwise it is enabled if bit 1 is set, then the cursor is turned off, otherwise it is on if bit 7 is set, then the VDU is enabled, otherwise it is disabled |
| &BD43 | GRA DEFAULT |
| Action | Sets the graphics VDU to its default mode |
| Entry | No entry conditions |
| Exit | AF, BC, DE and HL are corrupt, and all other registers are preserved |
| Notes | Sets the background to opaque, the first point of line is plotted, lines aren't dotted, and the write mode is force |
| &BD46 | GRA SET BACK |
| Action | Sets the graphics background mode to either opaque or transparent |
| Entry | A holds zero if opaque mode is wanted, or holds &FF to select transparent mode |
| Exit | All registers are preserved |
| &BD49 | GRA SET FIRST |
| Action | Sets whether the first point of a line is plotted or not |
| Entry | A holds zero if the first point is not to be plotted, or holds &FF if it is to be plotted |
| Exit | All registers are preserved |
| &BD4C | GRA SET LINE MASK |
| Action | Sets how the points in a line are plotted - ie defines whether a line is dotted or not |
| Entry | A contains the line mask that will be used when drawing lines |
| Exit | All registers are preserved |
| Notes | The first point in the line corresponds to bit 7 of the line mask and after bit 0 the mask repeats; if a bit is set then that point will be plotted; the mask is always applied from left to right, or from bottom to top |
| &BD4F | GRA FROM USER |
| Action | Converts user coordinates into base coordinates |
| Entry | DE contains the user X coordinate, and HL contains the user Y coordinate |
| Exit | DE holds the base X coordinate, and HL holds the base Y coordinate, AF is corrupt, and all others are preserved |
| &BD52 | GRA FILL |
| Action | Fills an area of the screen starting from the current graphics position and extending until it reaches either the edge of the window or a pixel set to the PEN |
| Entry | A holds a PEN to fill with, HL holds the address of the buffer, and DE holds the length of the buffer |
| Exit | If the area was filled properly, then Carry is true; if the area was not filled, then Carry is false; in either case, A, BC, DE, HL and the other flags are corrupt, and all others are preserved |
| Notes | The buffer is used to store complex areas to fill, which are remembered and filled when the basic shape has been done; each entry in the buffer uses seven bytes and so the more complex the shape the larger the buffer; if it runs out of space to store these complex areas, it will fill what it can and then return with Carry false |
| &BD55 | SCR SET POSITION |
| Action | Sets the screen base and offset without telling the hardware |
| Entry | A contains the screen base, and HL contains the screen offset |
| Exit | A contains the masked screen base, and HL contains the masked screen offset, the flags are corrupt, and all other registers are preserved |
| &BD58 | MC PRINT TRANSLATION |
| Action | Sets how ASCII characters will be translated before being sent to the printer |
| Entry | HL contains the address of the table |
| Exit | If the table is too long, then Carry is false (ie more than 20 entries); if the table is correctly set out, then Carry is true; in either case, A, BC, DE, HL and the other flags are corrupt, and all others are preserved |
| Notes | The first byte in the table is the number of entries; each entry requires two bytes, as follows: byte 0 - the character to be translated byte 1 - the character that is to be sent to the printer If the character to be sent to the printer is &FF, then the character is ignored and nothing is sent |
| &BD5B | KL BANK SWITCH (6128 only) |
| Action | Sets which RAM banks are being accessed by the Z80 |
| Entry | A contains the organisation that is to be used |
| Exit | A contains the previous organisation, the flags are corrupt, and all other registers are preserved |