VDU driver

From BeebWiki
Revision as of 00:11, 17 June 2016 by Jgharston (talk | contribs) (Initial page.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Colours

If there is no palette, COLOUR and GCOL should select physical colours using physical colour numbers, and VDU 19 should be ignored.

If there is a palette, COLOUR and GCOL should select logical colours, and VDU 19 should be used to select the physical colours they display as.

These notes do not cover colour selection in screen modes with 256 or more colours as they are difficult to control purely through the VDU stream.

Pixels

The graphics screen size is always the same size on logical pixels regardless of the number of physical pixels. This will always be >=&400 horizontally and >=&300 vertically. The logical screen size is found by doubling the number of physical pixels until a value of >=&400 horizontally and a value of >&300 vertically.

Printer

The VDU driver should ignore VDU 1,2,3. They should be acted on purely by the printer driver. Conventionally, the OSWRCH layer calls the VDU driver, then calls the printer driver, then any other selected output drivers.

OSWRCH layer

 .wrch
 push all registers
 call vdu
 call printer
 call any other drivers
 restore all registers
 return

Jgharston (talk) 23:11, 16 June 2016 (UTC)