GO-64! Version 2.0 Created By Christopher P. Zura and Cliff Dugan Copyright (C) 1987,1988 Software Insight Systems, Inc. All Rights Reserved. LIMITED WARRANTY The software and related materials in this package are sold with a Limited 30-day Warranty. Software Insight Systems, Inc. (SIS) will replace a defective disk or GO-64! Interface Cartridge if you contact SIS for a return authorization number and return the original item to SIS within 30 days of purchase. Other than the limited warranties expressly stated, SIS makes no other warranty, expressed of implied including but not limited to warranties of merchantability and fitness for a particular purpose. SIS will not be liable for incidental, consequential or other similar damages. In no event will SIS's liability for any damages ever exceed the price paid for the GO-64! package, regardless of any form of the claim. You may have other rights which vary from state to state, SIS reserves the right to make changes in this product without obligation to notify any person of those changes. After the 30-day warranty period, SIS will charge a nominal fee for replacement disks or other items. UPDATE POLICY Updated software, if issued, will be available free of charge to registered users within 30 days of purchase. After 30 days, updated will cost $10 (U.S. currency only). In either case, you must call or write for an authorization number and return both the original disk and dated sales receipt to Software Insight Systems, Inc., when ordering the update. Send all inquiries to: Software Insight Systems, Inc. P.O. Box 213 Andover, CT 06232-0213 CREDITS Concept and Design - Christopher P. Zura and Cliff Dugan Title Screen Design - Cliff Dugan and Mathew Green Documentation - Christopher P. Zura, Bob Stepno and Howard Eglowstein ACKOWLEDGMENTS Thanks to R. J. Mical for answering some of the questions about the mysterious Amiga. Thanks to Scott M. Blum for providing us with detailed information about the "secret" 6502 quasi-opcodes. Special thanks to Sheldon Leemon, for without his book, "Mapping the Commodore 64", this project would have been nearly impossible. TRADEMARK NOTICES GO-64! and SIS are trademarks of Software Insight Systems, Inc. Commodore 64 and C64 are trademarks and COMMODORE is a registered trademark of Commodore Electronics, Ltd. Amiga is a registered trademark of Commodore-Amiga, Inc. COPYRIGHT NOTICE GO-64! Version 2.0 Copyright (C) 1987,1988 Software Insight Systems, Inc. All Rights Reserved. CONTENTS Introduction Features Inventory Hardware Installation Software Installation Start-up Procedure Operation Keyboard Preferences AmigaDOS Support Technical Reference Bibliography Epilogue INTRODUCTION GO-64! is a Commodore 64 emulator for the Commodore Amiga computer. That means GO-64! makes your Amiga act like a Commodore 64. With GO-64! and a C64 disk drive, the Amiga will run a wide variety of C64 software like games, educational, graphics, and business programs. The Amiga takes advantage of new technology to make available many times the memory of the C64. The Amiga has the speed and power to handle applications that were only dreamed of when the C64 had first appeared. In fact, this power is what makes it possible to emulate the Commodore 64. It's like having a computer inside a computer! The Upgrade Path GO-64! is an economical and space-saving way to move up from a C64 to an Amiga. You don't have to buy Amiga versions of programs you already own. Why should you buy another copy of an adventure game, ping-pong simulation or algebra tutorial, when GO-64! makes it possible to run sofware you already own. And GO-64! also conserves desk space. It uses the Amiga keyboard, central processing unit and monitor when running C64 software. With GO-64!, you can still use your C64 peripherals, including joysticks, paddles and touch tablets. These peripherals connect to the Amiga game ports. (GO-64! does not support peripherals that use the cartridge, cassette, or USER ports.) The equivalent of the Commodore 6-Pin DIN serial bus is provided on the GO-64! Interface Cartridge. You can attach C64 peripherals such as printers and disk drives. By using the new AmigaDOS commands included with GO-64!, you can even use these peripherals with Amiga programs. PRODUCT FEATURES GO-64! Version 2.0 Emulator Features include: NEW EMULATION SOFTWARE - with improved graphics and the new SIS BASIC proprietary ROM system. NON COPY-PROTECTED distribution disk - easily make back-ups and install GO-64! on a hard disk. GO-64! INTERFACE CARTRIDGE - connect C64 serial peripherals such as printers and disk drives to the Amiga. AMIGADOS SUPPORT - use C64 serial peripherals under AmigaDOS. FILE TRANSFER - copy files between C64 disk drives and Amiga drives. MULTITASKING compatibile - easily toggle between the C64 and Amiga environments. POP-UP PREFERENCES - select emulator configuration options while running C64 software. MONOCHROME MODE - monochrome monitor emulation in green, amber or white. MULTIPLE FONT SUPPORT - choose alternate font styles, even add your own! "RESET BUTTON" - special control keys let you break out of those "lock-up" programs, WITHOUT clearing memory! (a helpful hacker tool!) HARDWARE SUPPORT - for 68000/68010/68020 based systems and expanded memory systems for increased speed. INVENTORY The GO-64! package should include each the following: One 3 1/2 inch GO-64! distribution disk for the Amiga GO-64! Interface Cartridge Keyboard Reference Card Registration Card REMINDER: Please fill out the registrtion card immediately and send it to Software Insight Systems, Inc. Registration entitles you to receive software upgrade information. Hardware Required: Amiga Computer - A500, A1000 or A2000 computer with a minimum of 512K of memory (1M or more recommended). Amiga compatible monitor - A1080 or equivalent. Video results may be enhanced by using the color monitor in composite mode (additional cable required). C64 compatible disk drive - 1541/1571/1581 or equivalent. NOTE: The Amiga 1000 requires a Parallel port conversion cable (not supplied). This cable is required due to the differences of the parallel port connector gender and pinout between the A500/A2000 and the A1000 models. WARNING: A simple gender-changer plug is NOT ENOUGH. Damage to your computer can result from improper connection. Do not attempt to connect the GO-64! Interface to the Amiga 1000 without the proper adaptor. Optional Hardware: Additional C64 compatible disk drives (up to four) C64 compatible printers (up to two) C64 compatible joysticks, paddles, and mouse INSTALLATION Hardware Installation Before running the GO-64! software, the GO-64! Interface Cartridge must be installed to be able to use the C64 compatible printers and disk drives while using the emulator. 1) Turn off the power to the computer and peripherals. WARNING: Damage can result if the power to the computer is ON during installation. 2) Connect the GO-64! Interface Cartridge following the instructions below for the appropriate Amiga model. a) For Amiga 500 or 2000: Plug the GO-64! Interface directly into the Amiga's parallel printer port. b) For Amiga 1000: Plug the parallel port adaptor cable (not supplied) into the Amiga's parallel printer port. Then plug the GO-64! Interface into the adaptor cable. 3) Connect the C64 compatible disk drive to the GO-64! interface using a standard C64 drive cable (with round 6-pin DIN connectors). 4) Optional: Connect any other aditional C64 serial devices to the serial bus in a daisy chain fashion, as with a C64. (See the Commodore 64 User's Guide.) NOTE: All connections to the serial bus should be made BEFORE the computer is powered on. This completes the hardware installation procedure. SOFTWARE INSTALLATION The GO-64! emulation software does not require installation for floppy disk based systems. Since the software is NON COPY-PROTECTED, a backup should be made for archival purposes only. To make a backup copy, use the Workbench duplicate utility as outlined in the Amiga User's Guide. To install GO-64! on a hard disk, use Workbench to move the GO-64! drawer from the distribution disk to the hard disk. (See the Amiga User's Guide on moving drawers.) This will copy ALL of the GO-64! files, including the sub-directories (or drawers) to the hard disk. To install the GO-64! extended commands to another Workbench disk (or CLI disk), use the CLI to copy the contents of the "COMMANDS" sub-directory within the "GO-64!" directory to the "C:" directory of the destination disk. At the CLI prompt, the syntax would be: 1> COPY "GO-64! V2.0:GO-64!/COMMANDS/#?" DF0:C assuming the destination disk is in DF0:. See the AmigaDOS User's Manual for details on using the COPY command. START-UP PROCEDURE The following describes the start-up procedure for GO-64! on various Amiga models. 1) Turn on the power to the computer and all peripherals. 2) For the Amiga 1000 only: Insert the Kickstart disk in the Amiga's internal drive. When prompted for the Workbench disk, remove the Kickstart disk. 3) Insert the GO-64! V2.0 disk in the Amiga's internal drive. In a few seconds the Workbench screen displays the GO-64! V2.0 disk icon. 4) Double click on the GO-64! V2.0 disk icon. This opens a window which displays the GO-64! drawer icon. 5) Double click on the GO-64! drawer icon. This opens another window which displays the following program icons: GO-64! - Start GO-64! SETPREFSA2000 - Set Preferences TARGET SYSTEM to A2000 INSTRUCTIONS - This instruction file SOFTWARE - Latest tested software list and helpful hints SWAP - Swap the current active mouse port CACHE - Toggle the 68020 cache ON/OFF 6) For the Amiga 2000 only: Double click on the SET KEYBOARD icon. This will set the GO-64! configuration for an A2000 computer. This step is only required to be done ONCE, for the first time starting GO-64!. This completes the start-up procedure for GO-64!. Continue to the next section entitled "OPERATION". GO-64! OPERATION This section describes how to give your Amiga a split personality. Double click on the GO-64! computer icon, which is shaped like an Amiga. This sets several things in motion: * First, the computer icon changes into a C64. * Next, the GO-64! title screen appears for a moment. * Finally, the familiar blue C64 screen appears. GO-64! has transformed your Amiga into a Commodore 64 compatible computer! Now you can try typing a few BASIC commands, or run one of your C64 programs to see the emulator in action. See the next section entitled "KEYBOARD" to locate C64 keys on the Amiga keyboard. KEYBOARD Keyboard Translations GO-64! automatically reassigns some of the Amiga's keys to take the place of the C64 keys not on the Amiga keyboard. For example, the Amiga's ESCAPE key becomes the C64's RUN/STOP key, and the left Amiga "A" key becomes the special Commodore "C" key The Amiga function keys F1 through F8 take the place of their C64 counterparts, but the F9 and F10 keys replace the "Lira" and "Up Arrow" keys respectively. Since the Amiga 1000 and the Amiga 500/2000 keyboard layouts are different, their C64 key locations are different, also. Enclosed is a Keyboard Reference Card showing both Amiga keyboard styles with the C64 key labels in place. Keep the reference card by your Amiga for reference when using GO-64!. NOTE: If GO-64! is to be run on the Amiga 2000, the TARGET SYSTEM in the Preferences Utilities screen must be set to "A2000" for the keyboard to operate properly. This can be set by double clicking on the SET A2000 icon before starting GO-64!. Keyboard Control While the emulator is running, there are special key sequences reserved for GO-64! operations. For example, to reset the emulator (much like having a C64 reset button), simultaneously hold down the ALT key with the left and right Amiga keys. The TAB key is reserved for use as a special GO-64! control key. To quit the emulator for good, hold down the TAB, ESC and HELP keys (otherwise known as the "GO-64! Control" and the C64 "RUN/STOP" and "RESTORE" keys). To pause the emulator and re-enter the Amiga environment, hold down the TAB and press F2. At this point you can run other Amiga applications or use the AmigaDOS support commands from the CLI, for example. On minimum configuration systems (less than 1 MEG), some applications may not have enough memory to run properly while the emulator is in the background. To re-enter the emulator, simply double click on the GO-64! icon. The table below summarizes all the special key sequences. KEYS FUNCTION --------------------------------------------------------------------------- TAB/F1 Enter GO-64! Preferences TAB/F2 Pause emulator and go to Workbench or CLI TAB/F3 Toggle monochrome mode ON/OFF TAB/ESC/HELP Quit emulator and exit Left ALT/Left AMIGA/Right AMIGA Reset emulator Special Keyboard Features The following are some special C64 keyboard sequences that operate differently with G0-64!. When you press "SHIFT RUN/STOP" on the C64, the screen displays 'LOAD' and loads the first file on tape. When you do the same with GO-64!, the screen displays 'LOAD"*",8,1' and loads the first file from disk. The default device number is device 8, the disk drive, instead of device 1, the tape. For example, now you can just type 'LOAD"$"' instead of 'LOAD"$",8'. These are some shortcuts to save keystrokes. PREFERENCES GO-64! Pop-up Preferences Configuration Editor The GO-64! Preferences allows configuration changes to be made while the emulator is running. This can be helpful for selecting screen colors for a word processor, for example. The following is a description of each screen and the options and gadgets associated with that screen. To pop-up Preferences, hold down the TAB key and press F1. Instantly the Preferences MAIN MENU will be displayed along with the familiar Amiga pointer. To make a selection, point to the gadget with the Amiga mouse and press the left mouse button, otherwise known as the SELECT button. The top left hand corner of every screen contains the EXIT gadget. The EXIT gadget will exit the current screen and return to the previous screen. Here is a description of the MAIN MENU gadgets: GRAPHICS - selects the graphic options screen. DEVICES - selects the device options screen. MISC. - selects the miscellaneous options screen. LOAD CONFIG - loads the configuration options. RESET CONFIG - resets the configuration options to the original settings. SAVE CONFIG - saves the current configuration options. WORKBENCH - pauses the emulator and goes to Workbench (or CLI). RESET GO-64! - resets the emulator (the same as pressing RESET keys). QUIT GO-64! - quit the emulator (for good!). GRAPHICS The GRAPHICS screen allows changes of the visual appearance of the emulator. This includes screen colors, borders, sprite priorities and font styles. MONOCHROME - Selects monochrome mode options: OFF, AMB, GRN or WHT. The OFF position selects the normal color mode. Amber, green and white colors all appear on a black background. Using monochrome mode will give the emulator a noticeable speed increase. BORDERS - Borders can appear either ON or OFF. SCREEN COLORS - Selects the background, border, and text colors. All sixteen C64 colors are supported. SPRITES - Selects the sprite priorities: FRONT, BEHIND or EMULATE. The sprite priorities correspond to the relation of the sprite to the background. FRONT and BEHIND will display all sprites in front or behind the background data on the screen. EMULATE will appropriately select a mixed mode depending upon the number of sprites and their selected priorities to be displayed on the screen. FONTSTYLE - Selects the current default font style by entering the font style name on the keyboard. Enter a name up to 16 characters and press RETURN when done. The font names currently included on the distribution disk are: DEFAULT LINE SCRIPT CENTURY FUTURE The "TECHNICAL REFERENCE" section describes the procedure for installing your own additional custom fonts. DISPLAY RATES - Selects the rates for SCREEN refresh and RASTERS. Selecting the appropriate SCREEN refresh rate can tweak the performance of the emulator for your particular hardware configuration. The screen refreshes take time away from other emulator functions. A too high refresh rate will result with a slow emulator performance, whereas a too low refresh rate will result with a "jerky" display. Some C64 software uses a technique called "raster interrupts". This technique involves changing the graphics display modes between raster lines while the image is being scanned on the display. RASTERS controls the rate at which raster interrupts are processed. Some games use raster interrupts as a means for timing. Increasing the RASTERS rate will speed up these games. The performance can be improved on other games that may spend too much time in raster interupts by decreasing the RASTERS rate. DEVICES The DEVICES screen allows selection of various devices connected to the Amiga for use with GO-64!. GAME PORTS - Selects the type of device connected to the game ports. Device types include OFF, JOYSTICK or PADDLES. Use JOYSTICK for the Commodore 1551 mouse and PADDLES for the Commodore 1550 mouse. More devices will be supported with future revisions. MISCELLANEOUS The MISCELLANEOUS screen allows the user to set the default system configuration. TARGET SYSTEM - Selects the model of the Amiga to be used with GO-64!. Due to differences between the various Amiga models it is necessary to tailor GO-64! to run properly on the specified computer. The models include A500, A1000 and A2000. SIS BASIC - Selects between the SIS proprietary BASIC and Commodore BASIC. Selecting ON will activate SIS BASIC and dramatically increase the operating speed of GO-64!. Onminimum configuration systems, SIS BASIC might be OFF if the memory required is not available. VIDEO DISPLAY - Selects the type of monitor connected to the Amiga, NTSC or PAL. AMIGADOS SUPPORT New AmigaDOS Commands The following is a summary of the new AmigaDOS commands included with GO-64! to be used with the CLI. These new commands are installed in the "COMMANDS" directory on the distribution disk. To inquire about the usage of a command, simply enter the command with no parameters, unless otherwise noted below. Parameters enclosed in "<>" (greater than and less than symbols) are required, whereas parameters enclosed in "[]" (brackets) are optional. The GO-64! drive specifications "DF8:", "DF9:", "DF10:", and "DF11:" correspond with the C64 drive device numbers 8, 9, 10, 11, respectively. To use these commands on a 68020 based systems, use the CACHE command to turn OFF the cache before using the other C64 related commands. After using the commands, be sure to turn the cache back ON to allow other Amiga applications to take advantage of the increased speed of cache memory. NOTE: To use most of these commands, the GO-64! Interface Cartridge must be installed as outlined in the section entitled "HARDWARE INSTALLATION". CDIR Purpose: Lists either all the directory entries or only those for specified files. Usage: CDIR [drive:] Remarks: Specify the parameters: is any valid C64 drive directory search string [drive:] can be DF8: DF9: DF10: or DF11: (defaults to DF8: if not specified). Example: 1> CDIR $ Lists the directory of the disk in drive device 8. CLOAD Purpose: Copies a file from a C64 disk drive to an AmigaDOS disk. Usage: CLOAD [from drive:] [to drive:][path/][to filename] Remarks: Specify the parameters: [from drive:] can be DF8: DF9: DF10: or DF11: (defaults to DF8: if not specified. is any valid C64 filename. [to drive:][path/][to filename] are all valid AmigaDOS names. Example: 1> CLOAD DF8:FILE1 DF0: Copy file "FILE1" from device 8 to Amiga drive DF0:. CSAVE Purpose: Copies an AmigaDOS file to a C64 disk drive. Usage: CSAVE [from drive:][path/] [to drive:][to filename] Remarks: Specify the parameters: [from drive:][path/] are all valid AmigaDOS names. [to drive:] can be DF8: DF9: DF10: or DF11: (default = DF8: if not specified). [to filename] is any valid C64 filename (default = ). Example: 1> CSAVE DF1:FILE2 DF8:MYFILE2 Copies Amiga file "FILE2" to drive device 8 as filename "MYFILE2". CPRINT Purpose: Prints an AmigaDOS file to a C64 printer. Usage: CPRINT [from drive:][path/] [device number] [option] Remarks: Specify the parameters: [from drive:][path/]from filename> are all valid AmigaDOS names. [device number] can be 4 or 5 (default = 4 if not specified). [option] can be A for ASCII or B for Binary (default = A if not specified). Example: 1> CPRINT DF0:HELLO Prints the Amiga ASCII file "HELLO" to printer device 4. CCMD Purpose: Sends specified drive command to C64 disk drive and returns drive status. Usage: CCMD [drive:] Remarks: Specify the parameters: is any valid C64 drive command string. [to drive:] can be DF8: DF9: DF10: or DF11: (defaults to DF8: if not specified). Example: 1> CCMD S0:FILE2 DF9: Scratches file "FILE2" on drive device 9. CSTATUS Purpose: Inquire the status of a C64 disk drive. Usage: CSTATUS [drive:] Remarks: Specify the parameters: [to drive:] can be DF8: DF9: DF10: or DF11: (defaults = DF8: if not specified). Use a "?" (question mark) for the [drive:] parameter to inquire the usage for this command. Example: 1> CSTATUS Lists the status of drive device 8. SWAP Purpose: Swap or set the active Amiga mouse port. Usage: SWAP [port] Remarks: Specify the parameters: [port] can be 0 or 1 (defaults to the opposite port if not specified). Use a "?" (question mark) for the [drive:] parameter to inquire the usage for this command. Example: 1> SWAP 1 Changes the active Amiga mouse port to gameport 1. CACHE Purpose: Enable or disable the cache memory on a 68020 based system. Usage: CACHE [option] Remarks: Specify the parameters: [option] can be ON or OFF (returns the status of the cache if not specified). Example: 1> CACHE OFF Turn off the 68020 cache. TECHNICAL REFERENCE Custom Font Installation This section describes the installation procedure for adding your own custom fonts. New font styles are available in the public domain (PD) on electronic bulletin board systems (BBSs). Or you can create your own with a character editor. (Many such editors are also available in the PD.) Wherever the source, the font must be transferred to the "C64FONTS" directory (drawer) on the GO-64! disk. The font filename must end with the ".FONT" extension to be recognized by Preferences. No spaces are allowed within font filenames. If the font you choose is on a C64 disk, use the GO-64! CLOAD command to transfer the file. At the CLI prompt, the syntax would be: 1> CLOAD DF8:FONT1 "GO-64! V2.0:GO-64!/C64FONTS/FONT1.FONT" assuming that "FONT1" is the C64 filename. See the section entitled "AMIGADOS SUPPORT" for details on using the CLOAD command. If the font was downloaded from a BBS onto an Amiga disk, use the AmigaDOS COPY command to copy the file to the distribution disk. At the CLI prompt the syntax would be: 1> COPY DF0:FONT1 "GO-64! V2.0:GO-64!/C64FONTS/FONT1.FONT" assuming that "FONT1" is the name of the file on the Amiga disk in drive "DF0:". See the AmigaDOS User's Guide for instructions on using the COPY command. BIBLIOGRAPHY The following is a suggested reference list for more detailed information about using the Commodore 64. We consider these books as our "bibles". Commodore 64 User's Guide Commodore Business Machines, Inc., New York, NY, 1982 Commodore 64 Programmer's Reference Guide. Commodore Business Machines, Inc., New York, NY, 1982 Heeb, Dan, Tool Kit: BASIC. Compute! Publications, Inc. Greensboro, NC, 1984 Heeb, Dan, Tool Kit: KERNAL. Compute! Publications, Inc. Greensboro, NC, 1985 Scanlon, Leo J., 6502 Software Design. Howard W. Sams & Co., Inc., Indianapolis, IN, 1980 Leemon, Sheldon, Mapping the Commodore 64. Compute! Publications, Inc. Greensboro, NC, 1985 EPILOGUE Famous Last Quotes: "It'll be ready in TWO WEEKS, yup, TWO WEEKS!" - Chris "How can I help you with the emulator?" - Cliff