[net.micro.cbm] cbm ascii to screen codes

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