All Topics  
KERNAL

 

   Email Print
   Bookmark   Link






 

KERNAL



 
 
The KERNAL is Commodore
Commodore International

Commodore, the commonly used name for Commodore International, was a United States electronics company based in West Chester, Pennsylvania which was a vital player in the home computer/personal computer field in the 1980s....
's name for the ROM
Read-only memory

Read-only memory is a class of computer storage media used in computers and other electronic devices. Because data stored in ROM cannot be modified , it is mainly used to distribute firmware ....
-resident operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
 core in its 8-bit
8-bit

Eight-bit CPUs normally use an 8-bit data bus and a 16-bit address bus which means that their address space is limited to 64 KBs. This is not a "natural law", however, so there are exceptions....
 home computer
Home computer

A home computer was a class of personal computer entering the market in 1977 and becoming common during the 1980s. They were marketed to consumers as accessible personal computers, more capable than video game consoles....
s; from the original PET
Commodore PET

The PET was a home computer-/personal computer produced by Commodore International starting in 1977. Although it was not a top seller outside the Canadian, US, and UK educational markets, it was Commodore's first full-featured computer and would form the basis for their future success....
 of 1977, via the extended, but strongly related, versions used in its successors; the VIC-20
Commodore VIC-20

The VIC-20 is an 8-bit home computer which was sold by Commodore International. The VIC-20 was announced in 1980, roughly three years after Commodore's first personal computer, the Commodore PET....
, Commodore 64
Commodore 64

The Commodore 64 is an 8-bit home computer released by Commodore International in August, 1982, at a price of United States dollar595. Preceded by the Commodore VIC-20 and Commodore MAX Machine, the C64 features 64 kilobytes of Random-access memory with sound and graphics performance that were superior to IBM-compatible computers of tha...
, Plus/4, C16
Commodore 16

The Commodore 16 was a home computer made by Commodore International with a MOS Technology 6502-compatible MOS Technology 8501 Central processing unit, released in 1984....
, 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
Commodore BASIC

Commodore BASIC, also known as PET BASIC, is the dialect of the BASIC programming language used in Commodore International's 8-bit home computer line, stretching from the Commodore PET of 1977 to the Commodore 128 of 1985....
 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.






Discussion
Ask a question about 'KERNAL'
Start a new discussion about 'KERNAL'
Answer questions from other users
Full Discussion Forum



Encyclopedia


The KERNAL is Commodore
Commodore International

Commodore, the commonly used name for Commodore International, was a United States electronics company based in West Chester, Pennsylvania which was a vital player in the home computer/personal computer field in the 1980s....
's name for the ROM
Read-only memory

Read-only memory is a class of computer storage media used in computers and other electronic devices. Because data stored in ROM cannot be modified , it is mainly used to distribute firmware ....
-resident operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
 core in its 8-bit
8-bit

Eight-bit CPUs normally use an 8-bit data bus and a 16-bit address bus which means that their address space is limited to 64 KBs. This is not a "natural law", however, so there are exceptions....
 home computer
Home computer

A home computer was a class of personal computer entering the market in 1977 and becoming common during the 1980s. They were marketed to consumers as accessible personal computers, more capable than video game consoles....
s; from the original PET
Commodore PET

The PET was a home computer-/personal computer produced by Commodore International starting in 1977. Although it was not a top seller outside the Canadian, US, and UK educational markets, it was Commodore's first full-featured computer and would form the basis for their future success....
 of 1977, via the extended, but strongly related, versions used in its successors; the VIC-20
Commodore VIC-20

The VIC-20 is an 8-bit home computer which was sold by Commodore International. The VIC-20 was announced in 1980, roughly three years after Commodore's first personal computer, the Commodore PET....
, Commodore 64
Commodore 64

The Commodore 64 is an 8-bit home computer released by Commodore International in August, 1982, at a price of United States dollar595. Preceded by the Commodore VIC-20 and Commodore MAX Machine, the C64 features 64 kilobytes of Random-access memory with sound and graphics performance that were superior to IBM-compatible computers of tha...
, Plus/4, C16
Commodore 16

The Commodore 16 was a home computer made by Commodore International with a MOS Technology 6502-compatible MOS Technology 8501 Central processing unit, released in 1984....
, 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
Commodore BASIC

Commodore BASIC, also known as PET BASIC, is the dialect of the BASIC programming language used in Commodore International's 8-bit home computer line, stretching from the Commodore PET of 1977 to the Commodore 128 of 1985....
 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 8 KB
KB

The abbreviation KB or kb can refer to:*Kilobit , a unit of information used, for example, to quantify computer memory or storage capacity...
 of the 8-bit CPU's 64 KB address space ($E000-$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
MOS Technology 6502

The MOS Technology 6502 is an 8-bit microprocessor that was designed by Chuck Peddle and Bill Mensch for MOS Technology in 1975. When it was introduced, it was the least expensive full-featured central processing unit on the market by a considerable margin, costing less than one-sixth the price of competing designs from larger companies such...
 assembly language
Assembly language

An assembly language is a low-level language for programming computers. It implements a symbolic representation of the numeric machine codes and other constants needed to program a particular CPU architecture....
 subroutine (written in ca65 assembler format/syntax):

CHROUT = $ffd2 ; CHROUT sends a character to the current output device CR = $0d ; PETSCII
PETSCII

PETSCII , also known as CBM ASCII, is the variation of the ASCII character set used in Commodore International's 8-bit home computers, starting with the Commodore PET from 1977 and including the Commodore VIC-20, Commodore 64, Commodore CBM-II, Commodore Plus/4, Commodore 16, Commodore 116 and Commodore 128....
 code for Carriage Return ; hello: ldx #0 ; start with character 0 next: lda message,x ; read character X from message beq done ; we're done when we read a zero byte jsr CHROUT ; call CHROUT to output char to current output device (defaults to screen) inx ; next character bne next ; loop back while index is not zero (max string length 255 bytes) done: rts ; return from subroutine ; message: .byte "Hello, world!
Hello world program

A "Hello World" program is a computer program that prints out "Hello world!" on a display device. It is used in many introductory tutorials for teaching a programming language....
" .byte CR, 0 ; Carriage Return and zero marking end of string

This code stub employs the CHROUT routine, found at address $
Hexadecimal

In mathematics and computer science, hexadecimal is a numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 09 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen....
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 Russell's 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
Jim Butterfield

Frank James Butterfield was a Toronto-based author and computer programmer famous for his work with Commodore Business Machines microcomputers, and a longtime contributor to periodicals such as The Transactor and Toronto PET User's Group....
 among others, the word KERNAL is an acronym (or maybe more likely, a backronym
Backronym

A backronym is a reverse Acronym and initialism, a phrase constructed after the fact to make an existing word or words into an acronym.Backronyms may be invented with serious or humorous intent, or may be a type of false or folk etymology....
) 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
GEOS (8-bit operating system)

GEOS was an operating system from Berkeley Softworks . Originally designed for the Commodore 64 and released in 1986, it provided a graphical user interface for this popular 8-bit computer....
 KERNAL.

The (completely different) OS core in the 16/32-bit Commodore Amiga
Amiga

The Amiga is a family of personal computers originally developed by Amiga Corporation. Development on the Amiga began in 1982 with Jay Miner as the principal hardware designer....
 series was called the
Amiga ROM Kernel
AmigaOS

AmigaOS is the default native operating system of the Amiga personal computer. It was developed first by Commodore International, and initially introduced in 1985 with the Amiga 1000....
, using the correct spelling of kernel.