arturch1969 napisał: wygląda to tak jak by nie widział gornego ramu , ale skoro tak to dlaczego go zapisuje ?
Napisz nieco inny program. Od adresu 0 do 23295 (ROM+SCREEN) wpisz jakąś wartość, powiedzmy 85 (patern 01010101). Teraz w drugiej pętli zapisuj 170 (patern 10101010) w przedziale adresów 32768 do 56063, ale tu przed
każdym zapisem sprawdzaj, czy już nie ma tam wartości 85 i zgłoś jeśli by tak się stało. Jeśli program już w początkowych adresach zgłosi, że znalazł poprzednią wartość to nie działa poprawnie dekodowanie adresów.
Przyczyn może być kilka (dotyczą również sytuacji, gdyby program jednak przeszedł bez błędów):
- uszkodzony IC 24, 74LS00 - bramka C jest odpowiedzialna za dekodowanie adresu A15 dla górnej pamięci,
- uszkodzony IC 23, 74LS32 - bramki służą do sterowania sygnałami RAS i CAS górnej połówki pamięci,
- uszkodzony jednak jeden z IC 25/IC 26, 74LS157, co mniej prawdopodobne bo twierdzisz, że cały górny RAM zapisuje się bez błędów,
- uszkodzona ULA, i jej wewnętrzny dekoder adresów, przez co pamięć od adresu 16384 do 32767 powtarza się killkukrotnie w górnej połówce i procedura testująca RAM zaszyta w ZX ROM odrzuca zakres od 32768 do 65535 jako z błędami odczytu.
Osobiście stawiam na 74LS00 bo od niego zależą sumy A15+RD i A15+WR.