whatisgithub

What is kernal64?

edengilbertus/kernal64 — explained in plain English

Analysis updated 2026-08-05 · repo last pushed 2024-07-16

Audience · generalComplexity · 3/5DormantSetup · moderate

In one sentence

A desktop emulator for classic Commodore computers (C64, C128, VIC-20, CBM-II) that lets you run vintage software and games on a modern PC with cycle-accurate hardware recreation.

Mindmap

mindmap
  root((repo))
    What it does
      Emulates Commodore computers
      Runs vintage games and software
      Cycle-accurate hardware
    Hardware support
      CPU and graphics chips
      Sound chips and disk drives
      Cartridges and peripherals
    Use cases
      Play classic games
      Write machine code
      Test cartridge designs
    Tech stack
      Scala
      Java runtime
    Audience
      Retro computing enthusiasts
      Hobbyist programmers
      Software preservation

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Play classic Commodore 64 games using your keyboard or a USB joystick on a modern PC.

USE CASE 2

Write and debug machine code for vintage Commodore hardware using the built-in assembler and debugger.

USE CASE 3

Test new cartridge designs without needing original physical Commodore hardware.

USE CASE 4

Browse online game portals and load retro software directly into the emulator.

What is it built with?

ScalaJava

How does it compare?

edengilbertus/kernal6400kaku/gallery-slider-block04amanrajj/netwatch
Stars0
LanguageJavaScriptRust
Last pushed2024-07-162021-05-19
MaintenanceDormantDormant
Setup difficultymoderateeasymoderate
Complexity3/52/53/5
Audiencegeneralgeneralops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires Java installed and some familiarity with command-line scripts to launch different machine types.

No license information is provided in the repository, so usage rights are unclear.

So what is it?

Kernal64 is a desktop emulator that lets you run software and games for several classic Commodore computers from the 1980s, the Commodore 64, 128, VIC-20, and CBM-II series, plus the SuperCPU accelerator. Instead of needing the original hardware, you can load up disk images, tape files, and cartridges on a modern PC and interact with these machines just as they were. It is built in Scala and runs on Java. At a high level, the emulator recreates the inner workings of each computer down to the individual clock cycle, meaning it reproduces the original timing and behavior of the chips precisely. It handles the CPUs, graphics chips, sound chips, and even the floppy disk drives. You can plug in a USB joystick or use your keyboard to play games, mount a folder from your computer as a virtual floppy disk, and even connect to the internet through emulated modem hardware. It also includes an assembler and debugger for people who want to write or inspect machine code. The people who would use this are retro computing enthusiasts, hobbyist programmers, and anyone interested in preserving or exploring software from the Commodore era. For example, someone might use it to play a classic game like Duck Hunt with a light gun, run an old demo to see what programmers could squeeze out of 1980s hardware, or test a new cartridge design without needing physical equipment. The project even connects to game portals so you can browse and load software directly. What stands out is the sheer depth of hardware support. The emulator handles dozens of cartridge types, multiple printer models, light pens, mice, and various memory expansions. It supports both PAL and NTSC video standards, which matters because games and programs written for one region often behave differently on the other. The tradeoff for this accuracy is that it requires Java installed and some familiarity with command-line scripts to launch the different machine types.

Copy-paste prompts

Prompt 1
Help me set up Kernal64 on my computer to run Commodore 64 games, I have Java installed and want to load a .d64 disk image file.
Prompt 2
I want to use Kernal64's assembler and debugger to write a simple machine code program for the Commodore 64. Walk me through the basics of 6502 assembly and how to test it in the emulator.
Prompt 3
How do I configure Kernal64 to mount a folder on my PC as a virtual floppy disk so I can transfer files into the Commodore 64 environment?
Prompt 4
I'm trying to run a PAL-region Commodore 64 game in Kernal64 but it's behaving oddly. How do I switch between PAL and NTSC video standards in the emulator?

Frequently asked questions

What is kernal64?

A desktop emulator for classic Commodore computers (C64, C128, VIC-20, CBM-II) that lets you run vintage software and games on a modern PC with cycle-accurate hardware recreation.

Is kernal64 actively maintained?

Dormant — no commits in 2+ years (last push 2024-07-16).

What license does kernal64 use?

No license information is provided in the repository, so usage rights are unclear.

How hard is kernal64 to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is kernal64 for?

Mainly general.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.