Difference between revisions of "Mode 7 Character Set"
(Create page with adapation of table from ASCII, and outline how character errors can be used to diagnose RAM faults) |
m (Top-bit-set characters are untranslated.) |
||
Line 7: | Line 7: | ||
! 00 | ! 00 | ||
| ''[[VDU 0|NUL]]'' || ''[[VDU 16|DLE]]'' || (Space) || 0 || @ || P || £ || p | | ''[[VDU 0|NUL]]'' || ''[[VDU 16|DLE]]'' || (Space) || 0 || @ || P || £ || p | ||
− | | ''[[VDU 0|NUL]]'' || ''Nothing'' || (Space) || 0 || @ || P || & | + | | ''[[VDU 0|NUL]]'' || ''Nothing'' || (Space) || 0 || @ || P || – || p |
|- style="text-align:center;vertical-align:top" | |- style="text-align:center;vertical-align:top" | ||
! 01 | ! 01 | ||
Line 19: | Line 19: | ||
! 03 | ! 03 | ||
| ''[[VDU 3|ETX]]'' || ''[[VDU 19|DC3]]'' || # || 3 || C || S || c || s | | ''[[VDU 3|ETX]]'' || ''[[VDU 19|DC3]]'' || # || 3 || C || S || c || s | ||
− | | ''Alpha Yellow'' || ''Graphic Yellow'' || | + | | ''Alpha Yellow'' || ''Graphic Yellow'' || £ || 3 || C || S || c || s |
|- style="text-align:center;vertical-align:top" | |- style="text-align:center;vertical-align:top" | ||
! 04 | ! 04 | ||
Line 67: | Line 67: | ||
! 0F | ! 0F | ||
| ''[[VDU 15|SI]]'' || ''[[VDU 31|US]]'' || / || ? || O || – || o || ''[[VDU 127|DEL]]'' | | ''[[VDU 15|SI]]'' || ''[[VDU 31|US]]'' || / || ? || O || – || o || ''[[VDU 127|DEL]]'' | ||
− | | ''Nothing'' || ''Release Graphics'' || / || ? || O || | + | | ''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. | 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== | ==Diagnosing RAM Faults== | ||
Line 90: | Line 89: | ||
:RQSYS | :RQSYS | ||
The difference between 'B' (0x42) and 'R' (0x52) is sixteen characters. 16=2<sup>4</sup>, so the RAM chip(s) that store bit 4 may be at fault. Alternatively, comparing the binary values (0b010'''0'''0010 and 0b010'''1'''0010) we see that the fourth bit is incorrect. | The difference between 'B' (0x42) and 'R' (0x52) is sixteen characters. 16=2<sup>4</sup>, so the RAM chip(s) that store bit 4 may be at fault. Alternatively, comparing the binary values (0b010'''0'''0010 and 0b010'''1'''0010) we see that the fourth bit is incorrect. | ||
− | |||
[[Category:Display]][[Category:Repair]] | [[Category:Display]][[Category:Repair]] |
Latest revision as of 00:52, 28 October 2019
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.