Routines |
Prev: 02852 | Up: Map | Next: 03082 |
|
||||||||
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 | Next: 03082 |