C64 OS on BMC64


C64 OS is an operating system made for real Commodore 64 hardware. But it does support C64 emulators such as VICE. The emulator needs to have support for a virtual CMD HD to work and BMC64 has had that support since version 4.1.

C64 OS

But the C64 OS site had the opposite information, in that it is not supported. 🤔

Time to try!

The roadblock

Luckily the BMC64 site says C64 OS is supported! But...

Once installed there was a serious problem with the mouse. Every time you left or right clicked it would jump across the screen making it impossible to use.

Turns out I wasn't the first person to notice this problem as I found this issue in the BMC64 repository: #248. But there had been no progress for 2 years...

The only solution. Fix it. This ended up taking much longer than I expected, but in the end I figured out what the problem was, and made a fix. I also figured out a work around for BMC64 4.2.

Now I was ready to go!

Prerequisites

  • Raspberry Pi 3B+ - BMC64 only runs on a Pi Zero, Pi2 or Pi3.
  • A copy of C64 OS: Order it here
  • Latest version of BMC64 (4.2 at the time of writing)
  • BMC64 patch to fix mouse and other improvements
  • JiffyDOS kernel (suggested store)
  • CMD HD 2.80 boot rom (suggested store)
  • USB Mouse
  • microSD Card for BMC64 installation
  • Optional USB stick, to run the CMD HD image of C64 OS from for best performance: see details

How to install C64 OS on BMC64

MicroSD card setup

  • Setup a new installation of BMC64 4.2 on an microSD card as per the instructions on their site .
  • Apply the files from the BMC64 patch over the installation on the microSD card.
  • Copy the JiffyDOS and CMD HD 2.80 boot roms onto the microSD card (suggested folder /C64)
  • Copy the c64os v1.0x.dhd CMD HD file containing C64 OS from your C64 OS System Card to the microSD card.
    • Note: For better performance put the dhd file onto the optional USB stick instead of the microSD card.

Configure BMC64

  • Plug in the USB mouse
  • Boot up BMC64
  • Configure port 1 as a USB mouse
    • Joyports -> Port 1 -> USB Mouse (1351)
  • Set the Kernal ROM as JiffyDOS
    • Machine -> ROMS... -> Load Kernal ROM... (Find and select)
  • Set the CMD HD boot rom
    • Drives -> Change ROM... -> CMDHD... (Find and select)
  • Configure Drive 10 as a virtual CMD HD
    • Drives -> Drive 10 -> Change Model... (CMDHD)

Optional configuration

If you want to be able to access a folder on the microSD card directly from C64 OS to make it easy to transfer files into C64 OS, you need to set up the IEC FileSystem on one of the drives.

  • Make a folder on the microSD card (suggested folder /c64os)
  • Configure Drive 9 as an IEC FileSystem
    • Drives -> Drive 9 -> IEC FileSystem = On
    • Drives -> Drive 9 -> Options -> True Drive Emulation = Off
    • Drives -> Drive 9 -> Select IEC Dir... (Select folder on microSD card)

Running C64 OS

Each time you start BMC64 you'll have to attach the C64 OS dhd image, and launch C64 OS.

  • Drives -> Drive 10 -> Attach Disk... (Find and select .dhd file from USB stick)
  • Switch to device 10 with the command: @#10
  • Load C64 OS with the command: /C64OS
  • Launch C64 OS with the command: RUN

Note

There can sometimes be a problem when you try to switch to device 10. If this happens you need to go into "Drives -> Drive 10 -> Options -> CMDHD Mode ..." and flip through all the modes and back to Normal, then drop out of the menu and try to switch to device 10 again.

First run of C64 OS

On first run you'll have to set up C64 OS. You can follow the instructions on the C64 OS site.

What's in the BMC64 Patch?

The BMC64 patch includes:

  • Mouse fix
  • Per device True Drive Emulation setting. This allows the setting to be off for Drive 9 (IEC FileSystem), while remaining on for other drives (details)
  • Speed fix for floppy loading when CMD HD is configured (details)
  • Version 4.2-p1 is shown on the about page in BMC64

Full details and source code for the patch is in my forked bmc64 repository.

The patch archive contains the pre-built BMC64 kernel files for the Pi Zero, Pi2 and Pi3. Simply extract the files from the archive and replace the existing ones on the root of the microSD card.

Download here

Bonus

For the ultimate BMC64 experience use my BMC64 PCB for an authentic feel. 😃