![]() |
Routines |
Prev: 02852 | Up: Map |
|
||||||||||
PO_ATTR | 03035 | LD A,H | The high byte of the destination address is divided by eight and ANDed with 3 to determine which third of the screen is being addressed, i.e. 0, 1 or 2. | |||||||
03036 | RRCA | |||||||||
03037 | RRCA | |||||||||
03038 | RRCA | |||||||||
03039 | AND 3 | |||||||||
03041 | OR 88 | The high byte for the attribute area is then formed. | ||||||||
03043 | LD H,A | |||||||||
03044 | LD DE,(23695) | E holds ATTR-T, and D holds MASK-T. | ||||||||
03048 | LD A,(HL) | The old attribute value. | ||||||||
03049 | XOR E | The values of MASK-T and ATTR-T are taken into account. | ||||||||
03050 | AND D | |||||||||
03051 | XOR E | |||||||||
03052 | BIT 6,(IY+87) | Jump forward unless dealing with PAPER 9 (bit 6 of P-FLAG set). | ||||||||
03056 | JR Z,PO_ATTR_1 | |||||||||
03058 | AND 199 | The old paper colour is ignored and depending on whether the ink colour is light or dark the new paper colour will be black (000) or white (111). | ||||||||
03060 | BIT 2,A | |||||||||
03062 | JR NZ,PO_ATTR_1 | |||||||||
03064 | XOR 56 | |||||||||
PO_ATTR_1 | 03066 | BIT 4,(IY+87) | Jump forward unless dealing with INK 9 (bit 4 of P-FLAG set). | |||||||
03070 | JR Z,PO_ATTR_2 | |||||||||
03072 | AND 248 | The old ink colour is ignored and depending on whether the paper colour is light or dark the new ink colour will be black (000) or white (111). | ||||||||
03074 | BIT 5,A | |||||||||
03076 | JR NZ,PO_ATTR_2 | |||||||||
03078 | XOR 7 | |||||||||
PO_ATTR_2 | 03080 | LD (HL),A | Enter the new attribute value and return. | |||||||
03081 | RET |
Prev: 02852 | Up: Map |