Routines |
Prev: 89AD | Up: Map | Next: 8B07 |
8AEB | LD HL,$5800 | Point HL at the first byte of the attribute file | ||
8AEE | LD A,(HL) | Pick up this byte | ||
8AEF | AND $07 | Keep only bits 0-2 (the INK colour) | ||
8AF1 | OUT ($FE),A | Set the border colour to match | ||
Now we loop over every byte in the attribute file.
|
||||
8AF3 | LD A,(HL) | Pick up an attribute file byte | ||
8AF4 | ADD A,$03 | Cycle the INK colour forward by three | ||
8AF6 | AND $07 | |||
8AF8 | LD D,A | Save the new INK colour in D | ||
8AF9 | LD A,(HL) | Pick up the attribute file byte again | ||
8AFA | ADD A,$18 | Cycle the PAPER colour forward by three (and turn off any BRIGHT colours) | ||
8AFC | AND $B8 | |||
8AFE | OR D | Merge in the new INK colour | ||
8AFF | LD (HL),A | Save the new attribute byte | ||
8B00 | INC HL | Point HL at the next byte in the attribute file | ||
8B01 | LD A,H | Have we reached the end of the attribute file yet? | ||
8B02 | CP $5B | |||
8B04 | JR NZ,$8AF3 | If not, jump back to modify the next byte | ||
8B06 | RET |
Prev: 89AD | Up: Map | Next: 8B07 |