Re: Accessing the C64 memory between 65xx chips operations.

From: Gerrit Heitsch <gerrit_at_laosinh.s.bawue.de>
Date: Sun, 19 Apr 2020 19:37:53 +0200
Message-ID: <1b9c4def-1e44-0620-dc3e-c86e4547dd3d_at_laosinh.s.bawue.de>
On 4/19/20 7:08 PM, tokafondo wrote:
> Thanks both for  your answers.
> 
> As I tried to show in the timing diagram, I'm not talking about kick /in/
> during the high or low phase of the clock, /instead of/ the VIC or the 6510,
> but /between/ their turns.
> 
> The duration of the memory access of the VIC, no matter how much it does,
> (64, 65, 40 more, etc.) its more or less /fixed/. It lasts about 250 ns, as
> others have said to me.
> 
> But if my calculations are right, one cycle of the CPU, running at ~1mhz (a
> bit more in NTSC, a bit less in PAL) lasts 1000ns.
> 
> And if there is a low phase and a high phase in every cycle, then every half
> cycle (low phase for VIC, high phase for CPU) lasts ~500 ns.
> 
> Then... in every half cycle that lasts ~500 ns, we have the right chip
> sending the access type (read or write), accessing the bus, addressing the
> memory location, moving the data (reading or writing), and then releasing
> the bus, until the next half cycle. The next half cycle, it could be the VIC
> again to fetch more data, to refresh the DRAM, or whatever, OR the CPU to do
> its own things.
> 
> Between that 'release the bus' and  the next 'accessing the bus' there are
> **IN THEORY** a few 100's of ns where the bus is not used and *THAT* is
> where I think a third /player/ could kick in to make an additional read or
> write.

That time only looks 'free'. The -15 on a RAM chip means that 150ns 
after you pull /RAS low, you will get your data. But there is also a 
minimum time that needs to elapse between /RAS going high on the next 
time you can pull /RAS low again. During that time the DRAM writes back 
the row to the RAM matrix.

The combination of read access time and /RAS precharge time is also 
known as the /RAS or read/write cycle time. For a 150ns DRAM that's 
260ns minimum, for a 200ns DRAM it's around 300ns.

So you see, there is not enough free time to add an additional RAM access.

  Gerrit
Received on 2020-05-30 01:27:35

Archive generated by hypermail 2.3.0.