Information about 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 8 KiB of the 8-bit CPU's 64 KiB 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 assembly language subroutine (written in ca65 assembler format/syntax):

MSG: .ASCIIZ "" 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 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[1] 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.[2]

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, using the correct spelling of kernel.

Notes

  1. ^  See On The Edge: The Spectacular Rise and Fall of Commodore, page 202.
  2. ^  The kernel is the most fundamental part of a program, typically an operating system, that resides in memory at all times and provides the basic services. It is the part of the operating system that is closest to the machine and may activate the hardware directly or interface to another software layer that drives the hardware
  3. ^ The kernal jump table, used to access all the subroutines in the kernal, was an array of JMP (jump) instructions leading to the actual subroutines. This feature ensured compatibility with user-written software in the event that code within the kernal ROM needed to be relocated in a later revision.
  4. ^ Many of the kernal subroutines (e.g., OPEN and CLOSE) were vectored through page three in RAM, allowing a programmer to intercept the associated kernal calls and add to or replace the original functions.
kernel is the central component of most computer operating systems (OS). Its responsibilities include managing the system's resources (the communication between hardware and software components).
..... Click the link for more information.
Commodore, the commonly used name for Commodore International, was an American electronics company based in West Chester, Pennsylvania which was a vital player in the home/personal computer field in the 1980s.
..... Click the link for more information.
The notion of read-only data can also refer to file system permissions.


Read-only memory (usually known by its acronym, ROM) is a class of storage media used in computers and other electronic devices.
..... Click the link for more information.
An operating system (OS) is the software that manages the sharing of the resources of a computer. An operating system processes system data and user input, and responds by allocating and managing tasks and internal system resources as a service to users and programs of the
..... Click the link for more information.
8-bit integers, memory addresses, or other data units are those that are at most 8 bits (1 octet) wide. Also, 8-bit CPU and ALU architectures are those that are based on registers, address buses, or data buses of that size.
..... Click the link for more information.
home computer was the description of the second generation of desktop computers, entering the market in 1977 and becoming common during the 1980s. They are also members of the class known as personal computers.
..... Click the link for more information.
The PET (Personal Electronic Transactor) was a home-/personal computer produced by Commodore starting in the late 1970s. Although it was not a top seller outside the Canadian, US, and UK educational markets, it was Commodore's first full-featured
..... Click the link for more information.
19th century - 20th century - 21st century
1940s  1950s  1960s  - 1970s -  1980s  1990s  2000s
1974 1975 1976 - 1977 - 1978 1979 1980

Also: 1977 (album) by Ash.

..... Click the link for more information.
Type Home computer
Released 1980 (VIC-1001) / 1981
Discontinued 1985
Processor MOS Technology 6502
@ ca. 1MHz
Memory 5 KB - 64 KB
OS Commodore BASIC 2.
..... Click the link for more information.
Type Home computer
Released August 1982
Discontinued April 1994
Processor MOS Technology 6510 @ 1.02 MHz (NTSC version) / 0.985MHz (PAL version)
Memory 64 KB
OS Commodore BASIC 2.
..... Click the link for more information.
Type Home computer
Released 1984
Discontinued 1985
Processor MOS Technology 7501
@ 1.76 MHz
Memory 64 KB
OS Commodore BASIC 3.5

The Commodore Plus/4 was a home computer released by Commodore International in 1984.
..... Click the link for more information.
Type Home computer
Released 1984
Discontinued ?
Processor MOS Technology 7501
@ 0.89 MHz or 1.76 MHz
Memory 16 KB
OS Commodore BASIC 3.
..... Click the link for more information.
Type Home computer
Released 1985
Discontinued 1989
Processor MOS Tech. 8502 @ 2 MHz
Zilog Z80A @ 4 MHz
Memory 128 KB
OS Microsoft BASIC 7.
..... Click the link for more information.
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 PET of 1977 to the C128 of 1985.
..... Click the link for more information.
In computer programming, a branch table (sometimes known as a jump table) is a term used to describe an efficient method of transferring program control (branching) to another part of a program using a table of branch instructions.
..... Click the link for more information.
kibibit (a contraction of kilo binary digit) is a unit of information or computer storage, abbreviated Kibit, or sometimes Kib. (Note that the abbreviation is capitalized, while kbit is not.
..... Click the link for more information.
Robert or Bob Russell may refer to:
  • Robert Russell (architect) (1808-1900), London born architect and surveyor active in Australia
  • Robert Hamilton Russell (1860–1933), English-born Australian surgeon

..... Click the link for more information.
The MOS Technology 6502 is an 8-bit microprocessor that was designed by Chuck Peddle for MOS Technology in 1975. When it was introduced, it was the least expensive full-featured CPU on the market by a considerable margin, costing less than one-sixth the price of competing designs
..... Click the link for more information.
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.
..... Click the link for more information.
cc65 is a complete cross development package for 65(C)02 systems, including a powerful macro assembler, a C compiler, linker, librarian and several other tools.

It is based on a C compiler that was originally adapted for the Atari 8-bit computers by John R. Dunning.
..... Click the link for more information.
hexadecimal, base-16, or simply hex, is a numeral system with a radix, or base, of 16, usually written using the symbols 0–9 and A–F, or a–f.
..... Click the link for more information.
19th century - 20th century - 21st century
1950s  1960s  1970s  - 1980s -  1990s  2000s  2010s
1977 1978 1979 - 1980 - 1981 1982 1983

Year 1980 (MCMLXXX
..... Click the link for more information.
Frank James (Jim) Butterfield (14 February 1936–29 June 2007) was a Toronto-based author and computer programmer famous for his work with Commodore microcomputers, and a longtime contributor to periodicals such as The Transactor and TPUG.
..... Click the link for more information.
A backronym (or bacronym) is a phrase that is constructed "after the fact" from a previously existing abbreviation, the abbreviation being an initialism or an acronym.
..... Click the link for more information.
GEOS (Graphic Environment Operating System) was an operating system from Berkeley Softworks (later GeoWorks). Originally designed for the Commodore 64 and released in 1986, it provided a graphical user interface for this popular 8-bit computer.
..... Click the link for more information.
Amiga is a family of personal computers originally developed by Amiga Corporation. Development on the Amiga began in 1982 with Jay Miner (1932-1994) as the principal hardware designer.
..... Click the link for more information.
kernel is the central component of most computer operating systems (OS). Its responsibilities include managing the system's resources (the communication between hardware and software components).
..... Click the link for more information.


This article is copied from an article on Wikipedia.org - the free encyclopedia created and edited by online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of the wikipedia encyclopedia articles provide accurate and timely information please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.
Herod_Archelaus


page counter