006
03.12.2021, 18:41 Uhr
maleuma
|
Zitat: | jde schrieb Das R-Register habe ich früher in meinem CP/M BIOS in einer CTC Interrupt Routine wegen dem 8-Bit DRAM Refresh geändert. Ich hatte in meinem System 256k RAMs für die RAM Disk die brauchten 8-Bit Refresh.
rfsh: ei ; 8 Bit Refresh Routine push af ld a,r xor 80h ld r,a pop af reti |
Das finde ich gewagt. Zum einen wird hier beim Befehl LR R,A ein veralteter Wert in die 7 Bit des R-Registers zurück geschrieben. Zum anderen wird das 8. Bit nicht durch normales Hochzählen des 8-Bit-Inhaltes realisiert, sondern nach einer bestimmten Zeit einfach gewechselt. Da muss die CTC mit einer Zeitkonstante programmiert werden, welche in etwa den passenden Zeitpunkt erwischt.
Aber vermutlich sind die Refresh-Zeiten nicht so kritisch, dass es hier Probleme gibt. Viele dRAM's halten ja sogar ganz ohne Refresh den Inhalt eine ganze Weile. -- Mario. |