Image files are files that contain a complete copy of an ancient Commodore 64 data medium, like a diskette or a tape. An image file represents a single file in the host operating system, but since it represents a floppy disk or tape to the emulator it can internally hold many files for the Commodore 64. Image files are used to load existing software like games into the emulator. They can be obtained from internet sites like www.c64.com, many others exist.
The following image file formats are supported by Route 64:
.d64 – A copy of a Commodore 1541 floppy disk.
.t64 – A Datasette tape.
.p00 – A binary format only able to hold a single file.
.prg – A raw C64 file.
To execute the files that are in an image file several steps have to be performed. The first one is to attach an image file to the emulator, this corresponds to inserting a floppy disk into the disk drive or putting a tape into the Datasette. To attach a file to Route 64
Drag the image file on the Route 64 main window and drop it there.
Use File/Open... from the menu (or the Toolbar button) and select the image file.
If the attach operation was successful, the name of the attached image file is displayed in the message area at the bottom of the main window. After the image file is attached to the emulator one of the Commodore 64 files contained can be loaded. Again there are serveral options:
The load combo box on the toolbar shows the files that are
contained in the image. A press on the <TODO link image>
button to the right of the combo box results in a load of the shown
file plus an attempt to RUN
the loaded file. The LOAD
operation that is perfomed is a normal load to the begin of
the BASIC memory, the equivalent C64 BASIC statement is LOAD
"<selected file>",8
, where the 8
designates the floppy drive and varies automatically depending on
the attaced image file. If the Commodore 64 file has to be loaded
with the statement LOAD "<selected file>",8,1
meaning a load to a memory address contained in the file, the
toolbar load should not be used.
The LOAD
BASIC statement in the emulator works
like in the original. Type in the necessary LOAD
statement and RUN
the loaded file just as you would do
on a real Commodore 64. As a reminder, there are two basic LOAD
statements:
The first one is LOAD "<file to
load>"[,device]
, where device
is either
1 for a load from a Datasette tape or 8 for a load from the 1541
floppy drive. On the orginal Commodore 64, if device
is
not specified the system tries to load the file from tape. Route 64
is smarter and adds the right device
based on the
attached image file. This form of the LOAD statement loads a BASIC
program into memory and requires a RUN command to actually start
execution. Note that technically many games on the Commodore 64
where BASIC programs, consisting of a single line of BASIC that
jumped to the start address of the actual assembler code contained
in a large data area that was located in BASIC RAM behind the single
BASIC line.
The second form of the LOAD
statement
is an extension of the first: The statement LOAD "<file
to load>"[,device,positionFlag]
adds a positionFlag
to the statement. If this is not specified or specified as 0 (zero)
that means the file should be loaded to the begin of the BASIC
memory. A value of 1 for the positionFlag means that the file is to
be loaded to a start address contained inside the file itself. This
form has sometimes been used for games that had an autostart
feature, i.e. required no explicit RUN
statement after
the LOAD
operation.
The emulator also supports a less known feature of the Commodore 64 that triggered the execution of a LOAD and RUN statement by entering the key combination Shift-RUN/STOP. This results in the load of the first file from the attached image file and the execution of a RUN statement.
Finally, Route64 allows to attach an image and define the
file to load from the command line by using the command java
-jar route64*.jar [<imageFile> <initialFile>]
.
The imageFile is the filename name of an image file that is to be
attached. The initialFile is the file to load and start from inside
the image. If this parameter is specified on the command line, the
emulator tries to load that file and afterwards a RUN is tried. If
no initial file is specified, the image file is loaded and further
loading of files has to be done by the user with the 64's BASIC LOAD
instruction.
Last modified: 2004/12/11 | Comments | Copyright © 2006 Michael G. Binz |