Modelist for ArcemModes', a module to implement extra screen modes.
Please note: In it's current state the emulator is able to use so-called 
5th-column roms. These roms are intended to be loaded in a memory area different 
from the OperatingSystem roms, and can contain any module you like, provided 
they can be loaded at a relatively early stage during the computer startup 
procedure, and the OS rom is able to use such 5th-column roms. 
The OS must be Riscos 3.11 or higher, Riscos 3.10 and lower cannot use them. 
If you need these services in a module though, you can always put them on a 
harddisc or floppie and load them from there.

ArcemModes' is more or less copied from ArcemModes in the Arcem distribution, 
but with a few more modes. 
Modes up to ~46 are listed in the Riscos User Guide. Higher modes were used by 
demos and games but numbering does not seem to be consistent. If a demo/game 
does not work, try to disable ArcemModes (*rmkill arcemmodes, inside the 
emulation of course!) and see if that helps, for instance !Jojo demo. 
In the following list also a few modes have been defined for low-bpp, low 
framerate, high X and Y. Remember the Archimedes videochip only had 10 bits 
for its screen geometry (max. 2048X1024) and the DMA chip only allowed 
2^15 *16 bytes, ie. 512 Kb, for video purposes there is even less as sound and 
mousepointer also have to find some space there. 
Displayable screen cannot go up to 2048 X 1024 as there also have to be sync 
pulses. And, VIDC did 'only' 36 Mpixels/second so framerate will be very slow,
no problem for emulation but don't use this Arcemmodes module in slow, 
high-definition modes on a real Archimedes computer.
Some modes were defined but Riscos3 seems to refuse them. Before applying a 
mode, Riscos 3 'vets' them so may refuse them. It's a matter of trial and error.
The first list in the Arcemmodes module is a series of triples, modenumber +
offset to start of VIDC programming words (ended by -1) + offset to a 
OS_ReadModeVariable list (PRM 1-709, paper version). First the number then the 
value. E.g. number 11 is number of pixels on screen -1. Terminated by -1. The
VIDC programming words have the format address in bits 24-31, data in bits 14-23.
So e.g. for mode 96, vertical display end register has address &B0 and if 
it's for instance 1021 (display 5 - 1021), shift it left 14X and add the address 
shifted <<24. So this gives us 'B0FF4000'. (offset 4C8 in ArcemModes module).
To use some of these modes, you also have to select a Multisync monitortype.
*conf . monitortype ..... or select it using the Configure application in RO3.

Mode 32 800 X 600, 256 col, 45 Hz
Mode 66 632 X 266, 16 col, 50 Hz
Mode 67 632 X 266, 256 col, 50 Hz
Mode 82 869 X 352, 16 col, 57 Hz
Mode 83 869 X 352, 256 col, 57 Hz
Mode 96 1920 X 1016, 4 col, 12 Hz
Mode 97 1920 X 536, 16 col, 12 Hz, refused
Mode 98 960 X 536, 256 col, 12 Hz, refused
Mode 99 1280 X 720, 16 col, 25 Hz 
Mode 100 1024 X 768, 2 col, 29 Hz
Mode 101 1024 X 768, 4 col, 29 Hz
Mode 102 1024 X 768, 16 col, 29 Hz
Mode 104 1280 X 1016, 2 col, 17 Hz
Mode 105 1280 X 1016, 4 col, 17 Hz
Mode 108 1152 X 864, 2 col, 23 Hz
Mode 109 1152 X 864, 4 col, 23 Hz
Mode 112 1400 X 520, 16 col, 30 Hz
Mode 120 1600 X 600, 16 col, 24 Hz
Mode 122 240 X 320, 2 col, 80 Hz (does not display correctly)
Mode 123 240 X 320, 4 col, 80 Hz
Mode 124 240 X 320, 16 col, 80 Hz
Mode 125 240 X 320, 256 col, 80 Hz
 