home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Games Machine 38
/
ZGIDEMO.iso
/
Emulatori
/
free6401.zip
/
FREE64.DOC
next >
Wrap
Text File
|
1997-08-09
|
10KB
|
214 lines
Free 64
-----
version .01
---------
Released 8-9-97
-------------
This document describes the basic use of this emulator. I am only going to
take about five minutes to write this, so if you need help with anything,
please E-mail me. (OK so the ASCII art took a little longer than that. :) )
Command Line options:
____________________
free64 [t filename] [c]
* t-tells Free64 you want to load a tape file into memory. Filename is
the name of the T64 file. You will later be prompted for the
file in the tape image you wish to load. When the emulation starts,
typing RUN should execute the tape file. (Note: t MUST be first on
command line.)
* c-On default, Free64 will ask to calibrate your joystick the first time
you run it only. Use the c option to specify that you want to
calibrate anyway. (Note: If used with 't', 'c' must come after both
't' and the filename.)
Joystick support:
________________
Support for one PC joystick is supported. Use the NumLock key to change which
C64 joystick you wish to use. The keyboard indicator lights tell you which is
currently enabled:
_ Num _ Caps _ Scroll
|_|Lock |_|Lock |_|Lock
joy2 joy1 off
Joystick will be calibrated the first time you use Free64, after that the
calibration data will be stored in FREE64.CFG. If you delete or rename this
file, Free64 will ask you to calibrate the Joystick again. If you want to
recalibrate the joystick, you can also pass the 'c' option to Free64. (See
above)
Serial Bus Support:
__________________
Note: Only a 1541 Disk Drive has been tested, but theoretically, any serial
peripheral SHOULD work.
Free64's serial bus support uses a cable that connects to your PC's parallel
port. The pinout is below, but it is the same cable as is used in C64S (and
its utilities, like COM1541), X1541, Trans64, and Star Commander, that I know
of. Please note that Free64 assumes that your parallel port is at 0x378.
Maybe in the future I will let you specify other ports. Also, If you have
trouble with it, try setting your port to Normal mode, as opposed to EPP, ECP,
ECP/EPP, etc. It may work in those other modes, however it is untested. Both
the port location and mode should be able to be set in your BIOS setup. If you
need help with this let me know.
Cable Pinout: (copied from LPT1541.DOC from C64S)
____________
IBM Lpt port Female: CBM IEEE serial port Female:
┌─────┐ ╔════_════╗
Strobe──┼─1■ └───┐ ╔═╝ ╚═╗ _____
│ ■14┼──AutoFeed Data──╫──■5 1■──╫──SrqIn _____
(Data 0)│ 2■─┐ │ ║ 6■──────╫─────────Reset
│ └─■15│(Error) Clock──╫──■4 2■──╫──┐Ground
│ 3■ │ ____ ╚═╗ 3■ ╔═╝ ─┴─
│ ■16┼──Init ╚════╪════╝
│ 4■ │ Atn─┘
│ ■17┼──SelectIn ┌───────────┬───────────────────────────────┐
│ 5■ │ │ C64signal │ IBMsignal Lpt port + 2 │
│ ┌■18│ │ │ │
│ 6■ ├───┼──┐Ground │ 2 Ground │ 18..25 Ground │
│ ├■19│ ─┴─ │ 3 Atn │ 1 Strobe bit 0 │
│ 7■ │ │ │ 4 Clock │ 14 AutoFeed bit 1 │
≈≈≈≈≈≈≈≈≈≈≈ │ 5 Data │ 17 SelectIn bit 3 │
│ └■25│ │ 6 Reset │ 16 Init bit 2 │
│13■ ┌───┘ └───────────┴───────────────────────────────┘
└─────┘
Here's how I made my cable: I took an old serial cable: (I apologize for
sucky illustration :) )
_-------- --------_
|_| |==========//=========| |_|
-------- --------
Cut off one end: ___
_-------- /
|_| |==========//=========----
-------- \___
And soldered the wires onto a 25 pin male connector:
_
____O=| |_
| | |
| | |
_-------- | | |
|_| |==========//=========| | |
-------- | | |
| | |
|______ |_|
O=|_|
If you don't have a serial cable to cut up, I'm sure you could buy some kind
of connector at Radio Shack or somewhere that is 6-pin male and will fit your
1541 (or other serial bus hardware). As for the 25-pin male parallel port
connector, I did get that at Radio Shack.
No, I'm sorry, I can't make you a cable. If I can help in some other way, let
me know.
Sound Support:
-------------
Sucks. :) Basically, it takes the first voice's frequency and puts it through
the PC speaker. It was not a serious attempt at sound emulation, it was
mainly just so I could hear how the speed was, and whether certain programs
were running, since the VIC emulation sucks so bad that sometimes its hard to
tell. :) I'm sorry, there's no way to turn it off, but if a certain sound
seems to have stuck on (happens sometimes when a real SID's decay value would
have made the note inaudible) you can hit F8 and the current sound will stop.
Video Support:
_____________
Sucks. :) Text mode only, supports character/background colors, but not very
well:
Brown/Orange are same color
White appears grey on background
Yellow appears Brown/Orange on background
Dark Grey appears Black on background
Lite Blue/Cyan are same color(so cursor will be visible on blue)
Lite Red/Lite Green appear as Red and Green on background
This is due to the fact that the default 320x200 16 color text mode either
doesn't have those colors or won't support the lighter versions in background
colors. Of course, these problems will all disappear when I make a scanline-
based graphical VIC emulation. :)
Free64 does support VIC bank switching, but very little else. In fact, the
VIC emulation takes all of 12 lines in the source code. :) The reason is that
the 1541 support is the only thing that sets this emulator apart so it is the
first thing I want to perfect. When the 1541 works fine, THEN I'll worry
about graphics, sound, etc. etc.
Keyboard support:
----------------
The keyboard is currently mapped as close to a real C64 as possible.
Here are some of the special key definitions:
F8: turn off the current sound playing. Works if a note is stuck on,
but not if music is playing.
F9: RESTORE
F10: Puts an abbreviation for `LOAD "*",8,1<RETURN>' into keyboard
buffer. This gets handy sometimes. :)
NumLock:Switches between joysticks (see above)
ESC: Ends the emulation.
Other notes:
-----------
* Keep these files in the same directory at all times:
ORIGINAL.64K Kernal ROM file
ORIGINAL.64B BASIC ROM file
KEYTABLE.DAT Convert PC keystrokes to C64
FREE64.CFG Joystick calibration (Can safely be removed, if you
want to recalibrate your joystick.)
* I wouldn't put too much faith in the CPU usage report at the end. I'm
not even sure I figured it right, because one time I saw 108%. :)
Most of the time I get 50-60%, on my Pentium 166 with 83Mhz bus. I
realize this is kind of bad, and will work on it when I can. But, for
development purposes, it will probably only be speeded up when I can't
run it anymore. :) Also, if your CPU usage hits 100%, the speed of the
emulation will fall. Most of the time this happens during intense
reading/writing to either the SID or the serial bus. The latter is bad
because the serial bus timing is sensitive and if speed drops below 100%
original, most likely the emulation will stop and wait for something the
disk already did. No way around this, yet, but I am working...
* I'm no lawyer, but here goes:
This software is released with NO WARRANTY OF ANY KIND, expressed or
implied. I will try to help anyone that I can, but there is no
guarantee of support. I also will not be responsible for any
hardware/software/physical/mental damage. :)
All product names are trademarks/copyrights of their respective
companies. Anyone who feels I have tread on their rights to their
product should contact me and I will remove references to your
product. Keep in mind that I am 16 and don't have the kind of money
for a lawsuit. :)
You may use this program in any way you want, as long as you don't
redistribute it in any other than its original form. This includes
adding/removing files, hacking/editing files, etc.
Free64 v.01
Written exclusively by Butcha
Brad Martin <martin@gvi.net>
Check for new versions at:
http://home.gvi.net/~martin/