RE: disable memory refresh of VIC2?

RE: disable memory refresh of VIC2?

From: ruud.baltissen_at_apg.nl
Date: Thu, 9 Apr 2009 07:28:59 +0200
Message-ID: <3FAF2D74FB701448B997B2CB7A0076C20F4C0A52@winsv116.office01.internalcorp.net>
Hallo Michael,


Sorry for the delay but I hoped for anyone to answer who knows more
about the stuff.

 
> How does the VIC refreshs the RAM? According to the VIC article it
> generates an address and does a write?

I'm quite sure that this is NOT the case. The DRAMs in the C64/128 have
a multiplexed address bus. You offer the address in two parts: the Row
Address and Column Address. No schemtic at hand but IRRC two 74LS257's
take care of splitting the address in two in the C64. Negating either
the RAS input or CAS input (S = Select) tells the DRAM which part of the
address is valid.

To refresh a DRAM only the Row Address is needed and it has to be done
in READ mode. 
The older C64's use 200 ns. DRAMs. This means they can be read/written
within 200 nanoseconds. BUT then the DRAM needs a recovery time of at
least 150 ns. This totals 350 ns. which fits nicely inside the 500 ns.
of a half clock cycle. But this means there is no time for a normal read
and a refresh within a half clock cycle. OTOH this refresh cycle is not
needed every clock cycle. And how the VIC combines the refresh and his
real work, I have no idea.


> Can I do this also via VPU by reading or writing certain addresses?
> If yes, what memory addresses are refreshed if I read a 
> certain address?

You can refresh the DRAM just by reading certain addresses. Just find
out what address lines are connected to the DRAM by 74LS157. I have seen
a small 6502 machine whose adress lines A0..A7 where used for RAS and it
run a wait loop where 256 bytes only contained the instructions "LDA
#$FF". As these 4164's only needed to be refreshed within 2 ms., he had
roughly one ms. to do the actual job.

I hope this helps a bit.


--
     ___
    / __|__
   / /  |_/     Groetjes, Ruud
   \ \__|_\
    \___|       URL: Ruud.C64.org

 
De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd voor de 
geadresseerde. Wanneer u dit bericht per abuis ontvangt, verzoeken wij u contact op te 
nemen met de afzender per kerende e-mail. Verder verzoeken wij u in dat geval dit 
e-mailbericht te vernietigen en de inhoud ervan aan niemand openbaar te maken. 
Wij aanvaarden geen aansprakelijkheid voor onjuiste, onvolledige dan wel ontijdige 
overbrenging van de inhoud van een verzonden e-mailbericht, noch voor daarbij 
overgebrachte virussen.

APG Algemene Pensioen Groep NV is gevestigd te Heerlen en is ingeschreven in het handelsregister van de Kamer van Koophandel Limburg onder nummer 14099617


The information contained in this e-mail is confidential and may be privileged. 
It may be read, copied and used only by the intended recipient. 
If you have received it in error, please contact the sender immediately by 
return e-mail; please delete in this case the e-mail and do not disclose it's 
contents to any person. We don't accept liability for any errors, omissions, 
delays of receipt or viruses in the contents of this message which arise as a 
result of e-mail transmission.

APG Algemene Pensioen Groep NV is registered in the trade register of the Chamber of Commerce Limburg, The Netherlands, registration number: 14099617



       Message was sent through the cbm-hackers mailing list
Received on 2009-04-09 07:46:06

Archive generated by hypermail 2.2.0.