[net.micro.cbm] c64 kernel memory map, part 1

miller@uiucdcs.UUCP (miller ) (03/19/84)

#N:uiucdcs:36100060:000:2074
uiucdcs!miller    Mar 19 00:40:00 1984


     Ever wonder what was lurking down in the deep dark corners of the
kernel/kernal/OS?  Do you get tired of seeing "KERNAL ROM" as the only
description for 8K of code in the "Programmer's Reference Guide"?  Have you
tried to get a copy of the book that John Wright described (a commented
listing) but your local Commodore dealer doesn't carry it?
     Well, fear no more!  I will be typing in a series of articles which will
provide you with a memory map of the c64 kernel.  It is not complete, but it's
better than nothing.  I have compiled this map from two different publications,
plus additions by me from my disassembler as I (slowly) trace through the code.
I'll have to break this up into a series, much as I did for the floating point
routines, because things are a bit busy for me at the moment.
     One word of warning, however.  Commodore has made a few changes from time
to time so your machine will probably deviate from these addresses slightly.
But it should get you started.
     That out of the way, here is part one of the c64 kernel memory map:

E000-FFFF KERNEL ROM MEMORY MAP:

E043  series evaluation
E08D  RND constants
E097  perform RND
E264  perform COS
E26B  perform SIN
E2B7  perform TAN
E2E0  trig function constants
E30D  perform ATN
E33E  ATN constants
E394  initialize RAM vectors
E3A2  zero page CHRGET
E3BF  initialize Basic
E45F  messages
E4AD  empty (for future expansions)
E500  IOBASE
E505  SCREEN
E50A  PLOT
E518  CINT
E531  normalize screen
E544  clear screen
E566  home cursor
E56C  set screen pointers
E5A0  set default I/O devices, VIC chip
E5B4  remove char from keyboard queue
E632  input from screen
E684  quote mark test
E691  set up screen print
E6B6  advance cursor
E6F7  retreat cursor
E701  back into previous line
E716  output to screen
E87C  go to next line
E891  perform <return>
E8A1  check line decrement
E8B3  check line increment
E8CB  set color code

As Donald Knuth said, any typos "may be explained by the fact that it has been
prepared with the help of a computer".
More later...

A. Ray Miller
Univ Illinois