MODE 10
MODE 10 is the unofficial title of a low-resolution screen MODE, developed by Ian Robertson and published in The Micro User magazine (November 1985, p.123). It works on the BBC Micro but not the Electron or the Archimedes where MODE 10 is the official a 256-colour version of MODE 2.
The MODE 10 code adapts the MODE 6 screen to provide a 20 × 25 text display in 4 colours. The MOS does not allow complete support of this MODE and some bugs can be seen: for instance, text windows do not work correctly.
Type | Bitmapped, text only ('ASCII') | |
Resolution | Text | 20 × 25 characters |
Graphics | n/a | |
Character size | 8 × 10 pixels, top 8 lines user definable | |
Pixel aspect | 2:1 (wide) | |
Bits per pixel | 2 | |
Default palette | Logical colour | Actual colour |
---|---|---|
0 | 0 (black) | |
1 | 1 (red) | |
2 | 3 (yellow) | |
3 | 7 (white) | |
Memory | allocated | 8192 bytes |
on screen | 8000 bytes | |
Address range | Model B etc. | &6000..&7FFF |
Configuration | Video ULA control register | &84 |
Video ULA palette register file | &07 &17 &26 &36 &47 &57 &66 &76 &84 &94 &A0 &B0 &C4 &D4 &E0 &F0 | |
CRTC register file | &3F &28 &31 &24 &1E &02 &19 &1B &01 &09 &67 &09 (from table in MOS 1.20 at &C492..&C49D) |
MODE 10 can be created manually with the following code running in the I/O processor.
BASIC: MODE 6 :REM Base MODE ?&30A=19 :REM Characters per line ?&34F=16 :REM Bytes per character ?&360=3 :REM Number of colours ?&361=2 :REM Pixels per byte ?&362=&AA :REM Pixel left mask ?&363=&55 :REM Pixel right mask VDU 20 :REM Reset palette *FX154,132 6502: LDA #22:JSR OSWRCH LDA #06:JSR OSWRCH \ Base MODE LDA #&13:STA &30A \ Characters per line LDA #&10:STA &34F \ Byte per character LDA #&03:STA &360 \ Number of colours LDA #&02:STA &361 \ Pixels per byte LDA #&AA:STA &362 \ Pixel left mask LDA #&55:STA &363 \ Pixel right mask LDA #20:JSR OSWRCH \ Reset palette LDA #154:LDX #132:JSR OSBYTE \ Cursor width
Screen display MODEs |
---|
MODE 0 | MODE 1 | MODE 2 | MODE 3 | MODE 4 | MODE 5 | MODE 6 | MODE 7 |
beardo 12:59, 20 September 2006 (BST) Jgharston (talk) 18:55, 12 October 2016 (UTC)