---------------------------------------------------------------------------
Table of Contents (for this file)
---------------------------------
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. User Groups
16. Sales and Service
16.1. Where do I purchase Commodore Equipment and Software?
16.2. Where do I get equipment serviced?
16.3. How do I know who to buy from or request service from?
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?
+ 17.4. What are the differences between C64 ROM Revisions?
18. Credits
---------------------------------------------------------------------------
14. Programming
14.1. What Programming Languages are available?
The following programming languages are known to exist for the CBM
computers:
Ada
APL
Assembly Language
BASIC (interpreted and compiled)
BASIC extenders
C
COBOL
COMAL
FORTH
FORTRAN
LISP
LOGO
MUMPS
Pascal
PILOT
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:
as6502 linking 6502 cross assembler
masm6502 6502 macro cross-assembler
ps65a12 Unix format 6502 cross assembler
svasm02 6502 cross assembler
xasm220 many-targeted cross assemblers
smal6502 linking macro assembler written in portable PASCAL
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/ or visit a cbm emulator forum.
15. User Groups
User's Groups fulfill a major function for Commodore owners. They provide
a place to meet other users, discuss problems and solutions for computing,
teach and learn information about their machines. Software can be shared
and friendships are made. The Commodore community is made up largely by
real or virtual user's groups.
A complete list of Commodore user groups can be found at
| http://www.jbrain.com/pub/cbm/faq/cbm-ug-list.1.0.txt
This file is also available from Jim Brain's MAILSERV server as file
| cbm-ug-list.1.0.txt. (See Section 6.5.2 for directions on using the
| MAILSERV server.)
Commodore owners are encouraged to join a CBM user group to help keep these
vital organizations around. In addition, most user groups publish
newsletters
16. Sales and Service
Sooner or later, every Commodore owner will need to get his or her
computer serviced, add another peripheral, or simply purchase some
enhancement hardware or software. Contrary to popular belief, there
is a large base of hardware and software suppliers and service centers.
16.1. Where do I purchase Commodore Equipment and Software?
ESCOM (holder of the Commodore patents and copyrights), does not currently
manufacture Commodore 8-bit computer systems. Many online services,
including GEnie, the Internet, and user group newsletters contain
classified ads from individuals wanting to sell used CBM equipment, however.
In Germany, there are a number of shops which still sell factory new
Commodore 64 and Commodore 128 computers.
ESCOM also does not manufacture software for the Commodore 8-bit line.
However, many companies still sell software for the Commodore line.
A complete list of Commodore hardware, peripheral, and software suppliers
| is available at http://www.msen.com/~brain/pub/cbm-supply-list.1.0.txt,
| as on Jim Brain's MAILSERV server as file cbm-supply-list.1.0.txt
| (See Section 6.5.2 for directions on using MAILSERV).
16.2. Where do I get equipment serviced?
There are a number of repair facilities around that will bring your trusty
Commodore computer up to speed again. Please look in the list below for one
that might be able to help you. If that doesn't turn up anything, check
with your local User's Group.
A complete list of Commodore software and hardware repair facilities can
| be found at http://www.msen.com/~brain/pub/cbm-repair-list.1.0.txt or
| at Jim Brain's MAILSERV server as file cbm-repair-list.1.0.txt.
| (See Section 6.5.2 for directions on using MAILSERV)
16.3. How do I know who to buy from or request service from?
The information provided in this file does 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.
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.444Hz. If you are using an NTSC-M C64 (Common in the
USA), the computer is running slightly faster, at 1022727.143Hz.
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
CPU 6502
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)
+ 17.5. What Cardco products are still supported?
+ I didn't know where else to put this, so here goes. This is a list
+ of products what were sold at one time by Cardco, Inc (makers of the
+ Card? printer interfaces. They were bought out by Supra Corp. who makes
+ modems and other peripherals. This is a list of what they currently
+ support.
+ DEADPROD.TXT rev. 1.2 (phm9/15/94) from Supra BBS (503-967-2444)
+
+ Supra Discontinued Product List
+
+ Codes: NSR - No Support or Repair
+ NS - No Support (may be able to repair?)
+ DSR - Discontinued Production, but still Support & Repair
+ C64 Big Blue - printer interface (OEMed to CardCo) -NSR since '92
+ B - printer interface, -NS '92
+ CB-5 - Cartridge port expander -NSR since '87
+ +G - printer interface, -DSR '92
+ MPP 1064 - 300 baud modem -NSR since '88
+ Super G - printer interface, -DSR '92
+ CalcNow - Spreadsheet, picked up from CardCo (only sold for a few
+ months) -NSR since '87
+ SpellNow - Spell checker for WriteNow, picked up from CardCo
+ (only sold for a few months) -NSR since '87
+ WriteNow - Word procesor, picked up from CardCo
+ (only sold for a few months) -NSR since '87
+ CardCo Printer - LQ1 and LQ3, CardCo OEMed them from Silver
+ Reed, never supported
+ CardCo floppy - never supported, Emerald Computer(Eugene, OR)
+ also OEMed the floppy mech has repaired them in the past, but
+ appears to be out of business.
+ G-Wiz - printer interface w/64k buffer -DSR '94
+ CardPrint PS - printer interface and 300/1200bps serial
+ interface. -DSR '94
+ Peak Modem Interface - 300/1200bps serial interface. -DSR '94
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:
Fred Mueller, who maintained this FAQ before I.
Everyone who helped add to the 1.4 FAQ material to make the 2.0-2.2 FAQ.
Everyone who helped add to the 2.2 FAQ to make the 3.0 FAQ.
+ Adam Vardy, with corrections to Section 3.3.
+ Roger Long, for information on Random Magazine.
+ Jouko Valta, for information on C65 archives and kernal diffs.
+ Tom Cwikla, for info on ANADISK.
+ Alan Jones, for info on a new newsgroup mail gateway.
+ Antony Gibbs, for info on Commodore Zone.
+ Gaelyne Moranec, for info on GIF viewers.
+ John Keyerleber, for info on plans for CBM printer to PC interface.
+ David Gahris, for numerous WWW addresses.
+ Marc Frank, for error in cbm-supply-list.txt filename.
+ Jack Vander White, for address updates.
+ Jeff Daniels, for info on his company.
+ Paul MacArthur, for info on X1541 cable source.
+ Craig Bruce, for info on his FTP Mail Server.
+ Dirk Moell, for info on blinks on 8050.
+ Bob Masse, for info on C128 VDC IC revisions.
+ Alan Jones, for corrections to Daniel Dallmann's RS-232 interface.
+ Donald Ayers, for information on his GRASSROOTS #1 Disk.
+ Daniel Kahlin, for info on Over5.
+ Dallas Legan, for info on Transactor Index.
+ Andre Fachat, for info on VICE.
+ Allen Smith, for info on COMPUTERSMITH Internet updates.
+ Jack vanderwhite, for updates on COMMODORE CEE BBS phone.
+ Jeff Jones, for updates on LOADSTAR prices.
+ Frank Ellert, for info on more UNIX-like OSes.
+ Paul McAleer, for informaiton on Micro-Bytes.
+ J. E. Sears, for info on PPI.
+ Jeff Jones, for information on LOADSTAR Letter going commercial.
+ Chris MCEE, for corrections on Demo terms.
+ R.T. Cunningham, for updates on SuperCPU dates and info.
+ Beth Gladen, for uncovering a bug in user group list filename.
+ Nhat-Viet Phi, for info on his RAMLink User's List.
+ Holger Heimes, for info on extra BBS numbers to get FAQ at.
+ Scott Eggleston, with new email info and merger of Underground info.
+ Jarno Lamberg, for corrections to 17.4 URL.
+ Eric Hoetzel, for info on 6502CC mailing list.
+ Jeff Daniels, for updates on the VIC newsletter.
+ Nick Rossi, for information on Novaterm 9.6.
+ Walt Roth, for corrections on posting frequency.
+ Malcolm O'Brien, for updates on CIS.
+ Gaelyne Gasson, for info on DejaNews and BBS mag.
+ Greg Noggle, for info on Micro-Bytes.
+ Pontus Berg, for Cross Platform Tools URL.
+ Jan Neuvians, for info on Graphics Booster 128.
+ Robert Akins, for info on COIN! magazine.
+ Jayme Rice, for info on PLA failures.
+ Joe Forster, for info on The Star Commander.
+ Russell Reed, for updates on prlink.
+ Brian McCarthy, for updates on X1541 location.
+ Paul Robson, for info on the VIC emulator for DOS.
+ Leopldo Ghielmetti, for ino on X1541.
+ Asger Alstrup, for info on READ81.
+ Phil Hebrerer, for info on Supra Supoprt List.
+ Andrew Fisher, for info on 64ERUOPE mailing list.
+ Bryce Ewing, for info on V20 emulator.
+ Brett Tabke, for info on super-cpu mailing lsit.
+ Steve K., for correction on 9600 bps cable.
+ Charles Fitzhugh, for updates on QLink address list address.
+ James Hefner, for info on GEOS Magazine.
+ James McCormick, for updates on x1541 location.
+ Raymond Ancog, for updates on C65 list owners.
+ Daniel Dallmann, for miscellaneous fixes.
+ Peter Karlsson, for info on demise of Atta Bittar.
+ Svante Vinther, for asking for a copyright section.
+ Marko Makela, for information on MAX Machine.
+ Andrea Miloocco, for information on exchanging data on Macs.
+ Lee Hyatt, for updated on IRC Section.
+ Rick Mosdell, for Electric City BBS phone update.
+ Ivo van Poorten, for updates on CXII WWW URL.
+ Chris Ryan, for updates on Commodore Gazette.
--
Jim Brain, Embedded System Designer, Brain Innovations, Inc. (BII) (online sig)
bii@mail.jbrain.com "Above views DO reflect my employer, since I'm my employer"
Dabbling in WWW, Embedded Systems, Old CBM computers, and Good Times! -Me-
BII Home: http://www.jbrain.com CBM Info: http://www.jbrain.com/vicug/

User Contributions:

Comment about this article, ask questions, or add new information about this topic: