The Commodore 128, also known as the C128, C-128, C= 128,
[The "C=" represents the graphical part of the logo.] is the last
8-bit home computer that was commercially released by
Commodore Business Machines
Commodore International (other names include Commodore International Limited) was an American home computer and electronics manufacturer founded by Jack Tramiel. Commodore International (CI), along with its subsidiary Commodore Business Mach ...
(CBM). Introduced in January 1985 at the
CES in
Las Vegas
Las Vegas (; Spanish for "The Meadows"), often known simply as Vegas, is the 25th-most populous city in the United States, the most populous city in the state of Nevada, and the county seat of Clark County. The city anchors the Las Vegas ...
, it appeared three years after its predecessor, the bestselling computer in the 80s
Commodore 64
The Commodore 64, also known as the C64, is an 8-bit home computer introduced in January 1982 by Commodore International (first shown at the Consumer Electronics Show, January 7–10, 1982, in Las Vegas). It has been listed in the Guinness ...
.
The C128 is a significantly expanded successor to the C64, with nearly full compatibility. The newer machine has 128
KB of
RAM
Ram, ram, or RAM may refer to:
Animals
* A male sheep
* Ram cichlid, a freshwater tropical fish
People
* Ram (given name)
* Ram (surname)
* Ram (director) (Ramsubramaniam), an Indian Tamil film director
* RAM (musician) (born 1974), Dutch
* ...
in two 64 KB banks, and an 80-column color video output. It has a redesigned case and
keyboard
Keyboard may refer to:
Text input
* Keyboard, part of a typewriter
* Computer keyboard
** Keyboard layout, the software control of computer keyboards and their mapping
** Keyboard technology, computer keyboard hardware and firmware
Music
* Musi ...
. Also included is a
Zilog Z80
The Z80 is an 8-bit microprocessor introduced by Zilog as the startup company's first product. The Z80 was conceived by Federico Faggin in late 1974 and developed by him and his 11 employees starting in early 1975. The first working samples were ...
CPU which allows the C128 to run
CP/M, as an alternative to the usual
Commodore BASIC
Commodore BASIC, also known as PET BASIC or CBM-BASIC, is the dialect of the BASIC programming language used in Commodore International's 8-bit home computer line, stretching from the PET of 1977 to the C128 of 1985.
The core is based on 6502 ...
environment. The presence of the Z80 and the huge CP/M software library it brings, coupled with the C64's software library, gave the C128 one of the broadest ranges of available software among its competitors.
The primary hardware designer of the C128 was
Bil Herd
Bil Herd is a computer engineer who created several designs for 8-bit home computers while working for Commodore Business Machines in the early to mid-1980s.
Biography
He attended the Indiana school system. Herd did not have a college degr ...
, who had worked on the
Plus/4. Other hardware engineers were
Dave Haynie
Dave Haynie is an American electrical engineer and was chief engineer at Commodore International. He is vocal in the Amiga community.
See also
* Metabox (on German Wikipedia)
* PIOS
The International Open Series (often referred to as Pontin ...
and Frank Palaia, while the IC design work was done by Dave DiOrio. The main Commodore system software was developed by Fred Bowen and Terry Ryan, while the CP/M subsystem was developed by Von Ertwine.
Technical overview
The C128's keyboard includes four cursor keys, an
Alt key
The Alt key (pronounced or ) on a computer keyboard is used to change (alternate) the function of other pressed keys. Thus, the Alt key is a modifier key, used in a similar fashion to the Shift key. For example, simply pressing ''A'' will t ...
,
Help key
A Help key, found in the shape of a dedicated key explicitly labeled , or as another key, typically one of the function keys, on a computer keyboard, is a key which, when pressed, produces information on the screen/display to aid the user in their ...
,
Esc key
On computer keyboards, the Esc key (named ''Escape key'' in the international standard series ISO/IEC 9995) is a key used to generate the escape character (which can be represented as ASCII code 27 in decimal, Unicode U+001B, or ). The escape ...
,
Tab key and a
numeric keypad
A numeric keypad, number pad, numpad, or ten key,
is the palm-sized, usually-17-key section of a standard computer keyboard, usually on the far right. It provides calculator-style efficiency for entering numbers. The idea of a 10-key nu ...
. None of these were present on the C64 which had only two cursor keys, requiring the use of the Shift key to move the cursor up or left. This alternate arrangement was retained on the 128, for use under C64 mode. The lack of a numeric keypad,
Alt key
The Alt key (pronounced or ) on a computer keyboard is used to change (alternate) the function of other pressed keys. Thus, the Alt key is a modifier key, used in a similar fashion to the Shift key. For example, simply pressing ''A'' will t ...
, and
Esc key
On computer keyboards, the Esc key (named ''Escape key'' in the international standard series ISO/IEC 9995) is a key used to generate the escape character (which can be represented as ASCII code 27 in decimal, Unicode U+001B, or ). The escape ...
on the C64 was an issue with some CP/M
productivity software
Productivity software (also called personal productivity software or office productivity software) is application software used for producing information (such as documents, presentations, worksheets, databases, charts, graphs, digital paintings ...
when used with the C64's Z80 cartridge. A keypad was requested by many C64 owners who spent long hours entering
machine language
In computer programming, machine code is any low-level programming language, consisting of machine language instructions, which are used to control a computer's central processing unit (CPU). Each instruction causes the CPU to perform a very ...
type-in program
A type-in program or type-in listing was computer source code printed in a home computer magazine or book. It was meant to be entered via the keyboard by the reader and then saved to cassette tape or floppy disk. The result was a usable game, ...
s. Many of the added keys matched counterparts present on the
IBM PC's keyboard and made the new computer more attractive to business software developers. While the 128's 40-column mode closely duplicates that of the C64, an extra 1K of color RAM is made available to the programmer, as it is multiplexed through memory address 1. The C128's power supply is improved over the C64's unreliable design, being much larger and equipped with cooling vents and a replaceable fuse. The C128 does not perform a system RAM test on power-up like previous Commodore machines. Instead of the single
6510
300px, Image of the internals of a Commodore 64 showing the 6510 CPU (40-pin DIP, lower left). The chip on the right is the 6581 SID. The production week/year (WWYY) of each chip is given below its name.
The MOS Technology 6510 is an 8-bit mic ...
microprocessor
A microprocessor is a computer processor where the data processing logic and control is included on a single integrated circuit, or a small number of integrated circuits. The microprocessor contains the arithmetic, logic, and control circ ...
of the C64, the C128 incorporates a two-CPU design. The primary CPU, the
8502, is a slightly improved version of the 6510, capable of being clocked at 2
MHz
The hertz (symbol: Hz) is the unit of frequency in the International System of Units (SI), equivalent to one event (or cycle) per second. The hertz is an SI derived unit whose expression in terms of SI base units is s−1, meaning that one he ...
. The second CPU is a
Zilog Z80
The Z80 is an 8-bit microprocessor introduced by Zilog as the startup company's first product. The Z80 was conceived by Federico Faggin in late 1974 and developed by him and his 11 employees starting in early 1975. The first working samples were ...
which is used to run
CP/M software, as well as to initiate operating-mode selection at boot time. The two processors cannot run concurrently, thus the C128 is not a
multiprocessing system.
The C128's complex architecture, includes four differently accessed kinds of RAM (128 KB main RAM, 16–64 KB VDC video RAM, 2 kNibbles VIC-II Color RAM, 2-kilobyte floppy-drive RAM on C128Ds, 0, 128 or 512 KB
REU
Reu or Ragau ( he, רְעוּ, Rə'ū; grc-x-biblical, Ῥαγαύ, Rhagaú), according to Genesis in the Hebrew Bible, was the son of Peleg and the father of Serug, thus being Abraham's great-great-grandfather and the ancestor of the Israelite ...
RAM), two or three CPUs (main: 8502, Z80 for CP/M; the 128D also incorporates a 6502 in the disk drive), and two different video chips (VIC-IIe and VDC) for its various operational modes.
Early versions of the C128 occasionally experience temperature-related reliability issues due to the use of an electromagnetic shield over the main circuit board. The shield was equipped with fingers that contacted the tops of the major chips, ostensibly causing the shield to act as a large
heat sink
A heat sink (also commonly spelled heatsink) is a passive heat exchanger that transfers the heat generated by an electronic or a mechanical device to a fluid medium, often air or a liquid coolant, where it is dissipated away from the device, th ...
. A combination of poor contact between the shield and the chips, the inherently limited heat conductivity of plastic chip packages, as well as the relatively poor thermal conductivity of the shield itself, resulted in overheating and failure in some cases. The
SID sound chip is particularly vulnerable in this respect. The most common remedy is to remove the shield, which Commodore had added late in development to comply with FCC radio-frequency regulations.
The C128 has three
operating modes. ''C128 Mode'' (
native mode
In computing, native software or data-formats are those that were designed to run on a particular operating system. In a more technical sense, native code is code written specifically for a certain processor. In contrast, cross-platform software ...
) runs at 1 or 2 MHz with the 8502 CPU and has both 40- and 80-column
text mode
Text mode is a computer display mode in which content is internally represented on a computer screen in terms of characters rather than individual pixels. Typically, the screen consists of a uniform rectangular grid of ''character cells'', each ...
s available. ''CP/M Mode'' uses both the Z80 and the 8502, and is able to function in both 40- or 80-column text mode. ''C64 Mode'' is nearly 100 percent compatible with the earlier computer. Selection of these modes is implemented via the Z80 chip. The Z80 controls the bus on initial boot-up and checks to see if there is a CP/M disk in the drive, if there are any C64/C128 cartridges present, or if the Commodore key (which serves as the C64-mode selector) is being depressed on boot-up. Based on these conditions, it will switch to the appropriate mode of operation.
Modes
C128
In 1984, a year before the release of the Commodore 128, Commodore released the
Plus/4. Although targeted at a low-end business market that could not afford the relatively high cost and training requirements of early
IBM PC compatible
IBM PC compatible computers are similar to the original IBM PC, XT, and AT, all from computer giant IBM, that are able to use the same software and expansion cards. Such computers were referred to as PC clones, IBM clones or IBM PC clones. ...
s, it was perceived by the Commodore press as a follow-up to the 64 and would be expected to improve upon that model's capabilities. While the C64's graphics and sound capabilities were generally considered excellent, the response to the Plus/4 was one of disappointment. Upon the Plus/4's introduction, repeated recommendations were made in the Commodore press for a new computer called the "C-128" with increased RAM capacity, an 80-column display as was standard in business computers, a new BASIC programming language that made it easy for programmers to use the computer's graphics and sound without resorting to
PEEK and POKEs, a new disk drive that improved upon the
1541's abysmal transfer rate, as well as total C64 compatibility.
The designers of the C128 succeeded in addressing most of these concerns. A new chip, the
VDC, provides the C128 with an 80-column color
CGA-compatible display (also called ''RGBI'' for ''red-green-blue plus intensity''). The then-new
8502 microprocessor is completely backward-compatible with the C64's
6510
300px, Image of the internals of a Commodore 64 showing the 6510 CPU (40-pin DIP, lower left). The chip on the right is the 6581 SID. The production week/year (WWYY) of each chip is given below its name.
The MOS Technology 6510 is an 8-bit mic ...
, but can run at double the speed if desired. The C64's BASIC 2.0 was replaced with BASIC 7.0, which includes
structured programming commands from the Plus/4's BASIC 3.5, as well as keywords designed specifically to take advantage of the machine's capabilities. A
sprite editor and
machine language monitor were added. The screen-editor part of the
Kernal
KERNAL is Commodore's name for the ROM-resident operating system core in its 8-bit home computers; from the original PET of 1977, followed by the extended but strongly related versions used in its successors: the VIC-20, Commodore 64, Plus/4, ...
was further improved to support an
insert mode Insert may refer to:
*Insert (advertising)
*Insert (composites)
* Insert (effects processing)
*Insert (filmmaking)
*Insert key on a computer keyboard, used to switch between insert mode and overtype mode
*Insert (molecular biology)
* Insert (SQL)
* ...
and other features accessed through ESC-key combinations, as well as a rudimentary windowing feature, and was relocated to a separate
ROM
Rom, or ROM may refer to:
Biomechanics and medicine
* Risk of mortality, a medical classification to estimate the likelihood of death for a patient
* Rupture of membranes, a term used during pregnancy to describe a rupture of the amniotic sac
* ...
. The VIC-II chip which controls the 40-column display can only operate at 1 MHz, so the 40-column display appears jumbled in
FAST
mode. In 80-column mode the editor takes advantage of VDC features to provide blinking and underlined text, activated through
escape code
In computer science, an escape sequence is a combination of characters that has a meaning other than the literal characters contained therein; it is marked by one or more preceding (and possibly terminating) characters.
Examples
* In C and man ...
s, in addition to the standard Commodore reverse text. The C128's 80-column mode can display lowercase characters along with
PETSCII
PETSCII (''PET Standard Code of Information Interchange''), also known as CBM ASCII, is the character set used in Commodore Business Machines (CBM)'s 8-bit home computers, starting with the PET from 1977 and including the C16, C64, C116, C1 ...
graphics characters; 40-column mode is subject to the same "upper- and lowercase" or "uppercase-plus-graphics" restriction as earlier Commodores. The 40- and 80-column modes are independent and both can be active at the same time. A programmer with both a composite and RGB display can use one of the screens as a "scratchpad" or for rudimentary multiple buffer support. The active display can be switched with ESC-X. A hardware reset button was added to the system. The keyboard, however, was not switched to the
Selectric
The IBM Selectric typewriter was a highly successful line of electric typewriters introduced by IBM on 31 July 1961.
Instead of the "basket" of individual typebars that swung up to strike the ribbon and page in a typical typewriter of the perio ...
layout as had become standard, instead retaining the same
ADM-3A
The ADM-3A was an influential early video display terminal, introduced in 1976. It was manufactured by Lear Siegler and had a 12-inch screen displaying 12 or 24 lines of 80 characters. It set a new industry low single unit price of $995. Its " ...
-derived design as on Commodore's prior models.
The VDC chip is largely useless for gaming since it has no sprites or raster interrupts. NTSC C128s will work with any CGA-type monitor (TTL RGB @ 15 kHz/60 Hz) such as the IBM 5153. However, PAL models of the C128 operate at 50 Hz and aren't compatible with most CGA monitors, which expect a 60 Hz refresh rate. Pin 7 of the VDC output (normally unused on CGA monitors) produces a monochrome NTSC/PAL signal, but no cable was provided for it and interested users had to make their own or purchase one on the aftermarket.
Two new disk drives were introduced in conjunction with the C128: the short-lived single-sided
1570 and the double-sided
1571. A dual-disk
1572 model was announced but never produced. Later on, the 3.5-inch
1581 was introduced. All of these drives are more reliable than the 1541 and promise much better performance via a new "burst mode" feature. The 1581 drive also has more on-board RAM than its predecessors, making it possible to open a larger number of files at one time. BASIC 7.0 includes
DLOAD
and
DSAVE
commands to support loading and saving to disk without using the
,8
or other device number, and also a
DIRECTORY
command that reads a disk's catalog information directly to screen memory without overwriting BASIC memory as in BASIC 2.0. In addition, the C128 introduces auto-booting of disk software, a feature standard on most personal computers, but absent from Commodore machines up to that point. Users no longer have to type
LOAD"*",8,1
. BASIC also added a COLLECT command for removing "splat" files (files that were not closed properly and truncated to zero length).
All 1571 drives will normally start up in native mode on the C128. If the user switches to C64 mode by typing "GO 64", the drive remains in native mode. But if C64 mode is activated by holding the Commodore key down when powering-up, the 1571 then goes into 1541 mode. This routine is necessary for software that performs low-level drive access.
The C128 has twice the RAM of the C64, a far higher proportion of which is available for BASIC programming, due to the new
MMU bank-switching chip. This allows BASIC program code to be stored separately from variables, greatly enhancing the machine's ability to handle complex programs, speeding
garbage collection
Waste collection is a part of the process of waste management. It is the transfer of solid waste from the point of use and disposal to the point of treatment or landfill. Waste collection also includes the curbside collection of recyclabl ...
and easing debugging for the programmer. An executing program can be
STOP
ped, its code edited, variable values inspected or altered in
direct mode
In computing, direct or immediate mode in an interactive programming system is the immediate execution of commands, statements, or expressions. In many interactive systems, most of these can both be included in programs or executed directly in ...
, and program execution resumed with the variable table intact using BASIC's
GOTO
command. Although other BASICs support the
CONT
command to restart execution without clearing variables, editing any code causes them to be cleared. Different memory configurations can be loaded using BASIC's
BANK
command.
BASIC 7.0 has a full complement of graphics and sound-handling commands, as well as BASIC 4.0's disk commands and improved garbage cleanup, and support for structured programming via IF...THEN...ELSE, DO...WHILE, and WHILE...WEND loops. Programmable characters are still however not supported, so the programmer will have to manipulate them with PEEK and POKE as on the VIC-20 and C64.
On the downside, BASIC 7.0 ran considerably slower than BASIC 2.0 unless 2 MHz mode was used due to its 28 KB size (a 250% increase over BASIC 2.0) and having to bank switch to access program variables and BASIC program text (if greater than 16k in length).
The 128's ROM contains an
easter egg
Easter eggs, also called Paschal eggs, are eggs that are decorated for the Christian feast of Easter, which celebrates the resurrection of Jesus. As such, Easter eggs are common during the season of Eastertide (Easter season). The oldest tr ...
: Entering the command
SYS 32800,123,45,6
in native mode reveals a screen with a listing of the machine's main developers followed by the message
Link arms, don't make them."
Also, entering the keywords
QUIT
or
OFF
will produce an
?UNIMPLEMENTED COMMAND ERROR
. These commands are holdovers from the BASIC interpreter intended for a planned but never-produced
LCD portable computer and had been intended to exit from the BASIC interpreter and to ignore keyboard input during sensitive program execution, respectively.
The C128's greater hardware capabilities, especially the increased RAM, screen display resolution, and serial bus speed, made it a more capable platform than the C64 for running the
GEOS graphical operating system.
CP/M
The second of the C128's two CPUs is the
Zilog Z80
The Z80 is an 8-bit microprocessor introduced by Zilog as the startup company's first product. The Z80 was conceived by Federico Faggin in late 1974 and developed by him and his 11 employees starting in early 1975. The first working samples were ...
, which allows the C128 to run
CP/M. The C128 was shipped with CP/M 3.0 (a.k.a. CP/M Plus, which is backward-compatible with CP/M 2.2) and ADM31/3A
terminal
Terminal may refer to:
Computing Hardware
* Terminal (electronics), a device for joining electrical circuits together
* Terminal (telecommunication), a device communicating over a line
* Computer terminal, a set of primary input and output dev ...
emulation. A CP/M cartridge had been available for the C64, but it was expensive and of limited use since the 1541 drive cannot read the MFM-formatted disks that CP/M software was distributed on. Software had to be made available on Commodore-specific disks formatted using the
GCR encoding scheme. Commodore made versions of PerfectCalc and the
EMACS-derived PerfectWriter available, and Commodore
user group
A users' group (also user's group or user group) is a type of club focused on the use of a particular technology, usually (but not always) computer-related.
Overview
Users' groups started in the early days of mainframe computers, as a way to sha ...
s sometimes had a selection of CP/M diskettes, but the limited software availability negated one of CP/M's chief attractions—its huge software library. In addition, the cartridges only work on early model C64s from 1982 and are incompatible with later units. Since they were also incompatible with the C128, the design team decided to support CP/M by putting the Z80 on the main system board.
The C128 runs CP/M noticeably slower than most dedicated CP/M systems, as the Z80 processor runs at an effective speed of only . This was because the C128's system bus was designed around the 65xx CPUs. These CPUs handle data and memory addressing very differently from the Z80. CP/M also ran more slowly due to the reasons mentioned below, such as needing to pass control to the 8502 for any I/O or interrupt processing. For these reasons, few users actually ran CP/M software on the C128.
When the C128 is powered on, the Z80 is active first and executes a small boot loader ROM at $0-$FFF to check for the presence of a CP/M disk. If one is not detected, control is passed to the 8502 and C128 native mode is started.
CP/M mode in practice requires a 1571 or 1581 drive to be useful, since a 1541 cannot read MFM disks and will run much slower due to not supporting the C128's burst mode. CP/M boot disks nonetheless must be in the drive's native GCR format; MFM disks cannot be booted from, only read once the user is already in CP/M. This is because the code necessary to operate the drive in MFM mode is loaded as part of the boot process. In addition, 80-column mode is generally required since most CP/M software expects an 80-column screen. The C128 emulates an
ADM-3A
The ADM-3A was an influential early video display terminal, introduced in 1976. It was manufactured by Lear Siegler and had a 12-inch screen displaying 12 or 24 lines of 80 characters. It set a new industry low single unit price of $995. Its " ...
terminal in CP/M mode, so software will have to be set up for that. Aside from the standard ADM-3A terminal commands, a number of extra ones are available to use the VIC-II and VDC's features, including setting the text and background color. The CP/M command interpreter (although not application software) includes a safeguard to prevent the user from issuing a control code to make the text and background the same color, which would render text invisible and force the user to reset the computer. If this happens, it will default to a gray background with brown text.
In CP/M mode, it is possible to run MBASIC, Microsoft's release of BASIC-80 for CP/M. Compared with the native mode BASIC 7.0, MBASIC is terse and limited in its capabilities, requiring the use of terminal-style key combinations to edit program lines or move the text cursor and lacking any sound or graphics features. Although MBASIC has mathematical and calculation features that BASIC 7.0 lacks such as integer and double precision variable support, any speed advantage gained by the use of integer variables is rendered moot by the extremely slow performance of the computer in CP/M mode. Moreover, Commodore BASIC has 40-bit floating point which serves as a middle ground between MBASIC's 32-bit floating point and 64-bit double precision variables. MBASIC also offers only 34k of free program space against BASIC 7.0's approximately 90k.
Other CP/M software such as Wordstar and Supercalc will also be significantly outperformed by native mode C128 equivalents like
PaperClip
A paper clip (or paperclip) is a tool used to hold sheets of paper together, usually made of steel wire bent to a looped shape (though some are covered in plastic). Most paper clips are variations of the ''Gem'' type introduced in the 1890s or e ...
, which also have an easier to use interface.
The CP/M CBIOS (the part of CP/M that interfaces with the hardware) does not directly interface with the hardware like on most CP/M implementations, rather it calls the kernal routines for interrupt handing and I/O—when the kernal needs to be used, the Z80 uses routines at - to pass parameter data to the 8502, which is then activated and the Z80 deactivated. After the kernal routine is finished executing, control is passed back to the Z80. It was reported that the programmer in charge of porting CP/M to the C128 had intended to have the CBIOS interface with the hardware directly in Z80 machine language, but had great difficulty with the VDU chips as they were prone to overheating and self-destructing. The VDU also underwent numerous hardware revisions while the C128 was in development and the CP/M programmer was unable to get his code working properly, so the C128 engineering team requested instead that he simply rewrite the CBIOS to pass function calls to the 8502.
CP/M mode is very different from the operating environments familiar to Commodore users. While
Commodore DOS
Commodore DOS, also known as CBM DOS, is the disk operating system used with Commodore's 8-bit computers. Unlike most other DOSes, which are loaded from disk into the computer's own RAM and executed there, CBM DOS is executed internally in the dr ...
is built into the ROM of Commodore disk drives and is usually accessed through BASIC, CP/M requires the use of a boot diskette and requires entry of terse commands inherited from
minicomputer platforms. CP/M programs tend to lack the
user-friendly
Usability can be described as the capacity of a system to provide a condition for its users to perform the tasks safely, effectively, and efficiently while enjoying the experience. In software engineering, usability is the degree to which a soft ...
nature of most Commodore applications. Intended to give the new computer a large library of professional-grade business software that Commodore lacked, CP/M was long past its prime by the mid-1980s, and so it was seldom used on the C128.
C64
By incorporating the original C64 BASIC and Kernal ROMs in their entirety (16 KB total), the C128 achieves almost 100 percent compatibility with the Commodore 64. The C64 mode can be accessed in three ways:
# Holding down the Commodore-logo key when booting.
# Entering the
GO 64
command, then responding
Y
to the
ARE YOU SURE?
prompt, in BASIC 7.0.
# Booting with a C64 cartridge plugged in.
Grounding the cartridge port's /EXROM and/or /GAME lines will cause the computer to automatically start up in C64 mode. This feature faithfully duplicates the C64's behavior when a cartridge (such as
Simons' BASIC
Simons' BASIC is an BASIC extension, extension to Commodore BASIC, BASIC 2.0 for the Commodore 64 home computer. Written by British people, British programmer David Simons in 1983, who was 16 years old at the time, it was distributed by Commodore I ...
) is plugged into the port and asserts either of these lines but, unlike an actual C64, where the memory-map-changing action of these lines is implemented directly in hardware, the C128's Z80 firmware startup code polls these lines on power-up and then switches modes as necessary. C128 native-mode cartridges are recognized and started by the kernal polling defined locations in the memory map.
C64 mode almost exactly duplicates the features of a hardware C64. The MMU, Z80, and IEC burst mode are disabled in C64 mode, however all other C128 hardware features including the VDU and 2 MHz mode are still accessible. The extended keys of the C128 keyboard may be read from machine language, although the kernal routines only recognize the keys that exist on the C64. A few games are capable of detecting if a C128 is running and switching to 2 MHz mode during the vertical retrace for faster performance.
On North American C128s, when in C64 mode, even the character (font) ROM changes from that of C128 mode. Early C128 prototypes had a single ROM, with a slightly improved character set over that of the C64. But some C64 programs read the character ROM as data, and will fail in various ways on a C128. Thus, the C128 was given a double-sized character ROM, which delivers the C128 font in C128 mode, and the C64 font in C64 mode. International models of the C128 use the unmodified C64 font in both modes, since the second half of the character ROM is instead dedicated to the international font (containing such things as accented characters or German
umlauts).
Some of the few C64 programs that fail on a C128 will run correctly when the
caps lock
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'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 write to
$D030 (53296)
, often as part of a loop initializing the
VIC-II
The VIC-II (Video Interface Chip II), specifically known as the MOS Technology 6567/8562/8564 (NTSC versions), 6569/8565/8566 ( PAL), is the microchip tasked with generating Y/C video signals (combined to composite video in the RF modulator) and ...
chip registers. This memory-mapped register, unused in the C64, determines the system clock rate. Since this register is fully functional in C64 mode, an inadvertent write can scramble the 40-column display by switching the CPU over to 2–MHz, at which clock rate the VIC-II video processor cannot produce a coherent display. Fortunately, few programs suffer from this flaw. In July 1986, ''
COMPUTE!'s Gazette
''Compute!'s Gazette'' (), stylized as ''COMPUTE!'s Gazette'', was a computer magazine of the 1980s, directed at users of Commodore's 8-bit home computers. Announced as ''The Commodore Gazette'', it was a Commodore-only daughter magazine of the ...
'' published a
type-in program
A type-in program or type-in listing was computer source code printed in a home computer magazine or book. It was meant to be entered via the keyboard by the reader and then saved to cassette tape or floppy disk. The result was a usable game, ...
that exploited this difference by using a
raster interrupt
A raster interrupt (also called a horizontal blank interrupt) is an interrupt signal in a legacy computer system which is used for display timing. It is usually, though not always, generated by a system's graphics chip as the scan lines of a fr ...
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 the higher clock rate during the
vertical blank
In a raster scan display, the vertical blanking interval (VBI), also known as the vertical interval or VBLANK, is the time between the end of the final visible line of a frame or field and the beginning of the first visible line of the next fram ...
period, standard video display is maintained while increasing overall execution speed by about 20 percent.
An easy way to differentiate between a hardware C64 and a C128 operating in C64 mode, typically used from within a running program, is to write a value different from
$FF (255)
to
memory address
In computing, a memory address is a reference to a specific memory location used at various levels by software and hardware. Memory addresses are fixed-length sequences of digits conventionally displayed and manipulated as unsigned integers. Su ...
$D02F (53295)
, a register which is used to decode the extra keys of the C128 (the numerical keypad and some other keys). On the C64 this memory location will always contain the value
$FF
no matter what is written to it, but on a C128 in C64 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
ROM
Rom, or ROM may refer to:
Biomechanics and medicine
* Risk of mortality, a medical classification to estimate the likelihood of death for a patient
* Rupture of membranes, a term used during pregnancy to describe a rupture of the amniotic sac
* ...
and
RAM
Ram, ram, or RAM may refer to:
Animals
* A male sheep
* Ram cichlid, a freshwater tropical fish
People
* Ram (given name)
* Ram (surname)
* Ram (director) (Ramsubramaniam), an Indian Tamil film director
* RAM (musician) (born 1974), Dutch
* ...
(tenfold the size of 8502's address space) the C128 uses the 8722
MMU chip to create different memory maps, in which different combinations of RAM and ROM would appear according to bit patterns written into the MMU's configuration register at
memory address
In computing, a memory address is a reference to a specific memory location used at various levels by software and hardware. Memory addresses are fixed-length sequences of digits conventionally displayed and manipulated as unsigned integers. Su ...
. Another feature of the memory management unit is to allow relocation of
zero page
The zero page or base page is the block of memory at the very beginning of a computer's address space; that is, the page whose starting address is zero. The size of a page depends on the context, and the significance of zero page memory versus h ...
and the
stack
Stack may refer to:
Places
* Stack Island, an island game reserve in Bass Strait, south-eastern Australia, in Tasmania’s Hunter Island Group
* Blue Stack Mountains, in Co. Donegal, Ireland
People
* Stack (surname) (including a list of people ...
.
Although the C128 can theoretically support 256k of RAM in four blocks, the PCB has no provisions to add this extra RAM, nor can the MMU actually access more than 128k. Therefore, if the MMU is programmed to access blocks 2 or 3, all that results is a mirror of the RAM in blocks 0 and 1.
Since the I/O registers and system ROMs can be disabled or enabled freely, as well as being locatable in either RAM bank and the VIC-II set to use either bank for its memory space, up to 256 memory configurations are possible, although the vast majority of them are useless (for example, unworkable combinations like the kernal ROM in bank 0 and the I/O registers in bank 1 are possible). Because of this, BASIC's BANK statement allows the user to select 15 of the most useful arrangements, with the power-on default being Bank 15. This default places the system ROMs, I/O registers, and BASIC program text in block 0, with block 1 being used by BASIC program variables. BASIC program text and variables can extend all the way to . But since block 0 contains the ROMs and I/O registers from onward, BASIC uses an internal switching routine to read program text higher than .
The top and bottom 1k of RAM (– and -) are "shared" RAM, visible from both blocks. The MMU allows either to be expanded in increments up to 16k. The – range contains the zero page and stack while - contains the MMU registers and reset vectors. These areas are always shared and cannot be switched to non-shared RAM. Shared RAM is always the opposite bank from the one currently being used by the CPU, thus if bank 0 is selected, any read or write to shared RAM will refer to the corresponding locations in bank 1 and vice versa. The VIC-II can be set to use either RAM bank and from there, its normal 16k window. While on the C64, the VIC-II can only see the character ROM in banks 2 and 4 of its memory space, the C128, on the other hand, makes it possible to enable or disable the character ROM for any VIC-II bank via the register at . Also, there are two sets of color RAM—one visible to the CPU, the other to the VIC-II and the user may select what chip sees what.
In CP/M mode, the Program Segment Prefix and Transient Program Area reside in Bank 1 and the I/O registers and CP/M system code in Bank 0.
The C128's RAM is expandable from the standard 128 KB to 256, 512 or even 1,024 KB, either by using commercial memory expansion modules, or by making one based on schematics available on the internet.
Commodore's
RAM Expansion Units use an external 8726
DMA controller to transfer data between the C128's RAM and the RAM in the expansion unit.
C128D
Late in 1985, Commodore released to the European market a new version of the C128 with a redesigned chassis resembling the
Amiga 1000
The Commodore Amiga 1000, also known as the A1000, is the first personal computer released by Commodore International in the Amiga line. It combines the 16/32-bit Motorola 68000 CPU which was powerful by 1985 standards with one of the most adv ...
. Called the Commodore 128D, this new European model featured a plastic chassis with a carrying handle on the side, incorporated a 1571 disk drive into the main chassis, replaced the built-in keyboard with a detachable one, and added a
cooling fan
A fan is a powered machine used to create a flow of air. A fan consists of a rotating arrangement of vanes or blades, generally made of wood, plastic, or metal, which act on the air. The rotating assembly of blades and hub is known as an ''imp ...
. The keyboard also featured two folding legs for changing the typing angle.
The C128 released in the United Kingdom on 25 July 1985, and in North America in November 1985.
According to
Bil Herd
Bil Herd is a computer engineer who created several designs for 8-bit home computers while working for Commodore Business Machines in the early to mid-1980s.
Biography
He attended the Indiana school system. Herd did not have a college degr ...
, head of the Hardware Team (a.k.a. the "C128 Animals"), the C128D was ready for production at the same time as the regular version. Working to release two models at the same time had increased the risk for on-time delivery and was apparent in that the main PCB has large holes in critical sections to support the C128D case and the normal case concurrently.
In the latter part of 1986, Commodore released a version of the C128D in North America and parts of Europe referred to as the C128DCR, CR meaning "cost-reduced". The DCR model features a stamped-steel chassis in place of the plastic version of the C128D (with no carrying handle), a modular
switched-mode power supply
A switched-mode power supply (switching-mode power supply, switch-mode power supply, switched power supply, SMPS, or switcher) is an electronic power supply that incorporates a switching regulator to convert electrical power efficiently.
Lik ...
similar to that of the C128D, retaining that model's detachable keyboard and internal 1571 floppy drive. A number of components on the
mainboard
A motherboard (also called mainboard, main circuit board, mb, mboard, backplane board, base board, system board, logic board (only in Apple computers) or mobo) is the main printed circuit board (PCB) in general-purpose computers and other expand ...
were consolidated to reduce production costs and, as an additional cost-reduction measure, the
cooling fan
A fan is a powered machine used to create a flow of air. A fan consists of a rotating arrangement of vanes or blades, generally made of wood, plastic, or metal, which act on the air. The rotating assembly of blades and hub is known as an ''imp ...
that was fitted to the D model's power supply was removed. However, the mounting provisions on the power supply subchassis were retained, as well as the two 12-volt DC connection points on the power supply's
printed circuit board
A printed circuit board (PCB; also printed wiring board or PWB) is a medium used in Electrical engineering, electrical and electronic engineering to connect electronic components to one another in a controlled manner. It takes the form of a L ...
for powering the fan. The C128DCR mounting provision is for a 60 mm fan.
A significant improvement introduced with the DCR model was the replacement of the 8563 video display controller (VDC) with the more technically advanced
8568 VDC and equipping it with 64 kilobytes of video RAM—the maximum amount addressable by the device. The four-fold increase in video RAM over that installed in the "flat" C128 made it possible, among other things, to maintain multiple text screens in support of a true windowing system, or generate higher-resolution graphics with a more flexible color palette. Little commercial software took advantage of these possibilities.
The C128DCR is equipped with new ROMs dubbed the "1986 ROMs," so-named from the copyright date displayed on the power-on banner screen. The new ROMs address a number of
bugs that are present in the original ROMs, including an infamous
off-by-one error
An off-by-one error or off-by-one bug (known by acronyms OBOE, OBO, OB1 and OBOB) is a logic error involving the discrete equivalent of a boundary condition. It often occurs in computer programming when an iterative loop iterates one time too m ...
in the keyboard decoding table, in which the 'Q' character would remain lower case when CAPS LOCK was active. Some software will only run on the DCR, due to dependencies on the computer's enhanced hardware features and revised ROMs.
Despite the DCR's improved RGB video capabilities, Commodore did not enhance BASIC 7.0 with the ability to manipulate RGB graphics. Driving the VDC in graphics mode continues to require the use of calls to screen-editor ROM
primitives or their
assembly language
In computer programming, assembly language (or assembler language, or symbolic machine code), often referred to simply as Assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence be ...
equivalents, or by using third-party BASIC language extensions, such as Free Spirit Software's "
BASIC 8
BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
", which adds high-resolution VDC graphics commands to
BASIC 7.0
Commodore BASIC, also known as PET BASIC or CBM-BASIC, is the dialect of the BASIC programming language used in Commodore International's 8-bit home computer line, stretching from the PET of 1977 to the C128 of 1985.
The core is based on 6502 ...
.
Market performance
By January 1987, ''
Info
Info is shorthand for "information". It may also refer to:
Computing
* .info, a generic top-level domain
* info:, a URI scheme for information assets with identifiers in public namespaces
* info (Unix), a command used to view documentation produc ...
'' reported that "All of those rumors about the imminent death of the C128 may have some basis in fact." Stating that Commodore wanted to divert resources to increasing 64C production and its PC clones, the magazine stated that, "The latest word online is that the last C128 will roll off the lines in December of 1987."
''Compute!'' stated in 1989, "If you bought your 128 under the impression that 128-specific software would be plentiful and quick to arrive, you've probably been quite disappointed. One of the 128's major selling points is its total compatibility with the 64, a point that's worked more against the 128 than for it."
Because the 128 would run virtually all 64 software, and because the next-generation
32/
16-bit
16-bit microcomputers are microcomputers that use 16-bit microprocessors.
A 16-bit register can store 216 different values. The range of integer values that can be stored in 16 bits depends on the integer representation used. With the two mos ...
home computers—primarily the
Commodore Amiga
Amiga is a family of personal computers introduced by Commodore in 1985. The original model is one of a number of mid-1980s computers with 16- or 32-bit processors, 256 KB or more of RAM, mouse-based GUIs, and significantly improved graphi ...
and
Atari ST
The Atari ST is a line of personal computers from Atari Corporation and the successor to the Atari 8-bit family. The initial model, the Atari 520ST, had limited release in April–June 1985 and was widely available in July. It was the first pers ...
—represented the latest technology, relatively little software for the C128's native mode appeared (probably on the order of 100–200 commercial titles, plus the usual share of public domain and magazine
type-in program
A type-in program or type-in listing was computer source code printed in a home computer magazine or book. It was meant to be entered via the keyboard by the reader and then saved to cassette tape or floppy disk. The result was a usable game, ...
s), leading some users to regret their purchase. 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. One explanation for these lower sales numbers may be because the C64 was sold to people primarily interested in video games, which the more expensive C128 didn't add much value towards improving.
Some C64 software such as ''
Bard's Tale III
''The Bard's Tale III: Thief of Fate'' is a computer fantasy role-playing video game created by Interplay Productions in 1988. It is the second sequel to '' The Bard's Tale''. It was designed by Rebecca Heineman, Bruce Schlickbernd, and Michae ...
'' and ''
Kid Niki'' ran in 128 mode without stating this in the documentation, using the autoboot and the 1571's faster disk access.
Some
Infocom
Infocom was an American software company based in Cambridge, Massachusetts, that produced numerous works of interactive fiction. They also produced a business application, a relational database called ''Cornerstone (software), Cornerstone''.
...
text adventures took advantage of the 80-column screen and increased memory capacity. Some C64 games were ported to native mode like ''
Kikstart 2
''Kikstart 2'' is a motorcycle trials racing videogame released for the Amiga, Amstrad CPC, Commodore 64 and ZX Spectrum. It enjoyed more success than its predecessor, '' Kikstart''. The game allowed 2-player simultaneous (via a split-screen facil ...
'' and ''
The Last V8
''The Last V8'' is a racing game published by Mastertronic on their M.A.D. label. It was released in 1985 for the Commodore 64, Commodore 128, Atari 8-bit family, and Amstrad CPC. The player controls a futuristic car in an uninhabited post-apoc ...
'' from
Mastertronic
Mastertronic was originally a publisher and distributor of low-cost computer game software founded in 1983. Their first games were distributed in mid-1984. At its peak the label was one of the largest software publishers in the UK, achieved b ...
, which had separate C128 versions, and ''
Ultima V: Warriors of Destiny'' from
Origin Systems
Origin Systems, Inc. was an American video game developer based in Austin, Texas. It was founded on March 3, 1983, by Richard Garriott and his brother Robert Garriott, Robert. Origin is best known for their groundbreaking work in multiple genres ...
, which used extra RAM for music if running on the C128. ''
Star Fleet I: The War Begins'' from Interstel had separate versions, and took advantage of 80-column display on the C128. The vast majority of games simply ran in C64 mode.
By contrast, many C64 productivity software titles were ported to the C128, including the popular
PaperClip
A paper clip (or paperclip) is a tool used to hold sheets of paper together, usually made of steel wire bent to a looped shape (though some are covered in plastic). Most paper clips are variations of the ''Gem'' type introduced in the 1890s or e ...
and Paperback Writer series. This software used the extra memory, 80-column screen, enhanced keyboard and large-capacity disk drives to provide features that were considered essential for business use. With its advanced BASIC programming language,
CP/M compatibility and "
user-friendly
Usability can be described as the capacity of a system to provide a condition for its users to perform the tasks safely, effectively, and efficiently while enjoying the experience. In software engineering, usability is the degree to which a soft ...
" native software packages such as
Jane
Jane may refer to:
* Jane (given name), a feminine given name
* Jane (surname), related to the given name
Film and television
* ''Jane'' (1915 film), a silent comedy film directed by Frank Lloyd
* ''Jane'' (2016 film), a South Korean drama fil ...
, Commodore attempted to create a low-end business market for the C128 similar to its strategy with the
Plus/4, even distancing itself from the home computer label by branding the C128 a "Personal Computer" on the case. Significantly, the C128 was the first Commodore computer to advertise its use of
Microsoft BASIC
Microsoft BASIC is the foundation software product of the Microsoft company and evolved into a line of BASIC interpreters and compiler(s) adapted for many different microcomputers. It first appeared in 1975 as Altair BASIC, which was the first ve ...
, where the Microsoft name would have been a competitive asset.
The C128 was certainly a better business machine than the C64, but not really a better gaming machine. People who wanted business machines bought
IBM PC clone
IBM PC compatible computers are similar to the original IBM PC, XT, and AT, all from computer giant IBM, that are able to use the same software and expansion cards. Such computers were referred to as PC clones, IBM clones or IBM PC clones. ...
s almost exclusively by the time the C128 was released. The availability of low-cost IBM compatibles like the
Leading Edge Model D
The Leading Edge Model D is an IBM clone first released by Leading Edge Hardware in July 1985. It was initially priced at $1,495 configured with dual 5.25" floppy drives, 256 KB of RAM, and a monochrome monitor. It was manufactured by South Kor ...
and
Tandy 1000
The Tandy 1000 is the first in a line of IBM PC workalike home computer systems produced by the Tandy Corporation for sale in its Radio Shack and Radio Shack Computer Center chains of stores.
Overview
In December 1983, an executive with Tandy C ...
that, in some cases, sold for less than a complete C128 system derailed Commodore's
small business
Small businesses are types of corporations, partnerships, or sole proprietorships which have fewer employees and/or less annual revenue than a regular-sized business or corporation. Businesses are defined as "small" in terms of being able to ap ...
computer strategy. There was a professional-level
CAD program
Computer-aided design (CAD) is the use of computers (or ) to aid in the creation, modification, analysis, or optimization of a design. This software is used to increase the productivity of the designer, improve the quality of design, improve co ...
, Home Designer by BRiWALL, but again, most of this work was done on PCs by the C128's 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, as well as being a natural follow-on model to owners with significant investments in C64 peripherals and software.
But ultimately the C128 could not compete with the new 16/32-bit systems, which outmatched it and the rest of its 8-bit generation in nearly every aspect. When the C128(D/DCR) was discontinued in 1989, it was reported to cost nearly as much to manufacture as the
Amiga 500
The Amiga 500, also known as the A500, is the first low-end version of the Amiga home computer. It contains the same Motorola 68000 as the Amiga 1000, as well as the same graphics and sound coprocessors, but is in a smaller case similar to that ...
, even though the C128D had to sell for several hundred dollars less to keep the Amiga's high-end marketing image intact.
Bil Herd
Bil Herd is a computer engineer who created several designs for 8-bit home computers while working for Commodore Business Machines in the early to mid-1980s.
Biography
He attended the Indiana school system. Herd did not have a college degr ...
has stated that the design goals of the C128 did not initially include 100% compatibility with the C64. Some form of compatibility was always intended after Herd was approached at the Plus/4's introduction by a woman who was disappointed that the educational software package she had written for the C64 would not run on Commodore's new computer, but when Commodore's marketing department learned of this, they independently announced total compatibility. Herd gave the reason for the 128's inclusion of a Z80 processor as ensuring this "100% compatibility" claim, since supporting the C64's Z80 cartridge would have meant the C128 supplying additional power to the cartridge port. He also stated that the VDC video chip and Z80 were sources of trouble during the machine's design. Herd added that "I only expected the C128 to be sold for about a year, we figured a couple of million would be nice and of course it wouldn’t undercut Amiga or even the C64". After Commodore raised the price of the 64 for the first time by introducing the redesigned 64C in 1986, its profit from each 64C sold was reportedly much greater than that from the C128.
Specifications
* CPUs:
**
MOS Technology 8502
The MOS Technology 8502 is an 8-bit microprocessor designed by MOS Technology and used in the Commodore 128 (C128). It is an improved version of the MOS Technology 6510, MOS 6510 used in the Commodore 64 (C64). It was manufactured using the HMOS ...
@ 2
MHz
The hertz (symbol: Hz) is the unit of frequency in the International System of Units (SI), equivalent to one event (or cycle) per second. The hertz is an SI derived unit whose expression in terms of SI base units is s−1, meaning that one he ...
(1 MHz selectable for C64 compatibility mode or C128's 40-column mode)
**
Zilog Z80
The Z80 is an 8-bit microprocessor introduced by Zilog as the startup company's first product. The Z80 was conceived by Federico Faggin in late 1974 and developed by him and his 11 employees starting in early 1975. The first working samples were ...
@ 4 MHz (running at an effective 2 MHz because of
wait state
A wait state is a delay experienced by a computer processor when accessing external memory or another device that is slow to respond.
Computer microprocessors generally run much faster than the computer's other subsystems, which hold the data the ...
s to allow the VIC-II video chip access to the system bus)
** (C128D(CR)):
MOS Technology 6502
The MOS Technology 6502 (typically pronounced "sixty-five-oh-two" or "six-five-oh-two") William Mensch and the moderator both pronounce the 6502 microprocessor as ''"sixty-five-oh-two"''. is an 8-bit microprocessor that was designed by a small t ...
for the integrated floppy controller
* MMU: MOS Technology 8722 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, also known as PET BASIC or CBM-BASIC, is the dialect of the BASIC programming language used in Commodore International's 8-bit home computer line, stretching from the PET of 1977 to the C128 of 1985.
The core is based on 6502 ...
** 4 KB
MLM
** 8 KB C128
KERNAL
KERNAL is Commodore's name for the ROM-resident operating system core in its 8-bit home computers; from the original PET of 1977, followed by the extended but strongly related versions used in its successors: the VIC-20, Commodore 64, Plus/4, ...
** 4 KB screen editor
** 4 KB Z80
BIOS
In computing, BIOS (, ; Basic Input/Output System, also known as the System BIOS, ROM BIOS, BIOS ROM or PC BIOS) is firmware used to provide runtime services for operating systems and programs and to perform hardware initialization during the ...
** 16 KB C64 ROM: ≈9 KB C64 BASIC 2.0 + ≈7 KB C64 KERNAL
** 4 KB C64 (or international)
character generator
A character generator, often abbreviated as CG, is a device or software that produces static or animated text (such as news crawls and credits rolls) for keying into a video stream. Modern character generators are computer-based, and they can g ...
** 4 KB C128 (or national) character generator
** 32 KB Internal Function ROM (optional: for placement in motherboard socket)
** 32 KB External Function ROM (optional: for placement in REU socket)
* Video:
**
MOS 8564/8566 VIC-II E (NTSC/PAL) for 40-column
composite video
Composite video is an analog video signal format that carries standard-definition video (typically at 525 lines or 625 lines) as a single channel. Video information is encoded on one channel, unlike the higher-quality S-Video (two channels) a ...
(a
TV set
A television set or television receiver, more commonly called the television, TV, TV set, telly, tele, or tube, is a device that combines a tuner, display, and loudspeakers, for the purpose of viewing and hearing television broadcasts, or using ...
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) for 80-column digital
RGB
The RGB color model is an additive color model in which the red, green and blue primary colors of light are added together in various ways to reproduce a broad array of colors. The name of the model comes from the initials of the three addi ...
I component video, compatible with
IBM PC CGA 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 RGBI colors (not the same palette as the VIC-II)
*** Graphics modes: Fully programmable, typical modes are 320x200, 640×200, and 640×400 (interlaced).
*** 16 KB dedicated video RAM (64 KB standard in C128DCR, C128/C128D can be upgraded 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
A blitter is a circuit, sometimes as a coprocessor or a logic block on a microprocessor, dedicated to the rapid movement and modification of data within a computer's memory. A blitter can copy large quantities of data from one memory area to anot ...
functionality
* Sound:
**
MOS 6581 SID (or, in the C128DCR, the
MOS 8580 SID) synthesizer chip
*** 3
voices,
ADSR-controllable
*** Standard SID waveforms (
triangle
A triangle is a polygon with three Edge (geometry), edges and three Vertex (geometry), vertices. It is one of the basic shapes in geometry. A triangle with vertices ''A'', ''B'', and ''C'' is denoted \triangle ABC.
In Euclidean geometry, an ...
,
sawtooth, variable
pulse
In medicine, a pulse represents the tactile arterial palpation of the cardiac cycle (heartbeat) by trained fingertips. The pulse may be palpated in any place that allows an artery to be compressed near the surface of the body, such as at the nec ...
,
noise
Noise is unwanted sound considered unpleasant, loud or disruptive to hearing. From a physics standpoint, there is no distinction between noise and desired sound, as both are vibrations through a medium, such as air or water. The difference arise ...
, and certain combined modes)
*** Multi-mode
filter
Filter, filtering or filters may refer to:
Science and technology
Computing
* Filter (higher-order function), in functional programming
* Filter (software), a computer program to process a data stream
* Filter (video), a software component tha ...
*** 3
ring modulators
* I/O ports:
** All
Commodore 64 ports with 100 percent compatibility, plus the following:
** Higher "burst mode" speed possible on the serial bus
** Expansion port more flexibly programmable
** RGBI video output (
DE9-connector) logically similar to the
IBM PC CGA connector, but with an added
monochrome
A monochrome or monochromatic image, object or palette is composed of one color (or values of one color). Images using only shades of grey are called grayscale (typically digital) or black-and-white (typically analog). In physics, monochrom ...
composite signal. This added signal causes a minor incompatibility with certain CGA monitors that can be rectified by removing pin 7 from the plug at one end of the connecting cable.
** External keyboard input (
DB25
The D-subminiature or D-sub is a common type of electrical connector. They are named for their characteristic D-shaped metal shield. When they were introduced, D-subs were among the smallest connectors used on computer systems.
Description, no ...
-connector) (C128D(CR) only)
See also
*
Commodore BASIC
Commodore BASIC, also known as PET BASIC or CBM-BASIC, is the dialect of the BASIC programming language used in Commodore International's 8-bit home computer line, stretching from the PET of 1977 to the C128 of 1985.
The core is based on 6502 ...
*
Commodore 64 peripherals
This article is about the various external peripherals of the Commodore 64 home computer. Due to the backwards compatibility of the Commodore 128, most peripherals will work on that system, as well. There's some compatibility with the VIC-20 an ...
Notes
References
Bibliography
* Greenley, Larry, et al. (1986). ''Commodore 128 Programmer's Reference Guide''. Bantam Computer Books/Commodore Publications. .
* Gerits, K.; Schieb, J.; Thrun, F. (1986). ''Commodore 128 Internals''. 2nd ed. Grand Rapids, Michigan: Abacus Software, Inc. . Original German edition (1985), Düsseldorf, West Germany:
Data Becker
Data Becker GmbH & Co. KG was a German publisher of computer books and a company for software and computer accessories based in Düsseldorf. The company ceased operations in March 2014.
History
It was founded in Düsseldorf on January 7, 1981, ...
GmbH & Co. KG.
*
External links
Commodore 128 Systems GuideCommodore 128 CP/M User's GuideVICE: Versatile Commodore EmulatorZ64K: C128, C64, VIC20, and Atari 2600 emulatorsRUN Magazine Issue 18 June 1985hackaday.com: Guest Post: The Real Story of Hacking Together the Commodore C128, by: Bil Herd(dated 2013-12-09)
{{Authority control
6502-based home computers
Z80-based home computers