Routines |
Prev: 0B24 | Up: Map | Next: 0C0A |
|
||||||||
PO_ATTR | 0BDB | LD A,H | The high byte of the destination address is divided by eight and ANDed with +03 to determine which third of the screen is being addressed, i.e. +00, +01 or +02. | |||||
0BDC | RRCA | |||||||
0BDD | RRCA | |||||||
0BDE | RRCA | |||||||
0BDF | AND $03 | |||||||
0BE1 | OR $58 | The high byte for the attribute area is then formed. | ||||||
0BE3 | LD H,A | |||||||
0BE4 | LD DE,($5C8F) | E holds ATTR-T, and D holds MASK-T. | ||||||
0BE8 | LD A,(HL) | The old attribute value. | ||||||
0BE9 | XOR E | The values of MASK-T and ATTR-T are taken into account. | ||||||
0BEA | AND D | |||||||
0BEB | XOR E | |||||||
0BEC | BIT 6,(IY+$57) | Jump forward unless dealing with PAPER 9 (bit 6 of P-FLAG set). | ||||||
0BF0 | JR Z,PO_ATTR_1 | |||||||
0BF2 | AND $C7 | 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). | ||||||
0BF4 | BIT 2,A | |||||||
0BF6 | JR NZ,PO_ATTR_1 | |||||||
0BF8 | XOR $38 | |||||||
PO_ATTR_1 | 0BFA | BIT 4,(IY+$57) | Jump forward unless dealing with INK 9 (bit 4 of P-FLAG set). | |||||
0BFE | JR Z,PO_ATTR_2 | |||||||
0C00 | AND $F8 | 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). | ||||||
0C02 | BIT 5,A | |||||||
0C04 | JR NZ,PO_ATTR_2 | |||||||
0C06 | XOR $07 | |||||||
PO_ATTR_2 | 0C08 | LD (HL),A | Enter the new attribute value and return. | |||||
0C09 | RET |
Prev: 0B24 | Up: Map | Next: 0C0A |