Developing for the Commodore 64 can be a rewarding retrocomputing experience, and thanks to [Dave Van Wagner], things are easier with his C64 IO_Monitor project, which opens the door to logging and tracing Kernal I/O calls for closer inspection. That’s not a typo, by the way. Kernal is what handles the C64’s low-level OS routines. Amusingly, as the story goes, it did in fact originate as a misspelling of kernel, but the name stuck.
What [Dave]’s program does is trace and log all input and output calls going through Kernal, which includes just about any function one might imagine. Things like keyboard input, screen output, and disk or tape I/O are all dutifully counted and logged, allowing one to really peek under the hood at a low level when doing any kind of development work. This kind of tool has turned out to be pretty handy given [Dave]’s penchant for porting Commodore emulators to a variety of (sometimes unusual) platforms.
Interested in giving it a spin? Head to the project’s GitHub repository for all the necessary files as well as some usage details, and enjoy making debugging and development a little less opaque than it otherwise would be.
I always understood “KERNAL” as “KERN ALgorithmus” => “core algorithm” in german :D
I don’t think John Feagans even knew German, so that seems far fetched.
In the screenshot top pic, kernal is misspelt kernel.
Nah, “kernal” was always a misspelling. Don’t be mad that someone finally corrected the spelling.
New contest: Design a worse font. Win a computing relic.
Cool. Does this thing by any chance work
with the C64 emulator for the IBM PC, too? ;)
Because, that emulator is sort of a mystery.
Both its origin and feature set is unknown..
IO monitor was developed and tested using Vice emulator, on Windows 10, and on Linux (Chromebook). The assembler used is cross platform implemented as an extension to Microsoft Visual Code, and launches Vice for runtime. Should also work with Mac. The monitor is intended to work with real C64, and thus an accurate enough emulator (my own emulators included) should be fine too.