Dragon Video Modes

This is the documentation I originally wrote as part of the instructions for my Jumble Disk (I eventually rewrote it to basically say "play for yourself"). That disk had a whole bunch of commands that could be added to the Dragon's BASIC, one of which was SHOW, which would configure the SAM. The two parameters it takes configure the display offset (7 bits from $FFC6) and the video mode as the SAM sees it (3 bits from $FFC0). To set these yourself, access memory starting from the addresses given - even addresses clear a bit, odd addresses set it. So for example accessing $FFC9 will set bit 1 of the display offset.


This command configures the SAM inside the Dragon to address video memory as stated in the command. It takes two parameters, separated with a comma:

1st parameter: 7 bit start address. Should be a value from 0 to 127. This displays memory starting at n*512.

2nd parameter: 3 bit display information. Selects the number of bytes-per-page from the following:

0512 (Text)512 (256*16)
13072 (See note)1024 (128*64)
22048 (64*64)2048 (256*64)
34608 (See note)1536 (128*96)
43072 (64*96)3072 (256*96)
59216 (See note)3072 (128*192)
66144 (64*192)6144 (256*192)
78064 (See note)8064 (See note)


Alphanumerics mode 1 allows 16 bytes of information across the screen, and 192 down. Whatever is POKEd to the screen appears on both sides of the screen.

Alphanumerics mode 3 is strange. For each two rows down the screen, one can hold 16 bytes and is organised as in mode 1, and one can hold 32 bytes, like most of the other alphanumeric modes. There are 192 bytes down a screen.

Alphanumerics mode 5 allows 48 bytes across each line, although only the first 32 are displayed. There are 192 bytes down the screen. If the graphics mode is set to PMODE 4, then the graphics mode is treated in the same way, allowing a maximum resolution of 384*192, although only 256*192 are displayed.

Alphanumerics mode 7 allows 42 bytes across by 192 down, although again only the first 32 across will be displayed. Similarly, the graphics mode is treated as mode 5 except only 42 bytes across are allowed.

Generally, the graphics modes on the Dragon are confusing. There are so many combinations of them, and they give many strange effects. Try experimenting with the program below.

10 PCLEAR 4              ;Reserve 6144 bytes of memory
20 SCREEN 0,0            ;Alphanumerics mode
30  SHOW 6,6               ;Semigraphics 24 from 3072 decimal
40 FOR X=3072 to 9215    ;Fill 3072dec to 9215 dec
50 POKE X,RND(256)-1     ;With random data
70 GOTO 70               ;Infinite loop - <BREAK> to exit

Updated 2 Jul 2002