home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-10-10 | 44.0 KB | 1,207 lines |
-
-
- C64S - Commodore 64 Software Emulator
- Registered version 1.1B, October 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
-
-
- 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.0 or newer
-
- Optional:
- - a soundcard:
- Gravis UltraSound (best for sound output)
- Sound Blaster (all versions or DSP compatible soundcards)
- Pro Audio Spectrum (8 or 16 bit PCM)
- 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).
-
- The following files are essential for proper emulator
- operation:
- - C64S.EXE C64 Software Emulator (386+)
- - SYSTEM.EXE C64S system emulation (386+)
- - CONFIG.EXE C64S hardware configuration utility (286+)
- - ROMCODE.C64 C64 and 1541 ROM code
- - SIDWAVES.C64 SID waveforms
-
- The following utilities make the life easier:
- - COM1541.EXE Transfers 1541 disk contents to .D64 files (286+)
- - TAPEIO.EXE Turbo Tape loader for PC (286+)
- - MAKETAPE.EXE Creates .T64 files and imports .PRG files (286+)
- - FIXTAPE.EXE Fixes bad CONV64 created .T64 files (286+)
-
- Documentation:
- - C64S.DOC A guide to the emulator you are reading
- - LPT64.DOC LPT64 connector description
- - LPT1541.DOC 1541 connection scheme
- - LPTTAPE.DOC Tape recorder connection scheme
- - T64.DOC .T64 file structure
- - D64.DOC .D64 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 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, analogue joysticks and parallel (LPT) ports.
- 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 as
- suggested above. 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 Gravis UltraSound, Sound Blaster (or
- true DSP compatible) and Pro Audio Spectrum soundcards. If
- the sound output is set to Autodetect, the priority of
- selecting sound output is: GUS, PAS, SB, PC speaker. If the
- configuration program fails to detect your soundcard's port,
- try setting it manually in the configuration screen. Note
- that C64S can autodetect and use PAS soundcard only if
- MVSOUND.SYS device driver is loaded (this is done by the PAS
- installation program). The sound synchronization option
- determines at what level the emulator synchronizes emulated
- sound output with real sound output. Setting sound
- synchronization to High enables C64S to reproduce digital
- speech and other digital effects flawlessly, whereas Low
- setting saves some CPU time.
-
- - Analogue joysticks
- If this option is set to Autodetect, C64S will autodetect
- the number of analogue PC joysticks connected. Setting this
- option to 1 or 2 joysticks will force C64S to read the
- selected number of 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 colours. Compatible mode is provided in
- case you are running the emulator on a laptop with LCD
- display or if your VGA system cannot display Extended mode.
- Compatible mode is standard VGA 320*200 pixels, 16 colours.
-
- - External devices
- C64S supports real-time communication with external CBM
- devices connected to PC's LPT port. Setting Use external
- devices must be set to Autodetect or to Yes to use any
- external device. If you don't use any external devices set
- Use external devices to No to speed up emulator loading. The
- same goes for External 1541 drive and External CBM printer
- settings. C64S can autodetect printer as device 4 or 5, and
- 1541 or compatible disk drives as devices 8-11. The lowest
- device number (8-11) not assigned to external 1541 drive is
- assigned to emulated 1541 drive. The lowest device number (4-
- 5) not assigned to external CBM printer is assigned to PC
- printer.
-
- - PC printer port
- This port setting is used for direct PC printer
- communication. Default setting is LPT1, but you may need to
- change this setting if you have more than one LPT port. If
- you try to assign a non-existing LPT port, the selection
- will be marked as not available (N/A).
-
- - Tape port & CBM IEEE port
- These port settings are used by TAPEIO and COM1541
- utilities. CBM IEEE port is also used for direct 1541 and
- CBM printer communication. If you have only one available
- LPT port it will be autodetected. If you have many you are
- recommended to use LPT2 or LPT3 since LPT1 is usually a
- printer port. In case of a non-existing LPT port assignment
- the selection will be marked as not available (N/A).
-
- IMPORTANT: If you run C64S in multitasking environment
- (Windows, OS/2), you are strongly advised to disable sound
- output and set joystick scanning mode to Compatible. This
- will prevent general slow down and other difficulties in
- such environments, but still won't make possible to use
- external CBM devices. If you have a GUS, you may have sound
- enabled, but it may conflict with soundcard drivers used by
- operating system. Exit 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 step by step introduction is here to help beginners use
- the emulator for the first time:
-
- 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 emulator desktop. Press ALT T to
- reach tape file screen or ALT D to reach disk file screen.
- Select an image file using arrow keys and press ENTER. The
- selected image file is now "open" and you will enter the
- directory screen with the list of files stored in the image
- file.
-
- 4. Select a program with cursor keys and press L to load it.
- Pressing ENTER instead of L will return you to C64 screen.
- In this case you need to press SHIFT+TAB (which equals
- SHIFT+RUN/STOP) to load a tape program and run it
- automatically. To load and run a disk program type
- LOAD"NAME",8,1 and RUN.
-
- 5. Press F10 to enter 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
- behaviour of the program you are running.
-
- 8. When bored press CTRL-ALT-DEL or CTRL-ALT-INS to reset
- the emulator and proceed from step 3.
-
- 9. CTRL-BREAK gets you back to DOS prompt.
-
- Please read the following chapters for more information on
- emulator behaviour.
-
- ________________
- 4. IN ACTION
-
-
- The emulator emulates all the components of C64 needed to
- make the programs run correctly, display genuine graphics,
- synthesize sound, and emulate I/O operations.
-
- The keyboard layout is original C64 with some exceptions due
- to a different PC layout.
-
- 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 (referred to as
- 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 emulate 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
- - £ 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 consist 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 Alt key
- to enter 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 the desktop screens the bottom screen line lists
- the actions available. Press the higlighted letter (without
- Alt!) to select the action. Enter will always select the
- left-most action.
-
- The following is the list of desktop screens and functions
- available:
-
-
- 3.1. TAPE
-
- The tape file screen lets you select the tape image file to
- be used in the emulation. Move around with arrow keys, 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). You
- can load and run a program easily by pressing L in the tape
- directory screen.
-
- 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 desctription and maximum
- directory size and the emulator will create an empty tape
- image file.
- - CD (Change Drive)
- Press a drive letter (A-Z) to select a drive where the
- emulator will search for .T64 files.
-
- The actions available in the tape directory screen:
- - Set
- Sets tape pointer position and returns to the emulation
- screen (equivalent is Enter).
- - Load
- Reboots C64, loads highlighted file and runs it.
- - Name
- Lets you edit the higlighted file's name.
- - Delete
- Deletes the highlited 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 .Pnn format (nn is in range 00-99)
- 8 bytes - "C64File" description, zero terminated
- 17 bytes - file name, zero terminated
- 1 byte - record size (defaults to 0 for .PRG files)
- 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 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.
- - Tape
- Jumps to the tape file screen (equivalent is left arrow
- key).
-
-
- 3.2. DISK
-
- The disk file screen lets you select the disk image file to
- be used in the emulation. Move around with arrow keys, press
- Enter to select the disk or change the directory. When you
- select a disk image file, you will enter the disk directory
- screen. Press Enter to set the disk and get back to the
- emulation screen. You can proceed with C64 commands to use
- disk image file. You can load and run a program easily by
- pressing L in the disk directory screen. Be careful,
- changing disk image file when an emulated program uses it
- can damage contents of the image file.
-
- Actions in the disk file screen:
- - Select
- Selects the disk image to be used in the emulator
- (equivalent to pressing Enter).
- - Files
- If a disk image file is open, it jumps to the disk
- directory screen (equivalent is right arrow key).
- - New
- Enter file name, disk title and disk ID and the emulator
- will create an empy disk image file. To use it, select it in
- the disk file screen.
- - CD (Change Drive)
- Press a drive letter (A-Z) to select a drive where the
- emulator will search for .D64 files.
-
- The actions available in the disk directory screen:
- - Set
- Sets disk pointer position and returns to the emulation
- screen (equivalent is Enter).
- - Load
- Reboots C64, loads highlighted file to original address
- and runs it.
- - Import
- Select the file from the file list and the emulator will
- import it to the selected disk image file. The file to be
- imported must be in .PRG or .Pnn format. If the file
- selected is not in one of these 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). Currently only PRG files are exported
- properly.
- - Disk
- Jumps to the disk file screen (equivalent is left arrow
- key).
-
-
- 3.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 higlighted option. It either selects the
- highlighted radio button, changes the check box status or
- asks the user to edit the higlighted 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.
- - Swap
- Swaps joystick #1 settings with joystick #2 settings. This
- is to help you reassign joystick emulation settings.
- - Recalibrate
- Runs joystick recalibration. Move joysticks 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 again.
-
-
- 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 emulaton, 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 to low, it might affect the animation
- smoothnes, or, in some cases, it will disturb the functions
- that depend on accurate screen refresh rates, per 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 parantheses 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 ok
- 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 or the
- number of joysticks connected) and successfully
- recalibrated.
- The emulator allows you to define two joystick key sets.
- Primary key set is used, when only one jostick 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 the keyboard joystick emulation is
- enabled, the keys used for joystick emulation don't respond
- in the original way anymore. Per example: if key 'A' is used
- to emulate joystick direction, you won't be able to type
- 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 strange when multiple keys are pressed at the
- same time. This is the most annoying when emulating
- joystick, per example you might notice that you can't move
- up-left and shot at the same time. If you notice such or
- similar behaviour, try changing the joystick emulation keys.
-
-
- 3.4. MONITOR
-
- 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.
- - Find
- Finds data in the memory dump bank. Data must be hex,
- numbers longer than 2 digits are treated as word values and
- converted to LO/HI when searching.
- - Where
- Moves code display to the instruction where emulation was
- interrupted.
- - Trace (F7)
- Executes one instruction and moves code display.
- - Step (F8)
- 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 (F4)
- 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.
-
-
- 3.5. HELP
-
- Online help provides basic information the user needs when
- running C64S. It is meant more like online 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: What are the most important changes from version 1.0 to
- 1.1 ?
- A: There are many:
- - improved compatibility
- - live disk and printer connection support
- - improved sound on GUS, PAS, SB and speaker (all in native
- mode)
- - disk directory is accessible in the same way as tape
- directory
- - programs can be loaded easier by pressing L in any
- directory screen
- - file screens allow drive selection
- - COM1541 uses fastloader to import disks 10 times faster
- - TAPEIO has been improved to work with any type of LPT port
-
- Q: I selected a disk image file in the disk file screen. How
- can I use it ?
- A: Using 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. You must
- do this 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 noumbers !
- A: You need to enter joystick option screen (press F10) and
- disable joystick emulation. C64 scans keyboard and joysticks
- at the same I/O addresses and this is the resulting side
- effect.
-
- Q: Keyboard joystick emulation does not work O.K. !
- A: Try changing joystick emulation keys (press F10). Note
- that some keyboards behave strange 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 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 analogue joystick option is set to Autodetect or
- to the correct number of connected joysticks. If 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: The emulator doesn't autodetect my PAS soundcard !
- A: Check that MVSOUND.SYS device driver is loaded in your
- CONFIG.SYS file. If you installed PAS software properly the
- following line should be placed in CONFIG.SYS:
- device=c:\spectrum\mvsound.sys [parameters]
- Run PAS installation software to install the driver or read
- your PAS User's Guide to find out how to modify CONFIG.SYS
- and configure MVSOUND.SYS.
-
- Q: Can I use PC printer with emulated C64 programs ?
- A: Yes, but only for pure text output. Printing graphics or
- changing text attributes will not work, because CBM printers
- and PC printers use different sets of control codes. To use
- PC printer, you must run CONFIG and select the LPT port
- where your printer is connected (default is LPT1 which will
- work OK, if you only have one LPT port).
-
- Q: Can I use 1541 disk drive or CBM printer with emulated
- C64 programs ?
- A: Yes. Any CBM devices connected to LPT port can be used
- with emulated C64 programs. Run CONFIG and check that use of
- external devices is enabled or set to autodetect. If you get
- into problems, please refer to the configuration section of
- the manual.
-
- 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
- troubles 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: DISK IO banner keeps blinking in bottom left corner !
- A: DISK IO banner is blinking when a user program is running
- in emulated 1541 RAM, usually it's fast loader or protection
- code. If the banner keeps blinking forever it probably means
- the program got stuck. Press Esc to terminate DISK IO mode.
-
- Q: How can I achieve the highest possible emulation speed ?
- A: Enter general options screen. Set the CPU speed to
- maximum. Set 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. Also, if possible, disable
- memory managers like QEMM, EMM and 386MAX. If you are using
- Windows or OS/2, try running C64S from plain DOS.
-
- 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
- produces the best output. The new GUS driver uses advanced
- wavetable synthesis to generate crystal clear 44 kHz 16 bit
- sound output.
-
- Q: What to do to listen to C64 tunes on a slower PC ?
- A: Run CONFIG and check that sound synchronizing is enabled.
- Then run C64S and 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 the
- reproduction seems to be too slow run CONFIG, disable sound
- synchronizing and try again. If this does not help your
- computer is unfortunately too slow.
-
- _____________________
- 7. COMPATIBILITY
-
-
- The following is the compatibility list.
- + means implemented and compatible (++ is new from v0.9, +++
- is new from v1.0)
- - means not implemented or not compatible
- * means planned in the future
-
-
- CPU
-
- ++ full 6510 instruction set
- +++ $01 memory banking and I/O
- +++ $00 CPU I/O direction control
- + 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
- +++ channel 3 muting
- ++ 8 bit sampled original waveforms
- + ADSR envelope control
- + master volume control
- + pulse width modulation
- ++ $D418 amplitude output
- +++ 8000 Hz synthesis on PC speaker (6 bit), SB (8 bit) and
- PAS (8/16 bit)
- +++ 44100 Hz synthesis on GUS (16 bit wavetable)
- - no channel to channel effects
- * filtering (at least for digital sound effects)
- * SB AWE 32 native mode driver
-
-
- CIA 1
-
- + keyboard emulation
- + joystick emulation
- + timer A
- ++ timer B
- + IRQ control
- + IRQ
- ++ time of day (C64 synchronized)
- +++ time of day alarm
- * rebindable keyboard
- * serial port
-
-
- CIA 2
-
- + VIC bank select
- ++ serial bus communication
- ++ timer A
- ++ timer B
- +++ NMI control
- +++ NMI
- ++ time of day (C64 synchronized)
- +++ time of day alarm
-
-
- 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
- ++ emulates direct serial bus communication
- +++ supports 35 and 40 track .D64 image files
- +++ suppors sector error information
- +++ real 1541 connection (LPT port)
- * 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
- * tape digitizing
-
-
- PRINTER
-
- +++ supports PC printers (for pure text output only)
- +++ supports CBM printers (connected to LPT port)
-
-
- EMU-DETECTION
-
- +++ $DFFF read flip flop ($AA,$55)
- +++ $DFFE manufacturer code (`S'=C64S)
- +++ $DFFC version number ($0112=1.1B)
- +++ $DFA0 message (tiltle, version, $0D, copyright, $00)
-
- _____________________
- 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 the user can easily see the
- contents and select the file he or she wishes to access.
- Instead of 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
- the user 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 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 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 keep 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 PC's LPT port and 1541's serial port with the
- cable (please refer to files LPT64.DOC and 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 full disk (fast mode, all sectors, all info)
- [A] Import allocated sectors only (normal mode)
- [F] Import full disk (normal mode, all sectors)
- [X] Exit
-
- Insert a disk to 1541 drive and press `D' to see the
- directory. If the directory is displayed O.K., everything
- is ready for disk transfer. It is up to you to select a
- method. Usually selecting `I' will transfer the disks the
- fastest and correctly. This method uses a custom fast loader
- which works 10 times faster than normal loading mode and
- also transfers sector error information which is used by
- protected programs. Methods `A' and `F' are provided in case
- fast mode fails to work. Method `A' transfers only sectors
- marked as allocated in BAM to conserve on transfering time.
- Method `F' transfers all sectors like method `I', but
- doesn't transfer sector error information.
-
- 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 files LPT64.DOC and 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 noumbers. 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 colours 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 got 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
- behaviour 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:
-
- North America orders $69.95us.
- Outside North America $69.95us + $5.00us SH.
-
- For Credit Card (VISA or MasterCard) orders
- Phone, Fax, Mail or Email to:
-
- Phone: 206.828.9001
- Fax: 206.828.9011
- Email: lab@seattle.wa.com
- CompuServe: 71202,560
- FTP: as.seattlelab.com (204.29.31.1)
- WWW: www.seattlelab.com (204.29.31.1)
- BBS: 206.827.5580 (300 - 28.8 v.fast)
-
- For Check or Money Order orders send to:
-
- Seattle Lab Inc
- Attn: c64s Order Processing
- 214 First St.
- Kirkland, WA 98033
- U.S.A.
-
-
- European representatives:
-
- Vertrieb, Support und Registrierung für Deutschland,
- Österreich und Schweiz:
-
- phs EDV Beratung
- Michael Penzkofer
- Davenstedter Str. 10
- D-30449 Hannover
-
- Tel.: 49-511-444 193
- Fax : 49-511-458 1524
- BBS : 49-511-455 011 (300..14400 Bd)
-
-
- Prodaja in podpora v Sloveniji:
-
- Prodajo in podporo v Sloveniji izvaja Miha Peternel osebno.
- Cena emulatorja je 2500 SIT, placa se po povzetju. V paket
- ni vkljucen vmesnik za prikljucitev Commodorjevih zunanjih
- enot, vendar dodam navodilo za izdelavo le-tega. Za
- informacije in narocila uporabite enega od spodaj navedenih
- naslovov.
-
-
- 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.
-
- E-mail: (preferred)
- miha@hermes.si
- miha.peternel@abm.gn.apc.org
- E-mail 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
- Pot v Bitnje 66
- SI-64000 Kranj
- Slovenia
-
- Special greets go to: Marko Mäkelä, 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 representatives and the author.
-