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