Lably
Skip to content

KERNAL

  • 7 min read
  • 4 chapters

Related on Lably

Through Operating system, Hexadecimal and Graphical user interface

Description

The Commodore 8-bit machines' KERNAL consists of the low-level, close-to-the-hardware OS routines roughly equivalent to the BIOS in IBM PC compatibles (in contrast to the BASIC interpreter routines, also located in ROM) as well as higher-level, device-independent I/O functionality. It is user-callable via a jump table in RAM whose central (oldest) part, for reasons of backwards compatibility, remains largely identical throughout the whole 8-bit series. The KERNAL ROM occupies the last 8 KB of the 8-bit CPU's 64 KB address space ($E000–$FFFF).

The jump table can be modified to point to user-written routines, for example, to integrate a fast loader so that its fast replacement routines are used system-wide or to replace the system text output routine with one that works in bitmapped mode rather than character mode. This use of a jump table was new to small computers then.

The Adventure International games published for the VIC-20 on the cartridge are an example of software that uses the KERNAL. Because they only use the jump table, the games can be memory dumped to disk, loaded into a Commodore 64, and run without modification.

The KERNAL was initially written for the Commodore PET by John Feagans, who introduced the idea of separating the BASIC routines from the operating system. It was further developed by several people, notably Robert Russell, who added many of the features for the VIC-20 and the C64.

Sign in to keep reading

3 more chapters are free with a Lably account.

More in Computing and communication