Graphics Support
----------------

Brandy includes limited graphics support under Linux. It includes only a subset
of the facilities provided by the RISC OS VDU drivers but it should be enough
for now.
 
The graphics support is based around SDL 1.2

The graphic support includes all of the Basic graphics statements with some
restrictions and a small number of the VDU 23 commands. Features such as the
extended colour fill patterns are not supported. The standard RISC OS palettes
in 2, 4, 16 and 256 colour modes are emulated and both colour and greyscale
palettes are possible. Colour depth 16777216 is also supported for 24-bit
colour. Flashing colours are not supported, they are instead shown as dimmed
versions of their non-flashing counterparts. Modes can be set using either MODE <number>, MODE <string> or MODE <x size>, <y size>, <depth>.  Any (sensible)
dimensions can be supplied, and if a requested mode is not a predefined one,
MODE 126 will be configured with the desired values, then selected.

All available screen modes are available under X, the window will be sized
accordingly. When running on a console frame buffer, only those which will fit
on the console screen will be available.

New display modes can be created with *NewMode, use a mode in the range 64-126.

Teletext graphics are also supported in Mode 7, see docs/Mode7.

Four display banks are available (except in Mode 7), they are controlled by
*FX112 and FX113 as on a BBC Master or RISC OS machine. All screen modes use
the primary display, so *FX112,0 is synonymous to *FX112,1, similarly for
*FX113. These are also available as OSBYTE calls via CALL/USR &FFF4 and
SYS "OS_Byte" (SYS 6).

*REFRESH (borrowed from BB4W/BBCSDL by Richard Russell)
*REFRESH	One-shot refresh of the display.
*REFRESH OFF	Suspends updates to the display window.
*REFRESH ON	Resume updates to the display window, updating it with any
		pending changes.
*REFRESH ONERROR  Suspends updates to the display window until an error
		  condition is encountered. This option is not present in
		  BB4W/BBCSDL.
This can also be set - and read - by OSBYTE &2A (42). See osbyte.txt for
more details on this.

Additionally to this, the "tbrandy" text-mode build, when built on a UNIX-like
system (excluding Cygwin) also supports Tektronix graphics when enabled with
SYS "Brandy_TekEnabled",1 and thus can output graphics when run in an xterm
window or through an emulator such as Rene Richarz's Tek4010 emulator
https://github.com/rricharz/Tek4010 - and, while untested, it should even
run when output to real hardware.  In the SDL builds, MODEs 72-75 are
dimensioned to give a graphical area the same as a Tektronix system.
