Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
KERNAL
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==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 [[Commodore BASIC|BASIC interpreter]] routines, also located in ROM) as well as higher-level, device-independent I/O functionality. It is user-callable via a [[Branch table|jump table]] in RAM whose central (oldest) part, for reasons of [[backwards compatibility]],<ref>The KERNAL jump table, used to access all the [[subroutine]]s in the KERNAL, is an array of JMP (jump) instructions leading to the actual subroutines. This feature ensures compatibility with user-written software in the event that code within the KERNAL ROM needs to be relocated in a later revision.</ref> remains largely identical throughout the whole 8-bit series. The KERNAL ROM occupies the last 8 [[Kilobyte|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 novel in small computers at the time.<ref>{{cite web|url=https://archive.org/stream/byte-magazine-1983-01-rescan/1983_01_BYTE_08-01_Looking_Ahead#page/n239/mode/2up|title=Exploring the VIC-20|date=January 1983}}</ref> The [[Adventure International]] games published for the VIC-20 on the [[ROM cartridge|cartridge]] are an example of software that uses the KERNAL. Because they only use the jump table, the games can be [[memory dump]]ed to disk, loaded into a Commodore 64, and run without modification.<ref name="kevelson198601">{{cite news | url=https://archive.org/stream/Ahoy_Issue_25_1986-01_Ion_International_US#page/n31/mode/2up |title=Speech Synthesizers for the Commodore Computers / Part II | work=Ahoy! | date=January 1986 |author=Kevelson, Morton |pages=32 |accessdate=17 July 2014}}</ref> 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.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)