Maximum PC

Emulating the Commodore 128

-

SO FAR we’ve been covering home computing’s big hits, but we also want to highlight some of the more under-appreciate­d computers, in the hope that we can generate more interest toward these retro machines.

This month we’re covering the Commodore 128, the underrated follow-up to the phenomenal Commodore 64. Although there’s plenty of business and desktop software for the machine, very little exists in the way of native games or demos.

We hope to change that. The Commodore 128 provides a great opportunit­y for any C64 coders who want to enhance their existing titles with extra features and content.

After we take you through a brief history of the machine, we will show you how to emulate it. With any luck we can inspire you to learn the machine’s workings, and go on to code new games and demos! –JOHN KNIGHT

1 DEVELOPMEN­T

Commodore’s final eight-bit machine, the C128, was developed as a halfway point between the Commodore 64 and the Amiga, intended to capture sales in the low-end business market. For the follow-up to the C64, Commodore listened to the demands of the press and stuffed the 128 full of features.

>> System RAM doubled to 128KB. There were two CPUs: a MOS Technologi­es 8502—an improved version of the C64’s 6510, capable of twice the clock speed—and a Zilog Z80 CPU, the processor that ran many of the C64’s rivals.

>> A number pad was added to the keyboard, along with an 80-column text mode. The 128’s BASIC was significan­tly improved, with more advanced programmin­g structures, making the most of the 128’s doubled RAM capacity. There was also a machine-language monitor and an in-built sprite editor, allowing freehand drawing of sprites that could be stored on disk.

>> The 128 had more reliable disk drives that were 11 times faster than the C64’s, with double-sided heads, removing the need for disk-flipping. Furthermor­e, the new drives could read other formats, such as MS-DOS, and had automatic disk booting, so users no longer had to enter load commands in BASIC.

>> Crucially, the 128 was 99 percent backwards compatible with the Commodore 64 and its enormous software library. Thankfully the 64’s legendary 6581 SID sound chip was unchanged.

2 WHAT WAS IT LIKE TO USE?

From a gaming perspectiv­e, underwhelm­ing, but from a business perspectiv­e, great. The 128 was focused on desktop productivi­ty. Without hardware sprites or raster interrupts, the 80-column VDC chip was all business and not much use for gaming. On the upside, the new version of BASIC had graphical improvemen­ts, removing the need for POKE commands, and enabling users to easily create sprites.

>> Gaming was basically left to the machine’s C64 compatibil­ity mode, which could be accessed by holding down the Commodore key at startup, entering “GO 64” at the BASIC prompt, or starting the machine with a C64 cartridge attached. After the 128’s release, most Commodore 64 games were advertized as being “Commodore 64/128 compatible.”

>> When running in C64 mode, most of the 128’s extra functions were disabled, though the machine’s 2MHz CPU mode was still available, and some games took advantage of this ability, like Elite128. Games that used the 128’s native mode often enhanced existing C64 titles with extra levels and content, such as TheLastV8 (1985) and Kikstart2 (1987). UltimaV (1988) added a soundtrack and used the 128’s faster disk access. Many titles were simply text adventures that took advantage of the 80-column mode.

>> Weirdly, the 80-column mode required a second monitor, though Commodore released a special monitor with dual inputs and a switcher for choosing modes.

3 DOWN TO BUSINESS

Thanks to its Z80 CPU, the 128 was CP/M compatible—a long-establishe­d software ecosystem popular with businesses. Unfortunat­ely, the 128 ran most CP/M software slower than other systems, meaning its CP/M compatibil­ity was largely ignored.

>> Instead, 128 owners preferred GEOS 128: a graphical desktop originally created for the C64, but greatly enhanced for the 128, using its extra power and features. GEOS was similar to macOS and came with productivi­ty tools like a word processor and paint program. The 128 version used a high-resolution 640 x 200 display mode, helping establish the 128 as a serious business machine.

>> By the time the C128 was discontinu­ed in 1989, it was no longer economical­ly viable to produce. Manufactur­ing costs were too close to the Amiga 500, and cost-reduced models of the C64 were still selling strongly, especially in Europe.

>> Although largely forgotten by retro gamers, the Commodore 128 supercharg­ed the C64 and still outsold many rivals.

>> With 5.7 million units sold worldwide, the 128 never reached the dizzying sales of the Commodore 64, but it was still a success in its own right and outsold most other microcompu­ters.

4 HOW DO I EMULATE IT?

Our main choice of emulator is VICE, which supports Windows, Linux, Mac, and many obscure platforms. VICE is known primarily for emulating the C64, but supports all eightbit Commodore machines, including the 128.

>> For the Windows version, head to the website and download the latest build. This package uses the 7-Zip format, so you may need a separate applicatio­n for that. VICE doesn’t come with an installer, so after extracting the package, you’ll have to go into the new folder, open the < i>bin folder, and manually open x28.exe. You might want to make a desktop shortcut.

>> For Linux users, VICE is available in the repositori­es but will probably be missing key “kernal” files due to licensing restrictio­ns. You can get these files from a source tarball, but it’s much easier to install a Snap or Flatpak package instead. Both versions should install entries in your system menu.

>> Snap users can find the package on the Snapcraft store under the name vice-jz. If you prefer Flatpak, you can install VICE with the command:

$ flatpak install flathub net.sf.VICE

5 USAGE

As soon as VICE-128 is opened, the first thing that hits you is a two-window setup: one is for the older C64 40-column display, the other is for the newer 80-column display.

>> The old 40-column display is used for the initial load commands, but then a native 128 title may switch to the high-res display. Meanwhile, the 40-column display will give you a message to switch to 80-column mode—with VICE that just means switching to the other window!

>> The easiest way to load something is by clicking “File>Smart attach disk/tape.” Choose your file, and click “Autostart.” If you get stuck with the BASIC prompt saying “LOADING, READY,” type “RUN” and press Enter.

>> Before you get started on any games, you should define how you will use joysticks: whether they be keyboard emulated, or by an external device. From the system menu, choose “Input devices>Joystick settings.” You need to define the method for two ports: most games use joystick port 2, so whatever you intend to use most, set that keyset or joystick to use port 2, and have your backup on port 1. Don’t forget to save your configurat­ion by clicking “Settings>Save settings.”

>> If you encounter any 3.5” floppy images (which may have a .D81 file extension), you’ll need to change the type of disk drive. From the system menu, select “Settings> Settings>Peripheral devices>Drive.” Make sure “True drive emulation” is enabled, and change “Drive type” from the default setting of CBM 1571 to CBM 1581.

 ??  ?? >> Although the C128 wasn’t a popular games machine, it was a well-loved desktop when paired with GEOS 128.
>> Although the C128 wasn’t a popular games machine, it was a well-loved desktop when paired with GEOS 128.
 ??  ??
 ??  ?? >> Games like ThaiBoxing (1986) were part of the small list of games that used the 128’s native mode, rather than using C64 compatibil­ity.
>> Games like ThaiBoxing (1986) were part of the small list of games that used the 128’s native mode, rather than using C64 compatibil­ity.

Newspapers in English

Newspapers from United States