home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ARM Club 3
/
TheARMClub_PDCD3.iso
/
programs
/
emulaton
/
arcvic
/
readme-1st
next >
Wrap
Text File
|
1998-08-10
|
8KB
|
223 lines
=====================
A R C V I C
Version 0.3
-------------------
Copyright (C) 1998
B.W. van Schooten
email: vicman@dds.nl
=====================
License
-------
This software is distributed as freeware. It may be freely used and
distributed as long as all the original files are included in their original
form. This software may not be modified or sold for profit, although a
small fee may be assessed for the media used for copying the software.
This program and documentation is provided 'as is' and without any
warranty, not even the implied warranty of merchantability of fitness for
any purpose. In no event wil the author be liable for any damage or loss
caused by use of this software or documentation.
What is so cool about Arcvic?
-----------------------------
* Arcvic is a Commodore Vic-20 emulator for Archimedes and RISCPC machines.
Arcvic was written within a period of one week.
* It is written in 100% assembler, and is optimised to run at 100% speed on
an 8 Mhz ARM-2 machine, and at double or higher speeds on just about any
other ARM machine.
* It handles different screen sizes, and all standard memory expansions.
* It autodetects the memory expansion and boots automatically when you load
a program.
What really sucks about Arcvic?
-------------------------------
This is still a 0.x version, which means that this list is still bigger
than the previous one.
* STRONGARM users absolutely have to turn their cache off, since this
program relies heavily on self-modifying code (it uses JIT compiling).
* It needs 768K of memory, which may make it hard to run on 1-meg machines.
* It is in black&white.
* It has no sound.
* VIA emulation is limited, which means some programs won't run. Also, the
Run/Stop key (TAB) won't break BASIC programs. The Restore key is not
emulated.
* Only a few programs have been tested on it.
* The timing is not very accurate, as it depends on the screen mode you're
in (it should work best for 50Hz or 60Hz modes. 70Hz modes will result
in a Vic-20 that is too fast).
* The program is rather braindead about saving files. At the moment, files
are saved to a fixed filename in the directory <Arcvic$WorkDir>
How do I get it to run?
-----------------------
You will need the Vic-20 system ROMs, which are not included in this
package. The main reason for this is that they are probably still
copyrighted by Commodore. You will need the following ROMs:
* BASIC ROM (8192 bytes) which should be named ROM-BASIC
* Font definition ROM (4096 bytes) which should be named ROM-Char
* Kernel (8192 bytes) which should be named ROM-Kernel
These should be placed in Arcvic's directory. You can find them on
ftp.funet.fi or on the Arcvic homepage:
ftp://ftp.funet.fi/pub/cbm/firmware/vic20/
ftp://ftp.funet.fi/pub/cbm/firmware/characters/
http://wwwhome.cs.utwente.nl/~schooten/software/vic-20/arcvic.html
or
http://www.geocities.com/TimesSquare/Alley/3583/arcvic.html
It is possible that the files you find on Funet or other FTP sites are
actually 8194 or 4098 bytes in size. This means they are in BIN format
instead of raw format (see also the section on file formats). Delete
the first 2 bytes from the file to convert them.
How do I run programs on it?
----------------------------
Well, first you obtain some from the 'net, for example from the Funet site
ftp://ftp.funet.fi/pub/cbm/
In case a program does not consist of multiple files, you drag the file
onto the Arcvic icon, and the emulation should begin automatically.
Two things may happen:
* In case it is a ROM program, the program should start automatically.
* In case it is a RAM program, the Vic-20 should boot normally into BASIC.
Once it has booted, press the F6 key (undelete program) and type
'RUN' <ENTER> to start the program.
There are also multi-part ROM and RAM programs. These are a little harder
to run.
* Multipart ROM programs: these are usually recognisable because they
consist of multiple files with the same name but with different suffixes
such as '-60', '-a0' or '.60', '.a0' or '.20', '.a0' or '6000', '-a000'
etc. There should always be an 'a0' part. Drag the parts onto ArcVic one
by one, dragging the 'a0' part last. After dropping the 'a0' part, the
program should boot automatically.
* Multipart RAM programs usually require some engineering to get them to
work. Sometimes you may get away by just treating the final part as
a single-part program.
Reference guide
===============
The Vic-20 keyboard
-------------------
Archimedes keys are mapped 1-to-1 to Vic-20 keys. However, the meaning of
some keys and key combinations is quite different. The mappings are chosen
as to be topologically close to their counterparts.
Archimedes VIC-20
----------- ------------
Left Alt CBM
tab Run/Stop
` Arrow Left
= +
[ =
] *
; :
' ;
\ clr/home
Keypad / ^
Keypad * @
Right Alt Crsr Up/Down
Right Ctrl Crsr Left/Right
Emulation hot-keys
------------------
* ESC: Back to desktop
Should be obvious
* F9-F12: Select frame skipping
Normally, frames are drawn every 'Vic-20' frame, which is about every
1/50th of a second. On slow (ARM-2) machines, you might want to use
frame skipping.
F9 - No frame skipping
F10 - Skip every other frame
F11 - Draw only one out of every three frames
F12 - Draw only one out of every four frames
* F8: Toggle use of Vsync
Normally, Arcvic waits for the vertical sync before rendering the screen.
On slow machines, you may not want any wait loops, so you can turn it
off using this key.
* F6: Undelete program
When you press F6 when inside BASIC, the program that is currently in
memory is undeleted. This can be used to resurrect a program after
the system has been reset.
* Make screen grab (F4)
A screen grab is saved to the file <Arcvic$WorkDir>.screengrab
Menu items
----------
* Reset
Reset as if issuing a RESET signal to the Vic-20 hardware. If there is
a bootable ROM program present, it will be booted, otherwise BASIC is
booted.
* Total reset
Like Reset, but wipes all memory clean and reloads the ROMs first.
* Autoboot
With this option turned on, the emulator will try to automatically set
the memory expansion and reset, according to the start address and the
size of the program that is dragged onto the Arcvic icon.
* No/3K/8K/16K/24K RAM exp
With these, you can select each of the standard memory expansion modules
as could be slotted into a real Vic-20. Note that a change in memory
expansion only takes effect after resetting the Vic-20.
* Save BASIC
The program currently in the BASIC area (the area between the BASIC start
and end pointers 43/44 and 45/46) is saved to disk. This program can be
loaded again by dragging it onto Arcvic, letting the Vic-20 boot, and
pressing F6 (undelete).
The program is saved to the file <Arcvic$WorkDir>.vicbasic
The Vic-20 image file formats
-----------------------------
The Vic-20 program images typically come into two formats: BIN (also called
PRG), and raw data.
The system ROMs (ROM-BASIC, ROM-Char, ROM-Kernel) are assumed to be raw
data.
All files dragged onto Arcvic are assumed to be BIN files. Essentially, BIN
files are just like raw data, but with a two-byte header. This header
contains the start address of the program in little-endian format.