Arculator 0.25
~~~~~~~~~~~~~~

Arculator emulates an old-style Archimedes (A3xx,A4xx,A3000,A540) with an ARM2 or
ARM3, 4, 8 or 16 megabytes of RAM, and a single floppy drive.


Changes since last release :

- Disc emulation improved - can now access 720k DOS disc images, write to discs, and up to 4
  drives now supported
- Arculator will now try to load a 2 meg file called 'rom.rom' before trying ic24-ic27.rom. 
  This allows use of one-file ROM dumps, and Arthur, RiscOS 2 and ARM Linux ROM dumps (none
  of which really work, but never mind)
- Slight changes to video emulation, Zelanites demo now looks okay
- Slight ARM optimisations


Files
~~~~~

arculator.exe - The emulator itself.
alleg41.dll   - Required DLL file
changes.txt   - Changelog
cmos.bin      - CMOS RAM
readme.txt    - This file
src\*         - Source (needs Ming/W and Allegro to compile)


Usage
~~~~~

Just run Arculator.exe. You will need to supply the RiscOS 3 ROM images as
either a single file rom, or four files ic24.rom-ic27.rom. They can be 
dumped from a real machine with the following sequence of commands :

*SAVE ic24 3800000+80000
*SAVE ic25 3880000+80000
*SAVE ic26 3900000+80000
*SAVE ic27 3980000+80000

Alternatively you could use

*SAVE rom 3800000+200000

but you'd have fun transfering it to a PC.

A bug in the ARM emulation means that the desktop will hang sometimes.
Enabling the OS hack will work around this for now.
The same bug sometimes hangs after writing to disc. When this happens (which doesn't appear
to be very often), you will have to reset the emulator, although whatever write operation
will have completed.


Mouse
~~~~~

With the mouse hack on, the RiscOS pointer should follow the Windows pointer.
This works fine for almost everything except Cannon Fodder. With the mouse
hack off, the pointer attempts to follow mouse movements, but use of the tilde
key (below escape) is needed to reposition the cursor.
In fullscreen none of this actually matters and the mouse pointer works correctly all
the time.


Menus
~~~~~

File - Reset - soft-resets the Archimedes
       Exit  - exits back to Windows
Disc - Change disc - Loads a new disc into drives 0-3
       Remove disc - Unloads any disc that might be loaded from drives 0-3
Machine - CPU Type - Select between ARM2 and ARM3. ARM3 is quite slow on my machine (AMD
                     2400XP), though part of that is due to the video speed.
          RAM Size - Select between 4, 8 and 16 megs of RAM.
Options - Sound enable - Enables/disables sound
	  Limit speed - Limit speed to what should be about 8mhz. Sound has to be disabled
                        as well as this for any speedup to happen (and your video card has
                        to be fast enough to catch up).
	  Mouse hack - Enables/disables mouse hack
          OS hack - Enables/disables OS hack - try this if RiscOS appears to
                    hang
Video - Full screen - Goes to a full screen. Use CTRL+END to return to windowed mode.
        Full borders - Toggles expansion of borders - useful for programs that overscan.


Compatibility
~~~~~~~~~~~~~

RiscOS 3 - Boots. Supervisor useable. BASIC usable, with some bugs. Desktop
           usable, with some bugs.
RiscOS 2 - Doesn't boot correctly - unusable.
Arthur   - Supervisor and BASIC usable. Hangs when trying to enter desktop,
           refuses to read most discs.


Games :

Cannon Fodder - Playable, mouse cursor doesn't go away when it should, disable mouse hack
                or go fullscreen
Cataclysm     - Playable
Chuck Rock    - Playable
Cycloids      - Playable
Magic Pockets (demo) - Playable
Zool (demo) - Playable
Gods - Playable
Gyrinus 2 - Playable, no sound
James Pond - Playable
Lemmings 2 - Playable, no sound ingame
Lemmings 2 (demo) - Playable
Lemmings - Playable
Lemings - Playable
Mad Professor Mariarti - Playable
Last Ninja (demo) - Playable
Pacmania - Playable
Paradroid 2000 - Playable
Repton 3 - Playable
Speedball 2 - Playable
Spheres of Chaos (demo) - Playable
Twinworld - Playable
Warlocks (demo) - Playable, not sure about position of borders
Zelanites (demo) - Playable, not sure about position of borders

EGO : Repton 4 - Hangs
Elite - Needs OS hack, data abort
Flashback (demo) - Needs OS hack
Starfighter 3000 - Needs OS hack, doesn't respond properly to keys
Nebulus - Data abort
Terramex - Crashes


Apps :
!65Host - Works
Logotron Pen Down 1.72 - Works
Notate - Works
Impression Jr - Works. Seems to crash after saving though (but files get saved
correctly).


Todo list :
~~~~~~~~~~~

Fix the bug relating to running programs via the desktop. (incidentally, this
appears to be the same bug that plagued Archie 0.5)

Fix up the sound. Does anyone have any documentation on the Archie sound system?

Optimize. There are a few areas in the ARM emulation that I know of that can be
optimized, and probably the video emulation as well. 

Change video emulation to use hardware bitmaps + blitting.

Add hard drive emulation. Either via hardfiles (need docs on ST506 or SCSI 
controllers) or a fileswitch module.


Tom Walker
b-em@bbcmicro.com