miller@uiucdcs.UUCP (miller ) (02/17/84)
#N:uiucdcs:36100045:000:1276 uiucdcs!miller Feb 16 23:42:00 1984 First some background: 1) Most people know that there is a well defined character set called ascii. 2) Less people know that the Commodore character set which they call ascii is not ascii at all. In fact, it is their own invention as far as I can determine. Anyone who has played with terminal software knows there are similarities between the two, but they are *not* the same. 3) Even fewer people know that the codes you store into screen memory for use by the VIC chip are not ascii, nor even Commodore's ascii. Instead, they are so-called screen codes. The VIC chip looks at that value and uses it as an index into the character ROM to find the pattern for the character shape. Now, besides the fact that I can find little reason for 2, and even less reason for changing the order for 3, I have a question. I'm looking for the section of code in the c64 kernal which converts between codes 2 and 3. Yes, I know there are tables for both in the back of the Programmer's Reference Guide. I don't want to know the values, I'm looking for the address of the conversion algorithm (I want to patch it). I've traced through part, but not all, of the kernal and I haven't found it yet. Can anyone help out on this? A. Ray Miller Univ Illinois
kravitz@ccvaxa.UUCP (02/20/84)
#R:uiucdcs:36100045:ccvaxa:24100002:000:102 ccvaxa!kravitz Feb 17 13:38:00 1984 The addresses of these tables are reputed to be in the memory map given in the Programmers Ref Guide.
schneids@ssc-vax.UUCP (Jim Schneidewind) (02/21/84)
Obviously, when you reread A. Ray Miller's original article on the subject, you'll discover that your article is of no value. (I know this article probably belongs in net.flames - but what kind of masochist reads that?) Schneids ssc-vax!schneids
miller@uiucdcs.UUCP (miller ) (02/22/84)
#R:uiucdcs:36100045:uiucdcs:36100047:000:347 uiucdcs!miller Feb 21 16:12:00 1984 The Programmer's Reference Guide memory map does not include a map of the kernal. It simply says something like "Kernal ROM". That's not much of a description for 8K of code. Besides, I don't want the tables, I want the address of the subroutine that converts from one (cbm ascii) to the other (screen codes). A. Ray Miller Univ Illinois
miller@uiucdcs.UUCP (miller ) (02/22/84)
#R:uiucdcs:36100045:uiucdcs:36100050:000:596 uiucdcs!miller Feb 22 00:54:00 1984 By the way, sometime in the future when I get time, I'll type in a memory map for the c64 kernal (gee, that's the way Commodore spells it - OS is proba- bly better) and for the Basic ROMs. They aren't detailed enough to tell you *everything* but it's certainly better than "A000-BFFF BASIC ROM" & "E000-FFFF KERNAL ROM" that we read in the "Programmer's Reference Guide". Also, be aware that any addresses I provide may deviate slightly from what you have on your machine (due to Commodore's updates) but it should get you started. (future = at least a month) A. Ray Miller Univ Illinois