Budowa klonu Pegasusa

Parę lat temu kupiłem na Aliexpress procesor (RP2A03) oraz układ graficzny (RP2C02) do popularnej kiedyś konsolki "Pegasus". Planowałem je wykorzystać do naprawy własnego egzemplarza tej zabawki, będącego pamiątką z dzieciństwa. W międzyczasie jednak okazało się, że uszkodzenie było mniej poważne niż sądziłem i żadnego z układów nie trzeba było wymieniać.

Jakiś czas temu, mając trochę wolnego czasu zacząłem więc składać taką konsolkę na płytce uniwersalnej, z użyciem dużej ilości kynaru. Posłużyłem się tym schematem:

formatting link
Ostatnio wróciłem do tego projektu i zakończyłem montaż. Na płytce umieściłem złącze kartridża, ale na razie nie jest ono wykorzystywane. Pomysł jest taki, żeby na razie uruchomić jakąś grę z pamięci EPROM. Później dodam logikę wykrywającą włożenie kartridża i w zależności od tego aktywującą właściwą pamięć.

W tej chwili połączenia wyglądają następująco:

1) Układ 27256 robi za PRGROM, czyli jest podłączony do magistrali CPU (linie CPU_A0..14, CPU_D0..7). Linia G ściągnięta na stałe do masy, a linia E połączona z sygnałem /ROMSEL. 2) Układ 2764 robi za CHRROM, czyli przechowuje dane graficzne. Jest podłączony do magistrali układu graficznego (linie PPU_A0..12, PPU_D0..7). Wejście E jest aktywowane sygnałem PPU_A13, natomiast wejście G jest połączone z linią /PPU_RD.

Dodatkowo wykonałem kilka połączeń przy gnieździe katridży z uwagi na fakt, że nie jest ono aktualnie używane:

1) Piny 45 i 46 są połączone zworką przepuszczającą sygnał audio. 2) Pin 18 (CIRAM_A10) jest połączony z pinem 53 (PPU_A10). 3) Pin 48 (CIRAM_CE) jest połączony z pinem 49 (zanegowana linia A13).

Pamięci EPROM zaprogramowałem plikami ze współczesną grą na tę konsolę ("Gruniożerca") , która jest na tyle prosta, że nie wymaga mappera - kod programu mieści się w 32kB, a grafiki w 8kB.

Po podłączeniu urządzenia do zasilnia i telewizora osiągnąłem tylko częściowy sukces - z głośnika leci muzyka z planszy startowej. Wiem więc, procesor wykonuje kod. Niestety ekran jest czarny, więc pewnie coś jest nie tak w okolicy układu graficznego.

Ktoś ma jakiś pomysł jak to debugować? Co sprawdzić w pierwszej kolejności?

Nie wiem czy to istotne, ale budując urządzenie zamiast wymienionych na schemacie tranzystorów 2SC2021 orz 2SA937 użyłem standardowych BC547 i BC557.

Reply to
Atlantis
Loading thread data ...

Ciąg dalszy:

Podpiąłem do wyjścia wideo stary polski oscyloskop analogowy (niestety w tej chwili to jedyny oscyloskop do którego mam dostęp). Widać tam jakąś aktywność - ciągła seria impulsów, której co jakiś czas towarzyszą impulsy o około dwa razy większej amplitudzie.

Jak powinien wyglądać prawidłowy przebieg na tym wyjściu?

Czy jest możliwe, że układ wideo działa prawidłowo, ale np. jakaś odchyłka częstotliwości generatora kwarcowego powoduje, że telewizor (zarówno stary CRT, jak i względnie współczesny LCD) nie jest w stanie poprawnie zinterpretować obrazu?

Widzę, że na schemacie przy kwarcu poza kondensatorem umieszczony jest trymer, w dodatku w dwóch możliwych konfiguracjach: równoległej i szeregowej. Czy to możliwe, że tutaj leży przyczyna? Bo wydawało mi się, że jeśli kwarc z grubsza ma właściwą częstotliwość, to telewizor cokolwiek powinien pokazać i najwyżej nie będzie koloru...

Reply to
Atlantis

Jeszcze kilka kwestii muszę doprecyzować:

1) Oczywiście w oryginalnej wiadomości popełniłem błąd. W moim klonie nie pracuj oryginalne układy od Ricoha, ale popularne klony od UMC: UA6527P (CPU) oraz U6538 (PPU). Są to układy przeznaczone do wersji PAL. 2) Układ jest taktowany kwarcem 26.601712 MHz, przeznaczonym do wersji PAL. Na schemacie któ©y wrzuciłem wcześniej znajdował się kwarc 21.477272 MHz, a to jest wersja przeznaczona do układów pod NTSC. 3) Układy zakupione na Aliexpress, pochodzą z wylutu. Jest to zaletą o tyle, że sprzedający tego nie ukrywał i nie są to odnawiane malowanki. Dzięki temu mogłem być względnie pewien, że kupuję faktycznie to, co było w ogłoszeniu. Mając jednak na uwadze fakt, że układ może być uszkodzony, podmieniłem go także na jeszcze jeden egzemplarz UA6538 - ten podchodził z innego źródła i jest w znacznie lepszym stanie, wiec chciałem go zostawić w "kolekcji". Na nim jednak układ zachowuje się identycznie - brak obrazu na TV i identyczne przebiegi na oscyloskopie.
Reply to
Atlantis

formatting link
Istotne:

-co 64us masz krotki impuls synchronizacji na poziomie 0

-co 20ms jest seria dluzszych impulsow synchronizacji pionowej - tez poziom 0.

-sygnal wlasciwy powinien siegac do ok 1V - bialy, czarny ma poziom

30% maxa.

Stary telewizor mial pewien zakres regulacji, przynajmniej z 10%. A nawet poza nim cos powinno na ekranie migac. nowy LCD moze byc bardziej wymagajacy.

tym kwarcem to przestroisz o ppm. Moze miec wplyw na kolory, ale nie na obraz.

J.

Reply to
J.F

Rzuciłem okiem jeszcze raz na schemat i zwróciłem uwagę na jedną rzecz: ten jeden tranzystor na wyjściu wideo prawdopodobnie nie jest podłączony bezpośrednio do wyjście kompozytowego, ale do jakiegoś modulatora. Czy jest możliwe, że ten obwód jest niewystarczający aby prawidłowo wysterować wejście kompozytowe w TV? Pamiętam, że w komputerkach które składałem wcześniej, w okolicy gniazdka wideo znajdował się m.in. kondensator 220uF albo rezystor 75 omów. Tutaj tych elementów nie ma. Czy możliwe, że na schemacie (a więc i w moim układzie) czegoś jeszcze brakuje?

Reply to
Atlantis

Hipoteza zdaje się potwierdzać. Zapomniałem wspomnieć, że oscyloskop podpinałem, gdy urządzenie było odłączone od telewizora. Teraz wykonałem kilka dodatkowych testów:

1) Sprawdziłem jak wygląda sygnał na pinie 21 UA6538 - jest bardzo podobny do tego, co mam na wyjściu. Nie zagwarantuję, że jest identyczny, bo nie mam w tej chwili dwukanałowego oscyloskopu pod ręką. 2) W chwili podpięcia do telewizora sygnał na wyjściu spada niemal do zera. Sygnał na pinie 21 nie zmienia się.

Czyżbym potrzebował jeszcze jednego stopnia wzmacniacza, wtórnika emiterowego?

Reply to
Atlantis

Atlantis napisał(a):

Na to wygląda.

formatting link

Reply to
Astralny Rębajło

Zauwaz, ze to jest wtornik emiterowy, tylko pnp.

Ale ...

-w emiterze opornik 220 ohm,

-do zasilania 2.7k ohm.

jak telewizor ma opornik np 75 ohm na wejsciu - moze byc kiepsko z napieciami.

J.

Reply to
J.F

Ok, udało mi się rozwiązać problem z brakiem obrazu. Wystarczyło dodać wtórnik emiterowy - wydajność prądowa poprzedniego stopnia była za mała. Niestety rozwiązanie tego problemu ujawniło kolejny. Obraz jest, ale poszatkowany, jak na poniższym zdjęciu:

formatting link
Problem występuje we wszystkich grach, które testowałem. Początkowo myślałem, że to kwestia podłączenia linii A10 pamięci VRAM (różne gry w różny sposób wykorzystują dwa banki pamięci, najczęściej łączy się tę linię albo z A10 albo A11 magistrali adresowej PPU), jednak żadna z gier nie wyświetla się prawidłowo przy którymkolwiek z ustawień.

Próbując dociskać układy w podstawkach odkryłem, że układ zaczyna się dziwnie zachowywać w momencie, gdy dotykam CPU i PPU w pobliżu ich krótszych krawędzi. Po dotknięciu CPU układ się po prostu zawiesza. Natomiast w przypadku PPU obraz na ekranie się zmienia oraz spowalnia muzyka.

Ktoś ma jakieś sugestie gdzie mogę szukać problemu?

PS. Chyba powinienem skończyć z montowaniem układów na płytkach uniwersalnych, przy użyciu kynaru. Same z tym tylko problemy. ;)

Reply to
Atlantis

Dziwnie wyglada.

A ten kolor - oryginalnie taki blekit, czy i tu cos przeklauje?

Ale kynar lutowany? Kynar lutowany dobry jest, Ty masz jakies kiepskie podstawki :-)

Do tego moga dochodzic pomylki montazowe, sprzezenia miedzy przewodami, kiepska masa ... no i brak kondensatorow na zasilaniu.

J.

Reply to
J.F

Nie. Generalnie sytuacja wyglda w ten sposób, że całe tło jest przekłamane - wypełnione losowymi tilesami. Jednak same sprite'y wyglądają i zachowują się prawidłowo. Wczoraj cały wieczór nad tym przesiedziałem. Zrobiłem dokładną inspekcję połączeń - zarówno wizualną, jak i za pomocą miernika. Znalazłem tylko jeden uszkodzony kabel (który równie dobrze mogłem uszkodzić podczas inspekcji) jednak on nie miał nic wspólnego w problemem - po naprawie nic się nie zmieniło. Wszystko wskazuje na to, że problem leży w okolicy VRAM-u. PPU prawidłowo czyt dane z pamięci stałej (świadczy o tym prawidłowe wyświetlanie sprite'ów) ale tła z jakiegoś powodu są przekłamywane. Sprite'y wyświetlają się prawidłowo, bo ich parametry nie siedzą w RAM-ie, ale w specjalnych rejestrach wewnątrz PPU.

Próbowałem zamieniać pamięci miejscami, ale nie dało to żadnego efektu. Może ten konkretny SRAM jest za wolny n stosownie w roli pamięci ekranu. Używam UL6516DG15. Powinienem go zastąpić czymś szybszym?

Robiłem też testy na fabrycznych kartridżach - dokładnie to samo. Tak więc nie namieszałem kombinując z wbudowanymi EPROM-ami. ;)

Tak.

To chyba nie podstawki. Nawet delikatny dotyk w tych konkretnych miejscach powoduje problemy. Podejrzewam, że może chodzić o zakłócanie linii zegarowej albo nawet i zrywanie oscylacji.

Co do kynaru miałem na myśli to, że to kiepski sposób tworzenia prototypów. Z pozoru wydaje się, że taka konstrukcja na płytce uniwersalnej jest ok, ale potem trudno połapać się w gąszczu przewodów, co utrudnia debugowanie. Czas stracony n lutowanie tego można by równie dobrze przeznaczyć na zaprojektowanie i wytrawienie wczesnej wersji PCB, które nawet po naniesieniu dziesiątek poprawek i tak będzie wyglądało lepiej.

No i nie mówiąc już o tym, że potem projekt o wiele łatwiej będzie powielić. ;)

Reply to
Atlantis

nie znam Pegasusa, ale to mi nie wyglada tak calkiem losowo. Ale Ty widzisz blizej.

Jest to mozliwe.

Bywa.

Tylko ze pierwsza plytke dostaniesz dopiero po pewnym czasie, a potem sie okaze, ze zapomniales jednego tranzystora :-)

Kynarkiem polutujesz dwa dni, a tu beda dwa miesiace :-(

J.

Reply to
J.F

W dniu 14.09.2021 o 12:09, Atlantis pisze:

ZTCP to właśnie wyjściem było wyjście z prostego modulatora na RF TV i oglądało się to na VHF 2-4 kanał. Bywały też rozbudowane modulatory na UHF z trymerem. Tam rzadko bywało wyjście composit.

Reply to
LordBluzg®

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.