![]() |
Routines |
| Prev: FDD5 | Up: Map | Next: FE41 |
|
Used by the routine at FDD5.
|
|||||||||||||||||||||||||||||||
|
The characters are a series of 3-bit numbers (0-7) packed contiguously into bytes. To extract the relevant character, the appropriate bits need to be taken from every 3 byte sequence, which contains 8 characters.
|
|||||||||||||||||||||||||||||||
| FDEA | LD B,$04 | Four sets of 3-byte sequences for each line. | |||||||||||||||||||||||||||||
| FDEC | LD A,(IX+$00) | Get the first byte. | |||||||||||||||||||||||||||||
| FDEF | RLCA | Put the top three bits in the bottom. | |||||||||||||||||||||||||||||
| FDF0 | RLCA | ||||||||||||||||||||||||||||||
| FDF1 | RLCA | ||||||||||||||||||||||||||||||
| FDF2 | CALL $FE41 | Print the character. | |||||||||||||||||||||||||||||
| FDF5 | LD A,(IX+$00) | Get the first byte. | |||||||||||||||||||||||||||||
| FDF8 | RRCA | Put bits 2-4 in the bottom. | |||||||||||||||||||||||||||||
| FDF9 | RRCA | ||||||||||||||||||||||||||||||
| FDFA | CALL $FE41 | Print the character. | |||||||||||||||||||||||||||||
| FDFD | LD A,(IX+$00) | Put the first byte in A and the second in C. | |||||||||||||||||||||||||||||
| FE00 | LD C,(IX+$01) | ||||||||||||||||||||||||||||||
| FE03 | RL C | Get the top bit of the second byte and the bottom two bits of the first. | |||||||||||||||||||||||||||||
| FE05 | RLA | ||||||||||||||||||||||||||||||
| FE06 | CALL $FE41 | Print the character. | |||||||||||||||||||||||||||||
| FE09 | LD A,(IX+$01) | Get the second byte. | |||||||||||||||||||||||||||||
| FE0C | RRCA | Put bits 4-6 in the bottom. | |||||||||||||||||||||||||||||
| FE0D | RRCA | ||||||||||||||||||||||||||||||
| FE0E | RRCA | ||||||||||||||||||||||||||||||
| FE0F | RRCA | ||||||||||||||||||||||||||||||
| FE10 | CALL $FE41 | Print the character. | |||||||||||||||||||||||||||||
| FE13 | LD A,(IX+$01) | Get the second byte. | |||||||||||||||||||||||||||||
| FE16 | RRCA | Put bits 1-3 in the bottom. | |||||||||||||||||||||||||||||
| FE17 | CALL $FE41 | Print the character. | |||||||||||||||||||||||||||||
| FE1A | LD A,(IX+$01) | Put the first byte in A and the second in C. | |||||||||||||||||||||||||||||
| FE1D | LD C,(IX+$02) | ||||||||||||||||||||||||||||||
| FE20 | RL C | Get the top two bit of the third byte and the bottom bit of the second. | |||||||||||||||||||||||||||||
| FE22 | RLA | ||||||||||||||||||||||||||||||
| FE23 | RL C | ||||||||||||||||||||||||||||||
| FE25 | RLA | ||||||||||||||||||||||||||||||
| FE26 | CALL $FE41 | Print the character. | |||||||||||||||||||||||||||||
| FE29 | LD A,(IX+$02) | Get the third byte. | |||||||||||||||||||||||||||||
| FE2C | RRCA | Put bits 3-5 in the bottom. | |||||||||||||||||||||||||||||
| FE2D | RRCA | ||||||||||||||||||||||||||||||
| FE2E | RRCA | ||||||||||||||||||||||||||||||
| FE2F | CALL $FE41 | Print the character. | |||||||||||||||||||||||||||||
| FE32 | LD A,(IX+$02) | Get the byte byte; the bottom 3 bits will have the last character. | |||||||||||||||||||||||||||||
| FE35 | CALL $FE41 | Print the character. | |||||||||||||||||||||||||||||
| FE38 | INC IX | Move to the next block. | |||||||||||||||||||||||||||||
| FE3A | INC IX | ||||||||||||||||||||||||||||||
| FE3C | INC IX | ||||||||||||||||||||||||||||||
| FE3E | DJNZ $FDEC | Repeat until all characters in the line are printed. | |||||||||||||||||||||||||||||
| FE40 | RET | ||||||||||||||||||||||||||||||
| Prev: FDD5 | Up: Map | Next: FE41 |