Routines |
Prev: EF35 | Up: Map | Next: EFC7 |
EF91 | PUSH AF | Remember AF. | ||
EF92 | EXX | Exchange main registers. | ||
EF93 | LD A,($F26F) | Put the current attribute (F26F) in C. | ||
EF96 | LD C,A | |||
EF97 | LD A,($A839) | Get the Y co-ordinate to print. (A838) | ||
EF9A | AND $07 | Select bits 0 - 2. | ||
EF9C | JR Z,$EFA2 | |||
EF9E | LD B,$03 | |||
EFA0 | JR $EFA4 | |||
EFA2 | LD B,$02 | |||
EFA4 | LD A,($A839) | Get the Y co-ordinate to print. | ||
EFA7 | AND $F8 | Select bits 3 - 8 | ||
EFA9 | LD H,$00 | Put this in HL. | ||
EFAB | LD L,A | |||
EFAC | ADD HL,HL | Multiply by 4 to get a suitable offset. | ||
EFAD | ADD HL,HL | |||
EFAE | LD DE,$FB00 | Add the base address to get an offset from FC00. Note that this address is modified by the routines in A83D and A8A0. | ||
EFB1 | ADD HL,DE | |||
EFB2 | LD DE,$001E | Set DE as the amount to increment for each row. | ||
EFB5 | LD (HL),C | Set the attribute for the next two columns. | ||
EFB6 | INC HL | |||
EFB7 | LD (HL),C | |||
EFB8 | INC HL | |||
EFB9 | LD A,($A838) | Get the X co-ordinate to print. | ||
EFBC | AND $07 | Select bits 0 - 2. | ||
EFBE | JR Z,$EFC1 | Jump forward if this is 0. | ||
EFC0 | LD (HL),C | Otherwise set the attribute here. | ||
EFC1 | ADD HL,DE | Move on a row. | ||
EFC2 | DJNZ $EFB5 | Loop while all rows are printed. | ||
EFC4 | EXX | Exchange main registers. | ||
EFC5 | POP AF | Restore AF and return. | ||
EFC6 | RET |
Prev: EF35 | Up: Map | Next: EFC7 |