Routines |
Prev: 9837 | Up: Map | Next: 9862 |
|
||||
ControlCode_SetPaperColour | 984B | LD HL,$F81E | Set a pointer to Print_AttributeVariable in HL. | |
984E | LD A,(HL) | Fetch the current print attribute colour and store it in A. | ||
984F | AND %11000111 | Mask off the current PAPER bits. | ||
9851 | LD (HL),A | Write the value back to *Print_AttributeVariable. | ||
9852 | LD A,($F80C) | Fetch the new PAPER colour from *PrintVariable_01. | ||
9855 | CP $08 | Jump to Helper_Return if the new PAPER colour is invalid (08 or higher), valid ink values are between 00-07. | ||
9857 | JP NC,Helper_Return | |||
985A | ADD A,A | Shift the colour value into bits 3-5 so it applies for PAPER. | ||
985B | ADD A,A | |||
985C | ADD A,A | |||
985D | OR (HL) | Set the new PAPER value with the current print attribute colour held by *HL. | ||
985E | LD (HL),A | Write the updated value back to *Print_AttributeVariable. | ||
985F | JP ControlCode_Return_1 | Jump to ControlCode_Return_1. |
Prev: 9837 | Up: Map | Next: 9862 |