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.
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.
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.
.wrch push all registers call vdu call printer call any other drivers restore all registers return