Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watnot!watmath!clyde!cuae2!ihnp4!ihlpg!cuda From: cuda@ihlpg.UUCP Newsgroups: comp.sys.cbm Subject: Re: Added RAM at $DE00 on C64 Message-ID: <2843@ihlpg.UUCP> Date: Fri, 13-Feb-87 09:23:11 EST Article-I.D.: ihlpg.2843 Posted: Fri Feb 13 09:23:11 1987 Date-Received: Sat, 14-Feb-87 06:45:05 EST References: <12450@watnot.UUCP> Distribution: na Organization: AT&T Bell Labs, Naperville, IL Lines: 28 > > I am having a problem with the expansion port of the C64. The interface I have > made puts 256 bytes of RAM in the I/0 1 block ($DE00 to $DEFF). I am using > HM-6116 chips with 150ns access time. When I write to location $DE09, the > information at location $DE49 sometimes changes with it. I have tried several > different chips, but the problem persists. Writing to other addresses does not > seem to create the situation. > > I would really appreciate any suggestions on how to correct this problem, or > what is causing it. > > Terry. > > {watmath,alberta,ubc-vision}!watnot!thfisher There is already RAM at those locations so I am a little confused as to why you would need to put ram there externally. In fact (if I remember correctly there are 3! things addressed at those locations. I/O registers, RAM, and character ROM. The ram under all those locations is usable but you will need to be carefull about how you do it. I believe that one of the I/O bits on the 6510 controls the area between RAM and I/O and some bit in one of the 6526 control the character memory at that point. The safest and most non-interfeering way to use it is to switch from I/O to RAM in the uP and read/write what you need then switch the I/O back in. The Programmers Reference Guide can tell you which bit needs to be changed. Mike Nelson