Secret Weapons of Commodore - the Games machines

The Game Machines: The Ultimax, 64GS, 64CGS

Click the Commodore icon to return.
Intending to use pictures or text from this page? Please read this notice. Last modify 29 December 2004.

The UltiMax
Ray Castaldo's Page on the UltiMax
Views of the Ultimax (.jpg except where noted, taken of my own unit)
Portrait and Rear Box Art (80K) | Keyboard Closeup (35K) | Rear Ports (18K) | Mainboard (60K) | Mainboard Closeup (67K) | Backplate (.gif, 10K)

Additional Views of the Max Machine (.jpg, courtesy Ray Castaldo [1-4], Dan Benson [5-7])
Portrait with Box (59K) | Keyboard Closeup (42K) | MiniBASIC Cartridge (67K) | Ultimax Screenshot with MiniBASIC (57K) | Portrait and MaxBASIC cartridge (71K) | MaxBASIC Screenshot (27K) | Ultimax Accessories and Cartridges (83K)

Manual Scans (from my own manual)
Cover (.jpg, 38K) | Foreword (.gif, 51K). "Max Machine: The Friendly Computer," trumpets the text. "The future is already no longer a dream world."

.jpg Image of the UltiMax (30K; from a German ad, courtesy Thomas Hechelhammer and Marko, cropped/shrunk)

aka VIC-10, "Vickie", Max Machine (n.b.: Michael Tomczyk in an E-mail interview mentions a MAX Machine which seems to more closely resemble the 364)
Introduced January 1982
Hardware 6510 @ 1MHz (8MHz dotclock; 1MHz bus clock; 14.318181MHz colour clock [NTSC-M]), 4KB SRAM (2128). Only one CIA (missing the one at $DD00, hence no user port, serial port or NMI activity). Mini-BASIC on cartridge (510 bytes free on Ray's screenshot -- yikes!).
Graphics and Sound SID; 6566 (NOT 6567/6569) video chip (NTSC-M only; no muxed address bus), but apparently some 6567s did make it into production models (Marko has one from ser#4282). The 6567 is the NTSC VIC-II; the 6569 is the PAL.
Eventual Fate Released (MSRP $150-$180), apparently only in Japan as the Max Machine. Fantastic flop. Curiously released simultaneously in Japan with the Japanese version of the 64.

The Ultimax is rapidly becoming a major collector's item due to its rarity; I'm very proud of the unit I was able to import from Japan thanks to Hidehiko Ogata. Domo arigatoo gozaimasu! ^_^ Oddly, my unit calls itself a MAX-04; I'm not what the difference is.

The Max Machine's price, anaemic RAM and fierce market competition doomed it to failure; that nasty blister keyboard can't have helped much either. (What happened to Commodore Japan is in the entry for the Japanese 64.) That wasn't the end of the story, however; Commodore couldn't bear the thought of the money sunk into developing software for the Ultimax going to waste and as a result the spectre of the Ultimax even now haunts the 64 and 128's memory mapping schemes. To allow the 64 to use Ultimax cartridges, if you pull -GAME low and leave -EXROM alone, the 64 plops into Ultimax mode (as described in the Programmer's Reference Guide). 4K of RAM is mapped into $0000-$0FFF; low ROM into $8000-9FFF (on the 64, this would be the cartridge ROM; on the Max, this was undoubtedly where MiniBASIC resided); and I/O and Kernal at $D000 and $E000 as usual. The VIC-II, however, sees all 64K in its usual 16K clumps, with ROM banked into the upper 4K of its current "slice" (meaning $F000-$FFFF of the cartridge ROM actually "appears" at $3000-$3FFF in the default VIC addressing space as well -- to get Ultimax ROM dumps to work from 64 mode, you must copy this section manually or the screen will be garbled). LORAM, HIRAM and CHAREN signals are ignored, though the VIC-II's VA14/15 banking bits still have some effect. This is the only mode where the VIC-II can access external memory (i.e., memory outside of its default 16K slice), engineered to allow the cartridge's sprite and character data to be visible to the VIC-II without copying it and wasting what little RAM is present -- particularly important since the Ultimax has no built-in character set! (However, because of the processor's restrictions it would be very stupid for software to attempt to use memory higher than $1000.) For this reason, to get an Ultimax cartridge ROM dump to run within the default C64 memory mapping, you must copy $F000-$FFFF to $3000-$3FFF before running it, or the game will have scrambled graphics. The character generator can be also turned off in Ultimax mode and replaced either by low ROM, high ROM, or bytes fetched by the processor; the -ROML and -ROMH signals control this feature.

It should also be noted that the Ultimax expansion port is not the same as the 64's. One critical difference is that -IO2 is gone, replaced by a link to the SP pin on CIA "#1"; -DMA is gone, replaced by a link to CNT on the same CIA, and there is no NMI signal.

In 128 mode, Ultimax mode can be triggered by messing with the MMU (use location $D505 to control the GAME and EXROM lines).

Because of the miserable memory restrictions of the Ultimax, the MAX BASIC cartridge actually includes an additional 2K of RAM in it. MiniBASIC, by the way, is terribly useless; apart from its abysmally low amount of free memory, it can't even save and load programs. The rightmost screenshot on my box art picture is of a sample program in MiniBASIC.

Ultimax mode ought to be worthless because, well, there's not much Ultimax stuff either then or now, but surprisingly Ultimax mode has a very common application: your typical freezer cartridge. Somehow, the freezer needs to gain control of the computer, and the only way to do that is to divert the processor's control to the freezer ROMs. Easily done in Ultimax mode: this transparently and immediately maps the freezer's ROMs into main memory and on the next NMI, IRQ or RESET the 6510 gets its vectors from the freezer cartridge instead, which direct the processor into the freezer's code.

The 64GS
8-Bit Nirvana's Commodore 64GS Page (auf Deutsch/in German)
.gif Image of the 64 Games System (76K, courtesy Markus Mehring)
.jpg Image of the 64 Games System Mainboard (19K, courtesy Sascha Hoogen)
.jpg Image of the 64 Games System Mainboard (51K). This photograph is of Robert Bernardo's unit, in somewhat less deplorable resolution.
.jpg Closeup of the 64 Games System (33K). This photograph of Robert Bernardo's unit shows the black "target" label that appeared on production units, and the RoboCop cartridge.

64GS Kernal ROM Dump (courtesy Marko)
The first $2000 bytes are BASIC; the last $2000 are Kernal. You will need to cut them up for emulators expecting them in two files (like Frodo).

Screenshots of the Startup Sequence (I created these using the ROM and Frodo v4.1)
Turn the system off (3K), then insert the cartridge (2K) and turn it back on (3K).

64GS In The News
Cover story in Commodore Format October 1990 (80K .jpg, courtesy Iain Black). According to Markus Mehring, the picture of the 64GS is not accurate and is most likely a mockup based on specifications Commodore released to the media.

aka 64 Game System, 64 Games System
Introduced 1989
Hardware Identical to the 64; BN/E motherboard, but the case didn't have holes for the keyboard, serial ports, userport or cassette interface. Cartridge port was on the top; however, where this goes internally is debated. Marko says it is simply a ribbon cable, connected to the real cart port on the motherboard; Marc Walters, however, says that his unit really does have a top-loading cartridge port on the mainboard, and this observation is borne out by the board view above. Marc's board is also an E version, but the connectors don't have the regular ferrite tips soldered on them, making them unuseable. Other than this, internal components are exactly the same as the Commodore E version mainboard save some Kernal differences (see Comments); includes unified BASIC/Kernal ROM chip and a "monster GAL" containing the PLA, custom logic, and the 2114 colour RAM space.
Graphics and Sound Identical to the 64. 8580 (R5) SID, 8565 (R2) VIC-II (PAL, anyway) in Marc's version. Seems very unlikely there is an NTSC 64GS.
Eventual Fate Released in UK during the 1990 Christmas buying season (introduced at 99.99 UKP) and Denmark during 1991; massive flop. 80,000 units were produced; less than 25% of them eventually sold. Most of the remaining units were taken back and dissassembled for parts for the 64G.

One good consequence is that a lot of 64 games came out on cartridge for the 64GS, and 64 owners in Europe were the direct beneficiaries (witness the RoboCop cartridge in Robert's unit). However, according to Markus Mehring, the reason may not have been the 64GS. Rather, Markus theorizes, the 64GS could have been Commodore's attempt to capitalize on the gaming companies' exodus to solid state formats (not much more expensive -- sometimes less expensive! -- to manufacture and much harder to pirate): basically a case of "if you do it we'll do it too". Some software, however, did come out specifically for the 64GS (though it would work fine on a 64, naturally), including a third-party cartridge in the style of the demo cartridge that came with the unit (see below) with Stunt Car Racer, Rick Dangerous and Microprose Soccer.

Marc Walters notes that the earliest talk of it was during a news item about new 256K cartridge games in the April 1990 Zzap!64 magazine. The machine was announced officially in the September 1990 issue. Accounting for publishing delay lags, it appears that the 64GS was released in mid-August, although Patrick Kelly states it arrived in September.

Marc also adds that there are some internal differences between Kernals. As the screenshots above demonstrate, the 64GS will display an Amiga-esque "Insert Cartridge" animation if turned on without one. It also has windowing routines, but there's no obvious use of them in anything but the startup sequence, and goodness knows what Commodore had in mind putting them in there. Keyboard-driven games had to be modified for the GS, but GS joysticks had additional circuitry for another firebutton. Niall Tracey has analysed the GS stick and found that it behaves identically to any other Atari/Commodore joystick except for the base button, which will drop the POTX register in the SID chip to 0 when the stick is in port 1 and the base button depressed.

Marc was additionally good enough to give me a board inventory, as follows: joystick 1/2 connectors, power in, RF and composite out; soldered chips as follows: MC 14 066BCP (x2), CSG 6526A (x2), Sharp 252535-01 (may be a logic VLSI), TI 026 FS, TI 026 AS; socketed chips as follows: 8580R5, 8701, 8565R2, TI 031 CS, Sharp LH2464-12 (x2), Kernal/BASIC (hah!) ROM (CS=DF34 (C)1984,90 CBM) 390852-01 (Marko states it is a 27128