Prev: 38967 Up: Map Next: 39010
38987: Control Code 17: Set Paper Colour
ControlCode_SetPaperColour 38987 LD HL,63518 Set a pointer to Print_AttributeVariable in HL.
38990 LD A,(HL) Fetch the current print attribute colour and store it in A.
38991 AND %11000111 Mask off the current PAPER bits.
38993 LD (HL),A Write the value back to *Print_AttributeVariable.
38994 LD A,(63500) Fetch the new PAPER colour from *PrintVariable_01.
38997 CP 8 Jump to Helper_Return if the new PAPER colour is invalid (8 or higher), valid ink values are between 0-7.
38999 JP NC,Helper_Return
39002 ADD A,A Shift the colour value into bits 3-5 so it applies for PAPER.
39003 ADD A,A
39004 ADD A,A
39005 OR (HL) Set the new PAPER value with the current print attribute colour held by *HL.
39006 LD (HL),A Write the updated value back to *Print_AttributeVariable.
39007 JP ControlCode_Return_1 Jump to ControlCode_Return_1.
Prev: 38967 Up: Map Next: 39010