MODE 7 Character Set
00 | 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | A0 | B0 | C0 | D0 | E0 | F0 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
00 | NUL | DLE | (Space) | 0 | @ | P | £ | p | NUL | Nothing | (Space) | 0 | @ | P | – | p |
01 | SOH | DC1 | ! | 1 | A | Q | a | q | Alpha Red | Graphic Red | ! | 1 | A | Q | a | q |
02 | STX | DC2 | " | 2 | B | R | b | r | Alpha Green | Graphic Green | " | 2 | B | R | b | r |
03 | ETX | DC3 | # | 3 | C | S | c | s | Alpha Yellow | Graphic Yellow | £ | 3 | C | S | c | s |
04 | EOT | DC4 | $ | 4 | D | T | d | t | Alpha Blue | Graphic Blue | $ | 4 | D | T | d | t |
05 | ENQ | NAK | % | 5 | E | U | e | u | Alpha Magenta | Graphic Magenta | % | 5 | E | U | e | u |
06 | ACK | SYN | & | 6 | F | V | f | v | Alpha Cyan | Graphic Cyan | & | 6 | F | V | f | v |
07 | BEL | ETB | ' | 7 | G | W | g | w | Alpha White | Graphic White | ' | 7 | G | W | g | w |
08 | BS | CAN | ( | 8 | H | X | h | x | Flash | Conceal Display | ( | 8 | H | X | h | x |
09 | HT | EM | ) | 9 | I | Y | i | y | Steady | Contiguous Graphics | ) | 9 | I | Y | i | y |
0A | LF | SUB | * | : | J | Z | j | z | Nothing | Separated Graphics | * | : | J | Z | j | z |
0B | VT | ESC | + | ; | K | ← | k | ¼ | Nothing | Nothing | + | ; | K | ← | k | ¼ |
0C | FF | FS | , | < | L | ½ | l | ‖ | Normal Height | Black Background | , | < | L | ½ | l | ‖ |
0D | CR | GS | - | = | M | → | m | ¾ | Double Height | New Background | - | = | M | → | m | ¾ |
0E | SO | RS | . | > | N | ↑ | n | ÷ | Nothing | Hold Graphics | . | > | N | ↑ | n | ÷ |
0F | SI | US | / | ? | O | – | o | DEL | Nothing | Release Graphics | / | ? | O | # | o | █ |
The above table lists the character set used in MODE 7, along with the hexadecimal value associated with each character. Items listed in italic are control codes: they are not printed verbatim on screen, but may affect the display. The lower and upper halves of the character set are very similar; the main difference is that characters 0x00 - 0x1F are the same control characters as used in MODEs 0-6, and characters 0x80-0x9F are Teletext control characters that change how other characters are displayed in MODE 7.
Diagnosing RAM Faults
If incorrect characters are displayed in a MODE 7 screen (such as the default boot screen), a regular pattern may indicate a fault in a particular RAM chip. The RAM chips in BBC Microcomputers each store one bit for every address, so eight are needed to store a byte of data in a particular address. (Some such as the Model B use sixteen chips in two banks of 8). Because MODE 7 uses one byte to select a character from the above character set, a fault in one bit will cause an incorrect character to be displayed.
For example, if the text:
- BBC Computer 32K
- Acorn DFS
- BASIC
is displayed as
- CCC Comptuds 32K
- @bnrn DFS
- CASIC
Every incorrect character is one character code away from the correct character: 'B' (0x42) is displayed as 'C' (0x43), 'A' (0x41) is displayed as '@' (0x40), and 'o' (0x6F) is displayed as 'n' (0x6E). 1 is 20 (2 to the power of 0), so the RAM chip(s) that store bit 0 may be at fault. Alternatively, comparing the binary values for 'B' (0b01000010) and 'C' (0b01000011) shows that it is the least significant bit (bit 0) that is incorrect.
If the text:
- BASIC
is displayed as
- RQSYS
The difference between 'B' (0x42) and 'R' (0x52) is sixteen characters. 16=24, so the RAM chip(s) that store bit 4 may be at fault. Alternatively, comparing the binary values (0b01000010 and 0b01010010) we see that the fourth bit is incorrect.