forum speccy.pl

ZX Spectrum => HARDWARE => NAPRAWY => Wątek zaczęty przez: cyborg50 w 2014.12.15, 19:30:10

Tytuł: Problem z górną pamięcią issue 6
Wiadomość wysłana przez: cyborg50 w 2014.12.15, 19:30:10
Witam
Próbuję ożywić gumiaka issue 6. TR4 zwarty, wymieniony, uwalony z80, wymieniony, jedna z kości górnej pamięci wymieniona na 6164.
Komputer wykazuje 32771 ramu, 32772 poprawnie przechowuje wartości w szczególności 85 i 170 :)
Co za licho?

Pozdrawiam
Tytuł: Odp: Problem z górną pamięcią issue 6
Wiadomość wysłana przez: trojacek w 2014.12.15, 19:41:55
Chyba 4164?
Wymień pozostałe 7 ;)

Jeśli to nie pomoże, to pewnie problem z odświeżaniem - trzeba by prześledzić RAS/CAS i sprawdzić multipleksery LS157.
Tytuł: Odp: Problem z górną pamięcią issue 6
Wiadomość wysłana przez: cyborg50 w 2014.12.15, 20:29:03
Oczywiście że 4164, wymieniłem wszystkie 8 :) to samo.
Problem z odświeżaniem .... czyli co? Nie pasuje mu ta wymieniona 4164? W innej płycie chodzi.
Tytuł: Odp: Problem z górną pamięcią issue 6
Wiadomość wysłana przez: trojacek w 2014.12.15, 20:41:34
ULA generuje sygnały RAS i CAS, które są używane do przełączania multiplekserów szyny adresowej (Row Access Strobe, Column Access Strobe). Dzięki temu 4164 i podobne pamięci RAM mają mniej nóżek. Jeżeli któryś z sygnałów jest źle (lub wcale) generowany w wyniku awarii ULI - to pamięć zostanie błędnie zaadresowana i odczytane lub zapisane dane będą bzdurne. Tak samo się dzieje, jeśli któryś z multiplekserów jest wadliwy, a sygnały RAS i CAS są prawidłowe.
Podobny mechanizm jest wykorzystywany do odświeżania pamięci DRAM, Z80 wykonuje cykl REFRESH wystawiając na szynę adresową jeden z 128 adresów (7 bitów), nie dokonując ani odczytu, ani zapisu. I tu kluczową rolę odgrywają sygnały RAS i CAS oraz multipleksery, bo gdy coś szwankuje - DRAM "zapomina" swoją zawartość.
Aby pamięć DRAM "zrozumiała", że nie jest to dostęp tylko odświeżanie, manipuluje się sygnałami RAS i CAS. Są na to trzy sposoby, opisane tutaj:

http://en.wikipedia.org/wiki/Dynamic_random-access_memory#Asynchronous_DRAM

O ile pamiętam, Spectrum używa klasycznego odświeżania samym sygnałem RAS.
Tytuł: Odp: Problem z górną pamięcią issue 6
Wiadomość wysłana przez: trojacek w 2014.12.15, 21:14:50
Teraz do mnie dotarło - to Issue 6... Nie ma LS157. Tylko ta druga glizda 40-nóżkowa...
Tytuł: Odp: Problem z górną pamięcią issue 6
Wiadomość wysłana przez: cyborg50 w 2014.12.15, 21:43:01
Dokładnie :( a ula jest ok bo w innej płycie chodzi.

Przy problemie z odświeżaniem oczekiwał bym że informacja w ramie powinna się zmieniać zanikać itp a tu co zapiszę to jest. No i zawsze jest 32771 ramu. Co by nie było raczej pcf1306p nigdzie nie dostanę
Tytuł: Odp: Problem z górną pamięcią issue 6
Wiadomość wysłana przez: trojacek w 2014.12.15, 22:19:56
Był niedawno na Allegro, wygryziony z kawałkiem płyty.
Pozostaje Yarkowa proteza, ale najlepiej wcześniej sprawdzić podmieniając ten układ.
Muszę sprawdzić, powinienem gdzieś mieć szóstkę z podstawkami.
Tytuł: Odp: Problem z górną pamięcią issue 6
Wiadomość wysłana przez: steev w 2014.12.15, 23:36:36
Jest jeden na ebayu... ale nie jest to link dla ludzi o słabym sercu :>
http://www.ebay.com/itm/AMSTRAD-40058-/361142866119?pt=UK_BOI_Electrical_Components_Supplies_ET&hash=item5415cad0c7
(btw, tego akurat scalaka można podmienić płytką zastępczą)
Tytuł: Odp: Problem z górną pamięcią issue 6
Wiadomość wysłana przez: andy w 2014.12.16, 00:05:44
No i zawsze jest 32771 ramu. Co by nie było raczej pcf1306p nigdzie nie dostanę
A może dać po prostu jakiś normalny RAM (np. jak w pajacu)?
Tytuł: Odp: Problem z górną pamięcią issue 6
Wiadomość wysłana przez: trojacek w 2014.12.16, 10:24:25
A może dać po prostu jakiś normalny RAM (np. jak w pajacu)?

Racja, wyjdzie taniej, niż szukanie superrzadkiego scalaka.
Tytuł: Odp: Problem z górną pamięcią issue 6
Wiadomość wysłana przez: pear w 2014.12.16, 11:14:59
Na górny RAM nadaje się wynalazek Lotharka. http://speccy.pl/forum/index.php/topic,1436.msg19750.html#msg19750 (http://speccy.pl/forum/index.php/topic,1436.msg19750.html#msg19750)
Tytuł: Odp: Problem z górną pamięcią issue 6
Wiadomość wysłana przez: zaxon w 2014.12.16, 12:48:20
Nie taki rzadki ;)
(http://images51.fotosik.pl/575/7e83eaef525b398cm.jpg) (http://www.fotosik.pl/showFullSize.php?id=7e83eaef525b398c)
Tytuł: Odp: Problem z górną pamięcią issue 6
Wiadomość wysłana przez: cyborg50 w 2014.12.16, 15:29:59
A może dać po prostu jakiś normalny RAM (np. jak w pajacu)?

Racja, wyjdzie taniej, niż szukanie superrzadkiego scalaka.

Czyli pomysł jest taki żeby zastosować ram który ma  16 bitową szynę adresową i ominąć multipleksery dla górnej pamięci, tak?
Tytuł: Odp: Problem z górną pamięcią issue 6
Wiadomość wysłana przez: trojacek w 2014.12.16, 15:34:45
Tak, kostkę SRAM. SRAM-y nie mają multipleksowania szyny adresowej, bo są w większych obudowach. Tu by się nadał 62256, akurat 32 kilobajty. Najprościej nalutować go na pamięć ROM odginając CS, WE i OE, WE łączymy z WR procesora, OE - z RD procesora, a do sterowania CS musimy dorobić kawałek logiki.
Ale może to, co zasugerował Zaxon, będzie prostsze (i estetyczniejsze). To mniej więcej to samo, co kiedyś zaprojektował Yarek - płytka z multiplekserami wciskana w miejsce walniętego scalaka.

I jeszcze mi jedna rzecz do głowy przyszła - po rzuceniu okiem na schemat widzę, że ULA generuje RAS i CAS tylko dla dolnego RAM-u. Jest więc szansa, że padł IC28 (74LS04). To byłaby najtańsza opcja naprawy, jeśli okazałaby się prawdziwa.
Tytuł: Odp: Problem z górną pamięcią issue 6
Wiadomość wysłana przez: martin381 w 2014.12.16, 23:10:04
Pisałem kiedyś o tym rozwiązaniu  z pamięcią  62256 w poście

http://speccy.pl/forum/index.php/topic,1544.msg19581.html#msg19581

sprawdzone empirycznie z płytką ISSUE2 z grami i innym softem do dzisiaj
Tytuł: Odp: Problem z górną pamięcią issue 6
Wiadomość wysłana przez: trojacek w 2014.12.16, 23:24:18
Tylko że w Issue 6a nie ma takiego IC23 i trzeba jakoś inaczej zakombinować. Może da się wykorzystać któreś z wyjść z 4 inwerterów IC28.
Tytuł: Odp: Problem z górną pamięcią issue 6
Wiadomość wysłana przez: cyborg50 w 2014.12.18, 15:15:59
A nie można by się dolutować do a15 cpu (pin5) i tego wykorzystać jako cs? a15 zawsze jest 1 jak cpu chce górną pamięć.
Tytuł: Odp: Problem z górną pamięcią issue 6
Wiadomość wysłana przez: trojacek w 2014.12.18, 15:24:45
Ten CS to jest tak naprawdę /CS, czyli aktywny w stanie niskim. A15 trzeba by zanegować. Ale i to nie rozwiązałoby problemu, bo pamięć zgłaszałaby się również na I/O. Trzeba też zatem uwzględnić sygnał /MREQ.
Tytuł: Odp: Problem z górną pamięcią issue 6
Wiadomość wysłana przez: cyborg50 w 2014.12.18, 20:23:15
Czyli jak mreq jest niski i a15 wysoki to na cs mam mieć 0 w przeciwnym wypadku 1 tak?
Tytuł: Odp: Problem z górną pamięcią issue 6
Wiadomość wysłana przez: trojacek w 2014.12.18, 21:01:06
Tak, dokładnie tak.
Można to zrobić np. na LS138. Albo na LS00, używając jednej bramki jako negator.
Albo od biedy na tranzystorze.
Tytuł: Odp: Problem z górną pamięcią issue 6
Wiadomość wysłana przez: cyborg50 w 2014.12.18, 22:20:59
A jeszcze jeden pomysł... Zakładając że to pcf1306p padł no ale nie cały. Procesor widzi kawałek górnego ramu oraz ten ram działa poprawnie tzn pamięta i nie znika. A to chyba oznacza że sygnały ras i cas są generowane poprawnie. O ile dobrze rozumiem schemat issue 6 :) to na nóżce 2 74ls04 ma zanegowany ras. To może by to wykorzystać jako cs? Chodzi mi o to żeby nie dodawać układów. Bredzę?
Tytuł: Odp: Problem z górną pamięcią issue 6
Wiadomość wysłana przez: trojacek w 2014.12.18, 22:29:13
Nie, nie bredzisz.
Ja zakładałem całkowity pad tego scalaka, a może jego kawałek będzie działać.
RAS jest sygnałem aktywnym w stanie niskim, czyli dokładnie jak CS, nic nie trzeba negować. Tylko co z A15? Bo RAS raczej go nie uwzględnia w swojej logice (muszę chwilkę pomyśleć).
<cyk cyk cyk>
Hmm, są dwa RAS-y, na dół (16KB) i na górę (32KB). Warto spróbować. Chyba tak samo działał pomysł martina381.
Tytuł: Odp: Problem z górną pamięcią issue 6
Wiadomość wysłana przez: cyborg50 w 2014.12.18, 23:21:05
Jeszcze wpadłem na to żeby pooglądać schemat od issue 3a i jeśli się nie mylę to ic23 pin 6 to jest cas. Jutro spróbuje zobaczę co będzie.
Tytuł: Odp: Problem z górną pamięcią issue 6
Wiadomość wysłana przez: trojacek w 2014.12.18, 23:43:37
Czy RAS, czy CAS, dużej różnicy nie ma, bo nie chodzi o odświeżanie.
Przy dostępie do DRAM oba te sygnały idą na dół, tylko z przesunięciem czasowym.
Tytuł: Odp: Problem z górną pamięcią issue 6
Wiadomość wysłana przez: cyborg50 w 2014.12.20, 20:58:53
Działa :)
Dzięki
Tytuł: Odp: Problem z górną pamięcią issue 6
Wiadomość wysłana przez: trojacek w 2014.12.20, 21:00:46
A jak naprawiłeś?
Tytuł: Odp: Problem z górną pamięcią issue 6
Wiadomość wysłana przez: cyborg50 w 2014.12.20, 21:40:31
no tak :)
Ram na rom i cs z pinu 15 4164(cas).  No i oczywiście  reszta tak jak pokazywał martin381.
Tytuł: Odp: Problem z górną pamięcią issue 6
Wiadomość wysłana przez: trojacek w 2014.12.20, 21:43:06
Czyli w sumie nadal nie wiesz, czemu źle działało...
Tytuł: Odp: Problem z górną pamięcią issue 6
Wiadomość wysłana przez: cyborg50 w 2014.12.20, 21:58:32
Moja teoria jest taka że padł któryś mux od strony pamięci i przez to istniały np 2 adresy które wskazywały na tą samą komórkę ramu.
Nie wiem jak spektrum testuje pamięć na początku ale musi jakoś testować nie tylko czy pamięć działa ale też czy właśnie adresowanie jest poprawne. Wykazywał 32771 ramu a 32772 też była ok.
Tytuł: Odp: Problem z górną pamięcią issue 6
Wiadomość wysłana przez: matofesi w 2014.12.22, 09:29:38
Testowanie pamięci na starcie działa następująco:
1. zaczynając od góry pamięci ($FFFF) do wszystkich komórek aż do $4000 ładowane jest $02 - bez żadnych testów.
2. zaczynając od $4000 i jadąc w górę zawartość komórki pamięci jest zmniejszana o jeden - jeśli wynik zwraca znacznik Z to znaczy, że ta komórka jest wadliwa
3. poprawna komórka zmniejszana jest jeszcze raz i jeśli tym razem operacja zwróciła znacznik Z to komórka uznawana jest za sprawną i pętla jedzie dalej do góry pamięci
4. ostatnia "poprawna" komórka jest ustawiana jako "koniec pamięci" i od niej są inicjowane wszystkie pozostałe struktury.

Test nie jest jakoś bardzo wyrafinowany ale jak widać wychwytuje przypadki standardowe jak i niektóre niestandardowe.