MODE 13

From BeebWiki
Jump to: navigation, search
Demonstration of 'MODE 13' (BBC)

MODE 13 is the unofficial title of a low-resolution screen MODE, selectable with the *MODE command or the NewModes sideways ROM module.[1]

The MODE 13 code adapts the MODE 5 screen to provide a small-memory version of MODE 2, 20 × 32 characters in 16 colours. It does this by redefining the character set to provide thin characters.









'MODE 13'
Type Bitmapped
Resolution Text 20 × 32 characters
Graphics 80 × 256
Character size 4 × 8 pixels
Pixel aspect 4:1 (ultra wide)
Bits per pixel 4
Default palette Logical colour Actual colour
0 0 (black)
1 1 (red)
2 2 (green)
3 3 (yellow)
4 4 (blue)
5 5 (magenta)
6 6 (cyan)
7 7 (white)
8 8 (flashing black/white)
9 9 (flashing red/cyan)
10 10 (flashing green/magenta)
11 11 (flashing yellow/blue)
12 12 (flashing blue/yellow)
13 13 (flashing magenta/green)
14 14 (flashing cyan/red)
15 15 (flashing white/black)
Memory allocated 10240 bytes
on screen 10240 bytes
Address range Model B etc. &5800..&7FFF
Configuration Video ULA control register &C0
Video ULA palette register file &07 &16 &25 &34 &43 &52 &61 &70
&8F &9E &AD &BC &CB &DA &E9 &F8
CRTC register file &3F &28 &31 &24 &26 &00
&20 &22 &01 &07 &67 &08
(from table in MOS 1.20 at &C486..&C491)

MODE 13 can be created manually with the following code running in the I/O processor.

   BASIC:
   MODE 5     :REM Base MODE
   ?&30A=19   :REM Characters per line
   ?&34F=16   :REM Bytes per character
   ?&361=1    :REM Pixels per byte
   ?&362=&AA  :REM Pixel left mask
   ?&363=&55  :REM Pixel right mask
   *FX154,192
   
   6502:
   LDA #22:JSR OSWRCH
   LDA #05:JSR OSWRCH           \ Base MODE
   LDA #&13:STA &30A            \ Characters per line
   LDA #&10:STA &34F            \ Byte per character
   LDA #&01:STA &361            \ Pixels per byte
   LDA #&AA:STA &362            \ Pixel left mask
   LDA #&55:STA &363            \ Pixel right mask
   LDA #154:LDX #192:JSR OSBYTE \ Cursor width

The character set needs to be redefined to be four pixels wide, such as with the one used with NewModes.

See Also

References

Screen display MODEs

MODE 0 | MODE 1 | MODE 2 | MODE 3 | MODE 4 | MODE 5 | MODE 6 | MODE 7
MODE 8 | MODE 9 | MODE 10 | MODE 11 | MODE 12 | MODE 13 | MODE 14
MODE &60 | MODE &61 | MODE &63 | MODE &64 | MODE &66
MODE &68 | MODE &69 | MODE &6B | MODE &6C | MODE &6E
MODE | VDU 22

Jgharston (talk) 13:04, 8 October 2016 (UTC)