Autor Wątek: Karabas-128 - ZX Spectrum 128k clone  (Przeczytany 29273 razy)

steev

  • *****
  • Wiadomości: 1185
  • Miejsce pobytu:
    inode 42
Odp: Karabas-128 - ZX Spectrum 128k clone
« Odpowiedź #195 dnia: 2021.06.19, 00:09:13 »
Mogę coś jeszcze sprawdzić, czy na tym etapie mogę uznać, że CPLD jest uszkodzony i powinienem zamówić nowy?
Może jeszcze przed wymianą CPLD powinienem np. spróbować z inną pamięcią? Przedmówcy pisali co prawda, że HM628128 działa w ich egzemplarzach, ale może konkretny model użyty w moim egzemplarzu ma jakiś problem z kompatybilnością z pozostałymi elementami? Moja pamięć to konkretnie HM628128LP-8.
Ja tam nie wiem, ale schemat mówi 70ns, ty dałeś kostkę 85ns.
Może mieć znaczenie...
Machines should work. People should think.

Atlantis

  • **
  • Wiadomości: 93
  • Miejsce pobytu:
    Kraków
Odp: Karabas-128 - ZX Spectrum 128k clone
« Odpowiedź #196 dnia: 2021.06.19, 11:52:08 »
Jeszcze jedna rzecz mnie zastanawia - w tych paru rzadkich momentach, kiedy na ekranie pojawia się ekran tytułowy (lub jego fragment), chodzi o ekran tytułowy BASIC-a, a nie meny służące do wyboru trybu pracy. Dobrze rozumiem, że na tym komputerze po starcie powinno pojawiać się menu z wyborem trybu pracy (stary basic, nowy basic, ładowanie z taśmy, testowanie taśmy i kalkulator)?
Czy jest możliwe, że brak tranzystorów na liniach klawiatury (i co z tym idzie, linie te widzące w powietrzu) mogą powodować jakiś problem z rozruchem komputera? Bo na chwilę obecną nic innego mi nie przychodzi do głowy, poza wadą CPLD...

trojacek

  • *****
  • Wiadomości: 6142
  • Miejsce pobytu:
    Warszawa
Odp: Karabas-128 - ZX Spectrum 128k clone
« Odpowiedź #197 dnia: 2021.06.19, 12:29:00 »
Skoro CPLD świruje, to nic dziwnego, że zgłasza się nie ten ROM. Nie znam Karabasa, ale chyba port sterujący przełączaniem (#7FFD) jest w CPLD.

Jeszcze jedna uwaga: za generację obrazu odpowiada CPLD, pewnie jakieś 80% wsadu to właśnie obraz. Tak więc, skoro masz stabilny obraz (abstrahując od jego zawartości), to prawie na pewno CPLD jest prawidłowo zaprogramowany i błędu powinieneś szukać gdzie indziej: jakieś niedoróbki druku, mikrozwarcia cyną, nielubiący się z generowanym CLK lub po prostu niestabilny procesor (próbowałeś wkładać inny?).
« Ostatnia zmiana: 2021.06.19, 14:25:29 wysłana przez trojacek »

damik

  • Rosin sniffer
  • *****
  • Wiadomości: 1505
  • Miejsce pobytu:
    Bytom
  • ZX Everyday
Odp: Karabas-128 - ZX Spectrum 128k clone
« Odpowiedź #198 dnia: 2021.06.19, 14:42:49 »
Moja pamięć ma czas dostępu 100ns, więc to raczej nie to.
Wsad jakim programowałem EPROM jest gdzieś udostępniony na początkowych stronach tego wątku.

EDIT: Wsad ROM jaki mam u siebie jest a 2 stronie tego wątku, udostepniony przez Maryjana.
« Ostatnia zmiana: 2021.06.19, 14:51:39 wysłana przez damik »
Wszystkiego po trochu: schwarz, mydło i powidło...

Atlantis

  • **
  • Wiadomości: 93
  • Miejsce pobytu:
    Kraków
Odp: Karabas-128 - ZX Spectrum 128k clone
« Odpowiedź #199 dnia: 2021.06.19, 15:53:07 »
Ja tam nie wiem, ale schemat mówi 70ns, ty dałeś kostkę 85ns.
Może mieć znaczenie...

Faktycznie, nie zwróciłem na to uwagi. Faktycznie myślicie, że to może mieć znaczenie w przypadku tak wolnego urządzenia jak Spectrum?

Skoro CPLD świruje, to nic dziwnego, że zgłasza się nie ten ROM. Nie znam Karabasa, ale chyba port sterujący przełączaniem (#7FFD) jest w CPLD.

Tak naprawdę nie wiem czy CPLD świruje. To zaledwie jedna z hipotez. Wiem, że generuje poprawny obraz. Wiem, że układ się zaprogramował i przeszedł weryfikację. Pomysł podmiany tego układu na inny egzemplarz chcę zostawić na koniec, gdy będę absolutnie pewien, że wina nie leży nigdzie indziej.

Cytuj
mikrozwarcia cyną

Jak na razie inspekcja druku niczego nie wykazała, ale nadal będę szukał.

Cytuj
lub po prostu niestabilny procesor (próbowałeś wkładać inny?).

Tak, trzy różne egzemplarze, wszystkie w wersji CMOS.

Cytuj
EDIT: Wsad ROM jaki mam u siebie jest a 2 stronie tego wątku, udostepniony przez Maryjana.

Tak, mój ROM jest zaprogramowany dokładnie tym samym wsadem.

EDIT: Udało mi się znaleźć jeszcze kilka egzemplarzy pamięci 628128 oraz 681000. Niestety wszystkie na 85 ns. Wydaje mi się, że typ (w większym stopniu) orz egzemplarz (w mniejszym stopniu) ma wpływ na wygląd mozaiki pojawiającej się po starcie. Na niektórych pamięciach jakby łatwiej było uzyskać też przynajmniej fragment ekranu startowego BASIC-a 48. Meny startowe nie pojawił osie ani razu.

Czy brak tranzystorów na przy gniazdku klawiatury może mieć na to wpływ? Czy raczej to mało prawdopodobna hipoteza?

EDIT2: Właśnie zauważyłem, że dwa egzemplarze 628128 to wersja na 70 ns. Wygląda na to, że to na nich najchętniej pojawia się ekran startowy. Meny główne nie pojawił się jeszcze ani razu. To coś znaczy?
I jeszcze jedna kwestia: czy to normalne, że CPLD robi się ciepły podczas pracy?
« Ostatnia zmiana: 2021.06.19, 17:09:32 wysłana przez Atlantis »

Klaud

  • *****
  • Wiadomości: 6068
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Karabas-128 - ZX Spectrum 128k clone
« Odpowiedź #200 dnia: 2021.06.19, 21:29:36 »
1. Tak, Altera może robić się dość ciepła przy jej dużym obciążeniu.

2. Tranzystory do klawiatury są na linach adresowych i bezpośrednio nie maja wpływy na działanie CPLD. Ważniejsze są rezystory podciągającą do Vcc na liniach KBD0-KBD4. Linie te są wejściami do CPLD.

3. Tranzystory dowolnym można zastąpić innymi PNP o takim samym układzie podłączeń.

4. CPLD ma 4 strony, wilgotnym palcem pomacaj każda z nich albo płytkę od spodu pod RAMem, w okolicach nóg 20 i 22. Czy będą jakieś zmiany na ekranie. Mam podejrzenia, że sygnały aktywujące RAM są niestabilne. Bez oscyloskopu tylko gdybamy.
KL
-----
R Tape loading error 0:1

Atlantis

  • **
  • Wiadomości: 93
  • Miejsce pobytu:
    Kraków
Odp: Karabas-128 - ZX Spectrum 128k clone
« Odpowiedź #201 dnia: 2021.06.19, 21:54:57 »
1. Tak, Altera może robić się dość ciepła przy jej dużym obciążeniu.

Czyli rozumiem, że w tym projekcie też jest obciążona i można to uznać za normalne?

Cytuj
2. Tranzystory do klawiatury są na linach adresowych i bezpośrednio nie maja wpływy na działanie CPLD. Ważniejsze są rezystory podciągającą do Vcc na liniach KBD0-KBD4. Linie te są wejściami do CPLD.

Tak, to już wiem. Zacząłem analizować kod VHDL wsadu i widzę, że tam jedynie jest sprawdzany stan dwóch linii przy resecie. Są one podciągnięte drabinką rezystorową i pochodzą z drugiego gniazdka, tego bez tranzystorów.
Teraz zastanawiam się czy przypadkiem nieustalone stany na tych liniach nie przeszkadzają nie tyle CPLD, co samemu programowi w ROM-ie przy starcie komputera.

Cytuj
3. Tranzystory dowolnym można zastąpić innymi PNP o takim samym układzie podłączeń.

Niestety nie mam żadnych o takim układzie połączeń. Dopiero zamówiłem. Miałem nadzieję, że będę miał te radzieckie, kolorowe "pastylki", jednak wszystkie jakie mam to NPN...

Cytuj
4. CPLD ma 4 strony, wilgotnym palcem pomacaj każda z nich albo płytkę od spodu pod RAMem, w okolicach nóg 20 i 22. Czy będą jakieś zmiany na ekranie. Mam podejrzenia, że sygnały aktywujące RAM są niestabilne.

Ok, sprawdzę. Co może powodować taką niestabilność?

Cytuj
Bez oscyloskopu tylko gdybamy.

Normalnie wziąłbym komputer do lokalnego Hckerspace'u, ale teraz siedzę na wsi, na pracy zdalnej, a w domowym warsztacie oscyloskopu brak. :/

W międzyczasie sprawdziłem jeszcze multimetrem czy między sąsiednimi pinami CPLD nie ma zwarć. Wygląda na to, że wszystko w porzdku.

EDIT:

Przeprowadziłem "test mokrego palca". Nie widać żadnych zauważalnych zmian.
Rzuciło mi się w oczy natomiast kilka nowych obserwacji:
- Nie każdy reset zdaje się przynosić jakiś efekt. To znaczy nieraz obraz na ekranie nie zmienia się w ogóle pomimo wielokrotnego naciskani resetu.
- Po niektórych resetach w końcu uzyskałem ekran testu taśmy oraz (częściowy) ekran startowy BASIC-a z 1986 roku. Menu startowego nadal nie widziałem.
« Ostatnia zmiana: 2021.06.19, 22:06:32 wysłana przez Atlantis »

Klaud

  • *****
  • Wiadomości: 6068
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Karabas-128 - ZX Spectrum 128k clone
« Odpowiedź #202 dnia: 2021.06.19, 23:38:37 »
Eee? Jakie stany nieustalone, na których liniach?

A „metoda Macajewa” przy ROM daje jakieś zmiany?
KL
-----
R Tape loading error 0:1

andy

  • *****
  • Wiadomości: 899
  • Miejsce pobytu:
    Kielce Wsch.
Odp: Karabas-128 - ZX Spectrum 128k clone
« Odpowiedź #203 dnia: 2021.06.19, 23:48:12 »
Kiedyś przy składaniu któregoś Maxa miałem taki numer - (c) 1982 Amstrair ....
Okazało się, że nie dolutowałem kołka pod jumperem wyboru ROM.
pzdr
a.
POKE 35899,0  ZX 81, ZX Spectrum +, +2, Harlequin, ZX Max 48 & 128, Spider 48, Chrome 128, TC 2048, divIDE, CPC 464

Atlantis

  • **
  • Wiadomości: 93
  • Miejsce pobytu:
    Kraków
Odp: Karabas-128 - ZX Spectrum 128k clone
« Odpowiedź #204 dnia: 2021.06.20, 00:21:50 »
Eee? Jakie stany nieustalone, na których liniach?

Mam na myśli brak tranzystorów przy gniazdku klawiatury. Kiedy komputer skanuje klawiaturę, to chyba (jeśli dobrze to interpretuję) będą tam stany nieustalone.

Cytuj
A „metoda Macajewa” przy ROM daje jakieś zmiany?

Z tego co widzę, to nie.

Kiedyś przy składaniu któregoś Maxa miałem taki numer - (c) 1982 Amstrair ....
Okazało się, że nie dolutowałem kołka pod jumperem wyboru ROM.

Wygląda na to, że w tej okolicy wszystko przylutowane.

Klaud

  • *****
  • Wiadomości: 6068
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Karabas-128 - ZX Spectrum 128k clone
« Odpowiedź #205 dnia: 2021.06.20, 09:03:46 »
Nie. Nie będą. ZX Spectrum skanuje klawiaturę 50 x na sekundę (Pentagon coś ok. 49 z groszem), wystawiając odpowiednie stany (zera) na liniach adresowych od A8 do A15. Jeśli jakiś klawisz jest wciśnięty i folia klawiatury przewodzi, to na odpowiedniej linii szyny danych klawiatury będzie logiczne zero. Jeżeli linie adresowe są w stanie wysokiej impedancji lub żaden klawisz nie został wciśnięty, na wszystkich liniach KBD0-KBD4 będą logiczne jedynki, ponieważ są one podciągnięte do zasilania (logiczne 1) poprzez 5 rezystorów.

Tranzystory na A8 do A15 robią za bufory, a w oryginalnym ZX Spectrum są diody. W klonach pojawiły się tranzystory, ze względu na problemy ich współpracy z foliami trójwarstwowymi z plusa/toastracka.
KL
-----
R Tape loading error 0:1

zaxon

  • *****
  • Wiadomości: 4407
Odp: Karabas-128 - ZX Spectrum 128k clone
« Odpowiedź #206 dnia: 2021.06.20, 09:26:54 »
Zrobiłem z 20 Karabasów na tych Alterach od TV-SAT, z żadnym nie było problemu więc Alterze bym darował...
Siedem kilo smalcu,gesich jajek kopa,zeby moc to polknac tegiego trza chlopa. GG 3456993

Atlantis

  • **
  • Wiadomości: 93
  • Miejsce pobytu:
    Kraków
Odp: Karabas-128 - ZX Spectrum 128k clone
« Odpowiedź #207 dnia: 2021.06.20, 10:22:22 »
Zrobiłem z 20 Karabasów na tych Alterach od TV-SAT, z żadnym nie było problemu więc Alterze bym darował...

Jeśli to nie wina CPLD oraz powodem nie mogą być brakujące tranzystory przy klawiaturze albo AY-3-8912, to naprawdę kończą mi się pomysły:
- Zrobiłem wielokrotną wizualną inspekcję płytki.
- Sprawdziłem multimetrem czy nie ma zwarć pinów Altery.
- Napięcie zasilania jest w porządku.
- Wymieniłem podejrzane, luźno trzymające podstawki DIP20.
- Poprawiłem luty pod pozostałymi podstawkami i niektórymi rezystorami, np. gdy miałem wrażenie, że gdzieś może być odrobinę za mało cyny.
- Każdy układ (za wyjątkiem Altery) został podmieniony na inny egzemplarz, co najmniej jeden. Przez niektóre podstawki przewinęło się więcej egzemplarzy.
- Każdy układ który mogłem przetestować w ten sposób, przetestowałem MiniProgiem.
- Działa obwód generowania obrazu, co świadczy również o poprawnej pracy generatora sygnału zegarowego.
- Wsad w pamięci FLASH jest prawidłowy.

Powoli kończą mi się pomysły, a komputer nie chce działać. Klątwa jakaś czy co?

Jeszcze jedna obserwacja. Z jakiegoś powodu wciskanie przycisku reset nie zawsze powoduje jakąkolwiek reakcję. Przed chwilą na przykład komputer tkwił na ekranie tytułowym i pomimo wielokrotnego wciskania resetu nic się nie zmieniało - ekran nawet nie mignął... Sprawdziłem i wciskanie przycisku reset faktycznie powoduje zmianę stanu linii N_RESET z 5V na 0V, procesor powinien chyba jakoś na to zareagować... Czasem wciskanie resetu powoduje tylko minimalną zmianę, np. pojawianie się kwadratów na ekranie.

EDIT: Działa! Nie do końca wiem czemu, ale ruszył. W akcie desperacji postanowiłem włożyć CPU w wersji NMOS - zwykły Z80A. Z jakiegoś powodu z nim zadziałał prawidłowo, chociaż z kilkoma współczesnymi CMOS-ami (dwie sztuki Z84C0006 oraz jedna Z84C0010) nie chciał...
« Ostatnia zmiana: 2021.06.20, 10:40:37 wysłana przez Atlantis »

Maryjan

  • *****
  • Wiadomości: 5810
  • Miejsce pobytu:
    Skarżysko-Kam.
  • Scotch whiskey and West Highland Terrier
Odp: Karabas-128 - ZX Spectrum 128k clone
« Odpowiedź #208 dnia: 2021.06.20, 10:56:11 »
A widzisz Pan.
Procesor procesorowi nie równy :)
"... podobno są dwie szkoły, Falenicka i Otwocka."

damik

  • Rosin sniffer
  • *****
  • Wiadomości: 1505
  • Miejsce pobytu:
    Bytom
  • ZX Everyday
Odp: Karabas-128 - ZX Spectrum 128k clone
« Odpowiedź #209 dnia: 2021.06.20, 11:04:48 »
Mój Karabas działa poprawnie z procesorami CMOS, jednak głupieje wtedy z niektórymi interface np DivMMC.
Wszystkiego po trochu: schwarz, mydło i powidło...