Difference between revisions of "MODE 14"

From BeebWiki
Jump to: navigation, search
Line 62: Line 62:
 
|- style="vertical-align:top"
 
|- style="vertical-align:top"
 
| Video ULA palette register file
 
| Video ULA palette register file
| &07 &17 &26 &36<br> &47 &57 &66 &76<br> &84 &94 &A0 &B0<br> &C4 &D4 &E0 &F0
+
| &07 &17 &26 &36 &47 &57 &66 &76<br> &84 &94 &A0 &B0 &C4 &D4 &E0 &F0
 
|- style="vertical-align:top"
 
|- style="vertical-align:top"
 
| [[CRTC]] register file
 
| [[CRTC]] register file
| &3F &28 &31 &24<br> &26 &00 &20 &22<br> &01 &07 &67 &08
+
| &3F &28 &31 &24 &26 &00<br> &20 &22 &01 &07 &67 &08
 
|}
 
|}
  
Line 96: Line 96:
 
==References==
 
==References==
 
<references/>
 
<references/>
 
 
{{MODE}}
 
{{MODE}}
 
[[User:Jgharston|Jgharston]] ([[User talk:Jgharston|talk]]) 17:11, 12 October 2016 (UTC)
 
[[User:Jgharston|Jgharston]] ([[User talk:Jgharston|talk]]) 17:11, 12 October 2016 (UTC)

Revision as of 19:57, 12 October 2016

Demonstration of 'MODE 14' (BBC)

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

The MODE 14 code adapts the MODE 6 screen to provide a 4-colour version of MODE 6, 40 × 32 characters in 4 colours. It does this by redefining the character set to provide thin characters.

'MODE 14'
Type Bitmapped
Resolution Text 40 × 32 characters
Graphics test only
Character size 4 × 8 pixels
Pixel aspect 1:1 (square)
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 &44
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 &26 &00
&20 &22 &01 &07 &67 &08

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

   BASIC:
   MODE 6     :REM Base MODE
   ?&30A=39   :REM Characters per line
   ?&34F=8    :REM Bytes per character
   ?&360=3    :REM Number of colours
   VDU 20     :REM Reset palette
   *FX154,68
   
   6502:
   LDA #22:JSR OSWRCH
   LDA #05:JSR OSWRCH          \ Base MODE
   LDA #&27:STA &30A           \ Characters per line
   LDA #&08:STA &34F           \ Byte per character
   LDA #&03:STA &360           \ Number of colours
   LDA #20:JSR OSWRCH          \ Reset palette
   LDA #154:LDX #84: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) 17:11, 12 October 2016 (UTC)