C64 OS on BMC64 with Networking!
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. For C64 OS networking the emulator has to support networking and modem emulation, which BMC64 supports neither.

Time to try.. again!
In my last post I successfully got BMC64 running with the help of Patch 1, but now I wanted to get full networking support running. I spent time updating BMC64 to the latest Circle Step 51, which had the potential to unlock networking support. I released multiple patches with additional features, but with the release of Patch 7, BMC64 can now provide the network connection needed by C64 OS and its network enabled applications. 😁
Prerequisites
Required:
- Raspberry Pi 3B+ - BMC64 only runs on a PiZero, PiZero2W, Pi2 or Pi3.
- Network connection. (Ethernet or Wi-Fi) - BMC64 only supports Raspberry Pi's onboard network hardware.
- A copy of C64 OS: Order it here
- Latest version of BMC64 (4.2 at the time of writing)
- Latest BMC64 Patch - Patch 7 or greater.
- 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
- Set up a new installation of BMC64 4.2 on a microSD card as per the instructions on their site.
- Download the latest BMC64 Patch, extract it's contents replacing all existing files 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.dhdCMD HD file containing C64 OS from your C64 OS System Card to the microSD card.- Note: For better performance put the
dhdfile onto the optional USB stick instead of the microSD card.
- Note: For better performance put the
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)
Configure networking
Patch 7 adds a Network menu to BMC64. The Network Device setting can be Off, Ethernet, or WiFi. BMC64's software modem uses this connection for outbound TCP networking.
Ethernet
- Connect an Ethernet cable to the Raspberry Pi
- Configure networking for Ethernet
- Network -> Network Device -> Ethernet
- Reboot when prompted
- After reboot, check: Network -> IP Address
The Ethernet option is not available if your Raspberry Pi model does not have onboard Ethernet.
Wi-Fi
- Configure networking for WiFi
- Network -> Network Device -> WiFi
- Reboot when prompted
- Configure WiFi access point settings
- Network -> WiFi Settings
- Press enter on the WiFi SSID to start a scan
- Select your access point and press Enter
- Check the WiFi Country Code is correct
- Select Enter Password & Reboot
- Enter the WiFi password
- Select Save & Reboot
- After reboot, check: Network -> IP Address
The WiFi option is not available if your Raspberry Pi model does not have onboard WiFi.
Note
It can take 5-20 seconds after boot for Wi-Fi to connect.
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
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.
Using networking
Configure C64 OS networking
C64 OS networking uses C64 Network Protocol (CNP), so you need a CNP server account. Sign into your C64 OS account for details.
For complete information, read the C64 OS Networking Guide.
Once BMC64 shows an assigned IP address:
- In C64 OS, open Settings -> Network. On the Drvr tab, select
slde.zi. - Set both
Ini.BaudandMax.Baudto38400, save the settings, and run Test. It must report Pass before attempting CNP. - On the WiFi tab, enter non-empty values for the Wi-Fi fields (e.g. test, test) and select Join.
- These fields DO NOT configure the Raspberry Pi's network, BMC64 handles that from its own Network menu.
- On the CNP tab, set the host to
services.c64os.com, the port to6400, enter your C64 OS service credentials, and click Start. - Open the C64 OS Wikipedia application, run a search, and select several content links. The pages should download and display.
- Click Stop when finished.
Security
BMC64 networking is outbound, unencrypted TCP. It does not provide TLS, SSH, VPN, or HTTP client behaviour. DO NOT use it for credentials that must be protected.
That's it! You should be up an running and ready to explore the online world with your C64 😃
What's in BMC64 Patch 7?
Consult the changelog for all the details for every patch released from 4.2-p1 onwards
Bonus
The networking available in BMC64 also allows you to connect to old school BBS sites. Just use an application like CCGMS Ultimate and connect to your favourite BBS.
For the ultimate BMC64 experience use my BMC64 PCB for an authentic feel. 😃