









C64S - Commodore 64 Software Emulator
Registered version 1.0C, June 1994
c 1991-1994 Miha Peternel




C64S USER'S MANUAL























This document is c 1994 by Miha Peternel. No part of this document may be
reprinted without written permission of the author.

____________________
1. INTRODUCTION AND INSTALLATION 


Welcome to a software emulator of the good old fat C64. It will allow you to
run most of the original C64 software on your PC.

The C64S emulator and accompanying utilities are copyrighted c 1994 by Miha
Peternel and may not be copied, sold, hired or distributed in any way without
written permission of the author. C64 and 1541 ROM code is copyrighted c by
Commodore Business Machines.

Minimum requirements:
- 386 or better
- 640K RAM (500K low ram free)
- VGA display (register compatible)
- DOS 3.3 or higher

Optional:
- a soundcard:
  Gravis UltraSound (best for sound output)
  Sound Blaster (all versions or DSP compatible soundcards)
  Covox or compatible DAC (digital to analog converter)
- PC joystick (1 or 2)
- tape/floppy interface

You need at least a cached 386DX40 with a fast VGA for real time emulation. A
soundcard is recommended, though the sound can also be played through PC
speaker (at rather low quality).


Installation

To install the C64S software, insert the distribution diskette in your disk
drive and log to that disk drive.  For example, if you are using diskette
drive A:, type
	 A: 
at the DOS command prompt.  Then type
	 INSTALL.

The installation software will unpack the C64S files and copy them to your
hard drive.  It will prompt you for the destination directory;  the default
is C64S.

Files

The following files are essential for proper emulator operation:
- C64S.EXE                      C64 Software Emulator (for 386 and better)
- SYSTEM.EXE            C64S system emulation
- CONFIG.EXE            C64S hardware configuration utility
- ROMCODE.C64           C64 and 1541 ROM code

The following utilities make life easier:
- COM1541.EXE           Transfers 1541 disk contents to .D64 files
- TAPEIO.EXE            Turbo Tape loader for PC
- MAKETAPE.EXE          Creates .T64 files and imports .PRG files
- FIXTAPE.EXE           Fixes bad CONV64 created .T64 files

Documentation:
- C64S.DOC                      This document in Word 6.0 format
- LPT1541.DOC           1541 connection scheme
- LPTTAPE.DOC           Tape recorder connection scheme
- T64.DOC                       .T64 file structure
______________________
2. CONFIGURATION


C64S comes with an automated configuration program, which lets you easily
configure emulator options to best suit your hardware. To start the
configuration program, change to the C64S directory and type on the command
line:

	CONFIG

Or in case of any troubles:

	CONFIG -s

The configuration program will autodetect the presence of soundcards and
analogue joysticks. Some users may have many add-on cards installed in the
computer in which case the autodetection procedures may fail or even crash
the computer. If you notice any such trouble try running the configuration
program with -s switch. This switch will tell the program to skip
autodetection procedure.

The configuration program will then try to read current saved settings. If no
settings are saved, it will use default settings. Also, you can always use -d
switch to use default settings instead of the saved settings.

In the configuration screen, you may use Up and Down arrows to move around,
Left, Right and Enter keys to change the highlighted setting.


Configuration overview:

- Sound Output
C64S can autodetect the Gravis UltraSound and Sound Blaster (or true DSP
compatible) soundcards. If the sound output is set to Autodetect, the
priority of selecting sound output is: GUS, SB, PC speaker. If the
configuration program fails to detect your soundcard's port, try setting it
manually in the configuration screen.

- Tape port & 1541 port
These port settings are used by COM1541 and TAPEIO utilities.

- Analogue joysticks
This option must be set to Autodetect to use analogue PC joysticks. C64S
provides two methods of scanning joysticks. Compensating mode takes less CPU
time but might fail with some joysticks or newer "speed compensating" game
ports. Compatible mode will work with all joysticks. You are advised to try
Compensating mode first. If it fails, change to Compatible mode.

- Video mode
C64S works in two VGA modes. Default Extended mode is VGA 368*240 pixels, 16
colors. Compatible mode is provided in case you are running the emulator on a
laptop with LCD display or your monitor cannot display Extended mode.
Compatible mode is standard VGA 320*200 pixels, 16 colors.

IMPORTANT: If you run C64S in multitasking environment such as Windows or
OS/2, you are strongly advised to disable sound output and set the joystick
scanning mode to Compatible. This will prevent general slow down and other
difficulties in such environments. Exit the environment and run C64S from
plain DOS to enjoy full emulation performance.

When you have finished with configuration, press End and Return to save
settings and exit. You may always press Esc to abort configuration without
saving.

___________________
3. FIRST STEPS


This chapter provides a quick overview of how to load and run C64 programs
after the emulator has been installed and configured.  For further details,
see the following chapters.

1. If you are running the emulator for the first time, and you have not run
the CONFIG utility yet, please refer to the previous chapter for the
information about hardware configuration.

2. Run the emulator by changing to the emulator's directory (if necessary)
and typing on the DOS command line:

	C64S

  The well-known blue C64 screen appears.

3. Press F9 to get to the tape file screen. Select a tape image file using
arrow keys and press Enter. The selected tape is now "open" and you will
enter tape directory screen with the list of files stored in the selected
tape image file. Select a file and press Enter. Now you will be returned to
C64 screen.

4. Press SHIFT+TAB (which equals SHIFT+RUN/STOP), which will load a tape
program and run it automatically.

5. Press F10 to enter the joystick option screen. Configure the joystick port
emulation as you wish. You can even change the keys to emulate joysticks.
IMPORTANT: If you are using analogue PC joystick and you are running the
emulator for the first time, press 'R' and follow the steps to recalibrate
the joystick.

6. After you have finished configuring joystick settings, press ESC to get
back to C64 screen and enjoy the nostalgia. :)

7. You can always press F10 to enter option screen, where you can adjust
numerous emulation settings to improve the behavior of the program you are
running.

8. To leave one program and load another, press CTRL-ALT-DEL to reset the
emulator and proceed from step 3.

9. CTRL-BREAK gets you back to DOS prompt.

________________
4. EMULATOR KEYBOARD


The keyboard layout is the same as the original C64 with some exceptions due
to the different layout of the PC keyboard.

Some special emulator features make the work with the emulator easier. The
tapes and disks to be used with the emulator are stored in a special format
(so-called image files) on the hard disk. You can select the tape position or
a disk using emulator desktop. Emulation settings can be changed either with
the CONFIG program (hardware settings) or in the option screen (other
settings).

The following keys have special meaning:
- F9 enters emulator desktop
- F10 enters joystick option screen
- F11 pressed prevents screen updates
	(Great for uninterrupted sound reproduction)
- ESC is an exit/cancel key
- CTRL+BREAK exits the emulator
- CTRL+ALT+DEL or CTRL+ALT+BackSpace emulates reset
- CTRL+ALT+INS causes brutal reset (for reset-protected programs, actually it
rewrites the CBM80 sign and performs a normal reset)
- PRINT SCREEN captures screen to a Windows bitmap file (filename
C64S0xxx.BMP)

Table of replaced keys with their equivalents:
- C=                    Alt
- Ins/Del               BackSpace
- Clr/Home              Home
- L                     Insert
- (                     Delete
- Run/Stop              Tab
- Restore               F12

Default joystick emulation keys:
- Primary set (1st emulated joystick):
  Default primary set consists of arrow keys and right Alt key.
- Secondary set (2nd emulated joystick):
	W       up
	S       down
	U       left
	I       right
	O       fire
_________________________
5. EMULATOR DESKTOP


Press F9 in the emulator to enter the emulator desktop. The desktop consists
of multiple screens that allow you to manipulate the tape and disk images
used in the emulation.  You can change several emulation parameters, and you
can even monitor the emulator CPU and memory (both C64 and 1541).

The top screen line represents the main menu. Press the Alt key to enter the
main menu. Move around with arrow keys and select a topic by pressing enter.
Or you can select a main menu topic directly by pressing Alt plus the
highlighted letter.

In all the desktop screens, the bottom screen line lists the actions
available. Press the highlighted letter (without Alt) to select the action.
Enter will always select the leftmost action.

The following is the list of desktop screens and functions available:


5.1. TAPE

The tape file screen lets you select the tape image file to be used in the
emulation. Move around with arrow keys, then press Enter to select the tape
or change the directory.  When you select a tape image file, you will enter
the tape directory screen. Move around and press Enter to set the tape
pointer position. You will get back to the emulation screen. When you enter
the LOAD command or (Shift+Tab to LOAD and RUN), the emulator will read a
file from the position set in the tape directory menu. When saving a file,
the emulator will always add a file to the end of the tape image, regardless
of the position set (it will not overwrite anything).


The actions available in the tape file screen are:
- Open
  Opens the highlighted tape image file and enters tape directory screen
(equivalent is Enter).
- Files
  If a tape image file is open, it jumps to the tape directory screen
(equivalent is right arrow key).
- Description
  Lets you edit the highlighted tape's description.
- New
  Enter the file name, tape description and maximum directory size, and the
emulator will create an empty tape image file.

The actions available in the tape directory screen:
- Set
  Sets the tape pointer position and returns to the emulation screen
(equivalent is Enter).
- Tape
  Jumps to the tape file screen (equivalent is left arrow key).
- Name
  Lets you edit the highlighted file's name.
- Delete
  Deletes the highlighted file.
- Import
  Select the file from the file list and the emulator will import it to the
selected tape image file. The files to be imported must be in the two
formats:
- standard 1541 .PRG format: 
  2 bytes - load address, other bytes - file data. 
- German .P00 format
  8 bytes - "C64File" description, zero terminated
  17 bytes - file name, zero terminated
  1 byte - file type (now defaults to 0)
If the file selected is not in one of the listed two formats, you may get
unexpected results.
- Export
  Saves the highlighted file to a .PRG or .P00 file. All other extensions
default to .PRG format (you can not export to a .T64 file).
- Freeze
  Saves the full emulator state in a file. When you load such a file, it will
start automatically from the point when it was saved. This function is not
yet standardized. That means that the files you save with this function may
not be loadable in the forthcoming versions of C64S.


5.2. DISK

  Actions in the disk file screen:
- Select
  Selects the disk image to be used in the emulator (equivalent to pressing
Enter).
- New
  Enter file name, disk title and disk ID and the emulator will create an
empty disk image file. To use it, select it in the disk file screen.


5.3. OPTIONS

  There are two option screens available: the general options screen and the
joystick options screen.
  The option screen actions are:
- Change
  Changes the highlighted option. It either selects the highlighted radio
button, changes the check box status or asks you to edit the highlighted
field. If the radio button list title is highlighted, Change selects the next
radio button.
- Joystick
  Enters joystick option screen.
- General
  Enters general option screen.
- Recalibrate
  Runs joystick recalibration. Move the joystick as the emulator asks you to
recalibrate correctly. If the emulator displays "Cannot recalibrate" message,
run CONFIG and check if analogue joysticks are enabled (the option must be
set to Autodetect). If joystick scanning mode is set to Compensating, try
setting it to Compatible. Save configuration, restart the emulator and run
joystick recalibration.


Options overview:

- Screen refresh
  C64 updates on-screen picture 50 frames per second in PAL or 60 frames per
second in NTSC version. That means the emulator must generate A LOT of video
data and transfer it to the VGA card. As this is the most time consuming part
of the emulation, the emulator allows you to control the screen refresh rate
thus making possible to achieve original emulation speed also on slower PC
computers. However, if the screen refresh rate is too low, it might affect
the animation smoothness, or, in some cases, it will disturb the functions
that depend on accurate screen refresh rates.  For example, some games use
hardware sprite collision detection, which occurs only when the screen is
updated. Keep this in mind if you notice such problems (bullets flying
through objects or similar).
Screen refresh settings:
- Synchronized
  Automatically synchronizes the screen refresh rate with the speed of your
computer. It will autoselect the screen refresh rate between original refresh
rate and the custom frame rate. This way you can limit the lowest frame rate.
It is advised that you input the custom frame rate between 1/3 and 1/10 and
set the screen refresh to synchronized.
- Original
  Selects original screen refresh rate (1/1).
- Custom
  Selects custom screen refresh rate. 1/X means 1 out of X frames is
displayed. 1/1 means each frame is displayed, 1/10 means only every 10th
frame is displayed thus saving 90% time for faster CPU emulation.

- CPU speed
  C64's 6510 CPU runs at a fixed clock speed of around 1 MHz. The emulator
lets you control the CPU speed, which is useful in some applications.
However, to achieve higher CPU speeds you need a fast PC (486/66 will run at
250-450% speed). The percentage displayed in the parentheses in the general
option screen is the current estimated speed.
  CPU speed settings:
- Original
  Tries to near original (100%) speed.
- Maximum
  Forces maximum achievable speed.
- Custom
  Use this setting to force a desired speed.
IMPORTANT: To achieve higher CPU speeds, you must set the screen refresh to
synchronized or to custom at a frame rate in range of 1/10.

- VIC options
  The emulator lets you control sprite emulation in order to gain faster
emulation or to cheat in the games that rely on the VIC chip when detecting
object collisions. Set all options to back to "on" for original emulation.

- Machine type
  There were two major types of C64 machines manufactured for two different
TV standards: PAL (used in Europe) and NTSC (used in USA). Though most of the
programs will run correctly independent of this setting, the emulator lets
you switch between the machine types to gain better compatibility. Try
changing this setting when you notice on-screen garbage or music playing
either too fast or too slow.

- Joystick options
  You can control the emulation of two C64 joystick ports. You can use
keyboard emulation or analogue joystick emulation. To use analogue joysticks,
they must be enabled in the hardware configuration (set to Autodetect) and
successfully recalibrated.
  The emulator allows you to define two joystick key sets. Primary key set is
used, when only one joystick is emulated. Both key sets are used, when both
joysticks are emulated by keyboard. In this case primary key set emulates
joystick port #2, and secondary key set emulates joystick port #1.
  IMPORTANT: When keyboard joystick emulation is enabled, the keys used for
joystick emulation don't respond in the original way anymore. For example: if
key 'A' is used to emulate joystick direction, you won't be able to type the
character 'A'. When such conflicts occur, either press F10 and disable
keyboard joystick emulation, or change the keys used for joystick emulation
so they will not conflict with the keys that need to operate originally. Some
keyboards also behave strangely when multiple keys are pressed at the same
time. This is the most annoying when emulating a joystick.  For example, you
might notice that you can't move up-left and shoot at the same time. If you
notice such or similar behavior, try changing the joystick emulation keys.


5.4. MONITOR

  A built-in monitor lets you watch the programs when running. In the monitor
screen you see:
- 6510 registers (top right)
- 6510 code (top left)
- memory dump (bottom)
  Move around with arrow keys, move faster with Page Up, Page Down, Home and
End keys.
  Data dumped at I/O addresses $D000-$DFFF is the latest data written or read
from the I/O address, it is not always what CPU will read next.

The actions available are:
- Mode
  Switches focus between code and dump.
- Bank
  Selects memory bank. 0-7 selects a C64 bank (equal to low 3 bits of memory
location $01), 8 selects emulated 1541 memory.
- Goto
  Prompts for a new address and jumps to it.
- Where
  Moves code display to the instruction where emulation was interrupted.
- Trace
  Executes one instruction and moves code display.
- Step
  Steps over the instruction skipping code display of subroutine branches. In
case of a subroutine call, the subroutine is executed in debug mode. You can
interrupt subroutine execution by pressing Esc.
- Here
  Sets a breakpoint at the position of code display and runs C64 emulation in
debug mode until CPU reaches the instruction at the breakpoint or Esc key is
pressed.
IMPORTANT: Running C64 emulation in debug mode will cause 30-50% slow down.
Exit debug mode by pressing Esc, once you have finished monitoring the
programs.


5.5. HELP

  On-line help provides basic information the user needs when running C64S.
It is meant more like on-line reference and not a copy of the manual.

  Help usage:
- Use arrow keys to move around topics.
- Press Enter or R to jump to the highlighted topic.
- Press I to get help index.
- Use Page Up and Page down keys to list help screens.

___________
6. TIPS


Q: I selected a disk image file in the disk file screen. How can I use it ?
A: The 1541 drive operates in the original way. The CBM DOS commands (except
format) work, too. Type LOAD"$",8,1 to load directory, LIST to see it,
LOAD"prg name",8 to load a program (you may use wildcards) and RUN to start
it. To load a file to its original address, you need to type LOAD"prg
name",8,1. Run a machine code program writing SYS xxxx, where xxxx is the
program entry address (decimal).

Q: My display does not show the whole C64 screen.
A: Run CONFIG and set display mode to Compatible. This is mandatory if you
use a laptop computer with an LCD display.

Q: When I press certain keys the emulator seems to dump random characters,
arrows and numbers.
A: You need to enter the joystick option screen (press F10) and disable
joystick emulation. C64 scans keyboard and joysticks at the same I/O
addresses and this is a well-known side effect.

Q: Keyboard joystick emulation does not work correctly.
A: Try changing joystick emulation keys (press F10). Note that some keyboards
behave strangely when multiple keys are pressed at the same time. If you
notice that particular keys work O.K. when pressed one by one, but
malfunction when pressed together, you must change the joystick emulation
keys (find a combination that will work O.K. with your keyboard).

Q: I have difficulties using an analogue joystick. What can I do ?
A: You must recalibrate it in the joystick option screen (press F10 and 'R').
If the emulator displays the "Cannot recalibrate" message, exit the emulator,
run CONFIG and check that the analogue joystick option is set to Autodetect.
If the joystick scanning mode is set to Compensating, try setting it to
Compatible. When you change joystick scanning mode, you also need to
recalibrate joysticks in the emulator.   Also, if you are using a single
analogue joystick, try assigning analogue joystick emulation to one port
only.

Q: May I run C64S from Windows, Windows NT or OS/2 ?
A: Yes, but C64S runs much slower in such environments. This slow down
especially affects sound output. If you notice any trouble, you are advised
to run CONFIG, disable sound output (set to No sound) and set joystick
scanning mode to compatible.  Run C64S from plain DOS to gain best
performance.

Q: How can I achieve the highest possible emulation speed ?
A: Enter general options screen. Set the CPU speed to maximum. Set the screen
refresh to custom and enter custom frame rate 1/99. If the application does
not use sprites set show sprites to off. Press ESC and watch your application
go mad. To gain even more speed, run CONFIG and disable sound emulation and
analogue joysticks.

Q: I prefer 320*200 graphics resolution used in the demo version !
A: Run CONFIG and set display mode to Compatible.

Q: What is the best soundcard to be used for the sound emulation ?
A: Gravis UltraSound. It takes the least CPU time and seems to produce the
best output. I am also planning to write a special GUS driver to get crystal
clear C64 sound reproduction in near future.

Q: How can I listen to C64 tunes on a slower PC ?
A: Enter general options screen. First, set CPU speed to original. Set screen
refresh to synchronized and enter custom frame rate 1/10. Now press ESC. If
the sound seems to be disturbed, hold down F11. If this does not help, your
computer is unfortunately too slow.
_____________________
7. COMPATIBILITY


The following is the compatibility list.
+ means implemented and compatible (++ means new from v0.9)
- means not implemented or not compatible
* means planned in the future


  CPU

++ full 6510 instruction set
+ $01 memory banking
+ flags (not 100% compatible in decimal operations)
++ cycle counts
* boundary crossing I/O tricks


  VIC

+ all graphic modes
++ border
++ open border (upper and lower)
+ sprites
++ interrupts: raster, sprite collisions (no light pen IRQ)
+ multiplied sprites
+ hardware scroll
+ shrunk screen
++ cycle exact screen changes
++ DMA
++ screen snapshots
* forced DMA
* full open border (left and right)
* more $D011 and $D016 tricks


  SID

+ supports GUS, SB, DAC and PC speaker
+ all 3 channels
++ 8 bit sampled original waveforms (NEW ORIGINAL SAMPLES !!)
+ ADSR envelope control
+ master volume control
+ pulse width modulation
++ $D418 amplitude output
+ 8000 Hz synthesis
- no channel to channel effects
* a better GUS driver to get crystal clear original sound
* SB AWE 32 native mode driver


  CIA 1

+ keyboard emulation
+ joystick emulation
+ timer A
++ timer B
+ IRQ control
++ time of day (real time, no alarm)
* serial port
* rebindable keyboard


  CIA 2

+ VIC bank select
++ serial bus communication
++ timer A
++ timer B
++ IRQ control
* time of day


  1541

+ ROM level emulation (16K RAM & I/O + 16K ROM)
+ supports CBM DOS 2.6 commands except format
+ fast (ROM trapped) C64 to 1541 connection
+ image file operation
++ 1541 disk transfer utility
++ supports direct serial bus communication
* real 1541 connection
* protection support (sector errors...)
* improved (GCR coded) image file format


  TAPE

+ ROM trapped LOAD and SAVE routines
+ tape image files with directory
+ ultra fast loading
++ TapeIO Turbo Tape loader for PC tape connector
++ MakeTape utility


_____________________
8. FILE TRANSFERS


The emulator uses two types of image files to store the information in the
format C64 programs can handle. There are two types of image files:

- .T64 files represent tape image files. Though the C64 tape drives were slow
and unreliable, this type of storage on PC systems has certain advantages
over other methods. The most important is that a tape image file contains a
tape directory with the information about all the files stored in the image
file. This way you can easily see the contents and select the file you wish
to access. Instead of the slow C64 loader, fast PC routines take care of
loading and saving, thus minimizing the time necessary for such operations.
The last important feature is that multiple C64 files can be stored in one
tape image file. This helps you organize big collections of C64 software. The
emulator provides the tools for manipulating .T64 files: the tools built in
the emulator desktop, MAKETAPE utility for creating tape image files and
importing files, FIXTAPE utility to fix CONV64 created files and TAPEIO
utility, which is a Turbo Tape loader for PC.

- .D64 files represent disk image files. These files are actually a faithful
reproduction of the 1541 formatted floppy disk contents. They contain the
data of all disk sectors in the order they appear on a real 1541 disk. The
emulator emulates a 1541 floppy drive so that emulated C64 programs can read
and write emulated disks just like real disks. Of course, you can store
hundreds of floppy disks to image files and use them simply by selecting them
in the disk file selection screen. The emulator also includes a COM1541
utility that will let you transfer data from 1541 disks to image files.



8.1. Using the COM1541 utility

COM1541 will let you transfer data from 1541 (or compatible) floppy drive to
disk image files that can be used with the emulator. If you have a big
collection of 1541 disks, you can now easily transfer them to your PC system.

To run COM1541 successfully you need to do the following:
If  you are running COM1541 for the first time, run CONFIG and set the 1541
port to your LPT port's I/O address. If you do not know the address, you will
need to experiment to find the right one.
Connect the PC's LPT port and 1541's serial port with the cable (please refer
to file LPT1541.DOC for details about the connection).

Then you can run COM1541 by typing on the command line:

	COM1541

If you are not running COM1541 from the emulator's home directory, you need
to use a switch to specify LPT port I/O address. Use 1 for 278, 2 for 378 and
3 for 3BC. Example:

	COM1541 2

COM1541 will try to connect using LPT port at I/O address 378.

Upon successful program execution the 1541 drive led should blink and the
drive motor start running for a while. A short menu will display on the
screen:

	[D]     Display disk directory
	[I]     Import disk (BAM allocated sectors only)
	[F]     Import full disk (all sectors)
	[X]     Exit

Insert a disk to 1541 drive and press 'D' to see the directory. If  the
directory seems O.K., everything is ready for disk transfer. It is up to you
to select a method of disk transfer. Usually selecting 'I' will transfer the
disks the fastest and correctly. This method will transfer only the sectors
marked as used in the disk Block Allocation Map, but as C64 programmers
managed to do lots of irregular tricks with the 1541 floppies, not all
applications mark the sectors as used. Thus you can press 'F' to select full
disk transfer.

After selecting a transfer method, COM1541 will prompt for a file name. If a
file with the same name already exists it will be rewritten! You do not need
to add an extension, because COM1541 will add .D64 by default. If no file
name is given, the default file name is IMPORT.D64. If this is the case,
rename the file after transferring to avoid possible later difficulties.

When COM1541 finishes transferring the disk, exit with 'X'. The disk image
file is now ready to use with the emulator. Run C64S and check it.



8.2. Using TAPEIO utility

TAPEIO utility is actually a TURBO TAPE compatible loader for PC. The files
loaded without errors are stored to a .T64 file so they can be used
immediately with the emulator. To use it you need to connect a C64 tape
recorder to PC's LPT port (please refer to file LPTTAPE.DOC for details about
connection). A VGA compatible display is necessary for graphic display of
incoming tape data.

The syntax is:

	TAPEIO [tapename[.T64]] [port]

If you are running TAPEIO from the emulator's directory, it will read the
tape port selected with the CONFIG utility (default setting is 378). If you
want to select a different port, you must specify it on the command line. Use
1 for 278, 2 for 378 and 3 for 3BC. Run TAPEIO with no parameters to see the
list of LPT port numbers. TAPEIO will not load anything if the port is not
set correctly.

If a .T64 file with the given name does not exist, the utility creates an
empty tape image file.

When you run TAPEIO, you are first presented with a record joustage screen.
The border flashes and there is a red (dark) vertical line in the middle of
the screen. Now press PLAY on the tape recorder. What you should see on the
screen is the data coming from the tape recorder displayed as yellow graphics
scrolling up. If the communication is O.K., the yellow graphics should form
two jagged stripes. Now you can use Left and Right arrow keys to move the red
line in-between the stripes. Use Up and Down arrow keys to change the display
scale if necessary. This procedure is required to accommodate the loader to
the speed of your computer. You can use a screw driver to adjust the tape
head position in order to improve signal quality.

When the red line is located as described above, press Enter to start the
loader. The loader will start searching for a file header. When a header is
found, all the data is dumped onto the screen. When a file is being loaded,
the border flashes in blue colors and the increasing percentage is displayed
on the screen. This percentage tells the amount of the file already loaded.
If the file is loaded with no errors it is added to the tape image file given
on the command line. TAPEIO will continue loading files until the tape image
directory is full or it is interrupted by pressing ESC.

Press ESC at any time to exit TAPEIO and return to DOS.



8.3. Using MAKETAPE utility

If you transfer C64 files using the shareware X1541 utility, or if you
download them from a FTP site or a BBS, you will probably get the files in
the raw C64 format (with usual extension .PRG). The files look like: 2 bytes
- start address, other bytes - code. MAKETAPE allows you to create empty tape
image files and import raw C64 files. In addition to that MAKETAPE also
imports .P00 files.

The syntax is:

	MAKETAPE [tapename] [file1] [file2] ...

MAKETAPE first checks if tapename.T64 already exists. In this case it opens
the file, otherwise it creates an empty .T64 file with the given name. If the
tapename is succeeded by filenames file1, file2..., MAKETAPE adds each file
listed to the end of the tape file.

Example:
You have a file called JOKE.PRG, which you know is a C64 file. You would like
to create a new tape image file named "JOKES.T64" and import your file, so
you can use it in the emulator. The solution is as simple as that:

	MAKETAPE jokes joke.prg

Run the emulator, enter tape file screen and you will see a new entry "JOKES"
listed among other tape image files. You can edit the description. Open the
tape and "JOKE.PRG" will be listed in the tape directory.


8.4. Using FIXTAPE utility

The first demo version of C64S was released without the MAKETAPE utility. As
a result a quick hack utility CONV64 appeared. In best efforts to translate
C64 software into the .T64 format the respective author simply used the
Cybernoid's header, not knowing that a lot of important information is stored
in the .T64 file. Among other things, the program end address was not
adjusted according to the imported file's size. As a side effect many
crunched programs refused to work, longer programs did not fully load and
BASIC programs complained with an OUT OF MEMORY message. The emulator now
checks if it loads from a CONV64 file and tries to fix the mess. LOAD ERROR
message is generated to inform the user something is wrong. If you notice
such behavior, run FIXTAPE to fix the tape image file. You are encouraged to
make a copy of the file before trying to fix it for safety reasons.

The syntax of FIXTAPE is:

	FIXTAPE [tapename1] [tapename2] ...

FIXTAPE will check all the listed files (tapename.T64). It will display Fixed
upon successful correction or O.K. if the file needs no fixing. Run this
utility with one file tape images only !
_______________
9. CONTACTS


North American Representatives

For sales and support in North America, contact Seattle Lab:

	Seattle Lab
	214 First St.
	Kirkland, WA 98033
	U.S.A.

	Phone:  206.828.9001
	Fax:    206.828.9011
	Email:  lab@seattle.wa.com
	CompuServe:     71202,560
	FTP:    as.seattlelab.com

Author

In case you would like to contact me you can choose among the addresses
listed below. I prefer E-mail, because it's the cheapest, the fastest and I
will always get the messages if addressed to both E-mail addresses. I am
looking forward to hearing ANY ideas on how to improve the emulator (software
and documentation). Also, feel free to ask any questions.

Email:
  miha@rsc3.hermes.si (preferred)
  miha.peternel@abm.gn.apc.org
Email messages to both addresses if possible.

Phone:
  +386-64-311-959 (fax/modem on demand)
  8-11 PM, Central European Time

Snail mail:
  Miha Peternel (for C64S)
  Pot v Bitnje 66
  64000 Kranj
  Slovenia

Special greetings go to: Marko Makela, Uros Platise, Udo van den Heuvel, Jeff
Gilmour, Gert Ensing, Ulrik/Surprise! Productions and Gore/Future Crew.
______________
CONTENTS

1. Introduction
Basic C64S information.
2. Configuration
Hardware configuration guide.
3. First Steps
Step by step introduction to C64S system.
4. In Action
The differences between real and emulated C64.
5. Emulator Desktop
Detailed description of desktop and built-in tools.
6. Tips
Trouble shooting and tailoring emulation.
7. Compatibility
Detailed compatibility list.
8. File Transfers
A guide on file transfers with C64S utilities.
9. Contacts
Getting in touch with the author.
