All Topics  
Commodore 128

 

   Email Print
   Bookmark   Link






 

Commodore 128



 
 
The Commodore 128 (C128, CBM 128, C=128) home
Home computer

A home computer was a class of personal computer entering the market in 1977 and becoming common during the 1980s. They were marketed to consumers as accessible personal computers, more capable than video game consoles....
/personal computer
Personal computer

A personal computer is any general-purpose computer whose original sales price, size, and capabilities make it useful for individuals, and which is intended to be operated directly by an end user, with no intervening computer operator....
 was the last 8-bit
8-bit

Eight-bit CPUs normally use an 8-bit data bus and a 16-bit address bus which means that their address space is limited to 64 KBs. This is not a "natural law", however, so there are exceptions....
 machine commercially released by Commodore Business Machines
Commodore International

Commodore, the commonly used name for Commodore International, was a United States electronics company based in West Chester, Pennsylvania which was a vital player in the home computer/personal computer field in the 1980s....
 (CBM). Introduced in January of 1985 at the CES
Consumer Electronics Show

The International Consumer Electronics Show is a trade show held each January in Las Vegas, Nevada, Nevada, and is sponsored by the Consumer Electronics Association....
 in Las Vegas
Las Vegas metropolitan area

The Las Vegas metropolitan area includes the Las Vegas Valley, a 600-square-mile basin, and surrounding areas, that is part of Clark County, Nevada in southern Nevada....
, it appeared three years after its predecessor, the bestselling Commodore 64
Commodore 64

The Commodore 64 is an 8-bit home computer released by Commodore International in August, 1982, at a price of United States dollar595. Preceded by the Commodore VIC-20 and Commodore MAX Machine, the C64 features 64 kilobytes of Random-access memory with sound and graphics performance that were superior to IBM-compatible computers of tha...
. The primary hardware designer of the C128 was Bil Herd
Bil Herd

Bil Herd was a designer of 8-bit home computers while working for Commodore International in the early-to-mid 1980s. After first acting as the principal engineer on the Commodore Plus/4, Commodore 16, C264, and C364 machines, Herd designed the significantly more successful Commodore 128, a dual-central processing unit, triple-operating syst...
.

C128 was a significantly expanded successor to the C64 and unlike the earlier Plus/4
Commodore Plus/4

The Commodore Plus/4 was a home computer released by Commodore International in 1984. The "Plus/4" name refers to the four-application read-only memory resident office suite ; it was billed as "the productivity computer with software built-in"....
 it remained compatible.






Discussion
Ask a question about 'Commodore 128'
Start a new discussion about 'Commodore 128'
Answer questions from other users
Full Discussion Forum



Encyclopedia


The Commodore 128 (C128, CBM 128, C=128) home
Home computer

A home computer was a class of personal computer entering the market in 1977 and becoming common during the 1980s. They were marketed to consumers as accessible personal computers, more capable than video game consoles....
/personal computer
Personal computer

A personal computer is any general-purpose computer whose original sales price, size, and capabilities make it useful for individuals, and which is intended to be operated directly by an end user, with no intervening computer operator....
 was the last 8-bit
8-bit

Eight-bit CPUs normally use an 8-bit data bus and a 16-bit address bus which means that their address space is limited to 64 KBs. This is not a "natural law", however, so there are exceptions....
 machine commercially released by Commodore Business Machines
Commodore International

Commodore, the commonly used name for Commodore International, was a United States electronics company based in West Chester, Pennsylvania which was a vital player in the home computer/personal computer field in the 1980s....
 (CBM). Introduced in January of 1985 at the CES
Consumer Electronics Show

The International Consumer Electronics Show is a trade show held each January in Las Vegas, Nevada, Nevada, and is sponsored by the Consumer Electronics Association....
 in Las Vegas
Las Vegas metropolitan area

The Las Vegas metropolitan area includes the Las Vegas Valley, a 600-square-mile basin, and surrounding areas, that is part of Clark County, Nevada in southern Nevada....
, it appeared three years after its predecessor, the bestselling Commodore 64
Commodore 64

The Commodore 64 is an 8-bit home computer released by Commodore International in August, 1982, at a price of United States dollar595. Preceded by the Commodore VIC-20 and Commodore MAX Machine, the C64 features 64 kilobytes of Random-access memory with sound and graphics performance that were superior to IBM-compatible computers of tha...
. The primary hardware designer of the C128 was Bil Herd
Bil Herd

Bil Herd was a designer of 8-bit home computers while working for Commodore International in the early-to-mid 1980s. After first acting as the principal engineer on the Commodore Plus/4, Commodore 16, C264, and C364 machines, Herd designed the significantly more successful Commodore 128, a dual-central processing unit, triple-operating syst...
.

Technical overview

Commodore 128
The C128 was a significantly expanded successor to the C64 and unlike the earlier Plus/4
Commodore Plus/4

The Commodore Plus/4 was a home computer released by Commodore International in 1984. The "Plus/4" name refers to the four-application read-only memory resident office suite ; it was billed as "the productivity computer with software built-in"....
 it remained compatible. The new machine featured 128 KB
Kilobyte

Kilobyte is a unit of Computer data storage equal to either 1,024 bytes or 1,000 bytes , depending on context.It is abbreviated in a number of ways: KB, kB, K and Kbyte....
 of RAM (externally expandable to 640 KB) and an 80-column RGB monitor output (driven by the 8563 VDC chip with 16 KB dedicated video RAM, although following the release of the 128D later "flat" 128s had 64 KB of VRAM), as well as a redesigned case/keyboard with a numeric keypad. The 128's power supply was vastly improved over the 64's troublesome design. It was much larger, with cooling vents and a fuse to protect it from blowing up. Instead of the 6510
MOS Technology 6510

The MOS Technology 6510 is a microprocessor designed by MOS Technology, and is a modified form of the very successful MOS Technology 6502.The primary change from the 6502 was the addition of an 8-bit general purpose input/output port ....
 CPU
Central processing unit

A central processing unit is an electronic circuit that can execute computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage....
 of the C64, the C128 incorporated a two-CPU design. The primary CPU, the 8502
MOS Technology 8502

The MOS Technology 8502 was an 8-bit microprocessor designed by MOS Technology and used in the Commodore 128. Based on the MOS Technology 6510 that was used in the Commodore 64, the 8502 added the ability to run at a double clock rate, in addition to the standard 1.024 MHz rate used by the Commodore 64....
, was a slightly improved version of the 6510; its main addition was the ability to run at a 2 MHz clock rate (being quite beneficial to the 80 column display, but making it difficult to display a second signal to a second monitor, such as that used for a 40 column display). The second CPU was a Zilog Z80
Zilog Z80

The Zilog Z80 is an 8-bit microprocessor designed and sold by Zilog from July 1976 onwards. It was widely used both in desktop and embedded computer designs as well as for military purposes....
 which was used for ensuring CP/M
CP/M

CP/M is an operating system originally created for Intel 8080/Intel 8085 based microcomputers by Gary Kildall of Digital Research. Initially confined to single tasking on 8-bit processors and no more than 64 kilobytes of memory, later versions of CP/M added multi-user variations, and were migrated to 16-bit processors....
 compatibility and for mode-selection of the computer upon boot-up. The two processors could not run concurrently, thus the C128 was not a multiprocessing
Multiprocessing

Multiprocessing is the use of two or more CPU within a single computer system. The term also refers to the ability of a system to support more than one processor and/or the ability to allocate tasks between them....
 system.

The C128 had three modes
Mode (computer interface)

In user interface design, a mode is a distinct setting within a computer program or any physical machine interface, in which the same user input will produce perceived different results than it would in other settings....
 of operation: C128 Mode (native mode
Native mode

The term native mode is used in computing in two related senses.*to describe something running on a computer natively or in native mode meaning that it is running without any external support as contrasted to running in emulation....
), which ran at 1 or 2 MHz with the 8502 CPU and had both 40- and 80-column text mode
Text mode

Text mode is a kind of computer display mode in which the content of the screen is internally represented in terms of textual characters rather than individual pixels....
s available; CP/M Mode, which used the Z80 second CPU in either 40- or 80-column text mode; and C64 Mode, which was very nearly 100% compatible with the earlier computer. None of these modes would have been possible as implemented on the C128 without the Z80 chip. The Z80 controls the bus on initial boot-up and checks to see if there are any C64/C128 cartridges present, and if the Commodore key (C64-mode selector) is active on boot-up. Based on what it finds, it will switch to the appropriate mode of operation.

Some 128s suffered from a reliability problem caused by the electromagnetic shield over the internal board. The shield had fingers that rested on the top of the major chips to conduct heat into the shield which then acted as a large heatsink. A combination of poor contact and the fact that plastic encased chips do not lose heat that way plus the shield being made from mu-metal
Mu-metal

Mu-metal is a nickel-iron alloy that has very high Permeability . The high permeability makes mu-metal very effective at screening static or low-frequency magnetic fields, which cannot be attenuated by other methods....
 (a poor heat conductor) saw some chips overheat and fail. The SID
MOS Technology SID

The MOS Technology 6581/8580 SID was the built-in Programmable Sound Generator chip of Commodore International's Commodore CBM-II, Commodore 64, Commodore 128 and Commodore MAX Machine home computers....
 sound chip was particularly vulnerable in this respect as it operated from a 9 volt supply. The situation could be vastly improved by removing the shield completely.

C128 Mode

While the C64's graphics and sound capabilities were generally considered excellent, the popular home computer
Home computer

A home computer was a class of personal computer entering the market in 1977 and becoming common during the 1980s. They were marketed to consumers as accessible personal computers, more capable than video game consoles....
 was the subject of a number of perennial criticisms. The 40-column VIC-II
MOS Technology VIC-II

The VIC-II , specifically known as the MOS Technology 6567/8562/8564 , 6569/8565/8566 , is the integrated circuit tasked with generating S-Video/composite video graphics and dynamic random access memory memory refresh signals in the Commodore 64 and Commodore 128 home computers....
 video display, while excellent for gaming, was often considered inadequate for productivity applications such as word processing
Word processing

Word processing is the creation of documents using a word processor. It can also refer to advanced shorthand techniques, sometimes used in specialized contexts with a specially modified typewriter....
. The lack of a numeric keypad was also an issue with some office suite
Office suite

In computing, an office suite, sometimes called an office software suite or productivity suite is a collection of programs intended to be used by typical clerical and knowledge workers....
 software. Furthermore, the 2.0 revision of Commodore BASIC
Commodore BASIC

Commodore BASIC, also known as PET BASIC, is the dialect of the BASIC programming language used in Commodore International's 8-bit home computer line, stretching from the Commodore PET of 1977 to the Commodore 128 of 1985....
 that was incorporated into the C64 was quite limited, and lacked keywords to handle the system's graphical and sound capabilities. These features had to be accessed via cumbersome PEEK and POKE commands, or by custom-written machine language routines. Also criticized was the lack of a hardware reset button, an essential device when developing assembly language
Assembly language

An assembly language is a low-level language for programming computers. It implements a symbolic representation of the numeric machine codes and other constants needed to program a particular CPU architecture....
 routines. Finally, the C64's 1541
Commodore 1541

The Commodore 1541 , made by Commodore International, was the best-known floppy disk drive for the Commodore 64 home computer. The 1541 was a single-sided 170 kilobyte drive for 5?" disks....
 disk drive was almost universally condemned as slow and unreliable.

The designers of the C128 succeeded in rectifying most of these concerns. A new chip, the VDC
MOS Technology 8563

The 8563 Video Display Controller was an integrated circuit produced by MOS Technology. It was used in the Commodore 128 computer to generate an 80-column RGB video display....
, provided the C128 with an 80-column color CGA
Color Graphics Adapter

The Color Graphics Adapter , originally also called the Color/Graphics Adapter or IBM Color/Graphics Monitor Adapter, introduced in 1981, was International Business Machines's first color graphics card, and the first color computer display standard for the IBM PC....
-compatible display (also called RGBI for RGB plus Intensity). The new 8502
MOS Technology 8502

The MOS Technology 8502 was an 8-bit microprocessor designed by MOS Technology and used in the Commodore 128. Based on the MOS Technology 6510 that was used in the Commodore 64, the 8502 added the ability to run at a double clock rate, in addition to the standard 1.024 MHz rate used by the Commodore 64....
 CPU was completely backward-compatible with the C64's 6510
MOS Technology 6510

The MOS Technology 6510 is a microprocessor designed by MOS Technology, and is a modified form of the very successful MOS Technology 6502.The primary change from the 6502 was the addition of an 8-bit general purpose input/output port ....
, but could run at double the speed if desired. However, the VIC-II chip which controlled the 40-column display could not operate at the faster clock rate, so the 40 column display is not available in Fast mode. A numeric keypad was added to the keyboard, as were various other keys. The C64's rudimentary BASIC 2.0 was replaced with the far more flexible and powerful BASIC 7.0, which included keywords designed specifically to take advantage of the machine's capabilities, and also incorporated a sprite
Sprite (computer graphics)

In computer graphics, a sprite is a two-dimensional/three-dimensional or animation that is integrated into a larger scene.Sprites were originally invented as a method of quickly compositing several images together in two-dimensional video games using special hardware....
 editor and machine language monitor. The screen editor was further improved. A reset button was added to the system.

Three new disk drives were introduced in conjunction with the C128, the 1570
Commodore 1570

The Commodore 1570 was a 5?" floppy disk drive for the Commodore 128 home computer/personal computer. It was a single-sided, 170KB version of the double-sided Commodore 1571, released as a stopgap measure when Commodore International was unable to provide large enough quantities of 1571s due to a shortage of double-sided drive mechanisms....
, 1571
Commodore 1571

The Commodore 1571 was Commodore International high-end 5?inch floppy disk drive. With its double-sided drive mechanism, it had the ability to utilize double-sided, double-density floppy disks natively....
, and 3.5 inch 1581
Commodore 1581

The Commodore 1581 is a 3? inch double sided double density floppy disk drive made by Commodore International primarily for its Commodore 64 and Commodore 128 home computer/personal computers....
 drives promising far faster transfer speeds via a new "burst mode". With these three drives, more complex drive data arrangements were also made available to Commodore users in the nature of "track and sector" oriented subdirectories, a feature not available to PC users, who instead had to convolute their file allocation tables to do the same thing. The disk drives also had more on-board RAM than their predecessors, the 1540 and 1541 drives.

The C128 also had twice the RAM of the C64, and a far higher proportion was available for BASIC programming, due to the new MMU
Memory management unit

A memory management unit , sometimes called paged memory management unit , is a computer hardware component responsible for handling accesses to computer memory requested by the central processing unit ....
 bankswitching chip. This feature made it possible for BASIC program code to be stored separately from variables, greatly enhancing the machine's ability to handle complex programs.

The C128's greater hardware capabilities, especially the increased RAM, screen display resolution, and serial bus speed, made it the preferred platform for running the GEOS
GEOS (8-bit operating system)

GEOS was an operating system from Berkeley Softworks . Originally designed for the Commodore 64 and released in 1986, it provided a graphical user interface for this popular 8-bit computer....
 graphical operating system.

CP/M Mode

The second of the C128's two CPUs was the Zilog Z80
Zilog Z80

The Zilog Z80 is an 8-bit microprocessor designed and sold by Zilog from July 1976 onwards. It was widely used both in desktop and embedded computer designs as well as for military purposes....
, which allowed the C128 to run CP/M
CP/M

CP/M is an operating system originally created for Intel 8080/Intel 8085 based microcomputers by Gary Kildall of Digital Research. Initially confined to single tasking on 8-bit processors and no more than 64 kilobytes of memory, later versions of CP/M added multi-user variations, and were migrated to 16-bit processors....
; the machine came with CP/M 3.0, aka CP/M Plus (backward compatible with CP/M 2.2) and ADM31/3A terminal
Computer terminal

A computer terminal is an electronic or electromechanical computer hardware device that is used for entering data into, and displaying data from, a computer or a computing system....
 emulation. To make a large application software library instantly available at launch, the Commodore 128 CP/M and accompanying 1571
Commodore 1571

The Commodore 1571 was Commodore International high-end 5?inch floppy disk drive. With its double-sided drive mechanism, it had the ability to utilize double-sided, double-density floppy disks natively....
 floppy disk
Floppy disk

A floppy disk is a data storage medium that is composed of a disk of thin, flexible magnetic storage medium encased in a square or rectangle plastic shell....
 drive was designed to run almost all Kaypro
Kaypro

Kaypro Corporation, commonly called Kaypro, was an American home computer/personal computer manufacturer of the 1980s. The company was founded by Non-Linear Systems to develop computers to compete with the then popular Osborne 1 portable microcomputer....
-specific CP/M software without modification.

Unfortunately, the C128 ran CP/M noticeably slower than most dedicated CP/M systems, as the Z80 processor ran at an effective speed of only 2 MHz (instead of the more common 4–6 MHz) and because it used CP/M 3.0, whose complexity made it inherently slower than the earlier, more widespread, CP/M 2.2 system. From the source code of the C128 CP/M implementation, it is clear that the engineers originally planned to make it possible to run CP/M in the "fast" mode as well, with the 40-column output turned off and the Z80 running at an effective 4 MHz; however, this did not work on the released C128 hardware.

A possibly unique feature of the C128 among CP/M systems was that some of the low-level BIOS
BIOS

In computing, the Basic Input/Output System , also known as the System BIOS, is a de facto standard defining a firmware interface for IBM PC Compatible computers....
 services were executed by the 8502 chip instead of the Z80. The latter transferred control to the 8502 after having placed the pertinent parameter values in designated memory locations. The Z80 then turned itself off, being awoken by the 8502 at completion of the BIOS routine, with status value(s) available in RAM for inspection.

C64 Mode

By incorporating the original C64 BASIC and KERNAL ROMs in their entirety (16 KB total), the C128 achieves almost 100% compatibility with C64 software. The C64 mode can be accessed in one of three ways:

  • Hold down the Commodore logo key when booting the system
  • Enter the GO 64 command in BASIC 7.0 immediate mode
  • Boot with a C64 cartridge plugged in


Some of the few C64 programs that fail on a C128 run correctly when the CAPS LOCK
Caps lock

The caps lock is a key on a computer keyboard. Pressing it will set a keyboard mode in which typed letters are capital letter by default and in lower case when the shift key is pressed; the keyboard remains in this mode until caps lock is pressed again....
key is pressed down (or the ASCII/National key on international C128 models). This has to do with the larger built-in I/O port of the C128's CPU. Whereas the SHIFT LOCK key found on both C64 and C128 is simply a mechanical latch for the left SHIFT key, the CAPS LOCK key on the C128 can be read via the 8502
MOS Technology 8502

The MOS Technology 8502 was an 8-bit microprocessor designed by MOS Technology and used in the Commodore 128. Based on the MOS Technology 6510 that was used in the Commodore 64, the 8502 added the ability to run at a double clock rate, in addition to the standard 1.024 MHz rate used by the Commodore 64....
's built-in I/O port. A few C64 programs are confused by this extra I/O bit; keeping the CAPS LOCK key in the down position will force the I/O line low, matching the C64's configuration and resolving the issue.

A handful of C64 programs wrote to $
Hexadecimal

In mathematics and computer science, hexadecimal is a numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 09 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen....
D030 (53296), often as part of a loop initializing the VIC-II
MOS Technology VIC-II

The VIC-II , specifically known as the MOS Technology 6567/8562/8564 , 6569/8565/8566 , is the integrated circuit tasked with generating S-Video/composite video graphics and dynamic random access memory memory refresh signals in the Commodore 64 and Commodore 128 home computers....
 chip registers. This memory-mapped register, unused in the C64, operated as a selector for 2 MHz mode in the C128. Since it was not disabled in C64 mode, an inadvertent write could blank the 40-column display by putting the CPU into fast mode. Fortunately, very few programs suffered from this flaw. In July 1986, COMPUTE!'s Gazette
COMPUTE!'s Gazette

COMPUTE!'s Gazette was a computer magazine of the 1980s, directed at users of Commodore International's 8-bit home computers. Publishing its first issue in July 1983, the Gazette was a Commodore-only daughter magazine of the computer hobbyist magazine COMPUTE!....
 published a type-in program
Type-in program

A type-in program, or just type-in, is a computer program listing printed in a computer magazine or book, meant to be typed in by the reader in order to run the program on a computer....
 that exploited this minor incompatibility, by using a raster interrupt
Raster interrupt

A raster interrupt is a computer interrupt signal that is utilized for display timing purposes. It is usually, though not always, generated by the system's Graphics processing unit....
 to enable fast mode when the bottom of the visible screen was reached, and then disable it when screen rendering began again at the top. By using fast mode during the vertical blank period, standard video display was maintained while increasing overall execution speed by about 20%.

An easy way to tell the C128's C64 mode and a real C64 apart, typically used from within a running program, is to write a value different from $
Hexadecimal

In mathematics and computer science, hexadecimal is a numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 09 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen....
FF (255)
to memory address
Memory address

In computer science, a memory address is an identifier for a computer memory location, at which a computer program or a hardware device can store a piece of data and later retrieve it....
 $D02F (53295), which is used to decode the extra keys of the C128 (the numerical keypad and some other keys). On the 64 this memory location will always contain the value $FF no matter what was written to it, but on a C128 in 64 mode the value of the location—a memory-mapped register—can be changed. Thus, checking the location's value after writing to it will reveal the actual hardware platform.

RAM setup

To handle the relatively large amounts of installable RAM, tenfold the 8502's 64 KB address space, the C128 used the 8722 MMU
Memory management unit

A memory management unit , sometimes called paged memory management unit , is a computer hardware component responsible for handling accesses to computer memory requested by the central processing unit ....
 chip to create different memory maps, in which different combinations of RAM
Ram

Ram, ram, or RAM as a non-acronymic wordAs a non-acronymic word Ram, ram, or RAM may refer to:...
 and ROM
Rom

ROM, Rom, or rom is an abbreviation and name that may refer to:...
 would appear according to bit patterns written into the MMU's confguration register. While the MMU was designed to handle more than 128 KB, the versions that were actually produced and used in the C128 cannot do so.

Although referred to as RAM expanders, Commodore's RAM Expansion Units
Commodore REU

Commodore International's RAM Expansion Unit range of external random-access memory add-ons for their Commodore 64/Commodore 128 home computers was announced at the same time as the C128....
 were not expansion devices at all, as they utilized an external DMA
Direct memory access

Direct memory access is a feature of modern computers and microprocessors that allows certain hardware subsystems within the computer to access system Computer storage for reading and/or writing independently of the central processing unit....
 controller to copy bytes between the C-128's RAM and the RAM in the "expansion unit." This function was essentially independent of the MMU's memory control features.

Commodore 128D

C128d
The Commodore 128D was released in the fall of 1985 in Europe. The US release date was in the summer of 1986. It was an updated version of the C128 with a detached keyboard and a 1571 disk drive in the same box as the main system unit, providing a sleeker, more professional-looking appearance, much like that of a desktop PC. In Europe the first C128Ds came in a plastic case with a side-mounted carrying handle and were technically exactly the same as a C128 with the 1571 disk drive. Additionally these models were equipped with a somewhat noisy cooling fan, leading to the model sometimes being referred to as the "128 Diesel".

Later models of the C128D came in a metal case; among these were the Commodore 128DCR (CR = cost reduced), which was widely sold in Canada and the USA. These later models had some minor improvements. The internal design was more integrated to save production costs, but also improved the thermal design, so that a fan was supposedly not needed anymore (later experience proved that the fan was a worthwhile addition and many C128Ds were so modified).

Inside, the C128D ROMs contained several bug fixes, and the 8563 VDC chip (in the C128DCR, the 8568
MOS Technology 8568

The 8568 Video Display Controller , less commonly known as the DVDC, D = "Digital", was MOS Technology's graphics chip responsible for the "80 column" display on Commodore 128#128D; RGB graphics] models of the Commodore 128 personal computer....
) was equipped with the maximum capacity 64 KB of video RAM – four times that of the original C128. This permitted the C128D to do higher-resolution graphics with more colors in RGB mode, although very little software took advantage of this. With or without the extra RAM, the VDC's high-resolution graphics modes were inaccessible from the C128's BASIC. They could only be utilized by calls to screen editor ROM primitives (or their assembly language
Assembly language

An assembly language is a low-level language for programming computers. It implements a symbolic representation of the numeric machine codes and other constants needed to program a particular CPU architecture....
 equivalents), or via third-party BASIC language extensions. The most popular such toolkit was Free Spirit Software's "BASIC 8
BASIC 8

BASIC 8 — "The Enhanced Graphics System For The C128" — developed by Walrusoft of Gainesville, Florida and published in 1986 by Patech Software of Somerset, New Jersey, United States, was an BASIC extension of Commodore International's Commodore BASIC for the Commodore 128 home computer/personal computer....
", which added high-resolution VDC graphics commands to CBM BASIC. BASIC 8 was available on two disks (editor disk and runtime disk) and with a ROM chip for installation in the C128's internal Function ROM socket.


Market performance

The system architecture
Computer architecture

Computer architecture in computer engineering is the conceptual design and fundamental operational structure of a computer system. It is a blueprint and functional description of requirements and design implementations for the various parts of a computer, focusing largely on the way by which the central processing unit performs internally an...
 of the C128, which in case of a C128D with memory expansion included three CPUs, five types of RAM memory, three operating modes, two system speeds, two graphics chips and two completely different low-level floppy disk encoding schemes was positively baroque and not at all orthogonal. This high complexity was probably a factor in the limited success of the C128—but of course also much of the reason for the machine's popularity among long-time CBM users and 'hackers', who enjoyed the capability of full C64 compatibility in a computer which was also fully usable as a BBS
Bulletin board system

File:Monochrome-bbs.pngA Bulletin Board System, or BBS, is a computer system running list of BBS software that allows User to Telecommunication circuit and Logging to the system using a terminal program....
 terminal and general office application platform in 80-column mode running native or CP/M programs. Another selling point for this group of users was the full-featured business keyboard, which was the first 'real' keyboard of a CBM computer since the less flexible (and thence, less popular) CBM-II/B
Commodore CBM-II

The Commodore CBM-II series was a short-lived range of 8-bit personal computers from Commodore International, intended as a follow-on to the Commodore PET series, released in 1982....
 series.

Because the C128 would run virtually all C64 software, and because the next-generation, 32
32-bit

The range of integer values that can be stored in 32 bits is 0 through 4,294,967,295 or -2,147,483,648 through 2,147,483,647 using two's complement encoding....
/16-bit
16-bit

16-bit architectureThe HP 2100#Descendants and variants , introduced in 1975, was the world's first 16-bit microprocessor.Prominent 16-bit processors include the PDP-11, Intel 8086, Intel 80286 and the WDC 65C816....
 home computers, primarily the Commodore Amiga and Atari ST
Atari ST

The Atari ST is a home computer/personal computer that was commercially available from 1985 to the early 1990s. It was released by Atari Corporation in 1985....
, were gaining ground, relatively little software for the C128's native mode appeared (probably on the order of 100–200 fully commercial titles, plus the usual share of public domain and magazine type-in programs). While the C128 sold a total number of 4 million units between 1985 and 1989, its popularity paled in comparison to that of its predecessor. This has been blamed on the lack of native software and on Commodore's less-aggressive marketing, which was mostly focused on the Amiga. An additional explanation may be found in the fact that the C64 sold huge numbers to people primarily interested in computer games, which the more expensive C128 didn't add much value towards improving (with the exception of a few Infocom
Infocom

Infocom was a software company, based in Cambridge, Massachusetts, that produced numerous works of interactive fiction. They also produced one notable business application, a relational database called Cornerstone ....
 text adventures). The C128 was certainly a better business machine than the C64, but not really a better gaming machine, and people who wanted business machines bought IBM PC clone
IBM PC compatible

IBM PC compatible computers are those generally similar to the original IBM Personal Computer, IBM Personal Computer XT, and IBM Personal Computer/AT....
s almost exclusively by the time the C128 was released. With its advanced BASIC programming language, CP/M
CP/M

CP/M is an operating system originally created for Intel 8080/Intel 8085 based microcomputers by Gary Kildall of Digital Research. Initially confined to single tasking on 8-bit processors and no more than 64 kilobytes of memory, later versions of CP/M added multi-user variations, and were migrated to 16-bit processors....
 compatibility and "user-friendly" native software packages such as Jane
Jane (software)

Jane 128 was a GUI-based integrated software package for the Commodore 128 personal computer developed by Arktronics and released by Commodore in 1985....
, Commodore attempted to create a low-end business market for the 128, branding it a "Personal Computer" on the case, but this strategy was not successful in the face of low-cost IBM-compatibles like the Leading Edge Model D
Leading Edge Model D

The Leading Edge Model D was an IBM clone computer released by Leading Edge during or before 1986....
 and Tandy 1000
Tandy 1000

The Tandy 1000 was the first in a line of more or less IBM PC compatible home computer systems produced by the Tandy Corporation for sale in its Radio Shack chain of stores....
 that, in some cases, sold for less than a complete 128 system. There was a professional-level CAD program, Home Designer by BRiWALL, but again, most of this work was done on PCs by the 128s era. The main reason that the C128 still sold fairly well was probably that it was a much better machine for hobbyist programming than the C64.

Also, when the C128(D/DCR) was discontinued in 1989, it was reported to cost nearly as much to manufacture as the 16-bit Amiga 500, even though the C128D had to sell for several hundred dollars less to keep the Amiga's high-value marketing image intact.

Bil Herd
Bil Herd

Bil Herd was a designer of 8-bit home computers while working for Commodore International in the early-to-mid 1980s. After first acting as the principal engineer on the Commodore Plus/4, Commodore 16, C264, and C364 machines, Herd designed the significantly more successful Commodore 128, a dual-central processing unit, triple-operating syst...
 commented on the Wikipedia
Wikipedia

Wikipedia is a Free content, multilingualism encyclopedia project supported by the non-profit organization Wikimedia Foundation. Its name is a portmanteau of the words wiki and encyclopedia....
 C128 article, stating: "We considered the C128 to be a holding action until the next generation computers arrived, we were trying to up the game as far as expectations for new machines and buy a year, two at the max in the process. In that we exceeded our initial goals but probably due in part to Commodore's lackluster follow through on marketing and selling the Amiga."

C128's hidden features

C128 Easteregg
  • Easter egg: Entering the command "SYS 32800,123,45,6" in native mode reveals the 40-column screen shown to the right:
  • The Commodore 128's BASIC 7.0, the programming language which comes built-in with the computer, can be crashed or cause the computer to reboot by executing PRINT""+-X (where X is any integer), depending on the number entered for X. This bug is present in all known versions of Microsoft's 6502 BASIC interpreter, including the BASIC of all other 8-bit Commodore machines, as well as Applesoft BASIC
    Applesoft BASIC

    Applesoft BASIC was a dialect of BASIC programming language supplied on the Apple II family computer, superseding Integer BASIC. Applesoft BASIC was supplied by Microsoft and its name is derived from the names of both Apple and Microsoft....
    .
  • Entering the keywords QUIT or OFF will produce an "?UNIMPLEMENTED COMMAND ERROR". These commands are holdovers from a planned but never produced LCD-display portable computer and were intended to exit from the BASIC interpreter and to ignore keyboard input during sensitive program execution, respectively.
  • The earlier ROM revision of the C128 includes a rather obvious bug
    Off-by-one error

    An off-by-one error is a logical error involving the discrete equivalent of a boundary condition. It often occurs in computer programming when an control flow#Loops iterates one time too many or too few....
    . When in "CAPS LOCK" mode, each of the alphabetic keys type properly in upper-case except the "q", which remains lower-case.
  • Multiple zero page
    Zero page

    The zero page is the series of memory addresses at the absolute beginning of a computer's address space; that is, the page whose starting address is zero....
     and CPU stack
    Stack (data structure)

    In computer science, a stack is an abstract data type and data structure based on the principle of LIFO . Stacks are used extensively at every level of a modern computer system....
     locations can be defined by twiddling some bits in the C128's MMU
    Memory management unit

    A memory management unit , sometimes called paged memory management unit , is a computer hardware component responsible for handling accesses to computer memory requested by the central processing unit ....
    , which theoretically would make multitasking a possibility. In practice, the lack of hardware memory protection would create a difficult-to-manage environment in which to run a preemptive kernel.
  • Grounding the cartridge port's /EXROM and/or /GAME lines will cause the computer to automatically start up in C64 mode. This design faithfully duplicates the C64 behavior when a cartridge (such as Simons' BASIC
    Simons' BASIC

    Simons' BASIC was an BASIC extension to Commodore BASIC for the Commodore 64 home computer. Written by 16-year-old British people programmer David Simons in 1983, it was distributed by Commodore International in cartridge #software format....
    ) is plugged into the port and asserts either of these lines. C128 mode cartridges are recognized and started by the kernal polling defined locations in the memory map.


Specifications

  • CPUs:
    • MOS Technology 8502
      MOS Technology 8502

      The MOS Technology 8502 was an 8-bit microprocessor designed by MOS Technology and used in the Commodore 128. Based on the MOS Technology 6510 that was used in the Commodore 64, the 8502 added the ability to run at a double clock rate, in addition to the standard 1.024 MHz rate used by the Commodore 64....
       @ 2 MHz (1 MHz selectable for C64 compatibility mode)
    • Zilog Z80
      Zilog Z80

      The Zilog Z80 is an 8-bit microprocessor designed and sold by Zilog from July 1976 onwards. It was widely used both in desktop and embedded computer designs as well as for military purposes....
        @ 4 MHz (effectively running at 2 MHz due to stopping half the time to allow VIC-II video chip access to system bus)
  • MMU: Memory Management Unit controls 8502/Z80 processor selection; ROM/RAM banking; common RAM areas; relocation of zero page and stack
  • RAM: 128 KB system RAM, 2 KB 4-bit dedicated color RAM (for the VIC-II E), 16 KB or 64 KB dedicated video RAM (for the VDC), up to 512 KB REU expansion RAM
  • ROM:   72 KB (28 KB BASIC 7.0
    Commodore BASIC

    Commodore BASIC, also known as PET BASIC, is the dialect of the BASIC programming language used in Commodore International's 8-bit home computer line, stretching from the Commodore PET of 1977 to the Commodore 128 of 1985....
    , 4 KB MLM
    Machine code monitor

    A machine code monitor is software built into or separately available for various computers, allowing the user to enter commands to view and change memory address on the machine, with options to load and save memory contents from/to secondary storage....
    , 8 KB C128 KERNAL
    KERNAL

    The KERNAL is Commodore International's name for the read-only memory-resident operating system core in its 8-bit home computers; from the original Commodore PET of 1977, via the extended, but strongly related, versions used in its successors; the Commodore VIC-20, Commodore 64, Plus/4, Commodore 16, and C128....
    , 4 KB screen editor, 4 KB Z80 BIOS
    BIOS

    In computing, the Basic Input/Output System , also known as the System BIOS, is a de facto standard defining a firmware interface for IBM PC Compatible computers....
    , ca. 9 KB C64 BASIC 2.0, ca. 7 KB C64 KERNAL, 4 KB C64 (or international) character generator
    PETSCII

    PETSCII , also known as CBM ASCII, is the variation of the ASCII character set used in Commodore International's 8-bit home computers, starting with the Commodore PET from 1977 and including the Commodore VIC-20, Commodore 64, Commodore CBM-II, Commodore Plus/4, Commodore 16, Commodore 116 and Commodore 128....
    , 4 KB C128 (or national) character generator) – expandable by 32 KB Internal Function ROM (optional; for placement in motherboard socket) and/or 32KB External Function ROM (optional; for placement in REU socket)
  • Video:
    • MOS 8564/8566 VIC-II E
      MOS Technology VIC-II

      The VIC-II , specifically known as the MOS Technology 6567/8562/8564 , 6569/8565/8566 , is the integrated circuit tasked with generating S-Video/composite video graphics and dynamic random access memory memory refresh signals in the Commodore 64 and Commodore 128 home computers....
       (NTSC/PAL) for 40-column composite video
      Composite video

      Composite video is the format of an analog television signal before it is combined with a sound signal and modulation onto an Radio Frequency carrier wave....
       (a TV set can be used instead of a monitor if desired)
      • Direct register access through memory-mapped I/O
      • Text mode: 40×25, 16 colors
      • Graphics modes: 160×200, 320×200
      • 8 hardware sprites
      • 2 KB dedicated 4-bit color RAM, otherwise uses main memory as video RAM
    • MOS 8563 VDC (or, in C128DCR, the 8568
      MOS Technology 8568

      The 8568 Video Display Controller , less commonly known as the DVDC, D = "Digital", was MOS Technology's graphics chip responsible for the "80 column" display on Commodore 128#128D; RGB graphics] models of the Commodore 128 personal computer....
      ) for 80-column digital RGBI component video, compatible with IBM PC
      IBM PC

      The IBM Personal Computer, commonly known as the IBM PC, is the original version and progenitor of the IBM PC compatible hardware platform ....
       CGA
      Color Graphics Adapter

      The Color Graphics Adapter , originally also called the Color/Graphics Adapter or IBM Color/Graphics Monitor Adapter, introduced in 1981, was International Business Machines's first color graphics card, and the first color computer display standard for the IBM PC....
       monitors, monochrome display also possible on composite video monitors; usable with TV sets only when the set has SCART and/or baseband video-in sockets in addition to the antenna connector. Color is possible through SCART, only monochrome through baseband video-in.
      • Indirect register access (address register, data register in mapped memory)
      • Text mode: Fully programmable, typically 80×25 or 80x50, 16 colors (not the same as those of the VIC-II)
      • Graphics modes: Fully programmable, typical modes are 320x200, 640×200, and 640×400 (interlaced).
      • No hardware sprites
      • 16 KB dedicated video RAM (64 KB standard in C128DCR, C128/C128D was upgradable to 64 KB), accessible to the CPU only in a doubly indirect method (address register, data register on VDC, which in turn are addressed through address register, data register in mapped memory)
      • limited blitter
        Blitter

        In a computer system, a blitter is a co-processor or a logic block on a microprocessor that is dedicated to rapid data transfer within that computer's RAM....
         functionality helps to alleviate this RAM bottleneck
  • Sound:
    • MOS 6581 SID
      MOS Technology SID

      The MOS Technology 6581/8580 SID was the built-in Programmable Sound Generator chip of Commodore International's Commodore CBM-II, Commodore 64, Commodore 128 and Commodore MAX Machine home computers....
       (or, in the C128DCR, the MOS 8580 SID
      MOS Technology SID

      The MOS Technology 6581/8580 SID was the built-in Programmable Sound Generator chip of Commodore International's Commodore CBM-II, Commodore 64, Commodore 128 and Commodore MAX Machine home computers....
      ) synthesizer chip
      • 3 voices
        Electronic oscillator

        An electronic oscillator is an electronic circuit that produces a repetitive electronic signal, often a sine wave or a square wave.A low frequency oscillation is an electronic oscillator that generates an alternating current waveform at a frequency below ?200 Hz....
        , ADSR
        Synthesizer

        A synthesizer is an electronic instrument capable of producing a variety of sounds by generating and combining signals of different frequency....
        -controllable
      • Standard SID waveforms (triangle
        Triangle wave

        A triangle wave is a non-sinusoidal waveform named for its triangular shape.Like a square wave, the triangle wave contains only odd harmonics....
        , sawtooth
        Sawtooth wave

        The sawtooth wave is a kind of non-sinusoidal waveform. It is named a sawtooth based on its resemblance to the teeth on the blade of a saw.The convention is that a sawtooth wave ramps upward and then sharply drops....
        , variable pulse
        Square wave

        A square wave is a kind of non-sinusoidal waveform, most typically encountered in electronics and signal processing. An ideal square wave alternates regularly and instantaneously between two levels....
        , noise
        White noise

        White noise is a random signal with a flat power spectral density. In other words, the signal contains equal power within a fixed bandwidth at any center frequency....
        , and certain combined modes)
      • Multi-mode filter
        Audio filter

        An audio filter is a type of Filter used for processing sound signal . Many types of filters exist for applications including equalizers, synthesizers, sound effects, Compact disc players and virtual reality systems....
      • 3 ring modulators
        Ring modulation

        Ring modulation is a signal-processing effect in electronics, related to amplitude modulation or frequency mixer, performed by multiplying two signals, where one is typically a sine-wave or another simple waveform....
      • Cost-reduced and noise-reduced version of C64's MOS 6581; some early C128s actually have 6581s
  • I/O Ports:
    • All the ports of C64
      Commodore 64

      The Commodore 64 is an 8-bit home computer released by Commodore International in August, 1982, at a price of United States dollar595. Preceded by the Commodore VIC-20 and Commodore MAX Machine, the C64 features 64 kilobytes of Random-access memory with sound and graphics performance that were superior to IBM-compatible computers of tha...
       —100% compatible— plus the following:
    • Higher speed possible on the serial bus
    • Expansion port more flexibly programmable
    • RGBI video output (DB9
      D-subminiature

      The D-subminiature or D-sub is a common type of electrical connector used particularly in computers. Calling them "subminiature" was appropriate when they were first introduced, but today they are among the largest common connectors used in computers....
      -connector, logically similar to the IBM PC
      IBM PC

      The IBM Personal Computer, commonly known as the IBM PC, is the original version and progenitor of the IBM PC compatible hardware platform ....
       CGA
      Color Graphics Adapter

      The Color Graphics Adapter , originally also called the Color/Graphics Adapter or IBM Color/Graphics Monitor Adapter, introduced in 1981, was International Business Machines's first color graphics card, and the first color computer display standard for the IBM PC....
       connector, but with an added monochrome
      Monochrome

      Monochrome comes from the Greek language ?????????? , meaning ?of one color?, which is a combination of ????? , meaning ?alone? or ?solitary?, and ????a , meaning ?color?....
       composite signal. This added signal causes a minor incompatibility with certain CGA monitors that can be rectified by breaking off pin 7 from the plug at one end of the connecting cable.)


External links