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