Difference between revisions of "VDU driver"
m (→Pixels) |
m |
||
Line 1: | Line 1: | ||
− | [[Category: | + | [[Category:Display]] |
==Colours== | ==Colours== | ||
If there is no palette, COLOUR and GCOL should select physical colours | If there is no palette, COLOUR and GCOL should select physical colours |
Latest revision as of 00:53, 3 November 2023
Contents
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 >=&300 horizontally and >=&200 vertically. The logical screen size is found by doubling the number of physical pixels until a value of >=&300 horizontally and a value of >&200 vertically. With a screen that displays 80x32 characters on a full screen this will be 1280 x 1024 logical pixels. With a 32x24 character display this will be 1024 x 768 logical pixels.
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