Commodore CBM-II

The Commodore CBM-II series is a short-lived range of 8-bit personal computers from Commodore Business Machines (CBM), released in 1982 and intended as a follow-on to the Commodore PET series.

Technical description
The CBM-II has two incarnations, the P series (P = personal, or, home use) and the B series (B = business use). The B series was available with a built-in monochrome monitor (hi-profile) with detached keyboard, and also as a single unit with built-in keyboard but no monitor (lo-profile). These machines are often referred to as the "Porsche PETs" due to incorrect rumors that the case was designed by Porsche. Though Commodore did initially consult Porsche for a case design, it proved too expensive to produce, so Commodore enlisted designer Ira Velinski to create one based on the original PET prototype.

The P-series uses the VIC-II 40-column color video chip like the Commodore 64 (C64). It also includes two standard Atari-style joystick ports. The 6509 CPU runs at 1 MHz in the P-series due to the use of the VIC-II chip.

Both B and P-series machines have a 6581 SID chip, although the B-series' 2 MHz clock speed makes it impossible to read any of the SID's registers.

The B-series uses a 6545 CRTC video chip to give an 80-column "green screen" monochrome output more suitable for word processing and other business use than the VIC-II's 40-column display. Most models have the Motorola 68B45 installed which is a pin-compatible variant rather than the MOS 6545A1 2 MHz part. On the B-series the 6509 CPU runs at 2 MHz. The joystick ports are not present on the B-series, but the connector is still on the motherboard.

CBM-IIs are the only Commodore 8-bit machines with an RS-232 port instead of the standard user port. The I/O registers for the user port are still present (as they're an internal function of the 6522 chips) but there is no connector for it on the motherboard.

A cartridge slot is also included on the machines; however, no known cartridge software was developed.

The B-series retained the IEEE-488 interface from the PET instead of the IEC serial interface on the VIC-20 and C64. The small amount of software Commodore developed for the B-series was distributed on 500k 8050 format disks rather than the 170k 4040/1541 format.

Features common to both the P and B-series included a MOS Technology 6509 CPU, an enhanced version of the venerable 6502, that was capable of addressing up to 1 megabyte of RAM via bank switching (however, no CBM-II model came with more than 256 kilobytes of RAM). The sound chip is the 6581 SID, the same one that was used in the popular C64 but with some limitations as it was over-clocked to 2 MHz. Additionally, the CBM-II has an industry-standard RS-232 serial interface and an IEEE-488 parallel bus (for use by disk drives and printers) just like the PET/CBM series. The CBM-II's built-in operating system uses an enhanced version of CBM BASIC version 4.0.

An optional Intel 8088-based coprocessor board allows the CBM-II series to run CP/M-86 1.1 and MS-DOS 1.25; however, the computers were not IBM PC compatible and very little, if any, software taking advantage of this capability ever appeared. The coprocessor board only runs on high-profile machines due to power supply and mechanical spacing requirements. A Z80 card was also announced if the user wished to run CP/M-80, as well as a Zilog Z8001 board, but none are known to exist. The 8088 board never reached production apparently because of difficulties getting it to work with the system.

The CBM-II line uses a complicated RAM banking scheme. Bank 0 contains the video RAM on P-series machines and is empty on B-series machines. Banks 1-4 contain the main system RAM, with Bank 15 containing the system ROMs, cartridge ROM, I/O registers, video RAM on B-series machines, and a small amount of RAM to store system variables. BASIC program text is stored in Bank 1. On 128 KB models, Bank 2 contains all BASIC variables, however on 256 KB models they're spread out among Banks 2–4. However, unlike the later released Commodore 128, the CBM-IIs do not have the system ROMs mapped into banks other than 15, which has very limited program RAM (1k free, plus a 4k expander board could be installed). This meant that software had to include its own OS routines to handle device I/O and interrupts, as it is not possible to "far call" code across different memory banks. In theory, if Banks 5–14 were filled, up to 1 MB of RAM could be installed, but in practice the computer is limited to 256 KB as the PLA chip does not have enough address lines for it. Passing data between different banks requires use of the register at $1 which selects the banks to be read from and written to via LDA (zero page),Y and STA (zero page),Y CPU opcodes. The register at $0 selects the bank where the CPU fetches instructions from, which will default to 15 ($F) on power up.

The BASIC included with the CBM-II series is known as BASIC 4.0+. It contains the enhanced BASIC 4.0 disk commands as well as a few other added features for structured programming and error trapping.

Commodore had plans for a wide variety of RAM configurations as well as slimline and "high profile" models. The slimline machines were all-in-one units while the high-profile models had a separate keyboard and attached swivel-mount monitor. Both slimline and high-profile models have a connector for internal floppy drives and coprocessor boards, although only the latter have physical room in the case and a sufficient power supply for them. No production machines had internal floppy drives, however these likely would have been a half-height variant of the 8050. Most of the planned CBM-II models never made it past the prototype stage. Originally, there would be four models in each series, with memory increasing in 64 KB increments. 64k and 192k models were dropped early in development and no such models were produced.

In the end, the only CBM-II models to enter production and be sold to end users were the B128/600, B256/700, CBM-128/710, and PAL model P500s. The B128 and P500 were slimline models with no internal disk drives or attached monitor while the CBM 128 and B256 were high-profile models. The B128 was the biggest selling of the three.

The production naming within the United States and Canada was the B128/B256 and CBM128-80/CBM 256-80 while in Europe they were known as the 600 and 700 series respectively (no "B" in front of the model number). The P machine was known worldwide as the 500 series. There are prototype models though such as the B500 (earlier B128 design) and B700 (earlier CBM 128-80/CBM 256-80 design) known to exist.

History
Due to the popularity of the C64, the P-series was cancelled in the United States before it could be officially released; however, a few dealers who received preproduction units sold them. As the P-series had not then been certified by the FCC, Commodore were threatened with legal action and were forced to recall them. It was rumored that all recalled P-series machines were destroyed, however a handful of them are known to exist in private collections. At least one model, the P500, was commercially released in Europe but only sold in small numbers.

The most common of the B-series was the low-profile B128 (called the CBM 610 in Europe), which had 128 kilobytes of RAM. The B128 did not sell well, and ultimately Commodore's inventory was liquidated by Protecto Enterprizes, a large Commodore mail order dealer based in Chicago, Illinois. The Protecto ads for the B128 bundle, including a dual disk drive, monitor and printer, appeared in various computer magazines for several years.

The CBM-II line sold poorly and ended up being extremely expensive to manufacture, as well as difficult to develop software for. Commodore did not release any sales figures or an official discontinuation date, however the B128/600 is the most common model in the lineup. Production ended at some point during 1984 and Commodore liquidated their remaining inventory in 1985. CBM-IIs were still being sold in Germany up to 1987. The exact number of CBM-IIs produced is unclear, however serial numbers indicate that at least 10,000 B128s were shipped along with a few dozen to a few thousand of the other models. It is believed that Commodore produced at least 5000–6000 of each machine.

After discontinuing the CBM-II range, Commodore handed its documentation, schematics, and all other information over to CBUG, the Chicago B128 Users Group.

Among these materials was a prototype motherboard using an Intel 8088 processor, which hints at the possibility the line could have been made IBM compatible if production had continued.

CBUG went on to develop a library of software for the computers. Its library, however, paled in comparison to the large software libraries enjoyed by the Commodore 64 and VIC-20.

The rounded case design of the high-profile CBM-II series would later be used in redesigned versions of the original PET/CBM computers, (such as the CBM8296) that the CBM-II line was designed to replace. In addition, the memory banking scheme of the CBM-II would be reused on the Commodore 128 with a few slight modifications.