How to enter C64 Mode on a Commodore 128

The Commodore 128 was marketed as being “three computers in one”. I guess technically they were correct when they made that statement. Although I’m very find of the native 128 mode, the system saw its uses mostly as a games machines in C64 mode. I don’t recall anybody ever looking at CP/M mode longer than half an hour (if that).

There are three ways to put the C128 into C64 mode. Two of which I always knew about, ever since my friend Frank Jagow bought himself a whole C128 system from his paper route money in 1986. But the third option’ve only recently learnt about – after over 30 years of being a C128 fanboy. How exciting!

Here are all three options.

Option 1: C= Key + RESET

Hold down the C= key (Commodore key, bottom left), then reset or turn on the machine. This will boot the C128 in C64 mode.

At the same time, a connected 1571 drive will automatically be switched into 1541 compatibility mode. This can be useful if your game relies on a real 1541 drive (for whatever reason), or if you have a  broken 1571 on which the seance read/write head isn’t working well.

Option 2: GO 64 command

From the C128 BASIC prompt, either in 40 or 80 column mode, issue the GO 64 command.

In direct mode, the system will ask “are you sure?”, to which you answer “y” followed by the return key. You can also type anything beginning with the letter y instead (for example, “yeah man – what a great idea”).

And omit the space between GO and 64 if you’re in a hurry by all means.

Note that this command will leave a potentially attached 1571 drive in its native 1571 mode. As a result, it will be able to format and access a double sided floppy from within C64 mode. However, programmes that rely on a native 1541 may encounter problems as a result.

Fun fact: you can also use GO 64 from within a BASIC programme. While the “are you sure” question won’t be displayed, and the system boots into C64 mode fine, there is of course nothing left in memory to execute at the other end.

Option 3: SYS 57931

The third option I’ve only recently discovered in a post by Maurizio Sorrentino on the C128 Enthusiasts FaceBook page.

We can call the machine language routine directly with SYS 57931 (or $E24B in hex). There’s no question whether you’re sure or not, much like issuing GO 64 in a BASIC programme. The result is the same: your C128 will think for a couple of seconds, then come back with deep blue colours on the 40 column display.

How does it work?

Good question! I’d love to find that out myself, but haven’t had time to dissect the code yet.

Here’s what that routine does:

It may end somewhere before the RTS, possibly at the jump to $0002. See if you can make head or tail of it, and let me know if you do.

Anyway, those are the three methods of how to put your Commodore 128 into 64 mode.

Jay is the CEO and founder of WP Hosting, a boutique style managed WordPress hosting and support service. He has been working with Plesk since version 9 and is a qualified Parallels Automation Professional. In his spare time he likes to develop iOS apps and WordPress plugins, or draw on tablet devices. He blogs about his coding journey at http://wpguru.co.uk and http://pinkstone.co.uk.

Add your voice!