Difference between revisions of "MODE 14"

From BeebWiki
Jump to: navigation, search
m (typos in *FX154)
(One intermediate revision by the same user not shown)
Line 6: Line 6:
  
 
The MODE 14 code adapts the [[MODE 6]] screen to provide a 4-colour version
 
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
+
of MODE 6, 40 × 25 characters in 4 colours. It does this by redefining
 
the character set to provide thin characters.
 
the character set to provide thin characters.
  
Line 16: Line 16:
 
| rowspan="2" | Resolution
 
| rowspan="2" | Resolution
 
| Text
 
| Text
| 40 × 32 characters
+
| 40 × 25 characters
 
|- style="vertical-align:top"
 
|- style="vertical-align:top"
 
| Graphics
 
| Graphics
| test only
+
| text only
 
|- style="vertical-align:top"
 
|- style="vertical-align:top"
 
| Character size
 
| Character size
Line 77: Line 77:
 
     ?&360=3    :REM Number of colours
 
     ?&360=3    :REM Number of colours
 
     VDU 20    :REM Reset palette
 
     VDU 20    :REM Reset palette
     *FX154,68
+
     *FX154,132
 
      
 
      
 
     6502:
 
     6502:
 
     LDA #22:JSR OSWRCH
 
     LDA #22:JSR OSWRCH
     LDA #05:JSR OSWRCH         \ Base MODE
+
     LDA #05:JSR OSWRCH           \ Base MODE
     LDA #&27:STA &30A           \ Characters per line
+
     LDA #&27:STA &30A           \ Characters per line
     LDA #&08:STA &34F           \ Byte per character
+
     LDA #&08:STA &34F           \ Byte per character
     LDA #&03:STA &360           \ Number of colours
+
     LDA #&03:STA &360           \ Number of colours
     LDA #20:JSR OSWRCH         \ Reset palette
+
     LDA #20:JSR OSWRCH           \ Reset palette
     LDA #154:LDX #84:JSR OSBYTE \ Cursor width
+
     LDA #154:LDX #132:JSR OSBYTE \ Cursor width
  
 
The character set needs to be redefined to be four pixels wide, such as with
 
The character set needs to be redefined to be four pixels wide, such as with

Revision as of 23:19, 16 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 × 25 characters in 4 colours. It does this by redefining the character set to provide thin characters.

'MODE 14'
Type Bitmapped
Resolution Text 40 × 25 characters
Graphics text 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,132
   
   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 #132: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)