-
1. Data: 2022-12-28 17:18:19
Temat: EasyZ80 - ciąg dalszy walki z retro komputerkiem
Od: Atlantis <m...@w...pl>
Na początku roku pisałem o swoich próbach uruchomienia retro komputerka,
pracującego pod kontrolą CP/M. Zapis tej dyskusji jest dostępny tutaj:
https://groups.google.com/g/pl.misc.elektronika/c/jd
OUkAPOeP0/m/gh2BBjLoAQAJ
Dokumentację można znaleźć na GitHubie:
https://github.com/skiselev/easy_z80
Tytułem przypomnienia:
1. Płytka została złożona z elementów pochodzących ze źródeł godnych
zaufania. Ma to znaczenie o tyle, że obecnie można natknąć się na sporo
chipów retro, których oznaczenia zostały zmienione przez chińskich
sprzedawców i nigdy nie ma pewności czy to faktycznie wersja CMOS pod
daną częstotliwość taktowania. Układy z serii Z80 zostały kupione
bodajże w Mouserze, a układy logiczne (przynajmniej te, które się dało)
przetestowałem TL868.
2. Po podłączeniu zasilania widać jakąś aktywność na szynie danych,
szynie adresowej i liniach sterujących. Linia reset reaguje na
naciskanie przycisku, a jego wciśnięcie jest widoczne na magistrali.
3. Widać także sygnały taktujące UART i procesor. Jednak na oscyloskopie
zegar CPU wyglądał podejrzanie - nie był to prawidłowy przebieg
prostokątny, ale z powodu mocno nachylonych zboczy bliżej mu było do
trójkąta albo sinusoidy.
Najważniejsze jednak jest to, że za nic nie mogłem zmusić tej
konstrukcji do prawidłowego działania. Po włączeniu zasilania (albo
kolejnym przyciśnięciu resetu) w terminalu szeregowym nie pojawiała się
żadna treść. Tymczasem powinno się wyświetlić menu startowe.
Dzisiaj wyciągnąłem tę płytkę z szuflady i postanowiłem jej dać jeszcze
jedną szansę. Właściwie jedyną zmianą jaką wprowadziłem było dodanie
rezystora pull-up 2k na linii zegara CPU (oryginalnie go brakowało,
chociaż widzę go w wielu konstrukcjach na Z80).
Nie wiem czy pomogła akurat ta zmiana, czy dzisiaj zwyczajnie miałem
więcej szczęścia, jednak za którymś podłączeniem zasilania/resetem udało
mi się już coś uzyskać w terminalu. Początkowo były jakieś szczątki
właściwych komunikatów:
https://ibb.co/N2pYkt9
https://ibb.co/4Yn3SPc
Za którymś razem udało mi się jednak uzyskać wspomniane menu:
https://ibb.co/7z5b68T
Niestety nie dało się wybrać żadnej z opcji - prawdopodobnie po
wyświetleniu tej zawartości komputer zawiesił się.
Mamy jednak dowód, że hardware nie jest zupełnie martwy, jednak jest
problem ze stabilnością. Czy ktoś ma pomysł jak to debugować? Przychodzi
mi teraz jeszcze do głowy pomysł wymiany generatora kwarcowego, którym
jest taktowany CPU. Coś jeszcze mogę zrobić/sprawdzić?
-
2. Data: 2022-12-28 17:43:13
Temat: Re: EasyZ80 - ciąg dalszy walki z retro komputerkiem
Od: Jacek Maciejewski <j...@g...pl>
Dnia Wed, 28 Dec 2022 17:18:19 +0100, Atlantis napisał(a):
> Czy ktoś ma pomysł jak to debugować?
Ja bym zaczął od przylutowania wielu różnych kondensatorów blokujących
zasilanie do masy w różnych miejscach, uzupełniając te które już są.
> Przychodzi mi teraz jeszcze do głowy pomysł wymiany generatora kwarcowego, którym
> jest taktowany CPU
Co prawda, nie wiadomo czym i jak mierzysz ten przebieg ale jeśli masz
możliwość to wymień, nie zaszkodzi a pomóc może.
--
Jacek
I hate haters.
-
3. Data: 2022-12-28 18:03:47
Temat: Re: EasyZ80 - ciąg dalszy walki z retro komputerkiem
Od: "J.F" <j...@p...onet.pl>
On Wed, 28 Dec 2022 17:18:19 +0100, Atlantis wrote:
> Na początku roku pisałem o swoich próbach uruchomienia retro komputerka,
> pracującego pod kontrolą CP/M. Zapis tej dyskusji jest dostępny tutaj:
>
> https://groups.google.com/g/pl.misc.elektronika/c/jd
OUkAPOeP0/m/gh2BBjLoAQAJ
>
> Dokumentację można znaleźć na GitHubie:
> https://github.com/skiselev/easy_z80
>
>
> Tytułem przypomnienia:
> 1. Płytka została złożona z elementów pochodzących ze źródeł godnych
> zaufania. Ma to znaczenie o tyle, że obecnie można natknąć się na sporo
> chipów retro, których oznaczenia zostały zmienione przez chińskich
> sprzedawców i nigdy nie ma pewności czy to faktycznie wersja CMOS pod
> daną częstotliwość taktowania. Układy z serii Z80 zostały kupione
> bodajże w Mouserze, a układy logiczne (przynajmniej te, które się dało)
> przetestowałem TL868.
> 2. Po podłączeniu zasilania widać jakąś aktywność na szynie danych,
> szynie adresowej i liniach sterujących. Linia reset reaguje na
> naciskanie przycisku, a jego wciśnięcie jest widoczne na magistrali.
> 3. Widać także sygnały taktujące UART i procesor. Jednak na oscyloskopie
> zegar CPU wyglądał podejrzanie - nie był to prawidłowy przebieg
> prostokątny, ale z powodu mocno nachylonych zboczy bliżej mu było do
> trójkąta albo sinusoidy.
To potrafi byc efekt oscyloskopu - obciazenia przez niego, lub na
koncu kabla.
> Najważniejsze jednak jest to, że za nic nie mogłem zmusić tej
> konstrukcji do prawidłowego działania. Po włączeniu zasilania (albo
> kolejnym przyciśnięciu resetu) w terminalu szeregowym nie pojawiała się
> żadna treść. Tymczasem powinno się wyświetlić menu startowe.
>
> Dzisiaj wyciągnąłem tę płytkę z szuflady i postanowiłem jej dać jeszcze
> jedną szansę. Właściwie jedyną zmianą jaką wprowadziłem było dodanie
> rezystora pull-up 2k na linii zegara CPU (oryginalnie go brakowało,
> chociaż widzę go w wielu konstrukcjach na Z80).
>
> Nie wiem czy pomogła akurat ta zmiana, czy dzisiaj zwyczajnie miałem
> więcej szczęścia, jednak za którymś podłączeniem zasilania/resetem udało
> mi się już coś uzyskać w terminalu. Początkowo były jakieś szczątki
> właściwych komunikatów:
> https://ibb.co/N2pYkt9
To nie wyglada tak zle
> Za którymś razem udało mi się jednak uzyskać wspomniane menu:
> https://ibb.co/7z5b68T
>
> Niestety nie dało się wybrać żadnej z opcji - prawdopodobnie po
> wyświetleniu tej zawartości komputer zawiesił się.
A moze zawartosc dysku zła?
te inne opcje to tez z dysku, czy z ROM?
> Mamy jednak dowód, że hardware nie jest zupełnie martwy, jednak jest
> problem ze stabilnością. Czy ktoś ma pomysł jak to debugować? Przychodzi
> mi teraz jeszcze do głowy pomysł wymiany generatora kwarcowego, którym
> jest taktowany CPU. Coś jeszcze mogę zrobić/sprawdzić?
Spowolnic zegar dwukrotnie, to bym sprobował.
Jesli to problem predkosci - zaraz wyjdzie.
A jakis analizator, chocby ten Saleae masz?
Choc tu juz raczej nie pomoze - za duzo działa, za trudno bedzie
sledzic co sie dalej dzieje.
Podlacz oscyl do linii adresu, danych - ladniejsze tam przebiegi?
J.
-
4. Data: 2022-12-28 20:18:58
Temat: Re: EasyZ80 - ciąg dalszy walki z retro komputerkiem
Od: Atlantis <m...@w...pl>
On 28.12.2022 17:43, Jacek Maciejewski wrote:
> Ja bym zaczął od przylutowania wielu różnych kondensatorów blokujących
> zasilanie do masy w różnych miejscach, uzupełniając te które już są.
Pod tym względem płytka akurat wydaje się być zaprojektowana poprawnie -
kondensatorów blokujących zasilanie jest na niej sporo i są one
poumieszczane chyba przy wszystkich pinach VDD.
-
5. Data: 2022-12-28 20:31:29
Temat: Re: EasyZ80 - ciąg dalszy walki z retro komputerkiem
Od: Atlantis <m...@w...pl>
On 28.12.2022 18:03, J.F wrote:
> To potrafi byc efekt oscyloskopu - obciazenia przez niego, lub na
> koncu kabla.
Pomiary były robione na przyzwoitym i względnie współczesnym Siglencie.
Wydaje mi się, że powinien sobie poradzić z sygnałem 10 MHz...
> A moze zawartosc dysku zła?
> te inne opcje to tez z dysku, czy z ROM?
W tej chwili tam nie ma żadnego (fizycznego) dysku. EasyZ80 jest
komputerem zgodnym z magistralą RC2014. Został jednak zaprojektowany w
ten sposób, że może działać jako SBC, gdyż wszystkie podstawowe
komponenty są już na płytce. Podejrzewam, że to widoczne na screenie
IDE0 w tym wypadku oznacza opcjonalną kartę CF. Widać zresztą, że system
jej nie znajduje. Nie powinna być ona jednak wymagana do odpalenia
systemu, gdyż:
1. W ROM-ie mamy m.in. program monitora i dwa interpretery BASIC-a,
które do działania nie wymagają pamięci dyskowej.
2. W ROM-ie rezyduje także CP/M, który powinien ruszyć z wbudowanego ROM
dysku i móc korzystać z RAM dysku. Widać, że system rozpoznaje te nośniki.
Problem w tym, że nawet jeśli uda się wyświetlić to menu, to nie mogę
wybrać żadnej z tych opcji, bo system jest na tym etapie kompletnie
nieresponsywny,
> A jakis analizator, chocby ten Saleae masz?
>
> Choc tu juz raczej nie pomoze - za duzo działa, za trudno bedzie
> sledzic co sie dalej dzieje.
Właśnie od analizatora zaczynałem. Tak doszedłem do wniosków, o których
napisałem na początku (widać aktywność na magistrali, widać reakcję na
reset). Oscyloskopu potrzebowałem tak naprawdę aby upewnić się co do
kształtu przebiegu na linii zegara CPU, bo Saleae już sobie nie radził z
interpretacją (pokazywał nieregularny sygnał prostokątny o wahającej się
częstotliwości).
Trudno będzie mi w tej chwili ustalić w ten sposób coś więcej skoro
wiadomo, że system działa i wykonuje kod, tylko z jakiegoś powodu jest
niestabilny.
-
6. Data: 2022-12-28 20:33:30
Temat: Re: Re:EasyZ80 - ciąg dalszy walki z retro komputerkiem
Od: Atlantis <m...@w...pl>
On 28.12.2022 19:51, Jacek wrote:
> Ten pull-up to 470R miał, oidp.
Opierałem się na innym projekcie ze współczesną wersją CMOS procesora
Z80 - Sizif 512. Tam na linii zegara zastosowano rezystor 2k.
> Masz pamięci dynamiczne? Szeregowe rezystory 33R na adresach.
Nie ma tam żadnych pamięci dynamicznych. Cały RAM mieści się w jednej
kostce statycznej pamięci 512 kB. :)
-
7. Data: 2022-12-28 21:23:37
Temat: Re: EasyZ80 - ciąg dalszy walki z retro komputerkiem
Od: Jacek Maciejewski <j...@g...pl>
Dnia Wed, 28 Dec 2022 20:18:58 +0100, Atlantis napisał(a):
> On 28.12.2022 17:43, Jacek Maciejewski wrote:
>
>> Ja bym zaczął od przylutowania wielu różnych kondensatorów blokujących
>> zasilanie do masy w różnych miejscach, uzupełniając te które już są.
>
> Pod tym względem płytka akurat wydaje się być zaprojektowana poprawnie -
> kondensatorów blokujących zasilanie jest na niej sporo i są one
> poumieszczane chyba przy wszystkich pinach VDD.
Nie żebym się upierał ale w projekcie na pewno były innego typu
kondensatory niż te co użyłeś :) Jakaś doza nieufności pożądana.
--
Jacek
I hate haters.
-
8. Data: 2022-12-29 09:23:06
Temat: Re: Re:EasyZ80 - ciąg dalszy walki z retro komputerkiem
Od: Marek <f...@f...com>
On Wed, 28 Dec 2022 20:33:30 +0100, Atlantis <m...@w...pl>
wrote:
> Nie ma tam żadnych pamięci dynamicznych. Cały RAM mieści się w
> jednej
> kostce statycznej pamięci 512 kB. :)
A co to za kość?
--
Marek
-
9. Data: 2022-12-29 14:41:11
Temat: Re: EasyZ80 - ciąg dalszy walki z retro komputerkiem
Od: "J.F" <j...@p...onet.pl>
On Wed, 28 Dec 2022 20:31:29 +0100, Atlantis wrote:
> On 28.12.2022 18:03, J.F wrote:
>> To potrafi byc efekt oscyloskopu - obciazenia przez niego, lub na
>> koncu kabla.
>
> Pomiary były robione na przyzwoitym i względnie współczesnym Siglencie.
> Wydaje mi się, że powinien sobie poradzić z sygnałem 10 MHz...
A kabel z sondą?
Patrze na schemat - tam jest jest gotowy generator QC1?
No to powinien miec mocne wyjscie i sobie z pojemnoscią kabla
poradzic.
>> A moze zawartosc dysku zła?
>> te inne opcje to tez z dysku, czy z ROM?
>
> W tej chwili tam nie ma żadnego (fizycznego) dysku. EasyZ80 jest
> komputerem zgodnym z magistralą RC2014. Został jednak zaprojektowany w
> ten sposób, że może działać jako SBC, gdyż wszystkie podstawowe
> komponenty są już na płytce. Podejrzewam, że to widoczne na screenie
> IDE0 w tym wypadku oznacza opcjonalną kartę CF. Widać zresztą, że system
> jej nie znajduje. Nie powinna być ona jednak wymagana do odpalenia
> systemu, gdyż:
> 1. W ROM-ie mamy m.in. program monitora i dwa interpretery BASIC-a,
> które do działania nie wymagają pamięci dyskowej.
Tak sie jakos spodziewałem.
> 2. W ROM-ie rezyduje także CP/M, który powinien ruszyć z wbudowanego ROM
> dysku i móc korzystać z RAM dysku. Widać, że system rozpoznaje te nośniki.
CP/M normalnie ładuje BDOS z dyskietki. BIOS jest w ROM, ale BDOS nie.
Ale tu moze jakos inaczej.
> Problem w tym, że nawet jeśli uda się wyświetlić to menu, to nie mogę
> wybrać żadnej z tych opcji, bo system jest na tym etapie kompletnie
> nieresponsywny,
Jesli chodzi o te monitory i basic, to moze byc jakis problem ze
stronnicowaniem ROM. Ale program schemat i program jak rozumiem -
sprawdzony.
>> A jakis analizator, chocby ten Saleae masz?
>>
>> Choc tu juz raczej nie pomoze - za duzo działa, za trudno bedzie
>> sledzic co sie dalej dzieje.
>
> Właśnie od analizatora zaczynałem. Tak doszedłem do wniosków, o których
> napisałem na początku (widać aktywność na magistrali, widać reakcję na
> reset). Oscyloskopu potrzebowałem tak naprawdę aby upewnić się co do
> kształtu przebiegu na linii zegara CPU, bo Saleae już sobie nie radził z
> interpretacją (pokazywał nieregularny sygnał prostokątny o wahającej się
> częstotliwości).
>
> Trudno będzie mi w tej chwili ustalić w ten sposób coś więcej skoro
> wiadomo, że system działa i wykonuje kod, tylko z jakiegoś powodu jest
> niestabilny.
dalbym wolniejszy zegar, jak zadziala, to wiadomo gdzie szukac.
Te kondensatory od innego kolegi - tez dobry pomysl.
Jeszcze mozna lekko podgrzac suszarką - ale jak pomoże, to raczej
kwestia predkosci.
J.
-
10. Data: 2023-01-02 20:21:07
Temat: Re: EasyZ80 - ciąg dalszy walki z retro komputerkiem
Od: alojzy nieborak <a...@g...com>
Atlantis napisał(a):
> 2. Po podłączeniu zasilania widać jakąś aktywność na szynie danych,
>Przychodzi
> mi teraz jeszcze do głowy pomysł wymiany generatora kwarcowego, którym
> jest taktowany CPU. Coś jeszcze mogę zrobić/sprawdzić?
Sygnał 10MHz generatora jest wysyłany na pin wyjściowy przez rezystor dopasowujący
50 om. Obciążeniem dla generatora z tego co widzę są ścieżki + 3 czy 4 wejścia
zegarowe uP, na oko wyjdzie ze 35-40 pF. Wymiana generatora nic Ci nie da. Jak
chcesz coś poprawić
daj między generator a uP bramkę TTL coby taktować uP prostokątem.
Tu gościu ustawił sondę na 1:1, zdaje się błędnie, ale tu jest obciążenie 35pF i u
Ciebie też pi x oko 35pF)
Bardzo możliwe że uP dostaje takie coś na wejście:
https://youtu.be/XcxqfOrZtmA?t=208
I nie wiadomo na ile twoje MOS`y są tolerancyjne na niesymetryczny sygnał zegarowy,
tym bardziej że wykorzystujesz full możliwą częstotliwość.