From collectibles to cars, buy and sell all kinds of items on eBay
home | pay | site map
Shop for itemsSell your itemTrack your eBay activitiesLearn, connect, and stay informed-for business and for funGet help, find answers and contact Customer SupportAdvanced Search
Home > Listing Index > Games > KERNAL

Games - KERNAL


:This article is about Commodore's 8-bit OS software. For the general OS core concept, see kernel (computer science).

The KERNAL is Commodore
's name for the ROM-resident operating system core in its 8-bit home computers; from the original PET
of 1977, via the extended, but strongly related, versions used in its successors; the VIC-20
, Commodore 64
, Plus/4, C16, and C128. The Commodore 8-bit machines' KERNAL consisted of the low-level, close to the hardware, OS routines (in contrast to the BASIC interpreter
routines, also located in ROM), and was user callable via a jump table whose central (oldest) part, for reasons of backwards compatibility, remained largely identical throughout the whole 8-bit series. The Kernal rom occupies the last 8K of the 8-bit CPUs 64K address space (X'F000'-X'FFFF').

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 added many of the features for the VIC-20 and the C64.

Example of use

A simple, yet characteristic, example of applying the KERNAL is given by the following 6502 assembly language subroutine (written in ca65 assembler format/syntax):

MSG: .ASCIIZ "Hello, world!" LDX #$F3 ; store length of string as two's complement value in x register @LP: LDA MSG-$F3,X ; load character JSR $FFD2 ; call CHROUT in order to output char to current output device (e.g., screen) INX ; next character BNE @LP ; loop back to load new char until whole string done, and then ... RTS ; ... return from the subroutine

This code stub employs the CHROUT routine, found at address $FFD2 (65490), to send a text string to the default output device (e.g., the display screen).

About the misspelling

The KERNAL was known as kernel inside of Commodore since the PET days, but in 1980 Robert Russell misspelled the word in his notebooks forming the word kernal. When commodore technical writers Neil Harris and Andy Finkel collected Russells notes and used them as the basis for the VIC-20 programmer's manual, the misspelling followed them along and stuck.

According to early Commodore 'myth' and reported by writer/programmer Jim Butterfield
among others, the word KERNAL is an acronym (or maybe more likely, a backronym) standing for Keyboard Entry Read, Network, And Link, which in fact makes good sense considering its role. Berkeley Softworks later used it when naming the core routines of its GUI OS for 8-bit home computers: the GEOS
KERNAL.

The (completely different) OS core in the 16/32-bit Commodore Amiga
series was called the Amiga ROM Kernel, i.e. using the correct spelling of kernel.

[ Visit the complete Wikipedia entry for KERNAL ]


Searches on eBay

Some related entries: Windows Media Station | Macromedia Studio | Nebulus | Sega NetLink | Croteam | United-TI | Beta | Kenny Bania | A Modest Video Game Proposal | Stack No. 7 - Sunshine | John Gale

eBay Pulse | eBay Reviews | eBay Stores | Half.com | Kijiji | PayPal | Popular Searches | ProStores | Rent.com | Shopping.com
Australia | Austria | Belgium | China | France | Germany | India | Italy | Spain | United Kingdom

About eBay | Announcements | Security Center | Policies | Site Map | Help