Hacker News new | ask | show | jobs
by emcrazyone 3037 days ago
Calling the commodore's firmware a kernel is a bit of a stretch in my opinion because it did not schedule anything. The 6502 had no MMU and therefore no virtual memory or running of more than one app.

One clever idea I learned when I was a kid tinkering with C64 was how the ROM resided at the same memory address as RAM. By toggling a bit, you can switch between the two. Applications back in the day would toggle this bit really fast to give the capability of having an assembly language program running in the background while your basic program interacted with it.

I learned this and it stuck with me over the years. C-Net BBS by a company called Perspective Software, if I recall correctly, did just this.

Cool article!

1 comments

He is not referring to the firmware as "kernel" ... See https://en.wikipedia.org/wiki/KERNAL :

    "KERNAL is Commodore's name for the ROM-resident
    operating system core in its 8-bit home computers;
    from the original PET of 1977, followed by the
    extended but strongly related versions used in its
    successors: the VIC-20, Commodore 64, Plus/4, C16,
    and C128."
Too bad that's not stated in the article. The way the article reads seems to imply a kernel OS.
> "The way the article reads seems to imply a kernel OS."

I don't think so. Here are some instances of the word KERNAL in the article:

    * ... jump table at the end of the KERNAL ROM ...

    * ... The system ROM (“KERNAL”) was now 4 KB

    * ... making the KERNAL and the editor merely
    a device driver package.

    *  ... jump table in the KERNAL ROM for interfacing
    with it

    * ... these are the KERNAL calls used by BASIC ...

    * The following eight KERNAL routines ...

    * ... it calls out to these KERNAL functions ...

    * ... these KERNAL calls have to parse the BASIC
    arguments ...

    * These 6 KERNAL calls are actually BASIC command
    extensions, ...
I had never heard of the commodore KERNAL before and I had no problem following it. In addition, the term kernel has many uses in computing besides OS kernel.
You could've Googled it and found https://en.wikipedia.org/wiki/KERNAL