Table of Contents


1. Introduction *

1.1. Where can I get a copy of the FAQ? *

1.2. How do I contact the FAQ Maintainer? *

1.3. Can I redistribute or copy the FAQ? *

1.4. What are all these special symbols on the left of the FAQ? *

1.5. What's special about this release? *

1.6. Work In Progress *

2. Usage *

2.1. How many Commodore machines are there? *

2.2. How are Commodore machines used? *

2.3. Which Commodore 8-bit machines are supported? *

Commodore 64 (includes SX64, DX64, PET64, and C64C) *

Commodore 128 (includes 128D and Euro 128D) *

Commodore PET Series *

Commodore VIC 20 (includes VC-20, VIC-1000) *

Commodore Ultimax (MAX Machine) *

Commodore Plus/4 (includes C16 and C116) *

Commodore 65 (64DX) *

2.4. What is the economic status of Commodore? *

3. The BASICs *

3.1. How do I format a Commodore disk? *

3.2. How do I transform a BASIC program to a text file? *

3.3. How do I transform a text file into a BASIC program? *

C64: *

C128: *

3.4. How can I change my drive device number through software? *

1540/41/42/4040/Most Compatibles: *

MSD SD-1 (Old ROM): *

1551/70/71/81 *

3.5. Can I get my 1581 drive to change its device number on startup? *

5. Getting Connected *

5.1. How do I connect my computer to the outside world? *

5.2. What services can I use to get online? *

Bulletin Board System (BBS). *

Compuserve Information Service *

Delphi Internet Services *

Internet *

QuantumLink *

5.3. What hardware do I need? *

A standard RS-232 (EIA-232) external modem. *

A Commodore compatible external modem. *

Simple Cable Interface. *

UART interface. *

5.4. What kinds of terminal programs exist? *

5.4.1. What kinds of terminal programs exist for the 64? *

Novaterm *

Kermit *

5.4.2. What kinds of terminal programs exist for the 128? *

Desterm *

Bob's Term Pro *

Dialogue 128 *

Wave *

5.5. Can I use my Commodore computer on Amateur Radio? *

5.6. Is there TCP/IP software available for Commodore computers? *

6. The Online Information Reservoir *

6.1. How do I download? What is a transfer protocol? *

C1 (commonly called Punter Protocol) *

KERMIT *

XMODEM *

YMODEM *

ZMODEM *

6.2. What is the difference between PETSCII and ASCII? *

6.3. Where can I find Commodore programs? *

6.4. What is a file extension, and what do they stand for? *

6.5. What is electronic mail? *

6.5.1. What are mailing lists and how do I join one? *

6.5.3. How do I contact people on Compuserve, Genie, etc.? *

6.6. What is USENET or NetNews? What is a USENET newsgroup? *

6.6.1. What news groups cater to Commodore 8-bit machines? *

6.6.2. What types of discussions belong in COMP.SYS.CBM? *

6.6.3. Which issues does COMP.SYS.CBM discuss regularly? *

6.6.4. How do I post in COMP.SYS.CBM? *

6.6.5. How can I read COMP.SYS.CBM through email? *

6.6.6. How can I read COMP.SYS.CBM through WWW? *

6.7. What is a FidoNET echo? *

6.7.1. What echoes cater to Commodore 8-bit machines? *

6.7.2. How do I post in an echo? *

6.8. What is the World Wide Web? *

6.8.1. What WWW sites have Commodore information? *

6.8.2. What Sites have Telnet WWW Browsers? *

6.9. What is File Transfer Protocol (FTP)? *

6.9.1. What FTP sites have Commodore Information? *

6.9.2. What is an FTP Mail Server? How do I use one? *

6.9.3. How do I send files to an FTP site? *

6.10. What is Internet Relay Chat (IRC)? *

6.10.1. How do I access IRC? *

6.12. I See Commercial Software Available Online. Is That OK? *

8. Operating Systems *

8.1. What Operating Systems are available? *

8.2. What is GEOS? *

8.3. What is UNIX? *

8.4. What is CP/M *

9. Demonstrations *

9.1. Just what is a demonstration, or demo? *

9.2. What does NTSC and PAL mean? *

9.3. Where do I get demos? *

9.4. What is a demo competition? *

9.5 What does FLI, DYCP, etc. mean? *

10. Emulators *

10.1. What is an emulator? *

10.2. What platforms do 64 emulators exist on? *

10.3. What platforms do 128 emulators exist on? *

10.4. Are any other Commodore computers emulated? *

12. Modifications and Cabling *

12.1. How can you alter which side a 1571 reads from? *

12.2. How do I open a C128 power supply? *

12.3. How do I make a cable to hook my CBM 1902A to my 64 or 128? *

12.4. How do I build a simple RS-232 interface cable? *

12.5. How do I build a 2400/9600 bps RS-232 interface cable? *

12.6. How can I determine how much VDC video memory is in my C128? *

12.7. How can I convert my C64 to run on battery power? *

12.7. How do I build a GEOCable interface? *

12.8. How do I connect my Commodore printer to an IBM PC? *

13. Enhancements *

13.1. How do I increase my disk drive's transfer speed? *

13.1.1. What is a Fastloader? *

13.1.2. What is a ROM replacement? *

13.1.3. What are the disadvantages to using a drive enhancement? *

13.1.4. What other things can I do to speed up the drive? *

13.2. How do I expand my disk drive's capacity? *

13.2.1. What is a Hard Drive? Who sells them? *

13.2.2. What is 64NET? *

13.2.3. What is SERVER64? *

13.3. How do I expand my computer's RAM capacity? *

13.3.1. What is a Ram Expansion Unit? *

13.3.2. What is a geoRAM Unit? *

13.3.3. What is battery backed GeoRAM (BBGRam)? *

13.3.4. What is a RAMLink? *

13.3.5. What is a RAMDrive? *

13.3.6. How do I expand my C128 Video RAM? *

13.3.7. How do I expand my C64 internally? *

13.3.8. How do I expand my C128 internally? *

The C-256 and C-512 *

13.4. How do I increase my computer's speed? *

13.4.1. How do I increase my Commodore 64's speed? *

Flash 8 *

CMD SuperCPU 64 *

Super 64/20 US$199.00 *

13.4.2. How do I increase my Commodore 128's speed? *

The SuperCPU 128 *

13.4.3. Can I speed up other Commodore computers? *

13.5. How do I increase my computer screen's resolution? *

13.5.1. How do I increase my Commodore 64's screen resolution? *

Batteries Included BI-80 *

DATA 20 80 column unit *

Protecto Enterprizes Protecto-80 *

13.5.2. How do I increase my Commodore 128's screen resolution? *

13.6. How do I increase my computer's serial transfer speed? *

SwiftLink *

HART Cartridge *

DataPump *

13.7. How do I increase my computer's sound quality? *

SID Symphony *

80-Line Simplified Digital I/O Board *

"Original Ultimate Interface" *

A/D Conversion Module *

The Spartan Apple ][+ emulator for the C64, by Mimic Systems, Inc. *

C64 Games Port Expander (Model #8401) 40/80 column converter. *

14. Programming *

14.1. What Programming Languages are available? *

14.2. What is a Cross Assembler? How do I use one? *

14.3 What is an "undocumented opcode"? *

15. Sales, Support and Service *

15.1. Where do I purchase new equipment? *

15.2. Where do I get equipment serviced? *

15.3. How do I know who to buy from or request service from? *

15.4. Is there a User Group in my area? *

17. Miscellaneous *

17.1. How fast does a Commodore 64 run? *

17.2. How can a turn my NTSC-M 64 into a PAL-B 64 or vice versa? *

17.3. What does this IC number mean? *

Mnemonic PN# Alt. PN# *

Mnemonic PN# Alt. PN# *

Differences between 64 boards: *

17.4. What are the differences between C64 ROM Revisions? *

18. Credits *


1. Introduction

Welcome to the COMP.SYS.CBM "Frequently Asked Questions" (FAQ) file. As is the tradition with USENET newsgroups, COMP.SYS.CBM maintains a FAQ file containing the text of frequently posted questions to the newsgroup and their answers. Both new and veteran users are encouraged to review this file. Topics covered in this FAQ include oft-asked questions posted on the COMP.SYS.CBM newsgroup, general interest information, and information sent in by readers.

1.1. Where can I get a copy of the FAQ?

The FAQ is posted on the 5th of the month to the USENET newsgroup COMP.SYS.CBM. It is automatically archived on the FTP site rtfm.mit.edu, the FTP site ftp.jbrain.com, and the WWW site www.jbrain.com. Bulletin Board Systems and User Groups have a recent copy of the FAQ, and numerous magazines and other publications have included parts or all of the FAQ on disk or in print in recent months. This FAQ is called the "COMP.SYS.CBM General Frequently Asked Questions List"

The latest version of this file may be obtained from the following places:

FTP sites:

World Wide Web sites:

Bulletin Board Systems:

Mailservers:

send /usenet/COMP.SYS.CBM/main-faq/part1

send /usenet/COMP.SYS.CBM/main-faq/part2

send /usenet/COMP.SYS.CBM/main-faq/part3

send /usenet/COMP.SYS.CBM/main-faq/part4

send /usenet/COMP.SYS.CBM/main-faq/part5

send /usenet/COMP.SYS.CBM/main-faq/part6

send /usenet/COMP.SYS.CBM/main-faq/part7

send /usenet/COMP.SYS.CBM/main-faq/part8

send /usenet/COMP.SYS.CBM/main-faq/part9

Mailing List

subscribe cbmfaq-dist Firstname Lastname

quit

See Section 6 for directions on how to use these services to retrieve the FAQ.

1.2. How do I contact the FAQ Maintainer?

If you find an error in this FAQ, would like to make a suggestion, can’t find an answer in the FAQ, or would like a copy of the FAQ, please use the most appropriate address from this list:

cbmfaq-info@mail.jbrain.com (For more information about this FAQ)

cbmfaq-comments@mail.jbrain.com (To comment on FAQ or provide suggestions)

cbmfaq-errors@mail.jbrain.com (To report factual errors in FAQ)

cbmfaq-questions@mail.jbrain.com (To answer questions not answered in FAQ)

cbmfaq-request@mail.jbrain.com (To request a copy of the FAQ via email)

cbmfaq-admin@mail.jbrain.com (To contact the FAQ Administrator: please try other addresses first)

1.3. Can I redistribute or copy the FAQ?

Yes. I encourage people to spread the FAQ to every place possible. Readers can convert the text into another format (HTML, text, DOC, PS, etc.) if needed, but I ask that the content not be changed. If changes are required, please let me make them on the master document. As well, please do not remove the following copyright notice:

This file and its contents are © Copyright 1994-1998 Jim Brain. Permission is hereby given to reproduce and/or redistribute this FAQ in part or entirety without prior permission from the FAQ Maintainer, as long as no profit is made from this work. The text in this document is comprised from information gleaned from the USENET newsgroup COMP.SYS.CBM, the FidoNET echoes CBM and CBM-128, electronic mail messages, World Wide Web pages, and other mediums. All the authors have either directly or indirectly given their consent to use their work in this FAQ. All of the information in this file has been gathered and checked if possible for errors, but I cannot guarantee the correctness of any statement in this file. If in doubt, please bring up the subject in one of the Commodore forums. Keep in mind that new questions appear on a daily basis, so there is a finite time between a new question appearing in COMP.SYS.CBM, and its inclusion in this file.

1.4. What are all these special symbols on the left of the FAQ?

As of Version 4.0 of the COMP.SYS.CBM FAQ, this file is available in both HTML and text formats. Although both versions will be kept up to date, no attempt is made to denote changed items in the HTML version of this FAQ. In the text version, the UNIX command diff is used to mark changes. Lines preceded with a "!" have been modified since the last version of this file was posted. Lines preceded by a '+' have been added since the last version was posted. Examples:

  This text is the identical to the line in an earlier FAQ posting
! This text has been altered from an earlier FAQ posting
+ This text has been added since the FAQ’s last posting.

The FAQ Maintainer encourages readers to submit changes. However, please mark changes with a "C" in the first column so as to distinctly identify changes, like so:

  Existing text from FAQ
C This line is a change I want to submit
  More existing text

1.5. What's special about this release?

Version 4.0 of the FAQ is build from a single Hypertext Markup Language (HTML) version of the FAQ file, with a text version created by passing the HTML through the text mode browser "lynx" with the -dump option. Both the text and HTML versions are then split into segments for placing on the www.jbrain.com WWW site and posting on COMP.SYS.CBM.

1.6. Work In Progress

I am gathering a list of Commodore reference books together. If you have a book, please send me the ISBN, Author, Title, short description, number of pages, whether it has illustrations, and whether it has any code samples. Thanks.

2. Usage

Contrary to popular belief, people do still use Commodore computers. It is estimated that 3% of the world uses computers like the Commodore 8-bit, old by today’s standards.

2.1. How many Commodore machines are there?

Commodore never released "official" production numbers, although they did produce a "10 millionth 64", which makes 10 million+ an official number. Sources estimate that Commodore produced 17 million C64 machines and 4.5 million C128 machines. As for the number of models produced, Jim Brain maintains a list of all Commodore products at http://www.jbrain.com/pub/cbm/ref/cbm-model-list.txt. This file is posted to the USENET newsgroup COMP.SYS.CBM on a periodic basis.

2.2. How are Commodore machines used?

People use their machines for very different purposes:

No matter what purpose they use them for, they use them because there is a wealth of programs available for the Commodore computer systems. The Commodore line of computers has a seemingly endless supply of quality programs available for it, and more are being created daily.

2.3. Which Commodore 8-bit machines are supported?

At the present time, all the Commodore machines are supported, although some are supported better than others.

Commodore 64 (includes SX64, DX64, PET64, and C64C)

As the most prevalent Commodore 8-bit, the 64 enjoys the most support. Most software will run on a 64, and most Commodore 8-bit HW will work on a 64.

Commodore 128 (includes 128D and Euro 128D)

As the second most popular CBM 8-bit, the 128 is supported as well. Many companies support it, although some support only the 64 side of the 128. Most 64 peripherals and SW will work on a 128 in 64 mode.

Commodore PET Series

Although not supported as well as the 64/128 line, many applications still exist for the PET line, and some folks still repair them. If you currently use a PET series Commodore computer or just want to know more about them, one person is trying to start a magazine devoted to these machine. For more information or to submit articles for the magazine, please get in touch with:

Mark J. Kingsbury
25 Latta
Battle Creek, MI 49017
Mark_J_Kingsbury@fc1.glfn.org

Commodore VIC 20 (includes VC-20, VIC-1000)

Although supported quite heavily in the early 1980’s, the VIC sees less support these days. However, many applications are available, and the simplicity of the VIC architecture make it easy to upgrade and expand. Commodore serial bus devices and User port devices usually work on the VIC-20. If you own a Commodore VIC-20, the following individual is planning to create a list of owners:

Jeff's Ink Press & Deli
P.O. Box 477493
Chicago IL 60647

Commodore Ultimax (MAX Machine)

Commodore planned to introduce a game console that shared many features of the Commodore 64. Although never widely released, the Ultimax lives on in the 64. the C64 memory map contains the special "Ultimax Mode" that can be triggered by external cartridges to place the C64 into a configuration equivalent to the one on the MAX Machine.

Commodore Plus/4 (includes C16 and C116)

The Plus/4 line, while never enjoying the popularity of the 64 or 128, is supported by many hobbyists in Europe, where the machine is easier to find and upgrade. Some applications are available for the line, and serial and user port devices from the 64/128 line usually work on the Plus/4.

Commodore 65 (64DX)

The Commodore 65 is a recent addition and is the result of a liquidation of some ALPHA stage test machines. A number of people have purchased these test units, and they have a FAQ devoted just to this machine. Much information on this machine is available at ftp://www.jbrain.com/pub/cbm/hw/c65. In spite of rumors, no company is considering manufacturing the C65.

If you own a Commodore C65, the following person is compiling lists of people who own them.

Robin Harbon
542 West Donald Street.
Thunder Bay, Ontario, P7E 5Y6
Canada

2.4. What is the economic status of Commodore?

On April 29, 1994, Commodore International announced it had been unable to renegotiate terms of outstanding loans and were closing down the business. The company started liquidation proceedings, which dragged on until April 1995, when the assets were purcahsed by European PC manufacturer ESCOM AG for $12.5 million. Unfortunately, ESCOM itself suffered some financial woes and went bankrupt in 1996. In 1997, Gateway 2000, the US PC manufacturer, purcahsed the Amiga and CBM rights, while the European PC manufacturer, Tulip Computers, purchased the "Commodore" trademark and name.

At present, the intellectual rights to the Commodore 8-bit line is owned by Gateway 2000, Inc (GW2K).

Commodore Semiconductor Group (CSG), the fabricator for many of the special ICs in the Commodore 8-bit line, liquidated in December, 1994. The vast majority of the operational material and the real estate was purchased by GMT Electronics, a company formed by CSG's management. GMT has paid the $1 million lien that the EPA had levied against CSG, and is now operating as a for-hire chip production plant. At the time of buyout, CSG/GMT held approximately $5 million in Commodore parts.

3. The BASICs

These are some questions we receive about "BASIC", the built-in programming language in all 8-bit Commodore computers, and the "basics" of using the machine.

3.1. How do I format a Commodore disk?

To format a disk in drive 0 (older PET drives had drive 0 and 1) on disk device #8, you issue the following command from BASIC:

open1,8,15,"n0:16char_name,12":close1

The name can be 16 characters in length, and the disk id (12 in this example) can be any two alphanumeric characters. For more information on how to use the 1541 disk drive or compatibles, a complete manual is available at ftp://ftp.funet.fi/pub/cbm/documents. (See Section 6.9 for direction on how to use ftp.)

3.2. How do I transform a BASIC program to a text file?

As you may know, Commodore BASIC stores programs in "tokenized" format, so they are unreadable from a standard text editor. To fix that, load up your BASIC program, and then type the following in direct mode:

open1,8,2,"listing,s,w":cmd1:list

The text listing will be placed on drive 8 in a file called listing. After the listing is finished, your cursor should return. Type the following in:

print#1:close1

You now have an un-"tokenized" copy of your program, which you can edit with any text editor.

3.3. How do I transform a text file into a BASIC program?

Since Commodore BASIC stores its programs in "tokenized" format, one cannot simply load text files containing BASIC statements and run the file directly. However, there is a solution. In direct mode, type in the following:

C64:

open1,8,2,"filename":poke781,1:poke812,73:sys 65478

C128:

open1,8,2,"filename":sys 65478,,1

This will read in each line of the text file and try to execute it (or store it if the line is preceded by a number). The screen will go blank (scroll upwards) while the file is retrieved and will likely end up printing an error message, which is normal. When the last line of the program is entered, hit RUN/STOP-RESTORE, and type in the following:

close1

The file will now be loaded into memory. Immediately save the file to disk as a BASIC program.

If the above sounds too complicated for you, check out the seq-to-basic program that is posted to comp.binaries.cbm every month. It will perform the translation for you, after you answer a few simple prompts.

3.4. How can I change my drive device number through software?

To change the device number on Commodore drives, follow these steps: (In the following examples, 'olddn' is the drive's current device number, and 'newdn' is the new number you wish to change it to).

  1. Turn off all drives except one you wish to change device number of.
  2. Type the following in, depending on drive type:
  3. 1540/41/42/4040/Most Compatibles:

    open 15,olddn,15

    print#15,"m-w"chr$(119)chr$(0)chr$(2)chr$(32+newdn)chr$(64+newdn)

    close 15

    MSD SD-1 (Old ROM):

    open 15,olddn,15

    print#15,"m-w"chr$(117)chr$(0)chr$(2)chr$(32+newdn)chr$(64+newdn)

    close 15

    1551/70/71/81

    open 15,olddn,15

    print#15,"u0>"+chr$(newdn)

    close 15

  4. Turn back on other drives.

The change is only temporary. It will revert back to the old drive addresses if the drive is turned off.

3.5. Can I get my 1581 drive to change its device number on startup?

When the 1581 is initialized, as well as checking the boot sector of the disk, it also looks for a file "copyright cbm 86". This file, if found, can specify a device number for the 1581 disk. Whenever the 1581 is booted or initialized with this disk inserted, its device number will be changed to the specified number. The utility 1581-auto-dev by David W. Tamkin will create this file. It can also do other stuff, so check it out.

5. Getting Connected

5.1. How do I connect my computer to the outside world?

First, we need to define what "outside world" means. In this sense, we are referring to the process of connecting the Commodore computer up to another computer or computers and exchanging textual, binary, or graphical information. To connect to another computer, one must have a Commodore computer system, a modem, a phone line, and a telecommunications program (called a terminal emulator or terminal emulation program).

While you can use this to connect to other individuals, to access great stores of online information you need to subscribe to an "online service", which can take many forms. This type of service allows you to correspond with many people with a single phone call, and may permit you to contact people out of your area without a long distance phone call.

5.2. What services can I use to get online?

The following services can be accessed by a Commodore computer and allow the user to access online information. As prices change almost every week, please contact the various service providers for up-to-date pricing.

Bulletin Board System (BBS).

Small system usually with one phone line operated by an individual. Fees are optional. For a list of BBS systems in your area, contact Myles Skinner for a listing at mskinner@julian.uwo.ca.

Compuserve Information Service

Compuserve Information Systems
P.O. Box 20212
Columbus, OH 43220
(800) 848-8990 (Information)

CompuServe has a Forum designed specifically for Commodore 8-bit computer users. CBM Applications Forum (GO CBMAPP) deals with programming, geoProgramming, applications software, telecommunications, CP/M, utilities and hardware. In addition, it also includes support for GEOS in general, music (including SidPlayer and MIDI), games, graphics and graphics utilities. The Forum has full message boards and extensive data libraries, and it have weekly real-time conferences on Sundays at 9 p.m. EST.

The CompuServe network is available virtually world wide. The Commodore Forums are attracting increasing membership from Europe and Australia, and have begun to tap into the vast variety of Commodore files available around the world (some of the best new Commodore programs are coming in from Europe these days). CompuServe has an extensive network of local numbers throughout the United States and Canada and is also available through supplemental networks such as SprintNet and DataPac. The number of direct CompuServe connect numbers in Europe is beginning to expand.

While there is no standalone CompuServe navigator program available for Commodore users, CBMAPP has the CIS.EXE script set that automates Dialogue 128 on CompuServe, and also VIDAUT.BIN which will virtually automate Vidtex (which is available again through Software Support International). In addition there is OFFLIN.HLP, a text file in CBMAPP, that provides a method for semi-automating access with any standard comm program and word processor.

Genie

Genie
401 North Washington Street
Rockville, MD 20850
(800) 638-9636 (Information)

Genie is a general interest online service that was previously run by General Electric. The Commodore support area on GEnie is known as the Flagship Roundtable and is hosted by Creative Micro Designs, Inc. While there are a few premium services on GEnie that charge an extra price, all of the Flagship is available at the basic rate. The Flagship RT includes some "Real-Time Conferences" (RTCs) featuring classes or discussion of issues associated with Commodore computers. Additionally, there is a BB (Bulletin Board), which works much like Usenets COMP.SYS.CBM (only the discussion is broken down into categories and topics). Finally, the Flagship has an extensive library of Commodore files.

The BB messages can be read economically by capturing all the new messages in a terminal programs capture buffer, and reading the messages off-line. Wizard, the C= GEnie fron end, supports this.

Delphi Internet Services

Delphi Internet Services
1030 Massachusetts Avenue
Cambridge, MA 02138
(800) 695-4005 (Information)

Delphi is a commercial system that, while small in comparison to other systems, is growing rapidly. It has a large forum dedicated to Commodore computers, as well as access to the Usenet and the COMP.SYS.CBM newsgroup.

Internet

The Internet is a collection of 4 million machines interconnected using a common protocol called TCP/IP. This service is the result of a U.S. defense experiment started in the late 1960's. Due to its distributed nature, the Internet is unlike most other online services. In some cases, as in universities, there is no cost to access the "net", as it is called, and some other online services offer access to the Internet. This is the home of all the FTP sites, the USENET and the USENET newsgroup COMP.SYS.CBM, Internet email, and the World Wide Web. When you use these services you are utilizing the Internet. Services that offer Internet access are typcically called Internet Service Providers, or ISPs.

QuantumLink

Q-Link was a Commodore specific telecommunications service. This service, while booming in the late 1980's, has now been discontinued.There was an effort to retrieve as many of the QuantumLink files as could be retrieved. Email Brenda G4 at b.gann1@genie.geis.com for more information. Also, a list of ex-Qlink-ers is being maintained. If you want to be on the list, send email tosteward@pobox.com or sirfitz@kaiwan.com.

5.3. What hardware do I need?

To access online services you will need a functional Commodore computer that is physically able to have a modem of some kind attached to the computer. The more common C64 and C128 are able to be used with a modem, but computers like the Commodore C16, C116, some PETs and some older CBM business machines may require significant investments in order to be used.

With a functional computer, you will need a modulator/demodulator (modem) unit of some kind. There are two basic kinds that can be used on the Commodore computers:

A standard RS-232 (EIA-232) external modem.

These modems are very common in today's market, as they are usable on all computer systems. They usually are constructed in a small rectangular box, have lights across the front, and have either a standard 9 or 25 pin D-style connector on the back of the unit. Speeds range from 300bps to 28,800 bps and above. This modem requires an interface cable of some kind to connect to the Commodore computer.

A Commodore compatible external modem.

These modems are much less common in today's market. Originally manufactured only by Commodore, some examples include the C1600 (300bps manual dial), C1650 (300bps, pulse dial), C1660 (300bps, DTMF dial), and C1670 (1200bps, AT commands, DTMF/Pulse dial). Although other companies manufacture compatible modems, it seems that the maximum speed is 2400bps for all models. This modem style plugs directly into the Commodore user port.

Please note that all speeds marked are maximums. Most modems will operate at any speed up to the maximum. Most users agree that buying a Commodore compatible modem these days is an unwise move, except for special circumstances. The suggestion is to purchase a standard modem and an interface to use the modem with the CBM machine.

If you choose to purchase a standard external modem, you must also purchase or build a suitable interface. There are two major types of interfaces:

Simple Cable Interface.

This type of interface merely converts the nonstandard RS-232 pinout on the Commodore user port to the standard RS-232 pinout and performs voltage level translation as required by RS-232 specifications. This interface can be purchased for $20 to $40 new or built by the user.

There are a number of homemade interfaces available. The TRANSACTOR published an interface in the Nov 87 issue (V8iss3) and Commodore Hacking Online Magazine published plans for one in issue 4. These are both supposed to emulate the VIC1011A that C= manufactured many years ago, and you might find one at a computer "flea market". Another version is designed by Stephen Coan. Send email to Fred Mueller (fred.mueller@lucent.com) for a copy of the schematic in ASCII format. The differences between the two is the Transactor one has switchable options for some of the leads and the Coan one is hard wired. (See Section 12.4 and 12.5 for interface designs)

UART interface.

To use a modem, a Universal Asynchronous Receiver Transmitter (UART) is needed. When Commodore designed the CBM VIC-20, C64 and C128, they emulated a UART in software to keep costs down. Although this works for slower speeds, there is a limit to how fast the software UART can function. For faster access, a real UART is needed. This type of interface provides a complete UART in a cartridge that plugs into the expansion port. To utilize it, all software must be written to take advantage of the real UART. UART interfaces can be purchased from CMD (Swiftlink), HART (HART Cartidge), or built from plans (DataPump). (See Section 13.6 for addresses and further information on UART cartridges.)

 The decision of which interface to buy depends on the speed of your modem and the software you are using. The software UART on the Commodore 64 can handle speeds at up to 2400 bps. The software UART of the Commodore 128 can handle speeds at up to 4800 for all software and 9600 bps for some very well-written software.

 If you are under these maximum limits for your system, the simple interface cable will suffice, and most terminal programs can be used.

 For speeds between 2400 and 9600 bps (4800/9600 and 19200 bps on a C128), a number of options are open. Some programs can use the simple interface cable to allow this faster access. Newer terminal software may be written to exploit Daniel Dallmann's 9600 bps access technique, which requires some small modifications to the simple interface cable (see Section 12.5 for more information). Finally, some programs allow the use of a UART cartridge.

 For speeds above 9600 bps (19200 on a C128), a UART interface and an appropriate terminal program is your only option.

 5.4. What kinds of terminal programs exist?

 There are many types and versions of telecomunications programs (referred to as terminal emulation programs or terminal programs). Some are better than others, but individual users will ultimately decide which they like best. Most terminal programs available today are Shareware, but some are still sold commercially, and some new commercial terminal programs are being sold.

 All of these programs include emulations of the popular terminals such as DEC VT100, VT102, VT52, and ANSI. Also, each includes a number of file transfer protocols (See Section 6.1 for more information on transfer protocols).

 5.4.1. What kinds of terminal programs exist for the 64?

 Novaterm

 Novaterm 9.6
Nick Rossi
10002 Aurora Avenue North #1159
Seattle, WA 98133
voyager@eskimo.com (Contact)
http://www.eskimo.com/~voyager/novaterm.html

This program, previously marketed as shareware, is now commercial, and can be ordered from Mr. Rossi for $29.95 US.

The 9.5 version is available as shareware at ftp://ftp.eskimo.com/voyager/Novaterm/ or http://www.jbrain.com/pub/cbm/software/telecomm/64/.

Kermit

Kermit 2.2
Kent Sullivan
16611 NE 26th Street
Bellevue, WA 98008

$12.50 US for the program, now at version 2.2.

Note that Columbia University holds the copyright for the Kermit Terminal Software. You can get a copy of the Commodore version by ftp:

5.4.2. What kinds of terminal programs exist for the 128?

Desterm

 Desterm 2.0/2.1
Matt Desmond
Mdesmond@ionline.net
http://www.ionline.net/~mdesmond/desterm.html

For more information on DesTerm or to get a copy by mail, contact Matt.

Bob's Term Pro

No information available at this time.

Dialogue 128

No information available at this time.

Wave

Click Here Software
Maurice Randall

Maurice Randall is developing a high speed GEOS terminal emulation program called "WAVE". It is not finished at this time.

5.5. Can I use my Commodore computer on Amateur Radio?

 Yes you can. If you want to use your CBM system as a terminal for a standard RS-232 compatible packet radio Terminal Node Controller (TNC), you can hook it up in the same way as a modem. See Section 5 for more information on how to connect your Computer to a modem.

 In addition, the ICHPUG User Group (see Section 15 for address) has an extensive library of files for the C64/128 relating to Amateur Radio.

 If you would like to use the Commodore 64 as a Amateur Radio repeater controller, Engineering Cosulting manufacturers such an item:  

Engineering Consulting
583 Candlewood Street
Brea, CA 92621
Robert Blumenkranz (Contact)
radiobob@earthlink.net (Contact)
http://www.earthlink.net/users/engcon/webdocs/

5.6. Is there TCP/IP software available for Commodore computers?

There are some experimental SLIP software for the Commodore 64, written by Daniel Dallmann. The application is called SLIPDemo and is at version 2.2. The program can:

 The system requires:

 The software, some information, and other information is available from:  http://wwwcip.rus.uni-stuttgart.de/~etk10217/c64.html

6. The Online Information Reservoir

How true this is. There is information everywhere online, just waiting to be accessed and used. Hoever, getting at the information can be a time consuming process.

6.1. How do I download? What is a transfer protocol?

 To transfer files for another computer (another 64 or 128, UNIX, OS/2, DOS, MVS, VMS, Amiga, Atari, or other), you should use a transfer protocol. Although it is possible to transfer files by turning on the terminal program's capture buffer and receiving the file, this is not very reliable and is prone to errors. When transferring any sizable amount of data, one should use some sort of error-correcting file transfer protocol. A file transfer protocol splits a file into many pieces, or "packets", and send a number of them at a time. It then waits for an acknowledgement from the receiver that the received received the packets correctly. At this point, the sender send the next batch of packets. This process is repeated until the entore file is transmitted. Each packet contains computed checksums and other error detection bytes to ensure the received data is not corrupt.

Below are descriptions for some of the more popular protocols:

C1 (commonly called Punter Protocol)

C1 is a Commodore specific transfer protocol that used to be the standard for file transfer. However, with the increase in IBM-based bulleting board, it has been replaced by other protocols. Most Commodore BBS systems still offer C1 (usually called Punter in the list) as an option, but almost no other BBS systems have support for it. There is, however, a C1 protocol transfer program for MS-DOS called puntr104.zip.

KERMIT

 KERMIT is the name of one of the oldest file transfer protocols. KERMIT is unique in that it can encode the file being transmitted so that it does not contain any bytes greater than 128 and does not contain any special control bytes that terminals use to perform special actions. As such, this protocol is the most robust, but it is also the slowest. A common statement is, "if you can't KERMIT it, you can't get it" 

XMODEM

 XMODEM comes in several varieties. Standard XMODEM sends files in 128 byte packets. There are two standard error-correction methods with XMODEM checksum and CRC. CRC is the more modern of the two. There is also a version of XMODEM which supports 1K-byte packets. This version is most commonly known as XMODEM-1K, but is sometimes erroneously called YMODEM.  

YMODEM

 YMODEM is a "batch" XMODEM protocol, allowing you to transfer multiple files in one operation.

 ZMODEM

 A new file transfer protocol is ZMODEM. ZMODEM is theoretically the fastest transfer protocol, but only shows a speed gain over the others on noise-free telephone lines. It achieves this speed increase by only replying to the sender about the bad packets.

Most terminal programs support PUNTER, XMODEM, XMODEM-1K, YMODEM, and KERMIT. The Kermit terminal program only supports KERMIT, and Novaterm, as of version 9.5, supports ZMODEM receives, but not sends.

6.2. What is the difference between PETSCII and ASCII?

 (Note that the Amiga line of computers uses the ISO 8859-1 character set, so this does not apply to Amiga computers) 

When Commodore designed the PET line of computers, they chose for the character set encoding a special encoding called PETSCII. This set is similar but not the same as the American Standard Code for Information Intercahnge (ASCII). Now, this does not cause any problem when transferring information between or among Commodore 8-bit computers, but causes problems when exchanging information with othe computer types. 

The obvious solution is for all Commodore users to translate incoming information into PETSCII from ASCII when talking to another type of computer. However, this effectively ruins binary files, which have no concept of character codes. Therefore, the rules are:  

6.3. Where can I find Commodore programs?

Commodore programs are available from a number of sources. For commercial software, please see Section 15.1 for a list of software dealers. For shareware and public domain, you can use FTP (Section 6.9), electronic mail (Section 6.5.2), and bulletin board system in addition to the software dealers to download or buy programs and other software. 

6.4. What is a file extension, and what do they stand for?

 A file extension is a 1 or more letter suffix appended to the end of a file name to indicate the type of file it is. The extension usually indicates the contents of a file. The list below describes some more common file extensions, what they are used for, and how to use the file. Please note that these file extensions are not Commodore-exclusive. Many computers use file extensions. Also note that some file extensions are cumulative. IF a file is named "filename.tar.gz", this indicates that the file is of type "gz", and the file(s) inside the gz file are of type "tar". To use this file, one would note that both extension are archival extensions. One would undo the "gz" archival method to restore the "filename.tar" archive, then undo the "tar" archival method to restore the original file.

Extension:    Meaning:            Notes:
-----------------------------------------
.txt          Text File           This file is not compressed, so it needs
                                  no decompression step.  However, the file
                                  may be in either ASCII or PETSCII format,
                                  so a conversion step may be necessary.
                                  Most terminal programs can do this
                                  conversion, and there are stand-alone
                                  programs that do the necessary conversion
                                  also.

.sda          Self-Dissolving     Just load and run the .sda file to
              Archive             dissolve the archive.  Will dissolve
                                  itself into its constituent files.
                                  C64 and C128 .sda files are not
                                  compatible with each other.

.sfx          Self-Extracting     Load and run just like a .sda file.
              Archive             The same archive can be extracted on
                                  either a C64 or a C128, memory permitting.

.arc          ARChive             Use the program arc250.4 or earlier
                                  for the 64 or arc128 for the 128 to
                                  dissolve the archive.  arc128 is available
                                  as part of the CS-DOS package.  Other
                                  de-archive programs may exist.

.lzh          LHArchive           Use the program lhx in CS-DOS on the
                                  128 to dissolve this archive.  These
                                  are not very common.  This archive
                                  uses the same format as .sfx files,
                                  but is not self-extracting.  It is
                                  a standard format also used by
                                  Amiga (and MS-DOS) computers.  This
                                  format originated on the PC.

.lnx          Lynx Archive        The above formats all compress files when
                                  storing them; Lynx just stores them.
                                  There are many different versions of
                                  Lynx out there, so good luck dissolving
                                  these.
.lbr          Library Archive     A format similar to lynx.  Library
                                  dissolving programs exist for both the
                                  64 and 128 to dissolve these.

.uue          UUEncoded file      UUencoding is a process whereby a binary
                                  file can be converted to an all-text
                                  file, transferable by E-mail.  This
                                  encoded file can later be UUDecoded back
                                  to the original binary file.  Unix
                                  has uuencoding/decoding utilities.
                                  A program "uuxfer" for the
                                  C64 (by Fuzzy Fox) will both uuencode
                                  and uudecode.  Note that the contents of
                                  uue file could be another archived file.

.uua          UU archive          An extension of uuencoding, a uuarchive
                                  file is a concatenation of one or more
                                  UUEncoded files.  So far as I know, this
                                  was introduced by Craig Bruce in his ACE
                                  shell for the C=128, and the utilities
                                  included with that shell create and
                                  dissolve uuarchives.

.kar          Kevin's Archive     Another text archive format that seems
                                  to have originated with Craig Bruce,
                                  this is a proscription for concatenating
                                  a series of text files (which can include
                                  uuencoded files) into one file.  More
                                  information can be found in C. Bruce's
                                  documentation for his ace shell.

x!<file>      ZIPCoded file       ZIPCode is a program that takes an entire
                                  disk and "compacts" it into 4 files that
                                  have a number followed by a '!' and then
                                  a filename.  Also, ZipCode can compress
                                  files, in which case the x is a letter
                                  (a,b,c,d) and there need not be 4 files.
                                  If ZipCode has compressed individual 
                                  files, there will be an "i!" or 
                                  "x!"-prefixed file on the disk that holds
                                  the directory of the file compressed.  To
                                  make things even more confusing, there
                                  are two versions of ZipCode (v1 and v2).
                                  The newer version will accept v1 archives,
                                  but not vice-versa.  Use ZipCode v2 to
                                  unpack such archives.

<file>_x.z64  ZIPCoded file       These are ZIPcode compatible files
                                  created by a DOS program called Star Zip

x!!<file>     ZIPCode 6-pack      This is a ZIPCode archive that takes an
                                  entire disk and puts it into 6 files,
                                  each file containing GCR codes and header
                                  info for the tracks.  This is basically
                                  a nybble copier that stores the data it
                                  receives from the disk into files.

.bco          BCODEd file         BCODing is very similar to UUencoding in
                                  that a binary file is converted into an
                                  all-text format that is 33% larger than
                                  the original.  The difference is that the
                                  BCODE format provides additional
                                  information for error detection and
                                  automatic data segmentation and
                                  reordering.  C-code versions of "bcode"
                                  and "unbcode" are available via FTP and
                                  Commodore versions are provided with
                                  ACE-128/64.

.zip          ZIP archive         Zip is a file format used on IBM
                                  platforms and is created by the PKZip
                                  program that is available for some
                                  platforms.  There are two forms of zip
                                  files that have the same extension.
                                  Both are created by different versions of
                                  PKZip.  The first, version 1.01, can be
                                  dissolved on a 64 by using the program
                                  UNZIP64.  The second, newer format is
                                  version 2.04, which cannot be dissolved by
                                  UNZIP64.  Your best solution when in doubt
                                  is to dissolve the files on another
                                  platform.  For the 128, there is a version
                                  of the UNZIP64 program, called UNZIP128
                                  that has been modified to run in 128 mode.
                                  It is in a file called NZP12817.SFX.  This
                                  archive also has a 64 version.
 
<file>]x      Compression Kit     x = 4,7,8, cmd, or c(xx) to denote type
              Archive             of media that was compressed.  The files
                                  can be extracted only with The Compression
                                  Kit, from Mad Man Software.

.tar          TAR Archive         UNIX Tape ARchiver.  This program can be
                                  used to archive files as well.  The file
                                  must be decoded using tar.

.Z            Compress archive    Compress is a program on UNIX that will
                                  shrink a single file.  It is usually used
                                  on .tar files in UNIX to reduce their
                                  size.  The file must be decoded by the
                                  uncompress program, available on UNIX, PC,
                                  Mac and other platforms.
                                  Also, a very old version of GNU Zip used
                                  this extension, although the file is not
                                  fully compatible with the compress format.

.gz           GZIP Archive        GZIP is a free program developed by the
                                  Free Software Foundation to freely shrink
                                  their software.  the resulting file must be
                                  decoded by GUNZIP, available on many
                                  platforms, before using.

.taz          Compressed TAR      This is a file that should have the
                                  extension "tar.Z", but has been shortened
                                  for MS-DOS.  Run uncompress, then tar on
                                  this file.
                                   
.tgz          Gzipped Tar File    This is a file that should have extension
                                  tar.gz, but has been shortened for MS-DOS
                                  Run gzip or similar on the file, then tar.

.gif          Graphics            This is a compressed graphics format 
              Interchange         created by Compuserve.  To view this file,
              Format              one must find a GIF viewer program:
                                  GEOGif.SFX  - Converts GIF to GEOPaint.
                                  VGIF.SFX    - 64 mode viewer.
                                  GDS.SFX     - 128 mode viewer.

.jpeg         Joint               This graphics format can use one of two
              Photographers       compression algorithms.  One, called DPCM
              Expert              (Differential Pulse COde Modulation) 
              Group               retains all of the information in the 
                                  original file, which is usually a picture.
                                  The more common algorithm, called DCT
                                  (Discrete Cosine Transform), relies on the
                                  inability of the human eye to distinguish
                                  among some colors.  DCT "throws away" some
                                  information in the file (picture), while
                                  still retaining the essence of the picture.
                                  To view these pictures, one must either
                                  obtain a JPEG veiwer or convert them to
                                  GIF format.
                                     
.jpg          JPEG                This is an MS-DOS named .jpeg file.

.tiff         Tagged              This is a graphics format used on high
              Image               performance workstations.  To view this
              File                graphics format, you will need to convert
              Format              something else.

.pcx          IBM Picture         This is graphics format used in DOS on 
                                  IBM machines.  Convert this file to a
                                  GIF file to view.
  
.pict         Mac PICTure         This is a graphics format used on Apple
                                  Macintosh machines.  Convert this file 
                                  to a GIF file to view.
  
.d64          1541 Disk Image     This file stores an image of one entire
.x64                              disk, for use with Commodore emulator
                                  programs.  Several programs exist to 
                                  extract the image onto a disk or place a
                                  disk onto an image.  The only difference
                                  between the .x64 and .d64 file types is an
                                  added 64 byte header on a .x64 file.

.t64         DataSette Image      This file is analogous to the .d64 file
                                  type, but for tapes.
  
.p00          PC64 (Emulator)     This file encapsulates a Commodore program
              Program File Image  or data file.  To extract the original 
                                  file, remove the first 26 characters.  In 
                                  addition to .p00, there is .s00 (SEQ), and
                                  .u00 (USR) files, but are very rare.
  
.bmp          Windows Bitmap      This is a format used for graphics in
                                  Microsoft Windows and OS/2.  Convert this
                                  file to a GIF to view.

.pbm          Portable Bitmap     
  
.xbm          X bitmap            This is a format used for graphics on the
                                  X windowsing system.  Convert this file
                                  to a GIF to view.
  
.html         HyperText           This is a WWW hypertext document.  To
              Markup              view this file, you will need a WWW
              Language            browser of some kind.  See Section 6.8 
                                  for more information on WWW.
  
.doc          Document            This file could be a word processing file
                                  from a program like Word for Windows, 
                                  Wordperfect, or any other word processor.
                                  Also, some text files that contain 
                                  documentation use this extension.

.cvt          GEOS file           GEOS files use a special file format. The
                                  files are called USR files, but they have
                                  special information in the file that
                                  normal files don't, so you cannot just
                                  upload a GEOS file like any SEQ or PRG
                                  file. You can pack all the extra
                                  information and the data into a regular
                                  Commodore SEQ or PRG file with a program
                                  Called Convert.  It has a version 2.5 and
                                  a 3.0.  The files that result from this
                                  conversion have the extension.  The file
                                  must be processed again by Convert before
                                  it can be used with GEOS.

.N64           64NET file         Since the 64NET system works by allowing
                                  an MS-DOS machine to be used as a large
                                  disk drive, a way was developed to map
                                  CBM filenames into the MS-DOS limitations.
                                  The .N64 filenames indicates such a file.

.D71           64NET GEOS File    These are 64NET extensions used to
.D81                              emulate a 1571 and 1581 disk drive,
                                  respectively, under GEOS.

 

If the file type indicates an archive, there are many programs available that will handle most archival methods. One of these is called Omega-Q II, which includes one-stop compression and decompression of many of the above archival types.

 If you use a host system to download the files from, you may want to decompress the files before downloading. Even though the files will be larger to download, the time to decompress them offline will not be a factor. However, those who pay by-the-minute for download time would probably want the smallest possible file, which implies decompressing on the local machine, except in the case of a UU encoded file. These files are actually bigger in the 'UU' format.

6.5. What is electronic mail?

Electronic mail is the online equivalent of post office mail. Although email is a general term, its use is usually meant to mean "Internet email". To use email, you must have access to an internet email program. On UNIX, these programs are called mail, elm, or pine. BBS systems usually have a special message area for Internet email. You address a message to a user by using his or her internet email address, which is usually of the form name@machine_name.domain_name.type_of_institution_or_country. An example would be brain@mail.jbrain.com, which would be user "brain" at machine "mail" in domain "jbrain" and the type "com" which means company or commercial.

After addressing the message and choosing a sutiable subject, the body of the message is written with information meaningful to the addressee. Usually this information is textual in nature and reads much like a personal letter. It is possible to mail people binary files. To do this, you need access to a program called uuencode. Most, if not all UNIX machines have this command available, and there are versions available for IBM, Amiga, and Macintosh. There is also a version of uuencode available for the Commodore 64 and 128 as part of the ACE 128/64 OS replacement. (See section 8.3) The uuencode program takes a binary file and expands it so that it only contains 7-bit ASCII characters. This resulting file can then be mailed to a recipient, who then uses a similar program called uudecode that will transform the uuencoded file into the resulting binary file. This encoding technique is a standard one used across multiple platforms. If you want to send a file to another Commodore owner, you can use bcode, which is a Commodore-specific encoding available in ACE 128/64.  

6.5.1. What are mailing lists and how do I join one?

A mailing list is similar to a USENET newsgroup like COMP.SYS.CBM, in that it provides a place for people to talk among each other and ask questions. The difference is that the mechanism used is mail. You mail a message off to the list, the message then gets sent out to all members of that list, they read and reply to the list, and the process repeats. It is used for topics that are considered temporary or topics that have a limited scope and may not sustain an entire newsgroup being devoted to them. It may also be used when people want to privately discuss some issue.  

There are a number of Commodore 8-bit mailing lists for you to join:  

This is a list devoted to the discussion of alternate operating systems for the Commodore line that have the familiar UNIX shell look-and-feel. You can join this one by sending mail to mailserv@lists.funet.fi with the message:

subscribe cbm-unix Jim Brain <use your own name>

review cbm-unix <this will show you who is on the list>

help <this will explain how to use the list>

 you can then send mail to the list by addressing it to: cbm-unix@lists.funet.fi .

This is a list devoted to discussions of older Commodore equipment. Typically, this list discusses issues concerning PETs, the VIC-20, Plus 4 and C16, and other lesser used machines. You can join this one by sending mail to mailserv@lists.funet.fi with the message:

 subscribe old-cbm Jim Brain <use your own name>

review old-cbm <this will show you who is on the list>

help <this will explain how to use the list>

 you can then send mail to the list by addressing it to: old-cbm-unix@lists.funet.fi.

I do not know much about this list other than it is used to discuss issue realting to timing and special opcodes used in Commodore programs. You can join this list by sending mail to mailserv@lists.funet.fi with the message:

subscribe c64-hackers Jim Brain <use your own name>

review c64-hackers <this will show you who is on the list>

help <this will explain how to use the list>

 you can then send mail to the list by addressing it to: c64-hackers@lists.funet.fi .

This is a list that is for all Commodore 8-bit computer discussion. This list mirrors most of the discussion on COMP.SYS.CBM, so I would post to both places. You subscribe by sending a mail msg to: listserv@ubvm.cc.buffalo.edu with the message:

subscribe commodor Jim Brain <use your own name>

review commodor <this will show you who is on the list>

help <this will explain how to use the list>

you can then send mail to the list by addressing it to: commodor@ubvm.cc.buffalo.edu

This is a list that discusses the various aspects of the Commodore C65 Prototype system. There are files and information available through this list to C65 owners. Note that this is NOT the list to ask where a C64 can be purchased from, since the C65 is not a product, per se, as all available units were in-house prototypes liquidated at a warehouse. You can subscribe by sending a mail msg to: c65list-request@dce.vic.gov.au with the subject:

 subscribe

 You can then send mail to the list by address it to: c65@dce.vic.gov.au

This list is set up to automatically mail out the latest copy of Commodore Hacking Online Magazine upon publication. Since the publication is available both as a single text file and also as a ZIP 1.01 archive of inidividual articles, there are two lists. You can subscribe by sending a mail message to: listserv@mail.jbrain.com with a body of:

subscribe chacking-dist Jim Brain <use your own name> (for the single text file or…)

subscribe chackzip-dist Jim Brain <use your own name> (for the archive)

review chacking-dist <this will show who is on the list>

help <this will explain how to use the list>

You cannot send mail to this distribution list.

This list is set up to automatically mail out the latest copy of the Commodore Trivia Contest as soon as it is published on USENET. You can subscribe by sending a mail message to listserv@mail.jbrain.com with a body of:

subscribe trivia Jim Brain <use your own name>

review trivia-dist <this will show who is on the list>

help <this will explain how to use the list>

You cannot send mail to this distribution list.

This list is set up to automatically mail out any major updates to this Frequently Asked Questions List. You can subscribe by sending a mail message to listserv@mail.jbrain.com with a body of:

subscribe cbmfaq-dist Jim Brain <use your own name>

review cbmfaq-dist <this will show who is on the list>

help <this will explain how to use the list>

This list is for Commodore 64 coders. Not much is known about the list, but here is how to join. Send a mail message to: c64coders-request@uclink2.berkeley.edu with a subject line of:

subscribe.

This list is set up to discuss writing a C compiler for the 6502. To subscribe send a message to majordomo@solar.miya.cs.it-chiba.ac.jp with subject of:

subscribe 6502cc

You can send messages to the list by addressing them to 6502cc@solar.miya.cs.it-chiba.ac.jp

This list is for Commodore 64 users who live in Europe or would like to stay current on European developments. To join, send a mail message to listserv@lentil.demon.co.uk with a subject of::

MAILSERV

and a body of:

subscribe 64EUROPE

END

You can then send messages to the list by addressing them to 64europe@lentil.demon.co.uk

This list is for Commodore 64 users who own or want to stay current on the SuperCPU market. To join, send a mail message to listserve@giga.or.at with a subject of::

subscribe super-cpu

and a body of:

subscribe super-cpu

You can then send messages to the list by addressing them to super-cpu@giga.or.at

6.5.3. How do I contact people on Compuserve, Genie, etc.?

These online services have gateways to the Internet. To send a message to someone on the following services, make sure they can receive Internet mail and address the message as follows:  

Service       Username        Internet Address

Compuserve    12345,678       12345.678@compuserve.com
GEnie         j.smith2        j.smith2@genie.geis.com
Delphi        jsmith          jsmith@delphi.com

FidoNet is special, since there are many fidonet nodes, so you need the specific node information for the system that the recipient is on. Assume that Jim Brain is on a fido BBS that is node 115 on network 233 in zone 1. (denoted in FIDO as 1:233/115) The address would be:

FidoNet       Jim Brain       Jim.Brain@f115.n233.z1.fidonet.org
  

If the fido address is a point on a FIDO network (denoted as 1:233/115.200), then the address would be:

FidoNet       Jim Brain       Jim.Brain@p200.f115.n233.z1.fidonet.org

6.6. What is USENET or NetNews? What is a USENET newsgroup?

USENET is a service on the Internet that presents the user with a variety of forums in which to place messages. It can be viewed as the online equivalent of a set of bulleting "corkboards", like those in a hallway. Each corkboard or "newsgroup" caters to a different topic. Users can place or "post" messages to the newsgroup for others to read, or followup to posts on the newsgroup.

6.6.1. What news groups cater to Commodore 8-bit machines?

 The first thing to discuss here is the dividing line between Commodore models. All Commodore computers up to, but not including, the Commodore Amiga or the Commodore line of IBM PC Compatible computers, are discussed in COMP.SYS.CBM, which is what this FAQ covers. The Amiga line of computers is covered in the separate newsgroups comp.sys.amiga.*, where the '*' indicates that there are a number of groups that match that name. The IBM PC Compatible computers are discussed in comp.sys.ibm-pc.*.

This unmoderated newsgroup discusses all topics concerning Commodore 8-bit machines, including everything from the KIM-1 to the Commodore 65. This is the flagship USENET newsgroup.

This moderated groups permits the distribution of uuencoded binary files for the Commodore 8-bit computers. The moderator is Mike Miller (mmmiller3@gac.edu). If you have a favorite program you wish to put up for distribution, please download and read the comp.binaries.cbm FAQ (posted in its respective group).

 This unmoderated newsgroup was created in 1994 for those who wish to run one of the many emulation programs available on other machines that emulate the C64. This forum seems to be more appropriate for questions concerning operation on "foreign" hardware and file types.

This is a German newsgroup that discusses much of the same topics as COMP.SYS.CBM. "allgemein" = general.

 This German newsgroup parallels the function of comp.binaries.cbm. "binaer" = "binary".

This is a general discussion group for the c64 computer. It has the description 'Der am weitesten verbreitete Rechner', which means "The most widely used/most popular computer."

This German newsgroup discusses hardware topics relating to the C64 and C128.

 This german newsgroup discusses programming, mostly demo stuff.

This german newsgroup discusses games, high scores, tips, new releases, old scores, etc.

This german newsgroup discusses the very few viruses that have been created for the 64.

6.6.2. What types of discussions belong in COMP.SYS.CBM?

Any discussions about Commodore machines excluding the Commodore Amiga line, the Commodore IBM PC Clone line are encouraged in COMP.SYS.CBM These machines are commonly referred to as the Commodore 8-bit line, whereas the Amiga and PC line is not 8-bit. Please make sure any question you intend on posting is not already answered in this FAQ. Also, when posting a troubleshooting question about inoperative equipment, please give as much detail as possible. Be considerate of others in the group and keep

questions not pertaining to some aspect of Commodore 8-bit machines and peripherals out of COMP.SYS.CBM. The group does realize, however, that a large percentage of Commodore 8-bit owners also own another computer system and might have questions about interfacing or emulations. Just use your own good judgement.

 6.6.3. Which issues does COMP.SYS.CBM discuss regularly?

Although COMP.SYS.CBM discusses all Commodore 8-bit machines at times, the C64 and C128 get most of the attention. An overview of the subjects discussed in COMP.SYS.CBM is available at http://qiclab.scn.rain.com/pub1/overview/comp/sys/cbm/.overview

 6.6.4. How do I post in COMP.SYS.CBM?

You first need to access the newsgroup COMP.SYS.CBM through the use of newsreader. There are many available in UNIX with names like rn, nn, tin, and trn. I can't begin to tell you what command each uses to construct a posting, but your machine administrator should be able to tell you. All posts should contains relevant Summary and Keyword info, as well as a descriptive title. If you are posting a followup to an existing article, and are quoting the article, please only quote the relevant portions of the existing article.

 If you find that you cannot post to a newsgroup via your newsreader, but do have Internet electronic mail capabilities, you can post to the newsgroups via e-mail. For example, to posts a message to COMP.SYS.CBM, simply mail the message to either COMP.SYS.CBM@anon.penet.fi, COMP.SYS.CBM@news.demon.co.uk, COMP.SYS.CBM-news@newsbase.cs.yale.edu. It is probably best to use the latter two addresses, since the other is an anonymous posting service, so people won't know who originated the post. Such disguises are unnecessary in the CBM newsgroups.

 6.6.5. How can I read COMP.SYS.CBM through email?

Jim Brain has graciously set up a server for those without USENET access to read the three main CBM newsgroups: COMP.SYS.CBM, comp.emulators.cbm, and comp.binaries.cbm. Again, this service is ONLY for those without other means to read USENET. To use this service, email listserv@mail.jbrain.com with the following message body:

 subscribe news-csc-dist Firstname Lastname msglen* (to get comp.sys.cbm)

 subscribe news-cec-dist Firstname Lastname msglen* (to get comp.emulators.cbm)

 subscribe news-cbc-dist Firstname Lastname msglen* (to get comp.binaries.cbm)

msglen is the maximum number of lines you can receive in an email message.

All fields MUST be filled in.

 6.6.6. How can I read COMP.SYS.CBM through WWW?

 (See Section 6.8 for a definition of WWW)

 You can view articles and articles titles through the DejaNews service: 

http://dejanews.com/

 6.7. What is a FidoNET echo?

 FidoNET is a "grass roots" network that originated to link bulletin board systems across the country together. Unlike the Internet, which uses dedicated phone lines at high speeds to implement its network, FidoNET uses regular phone lines at normal modem speeds that are not dedicated to providing networking to link the machine on FidoNET together. FidoNET allows the exchange of messages in message bases called "echoes" among various boards. To use the FidoNET echoes, you must connect to a system that has FidoNET access. It is not possible to describe all the features of FidoNET in this FAQ, so you should consult your local User Group or BBS sysop for more info.

 The FidoNET echoes are similar to USENET newsgroups, although the echoes have more strict rules about content and topics.  

6.7.1. What echoes cater to Commodore 8-bit machines?

The relevant echoes for Commodore users are:  

6.7.2. How do I post in an echo?

Echoes are usually posted in the same way that you would mail a BBS message in any other area, although the BBS may operate differently. It is best to follow any online directions or consult the local BBS sysop for more details.

6.8. What is the World Wide Web?

The World Wide Web (WWW or W3) is a Internet-wide Hypertext document retrieval and display system. To use WWW, you must have access to a WWW HyperText Markup Language (HTML) browser. Typical examples include lynx, which is a ASCII browser available on UNIX, and Mosaic, a GUI browser available for UNIX, Windows, Mac, and other platforms. There are others, but these are a few.

 If you do not have WWW access to the Web, you can request pages be mailed to by sending mail to webmail@curia.ucc.ie with the subject help. The return mail should tell you how to request a WWW page.

 However, if you do have access to telnet on the Internet, you can access the Web. Instructions on how to do this, in a file called wwwtelnet.txt, can be retrieved from Jim Brain's MAILSERV server. See Section 5.X for information on how to access the server.

 All pages on the WWW are referenced by their Uniform Resource Locator, also known as a URL. The URL normally looks like:  

http://name.of.site.com/path/to/page.html

 Some sites include a funny character that looks like a "squiggly snake" as the first character of the path. The squiggle looks like this: 

~

 The charcater is referred to as the "tilde" character. This key does not appear on the Commodore 8-bit keyboards, and is not part of the PETSCII character map, so the character above will look funny if viewed on a CBM computer. When one is running a terminal program, the program remaps a key to be the tilde key. Here are a few mappings for different programs:

 Novaterm: [SHIFT] up-arrow

 If your terminal program does not remap a key to be the tilde, or if you dislike trying to use the remapped key, the URL spec defines that the hexadecimal equivalent of the character can be used, prefaced with the percent sign. So, instead of "/~brain/", one can use %7E instead, resulting in "/%7Ebrain/" as the URL.

6.8.1. What WWW sites have Commodore information?

 There are a number of WWW sites that provide Commodore content. Most of these sites are tailored to the Commodore 8-bit community as well. A complete listing of sites is available at CaBooM!, a Commodore meta-index at: http://www.jbrain.com/caboom/

6.8.2. What Sites have Telnet WWW Browsers?

 If you do not have access to a WWW browser program, but do have access to Internet telnet, you can access the WWW through the following sites: 

Typically, the login is: www.

6.9. What is File Transfer Protocol (FTP)?

To access some machines, the special user "anonymous" or "ftp" is used to log into another machine for ftp. These machine, which hold public domain (PD), shareware, and freeware files, are called "anonymous ftp" sites. To get files from these sites, you use (on most systems) a program called ftp. A typical ftp session (assuming you are running from a Unix system) would be as follows:

>ftp ftp.jbrain.com

Connected to ftp.jbrain.com.

220-

220- Welcome to ftp.jbrain.com, The Brain Innovations, Inc. FTP Archive

220-

220- The US Commodore FTP archive is in /pub/cbm

220-

220-You can access this archive via http with the same URL.

220-

220-for example: ftp://ftp.jbrain.com/pub/cbm/ becomes

220- http://www.jbrain.com/pub/cbm/

220-

220-For more information about services offered by Brain Innovations,

220-go to http://www.jbrain.com.

220-

220-Address any comments on this FTP Archive to:

220-ftp-comments@mail.jbrain.com

220-

220-The BII FTP Administrator.

220-

220-

220-

220 jbrain.com FTP server (Version wu-2.4.2-academ[BETA-13](2) Thu Apr 3 22:13:27 PST 1997) ready.

Name (ftp.jbrain.com:brain): ftp <use ftp or anonymous for login>

331 Guest login ok, send your complete e-mail address as password.

Password: <type your email address here. It wil NOT be echoed>

230 Guest login ok, access restrictions apply.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> cd pub/cbm/software/archivers/ <"cd" changes the current remote directory>

250 CWD command successful.

ftp> ls <"ls" or "dir" lists the whole directory. Use ls z* to match wildcards>

200 PORT command successful.

150 Opening ASCII mode data connection for /bin/ls.

total 4

drwxr-xr-x 2 619 382 1024 Jul 23 21:48 128

drwxr-xr-x 3 619 382 1024 May 7 16:35 64

drwxrwxr-x 2 619 382 1024 May 7 21:05 cpm

drwxrwxr-x 2 619 382 1024 May 7 20:16 geos

226 Transfer complete.

ftp> cd 64

250 CWD command successful.

ftp> ls

200 PORT command successful.

150 Opening ASCII mode data connection for /bin/ls.

total 361

-rw-r--r-- 1 619 382 75 Mar 2 1994 00README

-rw-r--r-- 1 619 382 38746 Jun 3 1993 1_zip

-rw-r--r-- 1 619 382 2928 Jun 3 1993 1_zip2.0.readme

-rw-r--r-- 1 619 382 42262 Jun 3 1993 2_zip

-rw-r--r-- 1 619 382 37745 Jun 3 1993 3_zip

-rw-r--r-- 1 619 382 40755 Jun 3 1993 4_zip

drwxr-xr-x 2 619 382 1024 May 6 21:05 LYNX

-rw-r--r-- 1 619 382 11547 Jun 7 1996 Zipper.c64

-rw-r--r-- 1 619 382 4805 Mar 24 1995 abuze.uua

-rw-r--r-- 1 619 382 29718 May 2 1996 arc-sda-aid.sda

-rw-r--r-- 1 619 382 26004 Jul 6 1995 arkive

-rw-r--r-- 1 619 382 1083 Jul 6 1995 arkive.doc

-rw-r--r-- 1 619 382 4053 Mar 24 1995 beast-link.1way

-rw-r--r-- 1 619 382 500 Mar 24 1995 beast-link.doc

-rw-r--r-- 1 619 382 4692 Mar 24 1995 level-sq_3.0

-rw-r--r-- 1 619 382 508 Mar 24 1995 level-sq_3.0.doc

-rw-r--r-- 1 619 382 7165 Jan 2 1996 lhx64-09.sfx

-rw-r--r-- 1 619 382 19777 Sep 1 1995 lzhconvert.lzh

-rw-r--r-- 1 619 382 12242 Nov 1 1994 lzhtosfx.sfx

-rw-r--r-- 1 619 382 2959 Mar 15 1995 lzhtosfx.txt

-rw-r--r-- 1 619 382 12288 Jun 18 1993 pkunzip64.sfx-v1.01

-rw-r--r-- 1 619 382 5353 Jun 18 1993 pkunzip64.sfx-v1.01.readme

-rw-r--r-- 1 619 382 528 Jul 13 1992 shield.readme

-rw-r--r-- 1 619 382 2967 Jul 13 1992 shield_cruncher

-rw-r--r-- 1 619 382 9856 Apr 26 1995 unipacker_v3.0

-rw-r--r-- 1 619 382 173 Apr 26 1995 unipacker_v3.0.readme

-rw-r--r-- 1 619 382 15488 Jan 24 1993 zip.collection.2

-rw-r--r-- 1 619 382 11520 Jan 24 1993 zipcode

-rw-r--r-- 1 619 382 416 Jan 24 1993 zipcode.readme

-rw-r--r-- 1 619 382 817 Feb 9 18:03 zipcode.txt

226 Transfer complete.

ftp> binary <use "binary" or "bin" before transferring binary files. IMPORTANT>

200 Type set to I.

ftp> get pkunzip64.sfx-v1.01

200 PORT command successful.

150 Opening BINARY mode data connection for pkunzip64.sfx-v1.01 (12288 bytes).

226 Transfer complete.

12288 bytes received in 0.427 secs (28 Kbytes/sec)

ftp> quit <quit when you are finished>

221 Goodbye.

>

To submit files to an ftp site, you use the command "put". Again, make sure to first specify "binary" for programs and other binary files. Typically, ftp sites will only accept submissions in an "INCOMING" directory.  

To download software (files) from an anonymous ftp sites, one has to be aware that there are two connections to be concerned about. The first connection is from your Commodore to you host computer and then the connection from your host to the ftp site. In addition you need to be be aware of the nature of the information in the desired file, particularly if you are downloading programs. If the file is not known to be in printable ASCII form, consider it a binary file. It may also be be in an archived form, i.e. a form where it is packed with many files or in a shortened format. Consider these to be binary unless it is of the "uu" type which is an ASCII format.  

6.9.1. What FTP sites have Commodore Information?

A number of sites on Internet have areas for Commodore files. The list of current Internet FTP sites can be retrieved from http://www.jbrain.com/pub/cbm/faq/cbm-ftp-sites.txt. The FTP List is maintained by Howard Herman and a copy of the latest file can be obtained from him at 72560.3467@compuserve.com.

 6.9.2. What is an FTP Mail Server? How do I use one?

 If your service provider does not allow access to FTP directly, there are some systems that will perform the FTP session on your behalf. These systems are called "ftp mail servers". These allow the user to request files to be retrieved by electronically mailing a message to the server.  

To use the service, you must first learn how the service works. This is done by mailing the server address with the word "help" in the body of the message This will result in the directions being sent in a message to you. Then, following the directions, you can request files from any FTP sites through the server. The server will send both the retrieved files and a message detailing the execution of your request.

 Here is a sample request message:

To: ftpmail@decwrl.dec.com
Subject:
Body:
connect ccnga.uwaterloo.ca anonymous brain@msen.com
chdir /pub/cbm/COMP.SYS.CBM
ls -l
quit

Please note the following:

Potential ftpmail servers include:

6.9.3. How do I send files to an FTP site?

 If you have the Commodore 128 .sfx creator, use it. It is part of the CS-DOS public-domain software package, and it requires a Commodore-1700-compatible RAM expansion unit. If you can't make .sfx archives, upload the files as straight binaries. Text files which you include in .sfx archives should be PETSCII. Separate text files should be ASCII or ISO 8859-1. If you are uploading GEOS files, use William Coleman's Convert 2.5 program to transfer the files to standard Commodore format before including them in the .sfx archive.

You can make .sfx archives on a Unix machine by first compressing the files into an .lzh or .lha archive, then using Marko Makela's LZHconvert package on the LHarchive. This technique may work on some non-Unix computers. LZHconvert is on ftp.funet.fi in directory /pub/cbm/archiving. 

Upload a .readme file separately from your program or archive. In your readme file, give a one-sentence description of each of your program(s). List the lengths, starting addresses, and CRC32s of the files. Look on ftp.funet.fi in /pub/cbm/archiving for CRC-32 software.

 People should be able to make sure easily that they have all the parts of your software package. Put a complete file list in the readme file. Make a directory on the FTP site if you can, and put all your files in that.  

E-mail the maintainers right before you post your data. Your message can be just the .readme file with an introductory comment.  

The following is a list of valid FTP sites as of 26 Sep 1995. In the directory names below, replace "..." with the existing name closest to the purpose of your files. "Dir" indicates whether the FTP site allows you to create your own directories.

Destination: ftp://ftp.jbrain.com/pub/cbm…

Uploads: ftp://ftp.jbrain.com/pub/cbm/INCOMING/

E-mail: ftp-comments@mail.jbrain.com

Dir: No.

 

Destination: ftp://ftp.funet.fi/pub/cbm/...

Uploads: ftp://ftp.funet.fi/pub/cbm/incoming/...

E-mail: cbm-adm@nic.funet.fi

Dir: No

 

Destination: ftp://pitel_lnx.ibk.fnt.hvu.nl/pub/c64/...

Uploads: ftp://pitel_lnx.ibk.fnt.hvu.nl/pub/c64/incoming

E-mail: cba@pitel_lnx.ibk.fnt.hvu.nl

Dir: No

 

Destination: ftp://dhp.com/pub/c64/...

Uploads: ftp://dhp.com/pub/c64/pub/c64/incoming

Email: rotox@dhp.com

Dir: No

 

Destination: ftp://ftp.giga.or.at/pub/c64/...

Uploads: ftp://ftp.giga.or.at/pub/c64/INCOMING (no read access here)

E-mail: spockie@giga.or.at

Dir: Yes (difficult to delete, though)

 

Destination: ftp://bbs.cc.uniud.it/pub/c64/...

Uploads: ftp://bbs.cc.uniud.it/pub/c64/incoming

E-mail: playboy@bbs.cc.uniud.it

Dir: No

6.10. What is Internet Relay Chat (IRC)?

 Internet Raley Chat (IRC) is an online version of citizen's band radio or BBS chat rooms. The service is worldwide and is available on the Internet. To use IRC, one would normally use a client program (typically called irc on UNIX machines) to access the service.

 There are now 2 IRC networks: IRCNet and EFNet. IRCNet is relatively new (less than a year old), and can be reached via the following servers:  

This is where most of the "regular" Commodore IRC fans hang out, in channel #c-64. EFNet can still be reached with the regular IRC servers, but more often than not, nobody is in #c-64, because the load on the EFNet servers is so heavy now that it's difficult to access, and even when one *can* access it, the "lag" (lag time between sending text and seeing it posted in the channel) makes most normal conersation practically useless. The exception is that the NTSC demo scene conference is currently held in EFNet in channel #c64ntsc.

 6.10.1. How do I access IRC?

If you are using a Unix shell account, and a IRC server daemon is compiled for public use, type this in at a shell prompt:  

irc [ircserver]

The [ircserver] field is optional; usually this has a default setting. Some of the better EFNet IRC servers are irc.phoenix.net, irc.law.emory.edu, and irc.neosoft.com. 

Whether you are connected to IRCNet or EFNet, the next thing you will do after you get a prompt is to type

 /join #c-64

 

Although the program used to access IRC varies, the commands are pretty much standard. All commands are entered on the text line and begin with a "/" character. Here are a few important ones:

/join <channel> Join a numbered or named channel. For numbered channels, <channel> is simply a number. For named channels, <channel> is #name (i.e. #c-64).

 /quit leave.

 /names * List names of all people in current channel.

 /dcc send (nickname) (filename)

Send a file to person (nickname).

 /dcc receive (nickname) or

/dcc get (filename) REceive a file from someone.

 If you need more info on how IRC works, there is a file available on Jim Brain's email file server called irc-info.txt that explains IRC in more depth. (See Section 6.5.2 for directions on how to use the mail server)

6.12. I See Commercial Software Available Online. Is That OK?

 There are a number of reasons why you may find commercial software online. Here are a few:

  1. The author or developer has placed the work into the public domain
  2. The author or developer uses the network as a distribution medium
  3. A registered user or software purchaser has placed the software online

 Examples of scenario #1 include CBM enthusiasts persuading authors or developers of software to place it into the public domain. Examples of the 2nd scenario include new software writers, who use the Internet as a cheap distribtion medium. The software usually cannot be used without a "key", that must be purchased.

 Unfortunately, the third example is the most prevalent. CBM enthusiasts who have previously purchased software have created disk images and placed them on FTP or WWW sites. These actions are not done with the consent of the author, developer, or distributor of he software in question.

 The quick rule is to only download software that is in the public domain or is stated to be shareware of some type. However, there are a few exceptions:

Although the above doesn't cover all possible permutations, the first item covers almost all such legal downloads.  

Any other download actions are technically considered breach of copyright and are subject to applicable laws in the location of offense.  

There are a number of myths concerning copyrighted software. Some include:

 Myth: If a company goes bankrupt, then the software is placed in the public domain.

 Truth: The bankrupt company or individual still holds the copyright. It may be sold, acquired, or traded.

 Myth: Copyrights are only good for 10 years.

 Truth: Copyrights are good for many years (50 or 75, I can't remember) after the copyright holder dies.

 Myth: I want to buy the software, but the company refused to sell it to me, stating they don't support my machine anymore. (A variant on this has the company no longer in business) So, my only choice is to download or copy it.

Truth: Firstly, it may not be your ONLY option. Many resellers, like CMD, obtain large lots of software from closing businesses. So, please check out resellers first. If the software is definitely not available, downloading or copying it is still considered copyright infringement. If the company is still in business, you might try to arrange something with them. Most Commodore enthusiasts concede this is a bad situtation. You're on your own here.

Myth: Since I own the software and am allowed archival copies, my placing software online does not constitute copyright infringement. I am merely storing my archives online.

Truth: It depends. If the software is located on your online account but not available to other individuals, then you are correct. However, placing links on WWW pages constitutes publishing, which is forbidden in many, if not all, software agreements. The abundance of copyrighted software on networks today stems from theease of transferring and publishing such items online. The ease of acquiring software in this way and the lack of support by major software companies has led many to believe that Commodore software is no longer subject to copyright restrictions. Rest assured, it is. You have been warned :-)

 8. Operating Systems

 Most Commodore users aren't aware that each machine has an operating system. Since all Commodore 8-bit systems come complete with a built in operating system and BASIC programming language, the need for an operating system is minimized. However, Commodore's internal OS is not always the right tool for the job, so alternate OS systems are available for the CBM.

 8.1. What Operating Systems are available?

 Well, Commodore computers come with a standard operating system built in ROM. They also contain a built in BASIC interpreter which is normally activated after switching on or resetting the computer. If you want alternative options to replace the existing OS, there are a few that may suit your needs. GEOS is the best known, but a number of people have made UNIX-like operating system replacements for the Commodore 64 and 128. Also, on the 128, CP/M is available out-of-the-box. (see below for details on different OS types.)

 8.2. What is GEOS?

 GEOS stands for Graphical Environment Operating System. It is a Graphical User Interface (GUI) style of OS, and it brings to the Commodore 64 and 128 integrated applications. The graphical nature of GEOS allows applications to use fonts of any size, bitmaps, and menus and mice. The system was Designed by Berkeley Softworks, now GEOWorks, and is supported now by CMD. There are a number of graphical style GEOS applications, like GEOWrite, GEOPaint, GEOPublish, GEOTerm, etc. The system is very easy to use, and is very fast, even when compared to other GUIs like Windows and OS/2. 

GEOS can make very effective use of a Ram Expansion Unit, a RAMDrive or RAMLink, or GEORam. GEOS allows you to configure your REU to appear just like another (very fast) disk drive, although it does not keep its contents when you turn your computer off. So, any GEOS software that works off of a disk will work out of your REU. Since GEOS is very disk-intensive, this greatly improves the performance of your system. Indeed, some firm GEOS adherents have said that they would not use GEOS without a RAM device of some sort.

GEOS will not work with a stock 1700. To have a RAM drive, in GEOS, you must have at least 256K of expansion. Thanks to patches developed by Jim Collette(configure2.1), GEOS also supports 1 Meg, 1.5 Meg, and 2 Meg REUs.  

GEOS files are structured differently from standard Commodore files. They cannot be uploaded or downloaded directly. Before you upload a GEOS file, use the freeware GEOS application convert2.5 by W.C. Coleman to convert it to Commodore format. When you download a GEOS file, you must use the same program to convert it to GEOS format. By convention, GEOS format files converted to standard Commodore format have a .cvt on the end; however, many converted GEOS files just have the same name as the original GEOS file. As a rule of thumb, any GEOS file you download, regardless of the extension, must be converted to GEOS format with convert2.5.  

If you download an archive of GEOS files (e.g. a .arc or .sda file containing GEOS files), you must first dissolve the archive using your C64 or C128 in native mode. The constituents of the archive will be converted GEOS files, whether or not they have the .cvt extension. Each of these constituents (which are GEOS files) must be individually converted to GEOS format with convert2.5.

 If you need some help with GEOS or any aspect of it, I refer you to Myles Skinner at skinner@julian.uwo.ca. He is one of many people who use GEOS every day and can be of help.

 8.3. What is UNIX?

 UNIX is an OS that was developed by Bell Laboratories in the 1960's and is now used on many workstations. It is a multi-user, multi-process OS that has extensive support from the educational and commercial communities. Internet and Usenet are primarily a collection of UNIX workstations networked together. The UNIX-like OS replacements for Commodore computers mainly emulate the shell of UNIX, where programs are run by merely typing in their name. Other aspects of UNIX, such as multiple processes are supported by some of the offering, which are:  

 8.4. What is CP/M

CP/M stands for Control Program for Microcomputers and is available on every Commodore 128. There is also a CP/M cartridge available for the Commodore 64, but it cannot read CP/M disks, just 1541 formatted disks, and there are questions concerning its ability to work with all revisions of the Commodore 64. CP/M was very popular in the early eighties before MS-DOS became popular. It requires a Z-80 microprocessor, which the 128 has, or an 8080 processor, and a disk drive capable of reading CP/M disks, such as the 1571. If you don't need to read existing CP/M formatted disks, then a 1541 could also be used. This operating system is the one that MS-DOS was modeled after, so there are a lot of similarities. If you are interested in using CP/M as your primary OS, then please check out the newsgroup comp.os.cpm, as they have more info on the current events concerning CP/M.

 The version of CP/M used on the 128 is 3.0, commonly called CP/M Plus. It is compatible with earlier versions of CP/M but adds some new features. The copy of CP/M 3.0 that ships with the 128 was specially modified to allow use of the features of the 128, such as the Ram Expansion Unit as a RAM disk, the SID chip, and the extra RAM of the 128. 

In the March 1994 issue of dieHard, Mike Gordillo gave an overview of the CP/M operating system. It is one of many such articles that should be read by anyone new to CP/M.

9. Demonstrations

Very few Commodore enthusiasts have never seen a demonstration, yet many aren't really sure what one is. Well, since these programs are still alive and strong in the 1990's, we need to answer some of their mysteries (but not all of them, as their job is to amaze).

9.1. Just what is a demonstration, or demo?

 A demonstration, or "demo" as they are known, is a piece of software that is designed to provoke a visually and aurally pleasing effect from the computer. This usually involves large amounts of multi-colored graphics, complex synthesized or digitized sounds, and orchestrated movement of shapes or color schemes on the screen. Demos originated as introductions to "cracked" games, games in which the copy protection had been rendered useless. As time wore on, the standard abilities of the computer were all used in demos, and rival "cracker" teams raced to bring out the best demo. In the search for the "best demo", demo authors, or "coders", tried to maximize the use of the computer in a demo program. Also, they exploited any undocumanted feature the computer could provide. Since most of the circuits in the Commodore computers were multi-purpose, experienced coders could use some of their features in non-standard ways. Some examples:  

Since the commercial game market has shrunk significantly over the past few years, and since demos are sometimes too involved to be classified as a game into, many demos are packaged so they can "stand-on-their-own". Users can download a demo, load it up, and run it like any other program.

 As demos got more involved, some coders produced cutting-edge technology demos intended to "one-up" their rival coders, while others made artistic, but less technically challenging demos for arts sake. Either way, it is important to note that demos are not usually interactive. They are meant to be viewed and listened to. Demos are mostly passive entertainment, and appreciation for the effects generated in a demo increases as one realizes the normal limitations of the Commodore line of computers.

So, sit back, load up a demo, run it, and enjoy.

9.2. What does NTSC and PAL mean?

 These two acronyms refer to the type of TV broadcasting signals used to create the video picture on your TV or monitor. American, Japanese, and Canadians use NTSC, while a good part of Europe uses PAL. This usually makes no difference to programs, as the C64 and C128 in C64 mode always present 200 lines of pixels to the video display. However, since the PAL standard allows more lines to be displayed on the screen and has a slower screen refresh time, the PAL computer has more time before screen refreshes to perform other operations, and also can put more information on the screen in some cases, since there are more lines in a PAL display. Since demos use highly optimized timing and complex routines to perform the effects, some demos can only be written for PAL machines. Sometimes, a demo is written for a PAL machine, but it can be made to run on an NTSC machine. Demos that can run on both machines without any code modification are called regular demos, those that can only run on PAL machines are PAL demos, PAL demos that have been modified to run on NTSC machines are called NTSC-fixed demos, and NTSC demos that have been modified to run on PAL machines (rare) are called PAL-fixed demos.

 

The mean difference between NTSC and PAL is that the mathematical description of NTSC will fit on one page while PAL takes a phone-book style book full of integral/Fourier/Laplace equations.

From a demo coder's point of view, the difference lies in how many cycles you get per scan line and how many scanlines there are:

VIC type cycles per line lines per screen frame rate 

old NTSC-M 64 262 60 Hz

new NTSC-M 65 263 60 Hz

all PAL-B 63 312 50 Hz

9.3. Where do I get demos?

There is a whole site full of demos. They are located in the/pub/cbm/c64/demos directory of nic.funet.fi. See section 5.4 for directions on how to transfer files from this site. 

9.4. What is a demo competition?

This is a "convention" where people from the demo "scene" get together. They are usually held in Europe, although other countries do have them. Coders get together and exhibit previously unreleased demos in a competition where the best ones are ranked according to a subjective scoring system. At the end of the competition, the demos are released to the public. To make things somewhat fair, demos are judged according to computer type, so Amiga demos do not get judged alongside 64 demos. These competitions are usually held in conjunction with music or art competitions.

Most demo competitions are held within Europe due to copyright laws and stuff.

The point of a copy pardy is to go there with your computer, meet other computer friends from other groups and swap different warez, meet other members of your group and using the combined skills from the members (graphics/coding/musix/spreading), write a demo before the closing time for the pardy so it can get voted on. The winner comes away with about 300 Kronar or similar.

9.5 What does FLI, DYCP, etc. mean?

Writing a successful demo often means tweaking routines and hardware to reach beyond the normal capabilities of a computer system. Such is partially why such programs are called "demos". To tweak the system and hardware, programmers utilize undefined routines, use hardware in non- standard ways, and create tming loops that force events to happen at certain intervals. When these components are composed together, they create an effect, either via video or sound. The effect is known by a name or phrase. Some phrases are known by their acronyms, as the two in the heading are known. FLI is Flexible Line Interlace, while DYCP is Differential Y Character Position. It is beyond the scope of the FAQ to discuss all the effect names, but a somewhat complete list can be found at http://www.jbrain.com/pub/cbm/faq/demo-acronyms.txt.

10. Emulators

 As time moves on, people move to other computer systems, for business resons or otherwise. However, many still long to play Commodore games, use Commodore software, and enjoy Commodore demos. Thus, emulators were born to bring the non-Commodore computer owner the enjoyment of owning a Commodore.  

10.1. What is an emulator?

  An emulator is a piece of software that runs on a given platform and emulates, or mimics, the operation of another machine. When the emulator loads up a program, the programs runs as though it were running on the emulated platform.

For more information on emulators and their use, please see The Commodore emulator FAQ, maintained by Ken Gifford (tsrken@voicenet.com). It can also be found on Jim Brain's MAILSERV server (See Section 6.5.2 for more information).

For those with WWW browsers, the CBM Emulation FAQ is at:

http://www.hut.fi/~msmakela/cbm/faq/

10.2. What platforms do 64 emulators exist on?

64 emulators exist on the following machines:

10.3. What platforms do 128 emulators exist on?

There is a very basic Commodore 128 emulator bundled available for the UNIX platform under X. It is bundled with X64.

10.4. Are any other Commodore computers emulated?

There is a commodore product called the PET emulator that remaps a Commodore 64 to emulate a PET 40 column unit (i.e. PET 4032). You can run this program on a C64 to emulate a PET, or you can run this program on a 64 emulator to emulate a PET on an IBM, for example.

As for VIC-20 emulators, one exists for the Amiga, and there is a program similar to the PET Emulator that allows a C64 to emulate a VIC-20. For the UNIX OS, one called VICE is available for machines with X Windows. Contact Andre Fachat (a.fachat@physik.tu-chemnitz.de) for more information. The emulator is at: http://www.tu-chemnitz.de/~fachat/

For the MS-DOS platform, a program called V20 is available at: http://shell.ihug.co.nz/~be/vic.htm For more information on this emulator contact Bryce Ewing at be@ihug.co.nz.

Although not necessarily a different Commodore computer, there is a GEOS emulator in the works. It is called GEOS Warp v1.0 and information is available at http://stud1.tuwien.ac.at/~e9426444/geoswarp/index.html. A version for the Apple PowerMac is in the alpha stage, and support for a PC version. Plans for a UNIX/X11 version are still unclear. The author is Andreas Varga, and can be contacted at e9426444@stud1.tuwien.ac.at.

VIC-20 Emulator for DOS

Paul Robson (Author)

autismuk@aol.com (Internet Contact)

http://users.aol.com/autismuk/vic20.zip (WWW URL)

12. Modifications and Cabling

As time wears on, many Commodore owners are turning to themselves to manufacture small interfaces, modify their systems, and perform other enhancements. Here are some common things the user can construct himself or herself.

12.1. How can you alter which side a 1571 reads from?

On a 128, you can force the 1571 to go into single sided mode with the drive command "u0>m0". (Issue such a command with open15,8,15,"u0>m0":close15.) On the 64, a 1571 defaults to single sided mode, but you can convert it to double sided mode (and read full double sided disk in 64 mode) with the drive command "u0>m1". While in single sided mode, you can actually format both sides of the disk as separate file systems. The command "u0>h0" selects the regular side of the disk, and "u0>h1" selects the flip side of the disk. Note that the flip side, when formatted this way, cannot be read by a 1541; neither side will be readable by a 1571 when the disk is inserted upside-down.

12.2. How do I open a C128 power supply?

First, unplug both leads running from the power supply and turn it upside down. Locate four (4) small circles in the bottom; two are in the corners and two in the other end a bit nearer each other.

Find some sharp tool, e.g. pin or nail. In turn, poke it inside each of the cirles, firmly, and pull the caps off gently. They'll come out easily. Breaking the caps should not matter, but there is no need to destroy the casing in process.

Unsrew the 4 Phillips headed srews with an appropriate tool.

Notes:

This does not apply to the C64 brick!

Some 128 power supplies do not have rubber feet; rather, they have "L"- shaped extensions on the casing. The caps on these extensions are not made of rubber, but can be removed.

12.3. How do I make a cable to hook my CBM 1902A to my 64 or 128?

Here is the diagram used to make a replacement Chroma / Luminence 40 column cable, that the 1902A uses, to connect to the 64 or 128.  

       _________                            ________
      /    3    \      1.  Not Used        /    2   \    *1. Luminance
     / 2       4 \    *2.  Audio          / 4     5  \   *2. Ground  
    !             !   *3.  Ground        !            !  *3. Audio out
    !      6      !   *4.  Chroma        ! 1    6   3 !   4. Video out
    !             !    5.  Not Used      !            !   5. Audio in
     \ 1       5 /    *6.  Luminance      \  7    8  /   *6. Chroma
      \____n____/                          \____n___/     7. Not used
                                                          8. Not used
         1902A                                64/128
                            * Actually used

 

12.4. How do I build a simple RS-232 interface cable?

Here are a couple of different interface ideas, and another can be found at ftp://ftp.funet.fi/pub/CBM/documents/rs232.txt

  Using MAX-232 IC:
    
  Userport C64                                           C64 RS232
                          _________
                         |         |
      PA2 M-----------11-|         |-14------------------- TXD (2)
      PB1 D-----------10-|         |--7------------------- RTS (4)
      PB6 K-----------12-| MAX 232 |-13------------------- CTS (5)
    FLAG2 B---X--------9-|         |--8------------------- RXD (3)
      PB0 C---|          |         |--3--|+-|
      VCC 2-----------16-|         |--1-----|              DB25-connector
      GND N------X----15-|         |
                 X--|+-2-|         |--5--|+-|
                 X--+|-6-|_________|--4-----|
                 |
                 |---------------------------------------- GND (7)

   -|+- capacitor 22uF/16V
   -  +

  Using Transistors:

                          RS-232 interface
                      <Transistors are 2n2222>
  <24 pin edge connector>
  N <-----------------------+-----------+
                           /            !
          22k         !-!>+             !
  M <----/\/\/--------!                 !
                      !---+             !
          1k               \            !  <male db25 connector>
  2 <----/\/\/--------------+------------>-------------------> 2
                                        !
                      +-----------------+
                       \
                        +<!-!                22k
                            !---------------/\/\/------------> 8
                        +---!
                       /
  H <-----------------+

  E <--------------------------------------------------------> 20

  C <---+
        !
  B <---+-------------+
                       \
                        +---!                22k
                            !---------------/\/\/------------> 3
                        +<!-!
                       / 
  A <-----------------+--------------------------------+-----> 7
                                                       !
                                                       +-----> 4
                                                       !
                                                       +-----> 1

If you are having problems with this circuit as it stands, you may wish to modify it in this way to reverse the clock signal:

Disconnect the emitter and collector on the middle transistor of the diagram (the one that goes to the H line on the computer side) Connect the collector to pin 2 on the 24 pin edge connector (the 5v Vcc line), connect the emitter to pin H on the same connector, then connect a 1k ohm resistor to the same pin H and the other end of the resistor to pin N or A.

12.5. How do I build a 2400/9600 bps RS-232 interface cable?

A new programming technique makes it possible to acheive 9600 bps on an unexpanded Commodore 64 without the use of a Swiftlink cartridge. Daniel Dallmann of Germany is the originator of this technique and is currently writing modem drivers for some of the popular C64 terminal emulation programs to take advantage of this new technique.

The interface described below is a little more complex than the one in Section 12.4, but has many advantages:

Schematic of a very simple RS232-Interface:

    userport                       MAX232         rs232   9pin  25pin                                +----------+                                !          !
  (C)    pb0--+                 !          !
              !                 !    /!    !
  (B)  flag2--*--------------------O< !---------  rxd     2      3
              !                9!    \!    !8
  *7*    sp2--+                 !          !
                                !          !
  *6*   cnt2--+                 !          !
              !                 !          !
  *L*    pb7--+ <NOTE **1!>     !          !
                                !  !\      !
  (M)    pa2--*--------------------! >O---------  txd     3      2
              !               11!  !/      !14
  *5*    sp1--+                 !          !
                  74ls00        !          !
                  +-----+       !          !
                  !     !       !  !\      !
  (D)    pb1-*------>O-------------! >O---------  rts     7      4
             !   1!     !3    10!  !/      !7
             +----!     !       !          !
                 2!     !       !    /!    !
  (K)    pb6--------O<-----*-------O< !---------  cts     8      5
                 6!     !4 !  12!    \!    !13
                  !     !--+    !          !
  (1)    gnd------!     !5      !          !---   gnd     5      7
                 7!     !       !          !15
  (2)    +5V------!     !       !          !     (dsr     6      6)
                14+-----+       !          !
                                !          !     (dcd     1      8)
                                !          !
                                !          !     (dtr     4     20)
                    c2  ! !+    !          !
| (2)    +5v------------! !-----!          !     (ri      9     22)
                        ! !    2!          !
                                !          !
                    c4 +! !     !          !
  (1)    gnd------------! !-----!          !
                        ! !    6!          !
                                !          !
                     c1 ! !+    !          !
                      +-! !-----!          !
                      ! ! !    1!          !
                      !         !          !
                      +---------!          !
                               3!          !
                     c3 ! !+    !          !
                      +-! !-----!          !
                      ! ! !    4!          !
                      !         !          !
                      +---------!          !
                               5!          !
                                !          !
  (1)    gnd--------------------!          !
                              15!          !
                                !          !
  (2)    +5V--------------------!          !
                              16+----------+

  (x) - connections required for a normal RS232-Interface.
  *x* - additional connections to go up to 9600 baud.

  remark: The MAX232 needs 4 capacitors to generate +/- 10 volts to
          drive the RS-232 unit.  The values are as such:  (in uF)

          IC       C1   C2   C3   C4                        
          -------  ---  ---  ---  ---
          MAX232   1.0  1.0  1.0  1.0  
          MAX232A  0.1  0.1  0.1  0.1  
          MAX232E  1.0  1.0  1.0  1.0  
                         
  notes :
     **1 Some other interfaces use this pin.  In that case you have to cut 
         the connection and change it to new way.  PB7 is normally used to 
         receive the DSR (Data Set Ready) signal from the modem, but this 
         signal isn't supported by all terminal programs.  Because of the new 
         wiring DSR will seem to be active to all 'old' programs, so that 
         there won't be any troubles.


     Top view of the used ICs:
  
          74 LS 00                    MAX232
          +------+                   +------+
     inA -!1 \/14!- vcc       +cap1 -!1 \/16!- Vcc
     inA -!      !-  inC      +cap2 -!      !- GND
    outA -!      !-  inC      -cap1 -!      !- RS232/txd
     inB -!      !- outC      +cap3 -!      !- RS232/cts
     inB -!      !-  inD      -cap3 -!      !- TTL/^cts
    outB -!      !-  inD      -cap4 -!      !- TTL/txd
     gnd -!7    8!- outD  RS232/rts -!      !- TTL/^rts
          +------+        RS232/rxd -!8    9!- TTL/rxd
                                     +------+
          4 X NAND
                                     2 X RS232 transmitter
                                     2 X RS232 receiver

        user port (view on C64s backside)

       1  2  3  4  5  6  7  8  9 10 11 12   (top)
      ------------------------------------
       A  B  C  D  E  F  H  J  K  L  M  N   (bottom)
  
          1 - GND       A - GND
          2 - +5V       B - ^flag2
          3 - ^reset    C - pb0
          4 - cnt1      D - pb1
          5 - sp1       E - pb2
          6 - cnt2      F - pb3
          7 - sp2       H - pb4
          8 - ^pc2      J - pb5
          9 - atn in    K - pb6
          10- 9V AC     L - pb7
          11- 9V AC     M - pa2
          12- GND       N - GND

12.6. How can I determine how much VDC video memory is in my C128?

Here are two ways to detect whether the C128 VDC chip has 16kB or 64kB of RAM.

1 rem fred's nifty program to determine size of 8563 dram5 w=dec("cdcc"):r=dec("cdda")10 bank15: ad=dec("d600"): da=ad+1 :rem setup ml
20 pokead,28: s=peek(da): pokeda,63 :rem select 64k
30 i=16896: sysw,i/256,18:sysw,iand255,19:sysw,85,31 :rem write $55
40 i=16896: sysw,i/256,18:sysw,iand255,19:sysr,,31:rregc1 :rem read here
50 i=17152: sysw,i/256,18:sysw,iand255,19:sysr,,31:rregc2 :rem and here
60 i=16896: sysw,i/256,18:sysw,iand255,19:sysw,170,31 :rem write $aa
70 i=16896: sysw,i/256,18:sysw,iand255,19:sysr,,31:rregc3 :rem read here
80 i=17152: sysw,i/256,18:sysw,iand255,19:sysr,,31:rregc4 :rem and here
90 pokead,28: pokeda,s:sysdec("ff62") :rem restore 16/64k
95 print chr$(14)chr$(147)
100 if c1=c2 and c3=c4 then print "16K": else print"64K"  :rem did it echo? 
110 end

or:

POKE DEC("D600"),28:POKE DEC("D601"),63:SYS DEC("FF62"):SCNCLR

If you have 16k the screen will fill with zeros; 64k will give you a ready prompt.

12.7. How can I convert my C64 to run on battery power?

The July, 1990 issue of 73 Amateur Radio has an article on converting the C64 and 1541 to run on DC power. I'll summarize the C64 portion:

DC Power Conversion for the C64

  1. Locate component CR4 on the circuit board. Mark the positive hole on the board. Desolder and remove the component. 2. Rest :-)
  2. Connect the marked hole to +12V.
  3. Desolder and remove VR1. Looking down at the component side of the board, connect a wire from the vacant right hand hole and run it to +12V.
  4. Locate L5. It will probably be in one of two locations. On the older version, desolder the right hand leg and lift. On the newer version, desolder the top leg and lift.
  5. Connect +5V to the empty L5 hole.
  6. Locate the R37 and R100 pads. Use a continuity meter to find the pads that are connected. Desolder and lift these legs. You will insert a 60 Hz clock here.
  7. You could generate this clock using a variety of methods. Here's one:
                                  +12V          __________________________|          |                         |          | C1    R1          ______|_______          |-)|-+-/\/\/-+-----|6     8       |          |    |       \     |              |
          |   XTAL1    / R2  |    MM5369    |
          |    |       \     |              |
          |-)|-+-------+-----|5            1|---> 60 Hz (to R37 pad)
            C2               |      2       |
                              ---------------
                                    |
                                   GND

C1 = 30 pF

C2 = 3-15 pF (variable)

XTAL1 = 3.57 MHz crystal

R1 = 1k

R2 = 10M

 

It is suggested that you use a short length of shielded coax cable to connect the 60 Hz output to the R37/R100 pad.

Also, it is suggested that you use a frequency counter to tune the above circuit to exactly 60 Hz.

This conversion would work well if you wanted to use the C64 in a car or powered by a solar set-up.

12.7. How do I build a GEOCable interface?

The interface is simply a cable between the printer and the user port. The pinout is as follows:

pin on 64        pin on printer
a  Ground        33  Grondb  Flag 2        11  Busy
c  PB0            2  Data 1
d  PB1            3  Data 2
e  PB2            4  Data 3
f  PB3            5  Data 4
h  PB4            6  Data 5
j  PB5            7  Data 6
k  PB6            8  Data 7
l  PB7            9  Data 8
m  PA2            1  Strobe
n  Ground        16  Ground

Superscript uses the same cable, but has the following change:

b  Flag 2        10  Acknowledge

 

Either wiring will work with either program, but the GEOCable wiring is preferred.

 

12.8. How do I connect my Commodore printer to an IBM PC?

Look for the plans for the interface at: http://www.coast.net/simtel/msdos/info/c64topc.zip.

13. Enhancements

If you like to tinker with your Commodore to get the best possible performance out of it, these suggestions and products may help you in your quest.

13.1. How do I increase my disk drive's transfer speed?

Since the introduction of the Commodore VIC-20 and the slow serial bus, Commodore owners have been plagued by slow disk access. There are two ways to allevaiet this problem, fastloaders and ROM replacements.

13.1.1. What is a Fastloader?

The Commodore 1541 drive and any drive attached to a VIC-20, C64, Plus 4, C116, or C16 suffer from very slow read and write times. This is caused by Commodore's haste in "economizing" the IEEE-488 bus used in the PET series of Commodore computers into the serial bus. The IEEE-488 bus transferred 8 bits of data at a time, and performed some synchronization steps, or handshaking, between bytes. Commodore reduced the path to 1 bit but kept most of the original handshaking, most of which is redundant when transferring 1 bit at a time. Early on, some developers noted that, since the 1541 drive was intelligent enough to execute a program loaded into its RAM, and the Commodore operating system calls to do disk I/O could be bypassed, they could write software that sped up the loading process by modifying or completely changing the protocol used on the serial bus. This is the idea behind fastload cartridges like FastLoad, Mach 5, etc...

13.1.2. What is a ROM replacement?

As programs became more complex, some programs would not operate with this approach. Thus, the developers then rewrote parts of the Commodore operating system on both the computer and the disk drive, and replaced the parts of them that did disk I/O with new pieces of code. This is the idea behind JiffyDos and others.

The basic idea in speeding up the disk drive is to use more than 1 line to transfer data, effectively doubling the transfer speed. Then, reduce synchronization requirements in the protocol to a bare minimum, as synchronizing time is time not being used to do transfers.

The fastload cartridges are handicapped somewhat by the need to transfer the portion of the program that runs in the disk drive to the drive using the slow speed evry time the drive is used. This can be alleviated somewhat, but the replacement operating system replacement products like JiffyDos win the race since they do not need to load code into the drive, as it is already there.

13.1.3. What are the disadvantages to using a drive enhancement?

The products are not 100% compatible, as they sacrifice reliability for speed somewhat. That means that a program that does not load due to an error while using a fastload product will probably load without the fastloading enabled. Also, some programs can not handle the change in loading or reading speed, so these enhancements yield about 90% compatibility.

13.1.4. What other things can I do to speed up the drive?

You can also increase the speed of disk drive operation by organizing consecutive parts of a file on disk to fall a certain number of disk sectors apart. This is called the interleave or interleaving factor. Normally, a 1541 disk drive space consecutive parts of a file 10 sectors apart, but you can change that a little to minimize the time needed to find consecutive parts of a file.

Also, the C128 in 128 mode hooked up to a 1571 or 1581 has a built-in fastloading scheme called burst loading. Therefore, if you are in 128 mode and hooked up to a 1581 or a 1571, you already have this feature. However, the 128 in 64 mode reverts back to the old slow serial routines, and the 128 in any mode using a 1541 cannot use the burst load routines.

13.2. How do I expand my disk drive's capacity?

Software Support International sells the 1541 RAMBoard, which will increase you 1541's memory. SSI used to market a similar board for the 1571, but they have depleted stock and no longer carry it.

You can also expand your disk drives on board RAM capacity, and use that extra memory for better archiving performance.

13.2.1. What is a Hard Drive? Who sells them?

A hard disk drive is a non-removable ramdom access medium similar that allows one to store very large quantities of data. Hard disk drives are mandatory on most newer computer systems, but are usually optional for Commodore 8-bit computers. However, the faster load time, the greater capacity, and the ease of use make them desirable.

CMD sells hard drives for the Commodore 64 and 128. They range in sizes from 50 Megabytes on up. In comparison, a Commodore 1581 drive holds .8 Megabytes.

13.2.2. What is 64NET?

If you have access to an IBM of some kind (preferrably with a hard drive), you can use a product called 64NET to hook the drive up to the Commodore. 64NET consists of a cable which connects the CBM User Port and the IBM Parallel Port together, and a program that runs on both machines. The program on the IBM is a standard application, but the CBM part is a wedge, so it should integrate seamlessly with some programs. There is now just one copy of the product. Registered users simply receive a 64NET.KEY file that enables SAVING. There is a student discount of AUS$40.00.

The product is at version 1.82.62 and has full OPEN/CLOSE/READ/READST support, can support 4 gigabyte IBM partitions, and have a built-in off-board monitor which includes some dos wedge functions. The IBM programs have link-based helpsystems and will run on any IBM machine. The registered version allows saving of files, wheras the PD version does not. The registered version also contains support for GEOS.

The registered BETA version is available (with upgrade to final version free) for AUS$50.00, while the unregistered version is free. These prices do not include the cable that is required for operation. The cable, program, and more information can be received from Paul Gardner-Stephen at gardners@ist.flinders.edu.au. Also, the system can be ordered from:

In Europe:  
Performance Peripherals Europe
Germany
+49 2227 3221
 
Michael Renz
+49 2227 3221

 

And in Australia from:
Russell Alphey
+61 3 4278558 (A/H
r.alphey@dce.vic.gov.au

Paul Gardner-Stephen
+61 8 277 7479 (A/H)

Versions are available for the C64 and C128, and a C65 version is close to completion. Also available is an Software Development Kit (SDK) with a CBM cross assembler.

13.2.3. What is SERVER64?

SERVER64 is a product like 64NET, in that it allows you to use an IBM PC as a large hard drive. However, unlike 64NET, SERVER64 does not require a connection to the user port and a special boot program be run. Instead, the system uses an X1541 cable to attach the Commodore 64 serial port to an IBM parallel port.

The product is available at: ftp://ccnga.uwaterloo.ca/pub/incoming/SERVER64.ZIP

Documentation is available at: ftp://ccnga.uwaterloo.ca/pub/incoming/SERVER64.TXT

13.3. How do I expand my computer's RAM capacity?

13.3.1. What is a Ram Expansion Unit?

The original form of RAM expansion available to the C64 and C128 were the Commodore REUs (Ram Expansion Units). These REUs plug into the cartridge port, and provide 128K (the C=1700), 256K (the C=1764), or 512K (the C=1750) of additional RAM.

This RAM is not true system RAM however; simply adding a 512K REU to your system does NOT mean that your word processor will suddenly be able to edit 512K larger documents. A REU will only be used by a program that was written to take advantage of an REU. As a caveat on this, you can use your REU as additional RAM for a RAMLink .

An REU can be used as a Commodore Disk Drive by running the program RAMDOS. This will allow users to save and load files from the REU.

If you are using CP/M, the REU can be configured to act like a disk drive under CP/M.

Although the C=1764 was originally advertised for the C64, and the 1700 and 1750 for the C128, any of the three RAM expanders will work with either the C64 or the C128. Note that if you want to use any of them on the C64, you need a heavy duty power supply. The 1764 comes with such a power supply.

There are hardware hacks that will expand a 1700 or a 1764 to 512K; additionally, a 512K REU can be expanded to 1 Meg or more. The plans are at ftp://ccnga.uwaterloo.ca/pub/cbm/hardware. While it appears completely safe to upgrade your REU to 1 Meg, there have been some reports of problems with REU's upgraded to 2 Megs. Sometimes the REU will work fine for a while, then fail. If you are upgrading your REU, it would probably be wise to stop at 1 Meg. If you are still memory hungry, consider a CMD RAMLink.

If you don't wish to do it yourself, there are people who will do it for you, for a fee. The following individual will do RAM expansions on the 17xx series. He Has lots of experience doing these modifications. His current quoted price for expanding a 1750 from 512k to 1 meg is $60. Call for the latest prices. In addition he can do repairs on the RAM.

Raymond Day
9601 Morton Taylor Road
Belleville, MI 48111-1328
r.day@genie.geis.com (Contact)
(313) 699-6727

On a similar note, Software Support International sells a device called the 1750 clone, which functions just like a 1750. It is not as expandable as the real 1750, but can be used where a 1750 is recommended or required.

13.3.2. What is a geoRAM Unit?

When Commodore REUs became hard to find several years back, Berkeley Softworks introduced geoRAM, which is a 512K RAM expander. This RAM expander gives you all of the advantages of a 1750 with GEOS. However, it is not 1750 compatible, so it will not work like a 1750 outside of GEOS; it is transparent to other programs. (As a caveat on this, see the info on RAMLink)). DesTerm128 2.0 will not work with a geoRAM plugged in. A special version of GEOS 2.0 (which is bundled with geoRAM) is necessary to use geoRAM. No additional power supply is necessary to use geoRAM. The geoRAM can be upgraded to 2MB also. Contact Jens-Michael Gross at grossibr@buran.fb10.tu-berlin.de for information on upgrading the geoRAM.

The geoRAM can be used without GEOS if it is installed in a RAMDrive or RAMLink. See Section 13.3.4 for information.

13.3.3. What is battery backed GeoRAM (BBGRam)?

Battery Backed GeoRam is a products marketed by Performance Peripherals Incorporated. The unit is actually a geoRAM clone, but has battery backup included within the unit. The unit can be ordered in the following configurations:  

512kBytes $92.97US

1MBytes $123.97US

2MBytes $165.97US

13.3.4. What is a RAMLink?

RAMLink (RL) is a RAM expansion devices from CMD. The RAM in these devices can be partitioned into native mode partitions (with dynamically allocated subdirectories), or 1541, 1571, or 1581 emulating partitions. Thanks to the 15x1 emulating partitions, software does not have to be specifically written to run with a RL. The RL devices should appear as a disk drive to most programs. One notable exception is DesTerm v2.00, which does not work with the RL. There are few other exceptions, and no major commercial program has a problem running with an RL . The deciding factor seems to be whether or not the program uses a drive's internal ram. The RL does not 'mimic' having this type of internal drive ram, and if a program relies upon this it will not run. The heavily copy protected Digital Solutions' programs use this drive ram for its burst loading routines. So, even though a Maverick/RamBoard combination will write a copy of it to the RL, it will fail to boot. However, these programs, once booted from a 1571, will use and access all of RL's many functions for lightening fast loads and saves.

RL has ts own power sources, separate from the computer. When you turn off the computer, the power to the RL is left on, leaving its contents intact. This power supply always remains on. (For safety from power outages, battery backups are also available.)

RAMLink is a powerful, large device. It can be configured from 0 to up to 16 Megs of RAM, using industry standard 1x8 (100ns) 1 Meg and 4 Meg SIMMs.(1x9, and faster Simms can be used.) The RL is constructed so that the user may easily add additional SIMMs at any time.

RAMLink has a port into which you can plug a Commodore REU or a geoRAM. You can configure RAMLink to either leave this RAM device alone, or to use the REU/geoRAM's RAM just as if it were part of the RAMLink's RAM. A RAMLink also has a pass-through port, in which you can plug a normal C64/C128 cartridge, and a parallel port for a CMD hard drive. The latter greatly improves the transfer speed of data between your computer and the hard drive.

If you have a geoRAM, the geoRAM can be plugged into the RL . the geoRAM then acts as an extra piece of ram-based disk storage.

The RL comes with a very well documented, thorough, and easily referenced User Manual. Contact CMD for more details.

13.3.5. What is a RAMDrive?

The RAMDrive is similar in function to the RAMLink sold by CMD (see Section 13.3.4). The main differences are the smaller amount of memory (1-4 MB) and the smaller size.

At one time, the RAMDrive was sold by CMD, but is no longer available through them. However, Performance Peripherals, Inc. still sells the RAMDrive unit.

13.3.6. How do I expand my C128 Video RAM?

The original, "flat" C128's came with an 80 column display that had it's own display RAM that was separate from the system memory of the computer. This "VDC RAM" was 16K in size. After Commodore introduced the C128D, they changed the design and marketed some versions of the Commodore 128D with 64K of VDC RAM. Since them, some programs (e.g. I-Paint, Dialogue128) have come out that either need or support 64K of VDC RAM. Owners of flat 128's can upgrade their video RAM to 64K either by ordering an upgrade plug-in board(e.g. from Software Support International), or by replacing the RAM chips themselves. All that needs to be done is, the two 4416 RAM chips next to the VDC chip need to be replaced with 4464 RAM chips. Note, however, that since this involves soldering in tight quarters on your 128's motherboard, it is very easy to damage the motherboard or the nearby VDC chip. Whenever you wish to use the extra RAM, be sure to set bit 4 in the VDC register 28 (0 = 16kB, 1 = 64kB).

13.3.7. How do I expand my C64 internally?

THE TRANSACTOR magazine published two articles written by Paul Bosacki on expanding the Commodore 64. The first article (in Transactor 9.2) described how to expand the 64 to 256kB by swapping RAM chips and contained switches to perform some special options. The second (in Transactor 9.6) describes how to expand the Commodore 64 to 1MB, using a 512kB REU and 512kB on the motherboard. In addition, this expansion needs no switches to enable options, which is an enhancement to the first article.

The Nordic/Finnish MicroBITTI magazine published a two part article by Pekka Pessi on expanding the Commodore 64. Pessi's design (in MicroBITTI Issues 1 and 2 for 1987) split the C64 memory map into 4 16kB pages, which could be each mapped to any 16kB page in 256kB of memory. It uses the same approach of swapping the 64kB DRAMs for 256kB ones, but does the addressing somewhat differently.

In 1993, Marko Makela, with help from Pekka Pessi, translated Pessi's article into English and made it available via the Internet. It is now available at ftp://ftp.funet.fi/pub/cbm/documents/ or ftp://x2ftp.oulo.fi:/pub/cbm/docs/

13.3.8. How do I expand my C128 internally?

Marko Makela has written an article on how to expand the C128 and C128D's memory up to 1024kB. It is compatible with his earlier article on expanding the C64 to 256kB, so programs written for the expanded 64 should run on the expanded 128 in 64 mode. The plan and schematic is available via ftp from nic.funet.fi in directory /pub/cbm/documents/1028.

The C-256 and C-512

Twin Cities 128 issues #30 and #31 have a hardware scheme for expanding your 128 to 256K or 512K. To people who understand banking on the 128, the 256K modification adds RAM blocks 2 and 3 to your system. The 512K modification adds four more RAM blocks that can be accessed as alternate RAM blocks 2 and 3, or as a completely separate set of RAM blocks 0-3.

As with Commodore REUs, software must specifically support the expanded RAM. Since these modifications are relatively new, there is not much software out yet that supports the additional RAM. However, ACE 128 does support this expansion without any special drivers.

The hardware modification, while simple from software's point of view, is rather difficult to perform in hardware. Richard Curcio, the designer of the memory modifications, can modify your 128 for you. See Twin Cities 128 issue #31 for more information.

13.4. How do I increase my computer's speed?

There are a number of products that can increase the operating speed of the Commodore 64. These products work by turning off the on-board 6510 and turning on a compatible microprocessor, usually a 65C02 or a 65C816 in 6502 emulation mode. These products will work with any software that does not mind running up to 4 times faster and does not use any of the undocumented opcodes of the 6502 IC.

Also, for a quick way to gain a small speed increase, please see Section 17.2.

13.4.1. How do I increase my Commodore 64's speed?

Please note that some of these products are no longer offered for sale by the original companies, but can be purchased from individuals as used equipment.

Turbo Master Accelerator for C64.

The Turbo Master Accelerator is for a C64 (or C64 mode of C128) only, uses a Rockwell R65C02P4 microprocessor clocked at 4.09 MHz, has its own 64K of fast static RAM and a 32K EPROM, has hardware/software switchable speed between 4.09 and normal, and has an enhanced ROM with faster disk routines that can also be disabled. A JiffyDOS compatibility option was available.

Turbo Process Accelerator for the C64.

This accelerator, made by Rossm"oller, uses a 65C816P-4 microprocessor to operate the 64 at three speeds: 1MHz, 4 MHz, or anything between 50kHz and 4 MHz. The 65C816 is a 16 bit version of the 6502/6510, so it is possible to write software for the new IC that takes advantage of the 16 bit opcodes.

Flash 8

This accelerator, the only one being currently produced, is also the fastest such accelerator for the Commodore 64 to date. The module, which plugs into the expansion port of the Commodore 64, increases the CPU processing speed from 1MHz to 8MHz. It uses a 65816 CPU (The 65816 is a descendant of the 65XX series) running at 8MHz to enable the increased speed. Also, it can be optional expanded to 4 or 8 MB RAM onboad. This product is the successor to the Rossmoeller TurboAccess 4MHz accelerator card. The unit has the capability to provide 10x speed disk access via a parallel cable and has a CP/M option.

GEOS compatible requires the special patches that are available from the manufacturer, and games or demos which do very intensive timing or raster effects might not fucntion correctly. At present, the accelerator only works on PAL 64s of certain revisions and will not function on a C128 in 64 mode. Currenlty, the REU is not supported.

From the advertisement:

"FLASH 8 is a GEOS-compatible module for the expansion port with a 65816 CPU that speeds the C64 to 8Mhz by highest compatibility with existing software. Additionally to the original Commodore Kernal a JiffyDos kernal is available. You can choose between two different kernals via DIP-switch. Flash 8 comes either with 256 Kbyte or 1 Mbyte RAM onboard.

A CP/M-emulator for running Z80-CP/M-Software, a macro-library and assembler for the 65816 in native-mode are included."

The prices are:  

349 DM (~$245.00 US) for the unit with 256kB RAM.

449 DM (~$315.00 US) for the unit with 1MB RAM.

  It is being manufactured and sold by Discount 2000 and Performance Peripherals, Inc.

The Turbo Master Accelerator is for a C64 (or C64 mode of C128) only, uses a Rockwell R65C02P4 microprocessor clocked at 4.09 MHz, has its own 64K of fast static RAM and a 32K EPROM, has hardware/software switchable speed between 4.09 and normal, and has an enhanced ROM with faster disk routines that can also be disabled. A JiffyDOS compatibility option was available.

CMD SuperCPU 64

The CMD Super 64 CPU accelerator cartridge, currently shipping from Creative Micro Designs, will allow a Commodore 64 or Commodore 128 (in 64 mode) to reach CPU speeds of 20 MHz.

A Western Design Center 65C816S 16bit CPU core (with 6502 emulation) forms the heart of the unit. The accelerator is compatible will all standard peripherals for the Commodore 64, including the 1500 series disk drives and the 1700 series Ram Expansion Units. In addition, the unit is compatible with GEORam and the various peripherals offered by CMD, such as the HD and FD series disk drives and the RAMLink.

Internally, the unit contains a WDC 65C816S CPU and 64kB of fast static RAM for no-wait program processing. Both a stock and JiffyDOS enhanced kernel are available, and the user can completely disable the unit if desired without unplugging. Also, the speed of the unit (1MHz or maximum speed) can be selected via switch or software. A pass through port allows the user to use existing cartridges, and an expansion port dubbbed the "Rocket Socket" allows RAM or functionality enhancements to be added to the accelerator.

Production units began on July 25, 1996, and a developer's package will be made available to software authors shortly. The price is as follows:

Super 64/20 US$199.00

 Creative Micro Designs, Incorporated. (CMD)
15 Benton Drive
P.O. Box 646
East Longmeadow, MA 01028-0646
(800) 638-3263 (Orders only)
(413) 525-0023 (Information)
(413) 525-0147 (Fascimile)
cmd.sales@the-spa.com (Information and Pricing)
cmd.support@the-spa.com (Technical Support)
cmd.cac@the-spa.com (Charles Chistianson - Marketing)
doug.cotton@the-spa.com (Doug Cotton - Technical Writer)

 

13.4.2. How do I increase my Commodore 128's speed?

The SuperCPU 128

In addition to the SuperCPU 64 (see Section 13.4.1), Creative Micro Designs is planning to introduce a 128 version of this 20 MHz accelerator. Production dates are sceduled for around Christmas, 1996. The price for the 128 version has not yet been finalized., Contact CMD for more information.

13.4.3. Can I speed up other Commodore computers?

Although it is possoble to accelerate just about any Commodore machine, no commercial products exist to speed up other Commodore computers.

13.5. How do I increase my computer screen's resolution?

Although the Commodore computers once reigned in terms or screen rsolution and number of colors available, newer machines have surpassed it in both areas. Depending on whether you want more characters on the screen or more colors at one time, these products might help.

13.5.1. How do I increase my Commodore 64's screen resolution?

Since the Commodore 64's VIC-II cannot be expanded, the only way to increase the resolution of the Commodore 64 is to turn off the on-board video and replace its output with one from another IC. The simplist approach involves attaching an 80 column video chip (6545, 6845, etc.) to the C64 via the expansion port. This will provide 80 columns of monochrome text. However, this is only useful for text applications, as most of these video devices are not capable of doing high resolution graphics. Also, none of the following are currently produced, but many are sold as used equipment by users.

Batteries Included BI-80

This unit combined an 80 column monochrome text video display (using the 6545 IC) and BASIC 4.0. Either options could be turned on or off via software control.

DATA 20 80 column unit

This unit preceded the BI80 unit, and was produced from 1982-1984.

Protecto Enterprizes Protecto-80

This was basically a repackaged DATA-20 unit. Some circuitry was changed to permit price reduction, but the same functionality is there.

13.5.2. How do I increase my Commodore 128's screen resolution?

The Commodore 128 comes equipped with an second video display controller in addition to the 40 column VIC chip. This chip can be used while in 64 mode through clever programming, and the controller's standard 640*200 pixel size can be expanded to 640*400. However, there is no way to completely overcome the color limitation of 16 colors

In Germany at one time, there was a small hardware device which plugged right into the C128 and expanded the resolution to 720*700 in C128 Mode. Other modes made available were: 640*720, and 640*650. Basic 7.0 had full access to screen modes of 640*720/360, 720*700/350 and for monochrome displays: 640*400 and 720*400. Any vertical resolution above 400 was interlaced, but flickered far below anything the Amiga offered. There was reportedly no interference with other hardware and full compatibility was maintained. The device was the 'Graphic-Booster 128' and was marketed by:  

Combo AG
Tugginerweg 3
4500 Solothurn
Schweiz (Switzerland)

13.6. How do I increase my computer's serial transfer speed?

If you wish to operate serial devices at speeds faster than what the internal software emulated UART can handle, you will need to purchase a UART interface. There are a couple of different kinds, and each has its advantages.

To use these hardware UARTs, the application must be written to take advantage of the device.

SwiftLink

the SwiftLink cartridge is manufactured by CMD and allows speeds up to 38.4 Kbps. This device contains a 6551 UART and plugs into your cartridge port and supplies you with a standard 9-pin serial port. You then connect the desired modem. Dialogue128, Novaterm64, and Kermit(v2.2s) support the SwiftLink.  

Creative Micro Designs, Incorporated. (CMD)
15 Benton Drive
P.O. Box 646
East Longmeadow, MA 01028-0646
(800) 638-3263 (Orders only)
(413) 525-0023 (Information)
(413) 525-0147 (Fascimile)
cmd.sales@the-spa.com (Information and Pricing)
cmd.support@the-spa.com (Technical Support)
cmd.cac@the-spa.com (Charles Chistianson - Marketing)
doug.cotton@the-spa.com (Doug Cotton - Technical Writer)

HART Cartridge

The HART cartridge is a device similar to the Swiftlink in size. However, the HART unit conatins an 8255 UART IC and can handle speeds up to 57.6Kbps. The unit is manufactured by Hatronics.

Hatronics
145 Lincoln Street
Montclair, NJ 07042
(201) 783-7264
Mark Hatten (Contact)

DataPump

DataPump is a set of plans used to build a device that functions just like a Swiftlink. The plans are available at many FTP sites. ftp://ftp.funet.fi/pub/CBM/documents/datapump.sfx (GEOS format) ftp://hamsterix.funet.fi/pub/CBM/documents/datapump.sfx (GEOS format) ftp://ccnga.uwaterloo.ca/pub/cbm/INCOMING/hardware/

13.7. How do I increase my computer's sound quality?

SID Symphony

The C64 and C128 come equipped with 1 Sound Interface Device (SID) IC. This provides 3 channels of output. For more channels, one can purchase the SID Symphony cartridge from CMD to provide 3 extra channels. Most newer sound playing and editing software is able to use the extra channels.

There are also a number of units one can purchase or build that will provide MIDI capabilities for Commodore 64 and 128 users.

13.8. What other ways can I expand my Commodore computer?

There are many hardware items that you can use. Below is a list of a few of them. Note that some of these items may no longer be in production, and thus are only available as used equipment.

80-Line Simplified Digital I/O Board

This unit has 40 TTL input lines and 40 separate buffered digital output lines plus an expansion socket that could support a standard ROM or clock/ calendar cartridge. It works on the C64 and all modes of the C128 (including CP/M mode). Its model number is the SS100 Plus.

"Original Ultimate Interface"

This is a universally applicable dual 6522 Versatile Interface Adapter board with four 8-bit fully bidirectional I/O ports, eight handshake lines, and four 16-bit timer/counters. It has IRQ interrupt capability and is expandable to four boards. It works on the C64 and all modes of the C128 (including CP/M mode). Its model number is the 641F22.

A/D Conversion Module

This unit is 16 channel, 8-bit, 100 microsecond conversion time. Piggy-backs on the 641F22 and thus requires it to operate. Works on the C64 and all modes of the C128 (including CP/M mode). Its model number is 641F/ADC0816.

The Spartan Apple ][+ emulator for the C64, by Mimic Systems, Inc.

In addition to allowing the use of Apple ][+ hardware/software, this device boasted four software selectable C64 cartridge slots, a non- dedicated 8-bit parallel port, and standard audio cassette deck capabilities for the C64.

ROM upgrades are available for the C-128 and the 1571.

C64 Games Port Expander (Model #8401) 40/80 column converter.

Switchable, it has 4 independent cartridge sockets plus a 5th switch position accessing an 80 col. character set ROM - (limited usability because it *apparently* accesses a C64 Ram location which interferes with a lot of stuff, I forget where or how) - and a 6th switch position independent of the cartridge port for general use stuff.

It was built into a neat steel housing designed to sit flat on the desktop and slide into the cartridge port at exactly the right height.

14. Programming

14.1. What Programming Languages are available?

The following programming languages are known to exist for the CBM computers:  

You name it, and it is probably available for the Commodore computer system. The list of supported languages availeble for the Commodore 8 bit computer systems is much too large to fir in the FAQ, but they are available at http://www.wimsey.com/~danf/cbm/languages.html.

14.2. What is a Cross Assembler? How do I use one?

A cross assembler is a program that runs on one computer and generates code for another computer. Usually, a non 8-bit CBM machine generates the code using this program, but it can be another 64 hooked in some way to a "target" 64. Whatever the case, here are some packages that can be used:  

A more detailed list can be found at: http://www.wimsey.com/~danf/cbm/cross-development.html

For all cross assemblers, the user will most likely benefit from a way to transfer the program from the source platform to the target platform. See Section 7 for information on products that will help transfer the files.

14.3 What is an "undocumented opcode"?

In the 65XX CPU line, each machine language instruction is a single byte, which allows for 256 instruction types, or opcodes. However, there are fewer than 256 defined. When designing the 65XX line, the designers, needing to keep complexity down, decided to treat the extra opcode positions as "don't care" opcodes, where no effort would be made to make those opcodes do anything special. Since the opcodes are arranged in a 16X16 matrix, with a row or column cotaining opcodes that perform similar operations, an undefined opcode in the matrix can have the behavior of other opcodes in its row or column or both. These opcodes are called "illegal" or "undocumented" opcodes, and are occasionally used by demo coders to accomplish special timing effects, or by software programmers for copy protection code. To learn more about these opcodes and what each does, the get the 64doc file at ftp://ftp.funet.fi/pub/cbm/documents/64doc or visit a cbm emulator forum.

15. Sales, Support and Service

Even though the Commodore 8-bit computer is no longer supported by its manufacturer, numerous companies and user groups still support the CBM 8-Bit market.

15.1. Where do I purchase new equipment?

A complete list of software distributors, hardware manufacturers, and harware retailers is distributed with this FAQ under the title "CBM Supply List". It can also be retrieved anywhere the FAQ is kept (See Section 1.) or at http://www.jbrain.com/pub/cbm/faq/cbm-supply-list.txt.

15.2. Where do I get equipment serviced?

A complete list of repair facilities is distributed with this FAQ under the title "CBM Repair List". It can also be retrieved anywhere the FAQ is kept (See Section 1.) or at http://www.jbrain.com/pub/cbm/faq/cbm-repair-list.txt

.

15.3. How do I know who to buy from or request service from?

The information provided in these files do not imply that a company is reputable or even still in business. It is best to use the above information as a starting point, and contact others who can discuss the various manufacturers and repair facilities listed above.

15.4. Is there a User Group in my area?

User groups fulfill a major function for Commodore owners. In addition to providing a place to mingle with other users, they provide a forum to discuss problems, find solutions, share information, and gather new software. In addition, most user groups publish newsletters. Commodore owners are encouraged to join a CBM user group to help keep these vital organizations around. A complete list of known user groups is distributed with this FAQ under the title "CBM User Group Listing". It can be also be retrieved anywhere the FAQ is kept (See Section 1.) or at http://wwww.jbrain.com/pub/cbm/faq/cbm-ug-list.txt.

17. Miscellaneous

Well, this is where the chaff falls. The following questions are either too new to categorize or do not fit into a category.

17.1. How fast does a Commodore 64 run?

If you are using a stock Commodore 64, the CPU clock frequency is a function of the video timing frequency, which is slightly different for differing countries. If you have a stock PAL-B C64 (Common in Europe), the computer is running at 985248.444 Hz. If you are using an NTSC-M C64 (Common in the USA), the computer is running slightly faster, at 1022727.143 Hz.

17.2. How can a turn my NTSC-M 64 into a PAL-B 64 or vice versa?

Changing a C64 from stock PAL-B to stock NTSC-M or vice versa requires swapping in the approproate VIC-II chip and the appropriate crystal, as well as changing a jumper on the motherboard (The jumper has printing near it that indicates whether to cut or connect the jumper). Also, if you have a version 1 KERNAL ROM and want to use the built-in RS-232 routines, you need to either swap KERNAL ROMs with the other computer (not recommended), or obtain a revision 3 KERNAL (recommended).

Now, if maintaining stock operation is not a complete must, or if you just want to tinker, the crystal and jumper modifications can be made optional.

The VIC-II chip has a relaxed tolerance for timing, so it is possible to run an NTSC-M VIC-II with a PAL-B crystal and jumper settings. The converse is possible as well. Since the crystal frequency is used to generate the frequencies for the TV and monitor output, your TV or monitor may not like the resuling hybrid signal very well, but it won't break anything.

In addtion, the jumper indicated above determines the divisor used to scale down the crystal frequency for the CPU. For PAL-B units, the divisor is 18, and for NTSC-M units the divisor is 14. The Commodore 64 will operate regardless of the crystal frequency and state of this jumper. Therefore, to speed up a 64, one can install a PAL-B crystal (17734472Hz) and change the jumper to use the NTSC divisor (14) to increase the operating speed of the machine to 1266748Hz. However, note that any operations (disk, rs-232, special VIC tricks) that require synchronized timing may fail in this "non-stock" scenario.

17.3. What does this IC number mean?

Here are a few Commodore IC numbers and their functions. Note that this is an incomplete list. A more comprehensive list is called csg.chips.info and is at ftp.funet.fi.

For the VIC-20:  

Mnemonic         PN#  Alt. PN#
CPU              6502
VIC-I (NTSC-M)   6560
VIC-I (PAL-B)    6561

For the C-64 and C-64C:

Mnemonic         PN#  Alt. PN#
CPU              6510
VIC-II(NTSC-M)   6567 8562?
VIC-II (PAL-B)   6569 8565
VIC-II (PAL-N)   6572
VIC-II (PAL-M)   6573
SID              6581 6582 8580

For the C-128(D):

Mnemonic         PN# Alt. PN# Notes:
CPU              8502
VIC-IIe (NTSC-M) 8564
VIC-IIe (PAL-B)  8566
VIC-IIe (PAL-N)  8569
DVDC             8563 8568 (get r9a or r9b if possible)
SID              6581 6582 8580

Differences between 64 boards:

The older boards had discrete LSI logic and a PLA chip. The newer boards put all the PLA and LSI logic into one ASIC chip. On the older boards, the KERNAL and BASIC ROMs were separate, while they are combined in the newer design.

There are two different models of the narrow board. One has Color RAM, while the other does not. The ASIC chip includes the PLA and 7 TTL chips, and the Color RAM on some machines machines.

The new models use 9 volt versions 8580 SID, while older models use the 6581 12 volt SID. The VIC chip (6567 NTSC-M, 6569 PAL-B) has been replaced with the 8562 (NTSC-M) and 8565 (PAL-B) on newer models.

Both BASIC 2.0 and the KERNAL ROM have been combined into one ROM for the C64C/G/GS. This ROM is the same as is used on the C128 in C64 mode. The ROM is indentical except for nationality differences.

17.4. What are the differences between C64 ROM Revisions?

Well, they have a number of them, and each difference is documented and explained in "The Commodore 64 Whole Memory Guide" by Tim Arnot. (ftp://x2ftp.oulu.fi/pub/cbm/docs/c64-kernel.diffs)

18. Credits

I want to extend my thanks to the following people for their help in providing correct, up-to-date information in this FAQ: