CBM EMULATION FAQ - (Version 4.0beta, x January 1999)
=================
* This FAQ is usually posted twice a month on the 4th and 19th to
* comp.emulators.cbm. Since comp.emulators.cbm was set up to remove the
* emulator discussion from comp.sys.cbm, this FAQ will not be posted there.
Lines preceeded by a '+' have been added or modified since the last version
was posted. Lines preceeded by a '*' are most likely outdated and due to
change sooner or later.
The FAQ is in four parts due to its size.
Part 1 is general information and a list of available emulators.
Part 2 is questions and answers.
Part 3 is mostly data.
Part 4 is basically reviews of various emulators.
---------------------------------------------------------------------------
3.5 How-to...
1. Playing multi-disk-image games with C64S 1.0C
2. Using VIC-EMU.
3. Running certain games.
4. Converting between different file formats.
==========================================================
1. Playing multi-disk-image games with C64S 1.0C
[Note that v1.1b of C64S allows multi-disk games without hassle. I
include this since some people may not like the time limit in the
shareware version of C64S 1.1b/c. -csj]
J. Kevin Wells - nstn1297@fox.nstn.ca writes:
There is a method of playing multi-disk-image games with C64S 1.0C shareware.
The method is a bit cumbersome and works best with games that involve
infrequent disk changes.
1. Copy the first disk-image file as TESTDISK.D64.
2. Start C64S.
3. Load and play the game until you are prompted for a new disk.
4. Press F9 to bring up the utility options. Press Alt-T to enter the
tape-image section and press enter on TESTTAPE.T64.
5. Press F to select the Freeze option and type in a file name. Your game
will be saved to the tape drive. If the tape drive is full, delete a file
you do not need.
6. Press ESC to exit to the C64 emulator.
7. Press CTRL-BREAK to quit C64S and exit to DOS.
8. If the game has altered the disk-image in any way (saved your game to the
disk, for example), copy TESTDISK.D64 back to its original file name from
step 1.
9. Copy the requested disk-image file (usually Disk 2) to TESTDISK.D64
10. Start C64S again.
11. Press F9. Press Alt-T to enter the tape-image section and press enter on
TESTTAPE.T64.
12. Select the file you froze in step 5. Press ESC to exit to the emulator.
13. Press Shift-TAB to load and run the frozen program. The game should be
at the point where it is requesting the disk change. Follow the program's
instruction for signaling that you've changed the disk.
14. When prompted for another disk, repeat the process at Step 4.
One thing to keep in mind is that the Frozen program is kept on the tape
drive until you delete it. You might want to delete the frozen file when
you're finished playing the game, or between disk swaps. Remember that you
can use this frozen file to restore your game at the point it was frozen
again and again. The Freeze option is a very powerful feature, similar to
the Snapshot cartridge on the original C64. You can use it to save virtually
any program at any point - even games that don't have a save function.
I haven't tested this method of using multiple disks with every game out
there, but the ones I did try seemed to work. Try the method out with a
particular game, if possible, before getting into any heavy gaming sessions.
[note, again, that none of this stuff needs to be done with C64S 1.1b,
since it allows multi-disk games without hassle. The information is
included just in case you find the ten-minute timer on C64S 1.1b annoying.]
---------------------------------------------------------------------------
3. Using VIC-EMU.
Question:
Hi, I'm currently trying to use Peiter van Leuven's VIC-EMU to run some
VIC-20 software on my AMIGA. I have some VIC files on Amiga Formatted
floppy's as well, but the documentation doesn't say how to run it with the
emulator! It does suggest that you have to use memory addresses, but how
do us non-programmers know what memory addresses to use for a binary file
or a BASIC file? I've had no success. The command structure is like this;
vic-00 $???? filename
What is the proper address for ???? in order to get a program to run?
-------
Answer 1:
Well, you might be asking about at what position Basic starts on the VIC.
On an unexpanded machine, it starts at $1000 (and load file at $1001).
On a +3k machine (as the emulator default), it starts at $0400 ($0401)
On a +8k machine and more, Basic starts at $1200. (load at $1201)
Binary files normally load with LOAD "name",device,1 and you have to
find out where to load it yourself. (I know there's a method by looking
at the first bytes of the file, but I don't know how).
BTW: The version of VIC-EMU doesn't seem to load files inside the emulator
very well (e.g the load-command hangs, and there's no RESTORE key).
-------
Answer 2:
Well, Pieter sent me a message letting me know how to load a BASIC or
disk image file into the VIC-EMU. There is a way to find out what position
a file starts at, you look at the first four bytes of the file and then
switch them around, or something to that effect. Once you have done that you
use that number as the memory address:
vic-20 $1000 filename
Then from the VIC emulator screen you type LOAD "filename",8 and it will
load it. However, my problem is that from the CLI command, I'm not clear
on what filename I'm supposed to include! The filename for the program I
want to load or what? The emulator won't activate unless you include a
filename in the CLI command, but putting the filename for the disk-image
file you want doesn't seem to do anything, you still have to load it the
old fashioned way (LOAD "",8) to get it to show up. I guess my question
is; how do I just make the emulator activate (i.e. just like a vic after
power up) without having it run a program, etc
---------------------------------------------------------------------------
4. Getting certain games to work.
a. Racing Destruction Set
Oh, I bet I know what your Racing Destruction Set problem is. It's the
one that the game tells you to flip to side two, but it never tells you
to flip to side one. It's understood that you flip back to side one at
every significant pause in disk acess. In particular, if you modify a
car, then flip the disk back to side one before you leave the car
modification menu. After loading a track from side two, when you want to
return to the menu, flip back to side one BEFORE telling it to go back,
because it will hapilly try and load the menu from side two and crash.
From: Chuck Cochems (zaphod@camelot.bradley.edu)
b. Mail Order Monsters
This is a hint that works wonders on the 64 version of the game:
Copy your original disk (obviously not necessary for the emulators) and
change the disk name and ID (with a disk editor or utility program) to
"ownerdisk,ea" This makes your master disk an owner disk (there's ~100
blocks free on the original, each owner takes ~1 block of Commie disk
space, so you'll probably not have to worry about running out of
disk space.)
I have about 9 owners on a copy of the disk, and we have a lot of fun with
this game. Just keep hitting RETURN when it wants a disk. Enjoy.
From: Michael Miller (mmiller3@gac.edu)
c. Bruce Lee
Actually, I have yet to find a version of this game which doesn't crash
on a real C64 (NTSC or PAL). So, my advice is to reset and try again
if the game crashes on you.
4. Converting between different file formats.
Q: How can I convert the ZipCode files (1!..,2!..etc.) found on various
ftp-sites to a format usable by the emulators?
A: Grab the file zip2d64.arj on any of the emulator ftp-sites. The
syntax for conversion is:
zip2d64 zip.gam zipgame.d64
to convert the files 1!zip.gam
2!zip.gam
3!zip.gam
4!zip.gam
to the file zipgame.d64.
Alternatively, several C64 transfer utilities (64Copy and Star
Commander) have built-in utils for ZipCode conversion.
Q: OK, but what about Lynx files (*.lnx)?
A: On the emulator ftp-sites there is also a DOS executable that
extracts files from a Lynx archive. Alternatively, you can down-
load the C64 utility "Omega-Q" from the /utils directory at frodo
etc. Put the .lnx file into a .d64 file, run Omega-Q and unlynx
the files directly to a .d64 quickly and easily.
The C64 transfer utilities 64Copy and Star Commander also are able
to convert Lynx files to a usable format.
4. A list of ftp sites where emulation programs can be obtained.
----------------------------------------------------------------
Some of the emulation programs are duplicated at other sites. I have not
listed every site that has a certain emulator, although I may have listed
more than one site that has that emulator.
If you would like to more about other cbm ftp sites then read the ftp list
* which is posted to comp.sys.cbm regularly by Howard Herman
* (72560.3467@CompuServe.COM).
+ Moreover, Paul Irvine posts a regular FAQ in comp.emulators.cbm called
+ "Where to find C64 software", which is more games-oriented and my personal
+ recommendation if you are looking for games.
Any site maintainer who wishes their site listed here only needs to send
me mail advising me of that fact!
Format for listing:
Site.Name /Directory
MACHINE - program name
4.0.1 Site Maintainers.
If you have any questions about specific emulator sites, then please
contact the person named below.
Site:
-----
ftp.funet.fi cbm-adm@ftp.funet.fi
* ftp.giga.or.at Guenther.Bauer@giga.or.at (Guenther Bauer)
* arnold.hiof.no jonko@arnold.hiof.no
4.0.2 Site IP addresses.
Site:
-----
* frodo.hiof.no 158.36.33.4
* ftp.seattlelab.com 204.250.145.1
* 4.0.3 Emulators & Games WWW Pages
With the rapid proliferation of Web sites having CBM info., it seems
fitting that they have their own section.
http://www.hut.fi/~msmakela/cbm 85 then if peek(x)<>85 then 1000
530 if peek(x)<>170 then 1000
540 if peek(x)<>85 then 1000
550 if peek(x)<>170 then 1000
560 m$=chr$(peek(57342)): rem $dffe
570 print "manufacturer = '"; m$; "' ";
580 if m$="a" then print "(c64alive)";
590 if m$="f" then print "(frodo)";
600 if m$="p" then print "(pc64)";
610 if m$="s" then print "(c64s)";
620 if m$="v" then print "(vice)";
630 if m$="/" then print "(power64)";
640 print
650 :
700 v=peek(57341)*256 + peek(57340): rem $dffd/$dffc
710 h$="0123456789abcdef"
720 for i=0 to 3
730 v$=mid$(h$,1+(v and 15),1)+v$
740 v=int(v/16)
750 next
760 print "version = $";v$
770 print
780 :
800 i=57248: rem $dfa0
810 x=peek(i)
820 if x=0 then print: end
830 print chr$(x);
840 i=i+1
850 goto 810
860 :
900 rem -------------------------------
910 rem these are manufacturer-specific
920 rem workarounds, which should be
930 rem replaced with the official
940 rem emulator detection method
950 :
1000 if peek(60682)<>0 then 1100: rem $ed0a
1010 print "c64 software emulator"
1020 print "(c)1991-94 miha peternel"
1030 end
1040 :
1100 if peek(60736)<>0 then 1200: rem $ed40
1110 print "x64 (version 0.2.0 or 0.3.0)"
1120 print "(c)1993-94 j.sonninen/t.rantanen/j.valta"
1130 end
1140 :
1200 x=57087: rem $deff
1210 if peek(x)+peek(x)+peek(x)<>0 then 2000
1220 print "c64alive"
1230 print "(c)1993-94 f.littmann developments"
1240 end
1250 :
2000 print "this is an original c64 or c128"
You can distinquish a real C128 from C64 by testing the VDC status register
at $D600/$D601: If the value written to $D601 remains intact, its a C128 in
either mode, otherwise a real C64. There is no way (or need) to tell C64
from C64c though.
7.4 Other sources of information.
There are a number of WWW addresses that may be of interest...
- The Commodore 64 WWW Server.
(Has a few c64s and x64 documents)
http://www.hut.fi/~msmakela/c64.html
- WWW Personal Computing and Emulation Homepage
(General emulator pages, not just Commodore)
http://www.cs.umd.edu/users/fms/comp/
- Commodore emulation
(The Commodore section from the link above)
http://www.cs.umd.edu/users/fms/comp/Emulation/Commodore.html
* - The Versatile Commodore Emulator / Simulator
* (Offical site for Vice/x64)
* http://stekt.oulu.fi/~jopi/x64.html
- Commodore 64 computing
(Home of the comp.sys.cbm FAQ)
http://www.msen.com/~brain
- Frodo and ShapeShifter Homepage
(Official site for the Frodo emulator)
http://www.uni-mainz.de/~bauec002
* - The Official PC64 Homepage
* http://ourworld.compuserve.com/homepages/pc64/
- The Power64 Homepage
http://www.auto.tuwien.ac.at/~rlieger/Power64/Power64.html
- The Free64 Homepage
http://home.gvi.net/~martin/
=========================================================================
               (
geocities.com/area51/vault/8611)                   (
geocities.com/area51/vault)                   (
geocities.com/area51)