Commodore‎ > ‎


Picture of original ('flat') Commodore 128 computerIn my opinion, the C128 is the best 8-bit computer ever! Not only does it offer a near perfect emulation of the famous C64, but in native mode it gives you virtualy a C64 times 2. Consider:

  • 2x RAM
  • 2x CPUs
  • 2x CPU speed (with VDC / 80-column display)
  • 2x video processors (VIC and VDC)
  • 2x color RAM for the VIC
  • 2x horizontal (80-column) resolution standard with the VDC
  • 2x vertical (50-row) resolution possible with the VDC
  • 2x+ system ROM (BASIC and KERNAL are far advanced from C64)
  • 2x+ expansion ROM (including both internal and external)
  • 2x+ serial speed with 'fast serial' devices (C1571, C1581, etc.)
Most unfortunately, you do not get 2x sound with a second SID (aka, stereo). Also the keyboard is considerably expanded. In this case it is a good thing there are not 2x keys... that would be quite a lot!

At least 3 different versions of the C128 were produced:
  1. The original is flat and looks like a larger version of later model C64s (see image at top/right of this page).
  2. The second version includes a built-in 1571 disk drive and detached keyboard, known as the C128D. I beleive this version features a plastic case and the 1571 part features a true Western Digital 1770 controller.
  3. The third model, with a metal case (I believe), is called the 128DCR (CR = Cost Reduced), and the disk controller was an immitation 1770 (or so I've heard).

Schematic Snafu  

part of Commodore 128 schematic erroneously showing an inverterThe funny thing is, Commodore release several schematics of the C128 owing to the different versions and process changes, but all (as far as I've seen) contain a blatent error. I remember the first time looking at the schematics; I found them informative but this one logic gate stood out. Years later, I came across other versions which also had the same discrepancy. So I investigated by creating my own schematic (at the time I had no real C128 to open up) and found this to be a true error (among some other minor descrepancies).

You should notice the input and output are both labeled R/W with a bar over the W. The bar means the signal is inverted. Anyone familiar with electronics should know the output of an inverter would reverse the situation (leading to a bar over the R). The labels are correct. The symbol is wrong. It is a simple buffer, not an inverter. I find it amazing that several revisions to the schematic were made and this was never detected (or at least, never corrected).

BASIC 7.0  

The user interface of the computer is a full-screen text editor for a BASIC interpreter. The C128 supplies BASIC version 7.0 which is backward compatible with prior versions used on other Commodore 8-bit computers. This newer version allows more sophisticated program control, and perhaps more important, allows the BASIC programmer to use the advanced bitmap, sprite, and music capabilities of the machine.

The VIC-II (video) and SID (audio) chips of the C128 are compatible with those of the more successful C64, but that machine had a primitive BASIC which meant only machine language programmers (or special BASIC extensions) could use those features. The only serious flaw with the C128 version is that the bitmap commands do not work on the second video chip (the higher-resolution VDC).

For more information , see the section on my site about Commodore BASIC.  There you will find many pages which describe all the commands, functions, keywords, operators, prepositions, reserved variables, statements, and tokens of the BASIC language used by Commodore machines (versions 1 to 7). The pages contain numerous cross-references for easy use and a few additional "concept" pages.  Over 170 pages of technical reference... err, geek speak!
My BASIC reference pages are based on prior experience (with C128, C16, C64, Plus/4, and VIC-20 all NTSC), testing in VICE, and references to official publications such as The Commodore 128 Programmer's Reference GuideThe Commodore 64 Programmer's Reference Guide, the Plus/4 System Guide, the VIC-20 System Guide, and others. The information should be fairly accurate, but being human, some errors or opinions may have snuck in. Feel free to contact me regarding errors, omissions, or needless opinions!

BASIC 7.80 

This is a software-enhanced version of standard BASIC 7.0... my v7.80 adds all GRAPHIC commands to the 80-column (VDC) screen. My BASIC 7.80 is 100% compatible with BASIC 7.0 (except for SPRITEs and split-screen). 

BASIC 8.0 

This is a software-enhanced version of standard BASIC 7.0... however most commands are not compatible with standard BASIC (on the other hand, it has many new "3D" commands).


Below is a thumbnail view of a schematic of the C128 that I made myself. Clicking on the image should show a full-size view which is HUGE (approximately 6100 x 3800 pixels = 23 mega pixels).  Note that many web browsers fail to display the full-size image... even though it is a valid file!  If you have that problem, try to right-click and select "Save Target As..." and then open it in an image editing program.  Even the simple "Paint" program in Windows will show the saved file correctly.  Personally, I find it hilarious that some modern 64-bit browsers will puke on an 8-bit machine :)
C128 Schematic (thumbnail view)

The main components of the C128 are:
Below is another image of my C128 schematic, but this one has the major compenents labeled.  You should notice the PLA is approximately in the middle.  Of course there are various ways one could layout a schematic diagram, but you would have to be very creative to not have it near the center -- it connects to almost everything!  Not suprisingly, it is one of the chips most likely to fail (due to heavy use and cascaded failures).  Not everything is labeled; in particular the Character ROM, Color RAM, and I/O decoder.
C128 Schematic with major sections labeled.

© H2Obsession, 2007, 2009, 2012, 2014, 2015 
Subpages (22): View All