Knowledge

Commodore 128

Source 📝

839: 1352:
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.
794:, 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. 502:
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
578: 3141: 3131: 3121: 1087: 2687: 3101: 346: 1012:
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
27: 3111: 739: 814:
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.
878:) 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. 1237:), 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. 494: 1103: 886:
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
774:. 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 for several reasons, 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. 1337:, 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. 1060:
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
1128:
According to Bil Herd, 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
501:
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 compatibles, it was perceived by the Commodore press as a follow-up to the 64
479:
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
885:
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.
881:
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,
813:
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
781:
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
565:
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
1845:
A numeric keypad (the number keys clustered together as they are on a calculator) is useful for anyone entering large amounts of numeric data, but this feature was lacking on the Commodore 64. Since many Commodore 64 owners spent hours entering machine language programs in the form of long lists of
1351:
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
945:
A few C64 programs would lack sound effects and music because on a C64 the SID chip $ D4xx memory page was also mirrored on $ D5xx, $ D6xx and $ D7xx pages, while on a C128 it was only accessible through $ D4xx page. This is not a common issue, since the C64 reference guide only describes registers
763:
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
1216:
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
1211:
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
1011:
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
585:
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
786:
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
927:
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
622:
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
1059:
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
1132:
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
1007:
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.
1157:
and equipping it with 64 KB 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
605:
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
750:
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
1517:
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
804:
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
787:
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.
1320:
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 clones almost exclusively by the time the C128 was released. The availability of low-cost IBM compatibles like the
691:
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).
1340:
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
430:'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. 444:. 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 782:
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
1296:
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,
586:
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.
829:
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.
1118:. 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 777:
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.
638:, 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. 1180:
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
964:
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.
1288:
from Interstel had separate versions, and took advantage of 80-column display on the C128. However, the vast majority of games were simply run in C64 mode as few developers took advantage of the C128's native performance.
353:
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-KB floppy-drive RAM on C128Ds, 0, 128 or 512 KB
882:
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.
842:
Photo from the 1980s showing a C128 setup with two disk drives and two monitors displaying the independent 40- and 80-column screens. Many users continued to use the 1541 inherited from their C64 system as a second
566:
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
847:
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:
1070:
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.
529:). The then-new 8502 microprocessor is completely backward-compatible with the C64's 6510, but can run at double the speed if desired. The C64's Commodore BASIC 2.0 was replaced with BASIC 7.0, which includes 1145:
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
1233:—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 336:
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.
874:
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
2027:
C128 CP/M programmers who want to add or change operating system features should try to make changes to the BIOS. For one thing, BIOS source code is available, but not available for the BDOS or CCP.
746:
The second of the C128's two CPUs is the Zilog Z80, 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
376:. The second CPU is a Zilog Z80 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 946:
in $ D4xx in details while describing $ D5xx-$ D8xx just as "SID IMAGES", making most programs accessing them through $ D4xx page and hence have the sound getting played as intended on a C128.
1313:, 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 358:
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.
433:
The design of the C128's power supply is different from that used with the C64. Although it is much larger, the new power supply is equipped with cooling vents and a replaceable fuse.
672:
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
1622:
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.
726:
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
938:
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
821:
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
1396:
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
989:
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
321:
environment. The huge CP/M software library, coupled with the C64's software library, gave the C128 one of the broadest ranges of available software among its competitors.
960:, 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 1161:
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
645:
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
949:
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
448:
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
1718: 665:
command to restart execution without clearing variables, editing any code causes them to be cleared. Different memory configurations can be loaded using BASIC's
1860:: "...they make the C128 more attractive to those established business software developers who are used to working with more traditional keyboard arrangements." 897:
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
440:
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
2287: 1393:
MMU: MOS Technology 8722 Memory Management Unit controls 8502/Z80 processor selection; ROM/RAM banking; common RAM areas; relocation of zero page and stack
1153:
A significant improvement introduced with the DCR model was the replacement of the 8563 video display controller (VDC) with the more technically advanced
2527: 2004: 2584: 1505:
and/or baseband video-in sockets in addition to the antenna connector. Color is possible through SCART, only monochrome through baseband video-in.
1095: 3182: 3049: 1776: 2143: 2074: 2063: 285:
The C128 is a significantly expanded successor to the C64, with nearly full compatibility. It is housed in a redesigned case with an improved
407:
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,
1067:
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.
480:
as the C64-mode selector) is being depressed on boot-up. Based on these conditions, it will switch to the appropriate mode of operation.
1910: 723:
and had been intended to exit from the BASIC interpreter and to ignore keyboard input during sensitive program execution, respectively.
1177:
was active. Some software will only run on the DCR, due to dependencies on the computer's enhanced hardware features and revised ROMs.
1137:
similar to that of the C128D, retaining that model's detachable keyboard and internal 1571 floppy drive. A number of components on the
838: 549:
and other features accessed through ESC-key combinations, as well as a rudimentary windowing feature, and was relocated to a separate
1256:
text adventures took advantage of the 80-column screen and increased memory capacity. Some C64 games were ported to native mode like
1064:. 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. 696: 2551: 1687: 3114: 2404: 2256: 2170: 553:. The VIC-II chip which controls the 40-column display can only operate at 1 MHz, so the 40-column display appears jumbled in 533:
commands from the Plus/4's BASIC 3.5, as well as keywords designed specifically to take advantage of the machine's capabilities. A
1947: 1158:
higher-resolution graphics with a more flexible color palette. Little commercial software took advantage of these possibilities.
909:
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
742:
Using CP/M mode requires use of a boot diskette. The diskette was included with the computer, which did not include a disk drive.
797:
Other CP/M software such as Wordstar and Supercalc will also be significantly outperformed by native mode C128 equivalents like
767:
The C128 runs CP/M noticeably slower than most dedicated CP/M systems, as the Z80 processor runs at an effective speed of only
557:
mode. In 80-column mode the editor takes advantage of VDC features to provide blinking and underlined text, activated through
2577: 1879: 646: 561:, in addition to the standard Commodore reverse text. The C128's 80-column mode can display lowercase characters along with 2217: 641:
The C128 has twice the RAM of the C64, a far higher proportion of which is available for BASIC programming, due to the new
1345:, even though the C128D had to sell for several hundred dollars less to keep the Amiga's high-end marketing image intact. 403:
keys and a numeric keypad. None of these were present on the C64 which had only two cursor keys, requiring the use of the
2907: 282:, the bestselling computer of the 1980s. Approximately 2.5 million C128s were sold during its four year production run. 3172: 1725: 2235: 1252:
ran in 128 mode without stating this in the documentation, using the autoboot and the 1571's faster disk access. Some
3177: 2546: 2498: 2486: 2471: 2383: 2324: 2197: 1838: 449: 2363: 2345: 680:
loops. Programmable characters are still however not supported, so the programmer will have to manipulate them with
3104: 2570: 1501:
monitors, monochrome display also possible on composite video monitors; usable with TV sets only when the set has
1511:
Text mode: Fully programmable, typically 80×25 or 80x50, 16 RGBI colors (not the same palette as the VIC-II)
2284: 1896: 1043:) are "shared" RAM, visible from both blocks. The MMU allows either to be expanded in increments up to 16k. The 913:
key in the down position will force the I/O line low, matching the C64's configuration and resolving the issue.
419:
when used with the C64's Z80 cartridge. A keypad was requested by many C64 owners who spent long hours entering
361:
The C128 does not perform a system RAM test on power-up like previous Commodore machines. Instead of the single
3134: 1828: 436:
Early versions of the C128 occasionally experience temperature-related reliability issues due to the use of an
634:
All 1571 drives will normally start up in native mode on the C128. If the user switches to C64 mode by typing
2716: 1274: 727: 125: 2524: 2304: 2123: 1992: 1284: 942:
period, standard video display is maintained while increasing overall execution speed by about 20 percent.
2706: 37: 1309:, Commodore attempted to create a low-end business market for the C128 similar to its strategy with the 703:
in native mode reveals a screen with a listing of the machine's main developers followed by the message
1134: 631:
command for removing "splat" files (files that were not closed properly and truncated to zero length).
534: 181: 2782: 2431: 271: 1780: 1114:
Late in 1985, Commodore released a new version of the C128 with a redesigned chassis resembling the
719:. These commands are holdovers from the BASIC interpreter intended for a planned but never-produced 3144: 2998: 2446:
C-128 CP/M uses both the Z80 and 8502 processors. The Z80 executes most of the CP/M BIOS functions.
2128: 1647: 1107: 567: 538: 1292:
By contrast, many C64 productivity software titles were ported to the C128, including the popular
3124: 2593: 1514:
Graphics modes: Fully programmable, typical modes are 320x200, 640×200, and 640×400 (interlaced).
267: 132: 1189:
equivalents, or by using third-party BASIC language extensions, such as Free Spirit Software's "
1125:
The C128 released in the United Kingdom on 25 July 1985, and in North America in November 1985.
309:
provided 80-column color video output in addition to the original C64 modes. It also included a
3167: 2097: 2085: 2039: 1802: 1615: 1498: 1141:
were consolidated to reduce production costs and, as an additional cost-reduction measure, the
1001: 986: 817:
CP/M mode is very different from the operating environments familiar to Commodore users. While
642: 589:
Two new disk drives were introduced in conjunction with the C128: the short-lived single-sided
530: 518: 2792: 2552:
hackaday.com: Guest Post: The Real Story of Hacking Together the Commodore C128, by: Bil Herd
1914: 1612: 1546: 1495: 1452: 1147: 930: 924: 887: 752: 475:
uses both the Z80 and the 8502, and is able to function in both 40- and 80-column text mode.
456: 416: 208: 177: 1119: 2519: 2151: 1409: 1322: 1075: 978: 928:
produce a coherent display. Fortunately, few programs suffer from this flaw. In July 1986,
764:
C128, the design team decided to support CP/M by putting the Z80 on the main system board.
302: 1595: 1217:
it." Because the 128 would run virtually all 64 software, and because the next-generation
513:
The designers of the C128 succeeded in addressing most of these concerns. A new chip, the
8: 2022: 1695: 1487: 1483: 1385: 1364: 1154: 514: 445: 369: 362: 204: 189: 138: 1550: 1539: 1535: 1242: 464: 1078:
controller to transfer data between the C128's RAM and the RAM in the expansion unit.
349:
The BASIC prompt for the Commodore 128 in 40-column mode, running Commodore BASIC V7.0
3008: 2701: 2482: 2467: 1834: 1652: 1186: 747: 427: 286: 216: 1329:
that, in some cases, sold for less than a complete C128 system derailed Commodore's
3059: 2802: 2751: 1672: 1310: 1222: 1218: 1207: 1166: 1142: 974: 935: 875: 550: 420: 329: 275: 185: 117: 110: 1020:
onward, BASIC uses an internal switching routine to read program text higher than
3034: 2787: 2662: 2531: 2436: 2291: 1641: 1582: 1456: 1403: 1314: 1306: 1234: 423: 377: 372:, is a slightly improved version of the 6510, capable of being clocked at 2  318: 224: 577: 3003: 2993: 2945: 2940: 2935: 2930: 2925: 2920: 2877: 2850: 2711: 2503: 2388: 2368: 2329: 2240: 2202: 1952: 1626: 1608: 1460: 1330: 1279: 990: 954: 939: 602: 598: 594: 590: 507: 365: 290: 1150:
for powering the fan. The C128DCR mounting provision is for a 60 mm fan.
1129:
critical sections to support the C128D case and the normal case concurrently.
3161: 3080: 3039: 2966: 2961: 2915: 2746: 2672: 2667: 1561: 1557: 1302: 1122:. The keyboard also featured two folding legs for changing the typing angle. 893:
Some of the few C64 programs that fail on a C128 will run correctly when the
826: 818: 720: 657:, and program execution resumed with the variable table intact using BASIC's 503: 355: 345: 306: 294: 263: 220: 48: 1091: 2971: 2866: 2797: 2777: 2657: 2620: 2614: 1979: 1897:"Commodore's port; preview of the Plus 4, the Amiga, and Alphacom printers" 1576: 1508:
Indirect register access (address register, data register in mapped memory)
1441:
32 KB Internal Function ROM (optional: for placement in motherboard socket)
1371:(1 MHz selectable for C64 compatibility mode or C128's 40-column mode) 1269: 1182: 1162: 822: 467:) runs at 1 or 2 MHz with the 8502 CPU and has both 40- and 80-column 279: 235: 2562: 1086: 996:. Another feature of the memory management unit is to allow relocation of 3075: 2897: 2871: 2772: 2652: 2637: 2490: 2441: 1569: 1565: 1334: 1264: 918: 901:
key found on both C64 and C128 is simply a mechanical latch for the left
654: 558: 546: 368:
of the C64, the C128 incorporates a two-CPU design. The primary CPU, the
333: 1377:  @ 4 MHz (running at an effective 2 MHz because of 3054: 3029: 2892: 2887: 2860: 2855: 2845: 2840: 2835: 2825: 1619: 1478:
2 KB dedicated 4-bit color RAM, otherwise uses main memory as video RAM
1378: 1326: 1258: 1115: 760: 384: 2686: 934:
published a type-in program that exploited this difference by using a
2882: 2830: 2647: 1750: 1374: 1368: 1342: 1293: 1194: 1138: 997: 798: 770: 649:
and easing debugging for the programmer. An executing program can be
468: 441: 437: 373: 310: 149: 145: 259:(the "C=" representing the graphical part of the logo), is the last 3085: 2642: 2536: 1444:
32 KB External Function ROM (optional: for placement in REU socket)
1348: 1248: 1230: 325: 298: 212: 166: 162: 3024: 2557: 1522: 1433: 1253: 1190: 614:
commands to support loading and saving to disk without using the
562: 193: 2244:. Vol. 3, no. 11 #35. November 1986. pp. 132–133. 1688:"The Commodore 128: The Most Versatile 8-Bit Computer Ever Made" 1317:, where the Microsoft name would have been a competitive asset. 755:
encoding scheme. Commodore made versions of PerfectCalc and the
26: 3044: 2756: 2005:"Why does the Commodore C128 perform poorly when running CP/M?" 1429:
16 KB C64 ROM: ≈9 KB C64 BASIC 2.0 + ≈7 KB C64 KERNAL
1415: 791: 783: 601:
model was announced but never produced. Later on, the 3.5-inch
571: 542: 738: 653:
ped, its code edited, variable values inspected or altered in
510:'s abysmal transfer rate, as well as total C64 compatibility. 2817: 2741: 2312:(Advertising). Vol. 8, no. 7. July 1987. p. 2. 1502: 1226: 1165:
that are present in the original ROMs, including an infamous
1016:. But since block 0 contains the ROMs and I/O registers from 756: 426:. Many of the added keys matched counterparts present on the 260: 2489:. Original German edition (1985), Düsseldorf, West Germany: 1960: 2090: 1424: 1298: 493: 314: 120: 1102: 570:
layout as had become standard, instead retaining the same
1827:
Waite, Mitchell; Lafore, Robert W.; Volpe, Jerry (1982).
1491: 1282:, which used extra RAM for music if running on the C128. 2481:. 2nd ed. Grand Rapids, Michigan: Abacus Software, Inc. 1381:
to allow the VIC-II video chip access to the system bus)
2541: 2392:(Advertising). Vol. 6, no. 4 #64. p. 46. 1803:"C128 System Guide – 9.5 MOVING THE CURSOR IN C64 MODE" 1193:", which adds high-resolution VDC graphics commands to 2198:"Ultra Hi-Res Graphics — A Breakthrough On Your C-128" 2372:. Vol. 2, no. 3 #15. March 1985. p. 6. 1074:
Commodore's RAM Expansion Units use an external 8726
278:, it appeared three years after its predecessor, the 2497:
Simmonds, Thomas Jr.; Borden, Jim (September 1986).
2155:. Vol. 4, no. 10. January 1986. p. 6. 1601:
Higher "burst mode" speed possible on the serial bus
1869:
Commodore CP/M Source code and programmers' manual.
1598:
with 100 percent compatibility, plus the following:
2303: 2196:Wallace, Louis R; Darus, David P (February 1986). 1333:computer strategy. There was a professional-level 2224:. No. 13. January–February 1987. p. 52. 1956:. No. Special Issue 2. 1986. pp. 66–68. 852:Holding down the Commodore-logo key when booting. 3159: 2542:Z64K: C128, C64, VIC20, and Atari 2600 emulators 2466:. Bantam Computer Books/Commodore Publications. 2164: 2162: 2040:"C128 System Guide – 2.2.1 MODE SWITCHING CHART" 1935: 1911:"C128 System Guide – Appendix I" 1857: 1826: 1466:Direct register access through memory-mapped I/O 759:-derived PerfectWriter available, and Commodore 574:-derived design as on Commodore's prior models. 2496: 2333:. Vol. 3, no. 3 #27. pp. 24–36. 2206:. Vol. 3, no. 2 #26. pp. 34–39. 1966: 801:, which also have an easier to use interface. 324:The primary hardware designer of the C128 was 2578: 2248: 2159: 1463:can be used instead of a monitor if desired) 1169:in the keyboard decoding table, in which the 1051:range contains the zero page and stack while 3096:† Listed in chronological order by category 2432:"The Commodore 128 Personal Computer System" 2396: 2263:. Vol. 10, no. 10 #101. p. 47 2195: 517:, provides the C128 with an 80-column color 2592: 2177:. Vol. 11, no. 6 #109. p. 54 1880:"Plus/4 and C-16: Disappointingly Mediocre" 1438:4 KB C128 (or national) character generator 923:, often as part of a loop initializing the 661:command. Although other BASICs support the 2685: 2585: 2571: 2477:Gerits, K.; Schieb, J.; Thrun, F. (1986). 2464:Commodore 128 Programmer's Reference Guide 2346:"Opening Ceremonies for the Commodore 128" 2210: 1846:numbers, this feature was often asked for. 1644: – BASIC programming language dialect 973:To handle the relatively large amounts of 825:platforms. CP/M programs tend to lack the 541:were added. The screen-editor part of the 506:, a new disk drive that improved upon the 2411:. Vol. 9, no. 2 #81. p. 24 1604:Expansion port more flexibly programmable 270:(CBM). Introduced in January 1985 at the 2343: 1685: 1272:, which had separate C128 versions, and 1101: 1085: 870:Booting with a C64 cartridge plugged in. 837: 737: 576: 492: 344: 2254: 2168: 2086:Memory expansions for the Commodore 128 1830:The Official Book for the Commodore 128 1173:character would remain lower case when 415:on the C64 was an issue with some CP/M 3183:Computer-related introductions in 1985 3160: 2402: 2322: 2136: 1110:, fitted with a 60 mm cooling fan 985:address space) the C128 uses the 8722 2566: 2429: 2280: 2278: 1611:-connector) logically similar to the 1200: 3110: 1388:for the integrated floppy controller 790:In CP/M mode, it is possible to run 305:in two 64 KB banks. A separate 1716: 1494:I component video, compatible with 1305:" native software packages such as 916:A handful of C64 programs write to 618:or other device number, and also a 545:was further improved to support an 13: 2537:VICE: Versatile Commodore Emulator 2275: 2132:. 1 May 1987. pp. 14-18 (18). 2124:"Special Feature: Happy Birthday!" 383:The C128's keyboard includes four 297:. Memory was enlarged to 128  266:that was commercially released by 79: (equivalent to $ 850 in 2023) 14: 3194: 2558:Commodore 128 Alive!: C128 forums 2513: 2403:Leemon, Sheldon (February 1987). 2325:"Productivity Plus for the C-128" 1355: 1090:Commodore 128D on display at the 521:-compatible display (also called 317:, as an alternative to the usual 313:CPU which allows the C128 to run 3140: 3139: 3130: 3129: 3120: 3119: 3109: 3100: 3099: 2462:Greenley, Larry, et al. (1986). 2344:Kevelson, Morton (August 1985). 1472:Graphics modes: 160×200, 320×200 332:. Other hardware engineers were 25: 2547:RUN Magazine Issue 18 June 1985 2525:Commodore 128 CP/M User's Guide 2455: 2430:Wiese, William Jr (July 1986). 2423: 2376: 2356: 2337: 2316: 2296: 2285:In Memory Of The Commodore C128 2228: 2189: 2116: 2079: 2068: 2057: 2032: 2015: 1997: 1986: 1972: 1940: 1929: 1903: 1889: 1872: 1719:"New Computers At The CES Show" 169:(with 512 KB REU expansion RAM) 2352:. No. 20. pp. 29–34. 2255:Randall, Neil (October 1988). 1936:Waite, Lafore & Volpe 1982 1913:. Commodore.ca. Archived from 1863: 1858:Waite, Lafore & Volpe 1982 1851: 1820: 1795: 1769: 1743: 1710: 1686:Matthews, Ian (11 July 2003). 1679: 1665: 1027:The top and bottom 1k of RAM ( 16:Home computer released in 1985 1: 2717:Commodore Semiconductor Group 2507:. No. 33. p. 82-84. 1658: 1618:connector, but with an added 1572:, and certain combined modes) 1275:Ultima V: Warriors of Destiny 1225:home computers—primarily the 581:The back of the Commodore 128 527:red-green-blue plus intensity 452:radio-frequency regulations. 2440:. Vol. 11, no. 7. 1629:-connector) (C128D(CR) only) 1432:4 KB C64 (or international) 1285:Star Fleet I: The War Begins 981:(tenfold the size of 8502's 968: 730:graphical operating system. 717:?UNIMPLEMENTED COMMAND ERROR 707:Also, entering the keywords 705:Link arms, don't make them." 674:IF...THEN...ELSE, DO...WHILE 7: 2707:Commodore Business Machines 2520:Commodore 128 Systems Guide 2169:Randall, Neil (June 1989). 1635: 1469:Text mode: 40×25, 16 colors 268:Commodore Business Machines 89:; 35 years ago 60:; 39 years ago 38:Commodore Business Machines 10: 3199: 2323:Guerra, Bob (March 1986). 1967:Simmonds & Borden 1986 1673:"Commodore 128 (Platform)" 1240:Some C64 software such as 1135:switched-mode power supply 695:The 128's ROM contains an 688:as on the VIC-20 and C64. 105:2.5 million worldwide 3173:6502-based home computers 3094: 3068: 3017: 2984: 2954: 2906: 2816: 2765: 2734: 2727: 2694: 2683: 2630: 2607: 2600: 2499:"Instant Data Statements" 1751:"Commodore 128D computer" 1625:External keyboard input ( 1538:(or, in the C128DCR, the 1455:(NTSC/PAL) for 40-column 859:command, then responding 340: 231: 200: 192:(RGBI 640×200 16 colors, 173: 157: 131: 109: 101: 83: 72: 54: 44: 33: 24: 3178:Z80-based home computers 3135:Storage devices template 2999:Commodore 64 peripherals 2617:(founder/CEO, 1958–1984) 2290:29 November 2014 at the 2129:Popular Computing Weekly 1948:"Missing Link Uncovered" 1648:Commodore 64 peripherals 1556:Standard SID waveforms ( 1490:) for 80-column digital 1410:MLM machine code monitor 1108:switch-mode power supply 1081: 539:machine language monitor 483: 328:, who had worked on the 3125:Amiga hardware template 3050:List of cancelled games 2594:Commodore International 2479:Commodore 128 Internals 2305:"Digital Solutions Inc" 1980:"GW-BASIC User's Guide" 733: 699:: Entering the command 488: 2364:"The New Commodore PC" 2075:jul86-64 ModeSpeed (B) 2064:jul86-64 ModeSpeed (A) 1453:MOS 8564/8566 VIC-II E 1111: 1099: 844: 833: 743: 582: 531:structured programming 498: 350: 1486:(or, in C128DCR, the 1148:printed circuit board 1105: 1089: 867:prompt, in BASIC 7.0. 841: 741: 721:LCD portable computer 627:. BASIC also added a 593:and the double-sided 580: 496: 417:productivity software 348: 180:(320×200, 16 colors, 165:(standard), 640  2955:Cancelled prototypes 2530:5 March 2016 at the 2444:. pp. 269–278. 2152:Computer Entertainer 2023:"Supercharging CP/M" 1755:www.oldcomputers.net 1323:Leading Edge Model D 623:longer have to type 247:, also known as the 115:Commodore BASIC 7.0 1993:Compute! April 1985 1607:RGBI video output ( 1542:) synthesizer chip 1434:character generator 1386:MOS Technology 6502 1365:MOS Technology 8502 1301:compatibility and " 1212:December of 1987." 455:The C128 has three 21: 3145:MOS chips template 2608:Board of directors 2554:(dated 2013-12-09) 2493:GmbH & Co. KG. 2310:Commodore Magazine 1731:on 22 October 2012 1596:Commodore 64 ports 1475:8 hardware sprites 1420:4 KB screen editor 1201:Market performance 1112: 1100: 931:COMPUTE!'s Gazette 845: 744: 701:SYS 32800,123,45,6 647:garbage collection 583: 499: 351: 73:Introductory price 19: 3153: 3152: 3009:Super Expander 64 2980: 2979: 2908:IBM PC compatible 2702:Amiga Corporation 2681: 2680: 2102:Computing History 1653:Keyboard computer 1205:By January 1987, 1187:assembly language 1106:Commodore 128DCR 241: 240: 3190: 3143: 3142: 3133: 3132: 3123: 3122: 3113: 3112: 3103: 3102: 2732: 2731: 2689: 2623:(CEO, 1984–1989) 2605: 2604: 2587: 2580: 2573: 2564: 2563: 2508: 2449: 2448: 2427: 2421: 2420: 2418: 2416: 2400: 2394: 2393: 2380: 2374: 2373: 2360: 2354: 2353: 2341: 2335: 2334: 2320: 2314: 2313: 2307: 2300: 2294: 2282: 2273: 2272: 2270: 2268: 2252: 2246: 2245: 2232: 2226: 2225: 2218:"The Rumor Mill" 2214: 2208: 2207: 2193: 2187: 2186: 2184: 2182: 2166: 2157: 2156: 2148: 2140: 2134: 2133: 2120: 2114: 2113: 2111: 2109: 2104:. 9 January 2024 2098:"Commodore 128D" 2094: 2088: 2083: 2077: 2072: 2066: 2061: 2055: 2054: 2052: 2050: 2036: 2030: 2029: 2019: 2013: 2012: 2001: 1995: 1990: 1984: 1983: 1976: 1970: 1964: 1958: 1957: 1944: 1938: 1933: 1927: 1926: 1924: 1922: 1907: 1901: 1900: 1893: 1887: 1886: 1884: 1876: 1870: 1867: 1861: 1855: 1849: 1848: 1824: 1818: 1817: 1815: 1813: 1799: 1793: 1792: 1790: 1788: 1779:. Archived from 1777:"Commodore 128D" 1773: 1767: 1766: 1764: 1762: 1747: 1741: 1740: 1738: 1736: 1730: 1724:. Archived from 1723: 1717:Bennett, Chris. 1714: 1708: 1707: 1705: 1703: 1694:. Archived from 1683: 1677: 1676: 1669: 1235:type-in programs 1167:off-by-one error 1063: 1058: 1054: 1050: 1046: 1042: 1038: 1034: 1030: 1023: 1019: 1015: 995: 984: 963: 959: 952: 936:raster interrupt 922: 866: 862: 858: 812: 808: 773: 718: 715:will produce an 714: 710: 706: 702: 687: 683: 679: 675: 668: 664: 660: 652: 637: 630: 626: 621: 617: 613: 609: 556: 424:type-in programs 421:machine language 186:raster interrupt 153: 142: 118:Digital Research 111:Operating system 97: 95: 90: 78: 68: 66: 61: 29: 22: 18: 3198: 3197: 3193: 3192: 3191: 3189: 3188: 3187: 3158: 3157: 3154: 3149: 3090: 3064: 3035:Commodore BASIC 3013: 2986: 2976: 2950: 2902: 2812: 2761: 2723: 2690: 2677: 2663:Carl Sassenrath 2626: 2596: 2591: 2532:Wayback Machine 2516: 2511: 2458: 2453: 2452: 2428: 2424: 2414: 2412: 2401: 2397: 2382: 2381: 2377: 2362: 2361: 2357: 2342: 2338: 2321: 2317: 2302: 2301: 2297: 2292:Wayback Machine 2283: 2276: 2266: 2264: 2253: 2249: 2234: 2233: 2229: 2216: 2215: 2211: 2194: 2190: 2180: 2178: 2167: 2160: 2146: 2142: 2141: 2137: 2122: 2121: 2117: 2107: 2105: 2096: 2095: 2091: 2084: 2080: 2073: 2069: 2062: 2058: 2048: 2046: 2038: 2037: 2033: 2021: 2020: 2016: 2003: 2002: 1998: 1991: 1987: 1978: 1977: 1973: 1965: 1961: 1946: 1945: 1941: 1934: 1930: 1920: 1918: 1909: 1908: 1904: 1895: 1894: 1890: 1882: 1878: 1877: 1873: 1868: 1864: 1856: 1852: 1841: 1825: 1821: 1811: 1809: 1801: 1800: 1796: 1786: 1784: 1783:on 24 July 2011 1775: 1774: 1770: 1760: 1758: 1749: 1748: 1744: 1734: 1732: 1728: 1721: 1715: 1711: 1701: 1699: 1698:on 26 July 2003 1684: 1680: 1671: 1670: 1666: 1661: 1642:Commodore BASIC 1638: 1583:ring modulators 1457:composite video 1358: 1315:Microsoft BASIC 1243:Bard's Tale III 1227:Commodore Amiga 1203: 1176: 1172: 1084: 1061: 1056: 1052: 1048: 1044: 1040: 1036: 1032: 1028: 1021: 1017: 1013: 993: 982: 971: 961: 957: 950: 917: 912: 908: 904: 900: 896: 864: 860: 856: 836: 810: 806: 768: 736: 716: 712: 708: 704: 700: 685: 681: 677: 673: 666: 662: 658: 650: 635: 628: 624: 619: 615: 611: 607: 554: 497:C128 main board 491: 486: 457:operating modes 414: 410: 406: 402: 398: 394: 390: 378:multiprocessing 343: 319:Commodore BASIC 144: 143: 137: 124: 116: 93: 91: 88: 76: 64: 62: 59: 17: 12: 11: 5: 3196: 3186: 3185: 3180: 3175: 3170: 3151: 3150: 3148: 3147: 3137: 3127: 3117: 3107: 3095: 3092: 3091: 3089: 3088: 3083: 3078: 3072: 3070: 3066: 3065: 3063: 3062: 3057: 3052: 3047: 3042: 3037: 3032: 3027: 3021: 3019: 3015: 3014: 3012: 3011: 3006: 3004:Super Expander 3001: 2996: 2990: 2988: 2982: 2981: 2978: 2977: 2975: 2974: 2969: 2964: 2958: 2956: 2952: 2951: 2949: 2948: 2943: 2938: 2933: 2928: 2923: 2918: 2912: 2910: 2904: 2903: 2901: 2900: 2895: 2890: 2885: 2880: 2875: 2869: 2863: 2858: 2853: 2848: 2843: 2838: 2833: 2828: 2822: 2820: 2814: 2813: 2811: 2810: 2805: 2800: 2795: 2790: 2785: 2780: 2775: 2769: 2767: 2763: 2762: 2760: 2759: 2754: 2749: 2744: 2738: 2736: 2729: 2725: 2724: 2722: 2721: 2720: 2719: 2712:MOS Technology 2709: 2704: 2698: 2696: 2692: 2691: 2684: 2682: 2679: 2678: 2676: 2675: 2670: 2665: 2660: 2655: 2650: 2645: 2640: 2634: 2632: 2628: 2627: 2625: 2624: 2618: 2611: 2609: 2602: 2598: 2597: 2590: 2589: 2582: 2575: 2567: 2561: 2560: 2555: 2549: 2544: 2539: 2534: 2522: 2515: 2514:External links 2512: 2510: 2509: 2494: 2475: 2459: 2457: 2454: 2451: 2450: 2422: 2395: 2375: 2355: 2336: 2315: 2295: 2274: 2247: 2236:"The Mail Run" 2227: 2209: 2188: 2158: 2135: 2115: 2089: 2078: 2067: 2056: 2031: 2014: 2009:Stack Exchange 1996: 1985: 1971: 1959: 1939: 1928: 1917:on 31 May 2012 1902: 1888: 1871: 1862: 1850: 1839: 1819: 1794: 1768: 1742: 1709: 1678: 1663: 1662: 1660: 1657: 1656: 1655: 1650: 1645: 1637: 1634: 1633: 1632: 1631: 1630: 1623: 1605: 1602: 1599: 1589: 1588: 1587: 1586: 1585: 1579: 1573: 1554: 1530: 1529: 1528: 1527: 1526: 1519: 1515: 1512: 1509: 1481: 1480: 1479: 1476: 1473: 1470: 1467: 1447: 1446: 1445: 1442: 1439: 1436: 1430: 1427: 1421: 1418: 1412: 1406: 1397: 1394: 1391: 1390: 1389: 1382: 1372: 1357: 1356:Specifications 1354: 1331:small business 1280:Origin Systems 1202: 1199: 1174: 1170: 1083: 1080: 991:memory address 970: 967: 958:$ D02F (53295) 955:memory address 940:vertical blank 910: 906: 902: 898: 894: 872: 871: 868: 853: 835: 832: 735: 732: 597:. A dual-disk 504:PEEK and POKEs 490: 487: 485: 482: 412: 408: 404: 400: 396: 392: 388: 366:microprocessor 342: 339: 291:numeric keypad 239: 238: 233: 229: 228: 202: 198: 197: 175: 171: 170: 159: 155: 154: 152:B @ 4 MHz 141:@ 1–2 MHz 135: 129: 128: 113: 107: 106: 103: 99: 98: 85: 81: 80: 74: 70: 69: 56: 52: 51: 46: 42: 41: 35: 31: 30: 15: 9: 6: 4: 3: 2: 3195: 3184: 3181: 3179: 3176: 3174: 3171: 3169: 3168:Commodore 128 3166: 3165: 3163: 3156: 3146: 3138: 3136: 3128: 3126: 3118: 3116: 3108: 3106: 3098: 3097: 3093: 3087: 3084: 3082: 3081:Commodore USA 3079: 3077: 3074: 3073: 3071: 3067: 3061: 3060:Simons' BASIC 3058: 3056: 3053: 3051: 3048: 3046: 3043: 3041: 3040:Commodore DOS 3038: 3036: 3033: 3031: 3028: 3026: 3023: 3022: 3020: 3016: 3010: 3007: 3005: 3002: 3000: 2997: 2995: 2992: 2991: 2989: 2983: 2973: 2970: 2968: 2967:Commodore 900 2965: 2963: 2962:Commodore LCD 2960: 2959: 2957: 2953: 2947: 2944: 2942: 2939: 2937: 2934: 2932: 2929: 2927: 2924: 2922: 2919: 2917: 2914: 2913: 2911: 2909: 2905: 2899: 2896: 2894: 2891: 2889: 2886: 2884: 2881: 2879: 2876: 2873: 2870: 2868: 2864: 2862: 2859: 2857: 2854: 2852: 2849: 2847: 2844: 2842: 2839: 2837: 2834: 2832: 2829: 2827: 2824: 2823: 2821: 2819: 2815: 2809: 2808:Commodore 128 2806: 2804: 2801: 2799: 2796: 2794: 2791: 2789: 2786: 2784: 2781: 2779: 2776: 2774: 2771: 2770: 2768: 2764: 2758: 2755: 2753: 2750: 2748: 2745: 2743: 2740: 2739: 2737: 2733: 2730: 2726: 2718: 2715: 2714: 2713: 2710: 2708: 2705: 2703: 2700: 2699: 2697: 2693: 2688: 2674: 2673:Robert Yannes 2671: 2669: 2668:Shiraz Shivji 2666: 2664: 2661: 2659: 2656: 2654: 2651: 2649: 2646: 2644: 2641: 2639: 2636: 2635: 2633: 2629: 2622: 2619: 2616: 2613: 2612: 2610: 2606: 2603: 2599: 2595: 2588: 2583: 2581: 2576: 2574: 2569: 2568: 2565: 2559: 2556: 2553: 2550: 2548: 2545: 2543: 2540: 2538: 2535: 2533: 2529: 2526: 2523: 2521: 2518: 2517: 2506: 2505: 2500: 2495: 2492: 2488: 2487:0-916439-42-9 2484: 2480: 2476: 2473: 2472:0-553-34378-5 2469: 2465: 2461: 2460: 2447: 2443: 2439: 2438: 2433: 2426: 2410: 2406: 2399: 2391: 2390: 2385: 2379: 2371: 2370: 2365: 2359: 2351: 2347: 2340: 2332: 2331: 2326: 2319: 2311: 2306: 2299: 2293: 2289: 2286: 2281: 2279: 2262: 2258: 2251: 2243: 2242: 2237: 2231: 2223: 2219: 2213: 2205: 2204: 2199: 2192: 2176: 2172: 2165: 2163: 2154: 2153: 2145: 2139: 2131: 2130: 2125: 2119: 2103: 2099: 2093: 2087: 2082: 2076: 2071: 2065: 2060: 2045: 2041: 2035: 2028: 2024: 2018: 2010: 2006: 2000: 1994: 1989: 1981: 1975: 1969:, p. 84. 1968: 1963: 1955: 1954: 1949: 1943: 1937: 1932: 1916: 1912: 1906: 1898: 1892: 1881: 1875: 1866: 1859: 1854: 1847: 1842: 1840:9780672224560 1836: 1833:. H.W. Sams. 1832: 1831: 1823: 1808: 1804: 1798: 1782: 1778: 1772: 1756: 1752: 1746: 1727: 1720: 1713: 1697: 1693: 1689: 1682: 1674: 1668: 1664: 1654: 1651: 1649: 1646: 1643: 1640: 1639: 1628: 1624: 1621: 1617: 1614: 1610: 1606: 1603: 1600: 1597: 1593: 1592: 1590: 1584: 1580: 1578: 1574: 1571: 1567: 1563: 1559: 1555: 1553:-controllable 1552: 1548: 1544: 1543: 1541: 1537: 1534: 1533: 1531: 1525:functionality 1524: 1520: 1516: 1513: 1510: 1507: 1506: 1504: 1500: 1497: 1493: 1489: 1485: 1482: 1477: 1474: 1471: 1468: 1465: 1464: 1462: 1458: 1454: 1451: 1450: 1448: 1443: 1440: 1437: 1435: 1431: 1428: 1426: 1422: 1419: 1417: 1413: 1411: 1407: 1405: 1401: 1400: 1398: 1395: 1392: 1387: 1384:(C128D(CR)): 1383: 1380: 1376: 1373: 1370: 1366: 1363: 1362: 1360: 1359: 1353: 1350: 1346: 1344: 1338: 1336: 1332: 1328: 1324: 1318: 1316: 1312: 1308: 1304: 1303:user-friendly 1300: 1295: 1290: 1287: 1286: 1281: 1277: 1276: 1271: 1267: 1266: 1261: 1260: 1255: 1251: 1250: 1245: 1244: 1238: 1236: 1232: 1228: 1224: 1220: 1215: 1210: 1209: 1198: 1196: 1192: 1188: 1184: 1178: 1168: 1164: 1159: 1156: 1151: 1149: 1144: 1140: 1136: 1130: 1126: 1123: 1121: 1117: 1109: 1104: 1098:, Switzerland 1097: 1093: 1088: 1079: 1077: 1072: 1068: 1065: 1025: 1009: 1005: 1003: 999: 992: 988: 980: 976: 966: 956: 947: 943: 941: 937: 933: 932: 926: 920: 914: 891: 889: 883: 879: 877: 876:Simons' BASIC 869: 865:ARE YOU SURE? 855:Entering the 854: 851: 850: 849: 840: 831: 828: 827:user-friendly 824: 820: 819:Commodore DOS 815: 802: 800: 795: 793: 788: 785: 779: 775: 772: 765: 762: 758: 754: 749: 740: 731: 729: 724: 722: 698: 693: 689: 670: 656: 648: 644: 639: 632: 604: 600: 596: 592: 587: 579: 575: 573: 569: 564: 560: 552: 548: 544: 540: 536: 532: 528: 524: 520: 516: 511: 509: 505: 495: 481: 478: 474: 470: 466: 462: 458: 453: 451: 447: 443: 439: 434: 431: 429: 425: 422: 418: 386: 381: 379: 375: 371: 367: 364: 359: 357: 347: 338: 335: 331: 327: 322: 320: 316: 312: 308: 307:graphics chip 304: 300: 296: 295:function keys 292: 288: 283: 281: 277: 273: 269: 265: 264:home computer 262: 258: 254: 250: 246: 245:Commodore 128 237: 234: 230: 226: 222: 218: 214: 210: 206: 205:SID 6581/8580 203: 199: 195: 191: 187: 183: 179: 176: 172: 168: 164: 160: 156: 151: 147: 140: 136: 134: 130: 127: 122: 119: 114: 112: 108: 104: 100: 86: 82: 75: 71: 57: 53: 50: 49:Home computer 47: 43: 39: 36: 32: 28: 23: 20:Commodore 128 3155: 2972:Commodore 65 2807: 2798:Commodore 16 2778:Commodore 64 2695:Subsidiaries 2658:Chuck Peddle 2621:Irving Gould 2615:Jack Tramiel 2502: 2478: 2463: 2456:Bibliography 2445: 2435: 2425: 2413:. Retrieved 2408: 2405:"Microscope" 2398: 2387: 2378: 2367: 2358: 2349: 2339: 2328: 2318: 2309: 2298: 2265:. Retrieved 2260: 2257:"More Games" 2250: 2239: 2230: 2221: 2212: 2201: 2191: 2179:. Retrieved 2174: 2150: 2144:"1985 Index" 2138: 2127: 2118: 2106:. Retrieved 2101: 2092: 2081: 2070: 2059: 2047:. Retrieved 2044:commodore.ca 2043: 2034: 2026: 2017: 2008: 1999: 1988: 1974: 1962: 1951: 1942: 1931: 1919:. Retrieved 1915:the original 1905: 1891: 1874: 1865: 1853: 1844: 1829: 1822: 1810:. Retrieved 1807:commodore.ca 1806: 1797: 1785:. Retrieved 1781:the original 1771: 1759:. Retrieved 1757:. 8 May 2016 1754: 1745: 1733:. Retrieved 1726:the original 1712: 1700:. Retrieved 1696:the original 1692:commodore.ca 1691: 1681: 1667: 1540:MOS 8580 SID 1536:MOS 6581 SID 1484:MOS 8563 VDC 1347: 1339: 1319: 1291: 1283: 1273: 1270:Mastertronic 1263: 1257: 1247: 1241: 1239: 1213: 1206: 1204: 1179: 1160: 1152: 1131: 1127: 1124: 1113: 1073: 1069: 1066: 1026: 1010: 1006: 972: 948: 944: 929: 921:D030 (53296) 915: 892: 884: 880: 873: 846: 823:minicomputer 816: 803: 796: 789: 780: 776: 766: 745: 725: 694: 690: 678:WHILE...WEND 671: 640: 633: 588: 584: 559:escape codes 526: 522: 512: 500: 476: 472: 460: 454: 435: 432: 382: 360: 352: 323: 289:including a 284: 280:Commodore 64 256: 252: 248: 244: 242: 236:Commodore 64 84:Discontinued 55:Release date 34:Manufacturer 3076:Amiga, Inc. 2793:Educator 64 2773:MAX Machine 2653:Dave Needle 2638:Dave Haynie 2491:Data Becker 2442:McGraw-Hill 2267:10 November 2181:11 November 1787:16 February 1761:28 December 1702:28 December 1591:I/O ports: 1575:Multi-mode 1564:, variable 1399:ROM: 72 KB 1379:wait states 1335:CAD program 1265:The Last V8 1175:⇪ Caps Lock 1143:cooling fan 1120:cooling fan 911:⇪ Caps Lock 907:⇪ Caps Lock 895:⇪ Caps Lock 761:user groups 655:direct mode 625:LOAD"*",8,1 547:insert mode 537:editor and 471:available. 465:native mode 385:cursor keys 334:Dave Haynie 232:Predecessor 3162:Categories 3055:Magic Desk 3030:Amiga Unix 2994:1351 mouse 2728:Computers† 2415:9 November 2171:"128 Only" 1659:References 1620:monochrome 1414:8 KB C128 1327:Tandy 1000 1259:Kikstart 2 1183:primitives 1116:Amiga 1000 1092:Musée Bolo 983:64 KB 951:$ FF (255) 899:SHIFT LOCK 697:easter egg 469:text modes 102:Units sold 2648:Jay Miner 2631:Engineers 2384:"Briwall" 2108:9 January 1423:4 KB Z80 1404:BASIC 7.0 1375:Zilog Z80 1343:Amiga 500 1294:PaperClip 1195:BASIC 7.0 1185:or their 1139:mainboard 998:zero page 969:RAM setup 905:key, the 799:PaperClip 669:command. 620:DIRECTORY 568:Selectric 473:CP/M Mode 461:C128 Mode 442:heat sink 438:RF shield 311:Zilog Z80 276:Las Vegas 161:128  150:Zilog Z80 146:Zilog Z80 3105:Category 3086:Escom AG 3069:See also 3018:Software 2987:hardware 2878:500 Plus 2643:Bil Herd 2528:Archived 2409:Compute! 2288:Archived 2261:Compute! 2175:Compute! 2049:8 August 1921:18 April 1812:8 August 1636:See also 1562:sawtooth 1558:triangle 1521:Limited 1349:Bil Herd 1249:Kid Niki 1231:Atari ST 1214:Compute! 1155:8568 VDC 1000:and the 748:terminal 477:C64 Mode 380:system. 326:Bil Herd 287:keyboard 190:MOS 8563 178:VIC-II E 174:Graphics 139:MOS 8502 3115:Commons 3025:AmigaOS 1735:13 July 1532:Sound: 1523:blitter 1518:memory) 1449:Video: 1254:Infocom 1191:BASIC 8 903:⇧ Shift 888:umlauts 863:to the 769:2  629:COLLECT 563:PETSCII 405:⇧ Shift 194:blitter 182:sprites 92: ( 77:US$ 299 63: ( 3045:KERNAL 2867:3000UX 2803:Plus/4 2757:VIC-20 2752:CBM-II 2601:People 2485:  2470:  1837:  1613:IBM PC 1577:filter 1547:voices 1496:IBM PC 1461:TV set 1416:KERNAL 1402:28 KB 1361:CPUs: 1311:Plus/4 1223:16-bit 1057:$ FFFF 1053:$ FF00 1041:$ FFFF 1037:$ FF00 1022:$ 3FFF 1018:$ 4000 1014:$ FFEF 994:$ FF00 925:VIC-II 843:drive. 811:$ FFEF 807:$ FFD0 792:MBASIC 784:ADM-3A 676:, and 572:ADM-3A 543:Kernal 535:sprite 428:IBM PC 411:, and 341:Design 330:Plus/4 257:C= 128 217:Filter 158:Memory 148:A, or 2985:Other 2898:4000T 2872:3000T 2818:Amiga 2788:SX-64 2783:C64GS 2742:KIM-1 2735:Early 2350:Ahoy! 2147:(PDF) 1883:(PDF) 1729:(PDF) 1722:(PDF) 1570:noise 1566:pulse 1503:SCART 1408:4 KB 1278:from 1268:from 1082:C128D 1049:$ 3FF 1033:$ 3FF 1002:stack 857:GO 64 757:EMACS 636:GO 64 612:DSAVE 608:DLOAD 484:Modes 401:Tab ↹ 261:8-bit 255:, or 253:C-128 211:, 4× 201:Sound 40:(CBM) 2946:PC60 2941:PC50 2936:PC40 2931:PC30 2926:PC20 2921:PC10 2893:4000 2888:1200 2861:3000 2856:CD32 2851:CDTV 2846:1500 2841:2500 2836:2000 2826:1000 2483:ISBN 2468:ISBN 2437:BYTE 2417:2013 2269:2013 2222:Info 2183:2013 2110:2024 2051:2016 1923:2012 1835:ISBN 1814:2016 1789:2011 1763:2020 1737:2011 1704:2020 1627:DB25 1594:All 1551:ADSR 1488:8568 1425:BIOS 1367:@ 2 1325:and 1307:Jane 1299:CP/M 1262:and 1246:and 1229:and 1208:Info 1163:bugs 1096:EPFL 1035:and 977:and 962:$ FF 734:CP/M 728:GEOS 709:QUIT 686:POKE 684:and 682:PEEK 667:BANK 663:CONT 659:GOTO 651:STOP 610:and 603:1581 599:1572 595:1571 591:1570 555:FAST 525:for 523:RGBI 508:1541 489:C128 399:and 393:Help 370:8502 363:6510 315:CP/M 293:and 249:C128 243:The 225:Ring 221:ADSR 213:Wave 207:(3× 126:GEOS 123:3.0 121:CP/M 94:1989 87:1989 65:1985 58:1985 45:Type 2916:PC1 2883:600 2831:500 2766:C64 2747:PET 2504:Run 2389:RUN 2369:RUN 2330:RUN 2241:RUN 2203:RUN 1953:RUN 1616:CGA 1609:DE9 1499:CGA 1492:RGB 1459:(a 1369:MHz 1076:DMA 1062:$ 1 1045:$ 0 1029:$ 0 987:MMU 979:RAM 975:ROM 953:to 890:). 834:C64 771:MHz 753:GCR 713:OFF 711:or 643:MMU 551:ROM 519:CGA 515:VDC 450:FCC 446:SID 413:Esc 409:Alt 397:Esc 389:Alt 374:MHz 356:REU 303:RAM 301:of 274:in 272:CES 209:Osc 188:), 133:CPU 3164:: 2501:. 2434:. 2407:. 2386:. 2366:. 2348:. 2327:. 2308:. 2277:^ 2259:. 2238:. 2220:. 2200:. 2173:. 2161:^ 2149:. 2126:. 2100:. 2042:. 2025:. 2007:. 1950:. 1843:. 1805:. 1753:. 1690:. 1581:3 1568:, 1560:, 1549:, 1545:3 1219:32 1197:. 1094:, 1024:. 1004:. 919:$ 616:,8 459:. 395:, 391:, 387:, 299:KB 251:, 223:, 219:, 215:, 184:, 167:KB 163:KB 2874:) 2865:( 2586:e 2579:t 2572:v 2474:. 2419:. 2271:. 2185:. 2112:. 2053:. 2011:. 1982:. 1925:. 1899:. 1885:. 1816:. 1791:. 1765:. 1739:. 1706:. 1675:. 1221:/ 1171:Q 1055:- 1047:– 1039:- 1031:– 861:Y 809:- 463:( 227:) 196:) 96:) 67:)

Index


Commodore Business Machines
Home computer
Operating system
Digital Research
CP/M
GEOS
CPU
MOS 8502
Zilog Z80
Zilog Z80
KB
KB
VIC-II E
sprites
raster interrupt
MOS 8563
blitter
SID 6581/8580
Osc
Wave
Filter
ADSR
Ring
Commodore 64
8-bit
home computer
Commodore Business Machines
CES
Las Vegas

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.