... to było pytanie raczej teoretyczne, ale mające potwierdzić, czy dobrze w pewnym momencie (po już waszym wytłumaczeniu) myślałem, ze zamiast dolnego 2x4416 w TC2048 nie da się (w prosty sposób) zastosować 2x4464, ale da się za elektronicznego punktu widzenia zastosować 2x 4x"4116"(jednonapięciowe) czy 4164 (oczyw. z 7bit rfsh).
Nie nie da się, ani z teoretycznego, ani praktycznego punktu widzenia. Nie ma znaczenia zastosowanie jednonapięciowych układów typu 4116. A nie da się bez dodatkowej logiki, ponieważ wewnętrzna organizacja układów 4116 jest inna niż zastosowanych w Timexie 4416. Zresztą pisałem o tym w wątku o Timmym (kol.
trojacek podsyłał
link). Ale jeszcze raz:
- 4116 - pamięć dynamiczna o pojemności 1 x 16384 bitów, 7 linii adresowych (A0-A6) na 7 kolumn (A0-A6), z czasem odświeżania 2 ms (7 bitowe),
- 4416 - pamięć dynamiczna o pojemności 4 x 16384 bitów, 8 linii adresowych (A0-A7) na 6 kolumn (A1-A6), z czasem odświeżania 4 ms (8 bitowe).
Może załączone obrazki lepiej przemówią.
Timex i SCLD
inaczej multipleksują linie adresowe niż ZX Spectrum i ULA. Nie można rozwiązania ZX Spectrum przełożyć wprost na zachowanie Timexa. Pomijam różnicę pomiędzy przełączaniem adresów przez SCLD, a zewnętrzne multipleksery w Timexe, bo są one z punktu widzenia pamięci 4416 zgodne.
A co do odświeżania, to w przypadku dolnego RAMu nie ma ono znaczenia, ponieważ pamięć ta jest także odświeżana przez każdy cykl operacji na pamięci obrazu. Konstrukcja ZX Spectrum/Timexa załatwia nam to bez udziału procesora. Zauważcie, że w ZX Spectrum tylko w płytach w wydaniu 1 i 2 /RFSH z Z80 jest podłączony do pamięci dolnego RAMu przez rezystor R57. Jedna z pierwszych modyfikacji fabrycznych mówi, aby go usunąć i odpiąć /RFSH od linii /RAS dolnego RAMu. Pozostawienie /RFSH może powodować powstawanie artefaktów na ekranie, dlatego w większości płyt wydania 2 jest miejsce na ten rezystor, ale fabrycznie go tam nie było.
W Timexie /RFSH jest dokładany przez SCLD do linii A7 i wychodzi z układu jako A7RB (R - refresh, B - buffer). Ta linia podpięta do wejścia zewnętrznego multipleksera 'LS157. Drugie jego wejście jest podpięte do A14, wyjście jest oznaczane jako MA7 i jest podpięte do wejścia A7 górnego RAMu (4416 lub 4464) oraz przez bufor/rezystor (MA7') do wejścia A7 dolnego RAMu. Stan linii A14 CPU jest ignorowany przez pamięć 4416, ponieważ wewnętrznie jest on pominięty (brak podpięcia adresu kolumny), ale ma znaczenie w układach 4464.