[PL] SavoNARA: UGV2-XX - Zamiennik toru wideo w Atari XL/XE
Posted: 28 January 2025, 13:25 - Tue
Wprowadzenie
W poprzednich postach pokazałem, jak podłączyć wyjście wideo Atari do scandoublera. Tym razem chciałbym pokazać, jak zastąpić wytwarzający w Atari słabej jakości sygnał wideo blok elektroniki bardzo dobrym rozwiązaniem opartym na UGV (Ultimate Gated Video Board) opracowanym i zademonstrowanym przez Mytek-a (Michaela St. Pierre'a) na stronie https://ataribits.weebly.com/ugv.html
Rozwiązanie Mytek-a zainspirowało mnie do stworzenia własnego interfejsu wykorzystującego pomysł VG (Video Gate), ale nie do końca tak, jak zrealizował to autor oryginalnego rozwiązania.
Ilość zmian i odmienna koncepcja wytwarzania obrazu powoduje, że prezentowane urządzenie znacznie odbiega swą budową od oryginału, niejako zastępując je w całości zupełnie innym rozwiązaniem - nie mniej jednak ze względu na wykorzystanie idei VG postanowiłem by jego nazwa nawiązywała do rozwiązania pierwotnego.
Jestem niezmiernie wdzięczny autorowi za pomoc i cenne uwagi a zwłaszcza za jego wkład w tworzenie mega ciekawych rozwiązań - nie tylko dla Atari .
Zmiany... zmiany, zmiany!
W związku z tym,że SavoNARA podlega ciągłym modyfikacjom w tym miejscu wpisywał będę wszystkie zmiany wprowadzone na istniejących wersjach i jak zostały rozwiązane.
2025-01-28:
- UGV2-FF-2.4: zmieniono wartość rezystorów: R4 i R15 (10k) na 3k.
- UGV2-FG-1.4: zmieniono wartość rezystorów: R5 i R17 (10k) na 3k.
Zmiana wynika z źle dobranej wartości prądu źródła tranzystorów Q1 i Q3 - w efekcie czego w niektórych egzemplarzach UGV2 zanikało generowanie kolorów a w skrajnych przypadkach brak obrazu. Schematy i załączniki zostały podmienione na poprawne.
---
SavoNARA - UGV2-XX to kolejny projekt powstały w ramach działalności PTODT (Polskiego Towarzystwa Ochrony Dziedzictwa Technicznego), powołanego do ochrony artefaktów technicznych, w szczególności w dziedzinie informatyki i komputerów.
Projekt został wykonany jako Free Hardware na licencji Creative Commons BY-NC-SA 4.0. Oznacza to, że możesz go wykonać samodzielnie, do użytku prywatnego. Wykorzystanie komercyjne jest możliwe po uzyskaniu zgody autorów.
Na potrzeby tego artykułu warto sobie zapamiętać, że jeśli mowa jest o UGV-II to mówimy o oryginalnym rozwiązaniu wymyślonym przez Mytek-a i należy odróżniać tę nazwę od UGV2-FF i UGV2-GF, które to zostały zaprojektowane od podstaw i mimo podobieństwa realizowanych funkcji są w zdecydowanym stopniu skonstruowane w sposób odmienny.
Pamiętaj!
Wszystko co robisz - robisz na własną odpowiedzialność. W trakcie tego opisu wykonywane są czynności, które mogą uszkodzić twoje urządzenie...!
Opis i zasada działania
UGV-II
Oryginalny układ UGV-II zbudowany jest według schematu: Układ składa się z kilku wyróżniających się bloków elementów:
- bloku generowania sygnału luminancji (U2) wraz z drabinką rezystorową R13-R17 stanowi rodzaj DAC-a,
- bloku wytwarzania właściwego poziomu sygnału /CSYNC - para tranzystorów Q3 i Q4, R11, R10 i R5,
- bloku wytwarzania sygnału VG - układ PIC12F1572, pary tranzystorów Q1 i Q2,
- bloku przetwarzania i poprawy sygnału wideo - układ FMS6400, R1-R3.
Działanie układu jest następujące: Sygnały z LUM0 do LUM3 (luminancja poszczególnych pikseli) pochodzące z GTIA doprowadzone do jednego z wejść bramek F08 zostają "odtworzone" do postaci bardzo ostrych przebiegów wynikających z budowy i działania układów "F". Tak odbudowane impulsy z wyjścia bramek podawane na rezystory R13-R17 odzwierciedlają jasność piksela w gradacji od 0-15. Sygnał ten zostaje podany na wejście LUMA układu FMS6400. Tu należy jeszcze dodać, że w wyniku wystąpienia sygnału synchronizacji /CSYNC wartość sygnału, który wchodzi na wejście LUMA jest bliskie 0V - ostre przejcie do "zera" zapewnia para tranzystorów MOSFET Q3 i Q4. Jednocześnie na wejście CHROMA podawany jest sygnał chrominancji (COLOR) z GTIA. Oba sygnały (LUMA i CHROMA) są przetwarzane wewnętrznie oraz sumowane na potrzeby wytworzenia sygnału COMPOSITE (CVOUT) i dostarczane na wyjście przez rezystory R1-R3 - stąd można je już doprowadzić do gniazda DIN5 (patrz instalacja).
Jest to podstawowy tryb działania układu UGV - znacznie poprawiający jakość sygnału wideo.
Teraz opowiem troszkę o trybie VG... za którego obsługę odpowiada PIC12F1572. NA poniższym obrazku kolorem fioletowym zaznaczono przebieg sygnału VGATE względem wytwarzanego sygnału wideo. Sygnał ten jest wytwarzany przez mikrokontroler i synchronizowany z sygnałem /SYNC pochodzącym z GTIA. Przebieg tego sygnału kluczuje bramki układu U2 oraz parę tranzystorów Q1 i Q2. W efekcie gdy wyjście RA4 jest w stanie niskim układ FMS6400 nie dostaje sygnału luminancji i chrominancji w efekcie czego obraz w tych obszarach jest... czarny.
Zastosowanie tej "sztuczki" pozwala na eliminację skrajnych - lewej i prawej - części ekranu pozostawiając je czarnymi. Jest to czasami przydatne, gdy nasz monitor wyświetla więcej niż byśmy sobie tego życzyli Osobiście uważam, że zastosowanie VGATE obcina obraz w nadmiarze i wiele produkcji demoscenowych po prostu będzie obcięta z efektów. Oczywiście tryb ten można dowolnie włączać i wyłączać poprzez zastosowanie zworki.
SavoNARA: UGV2-FF
Jak już wspomniałem na wstępie, układ UGV2-FF został wykonany w odmienny sposób co przedstawia poniższy schemat:
Podobnie jak UGV-II, SavoNARA-UGV2-FF składa się z bloków funkcjonalnych ale zrealizowanych w odmienny sposób:
- bloku generowania sygnału luminancji - zatrzaski w 74F175 wraz z drabinką rezystorową R7-R10 stanowi rodzaj DAC-a,
- bloku wytwarzania właściwego poziomu sygnału /CSYNC - para tranzystorów Q1 i Q2 oraz rezystory R3, R4 i R11,
- bloku wytwarzania sygnału VG - układ CH32V003, pary tranzystorów Q3 i Q4 oraz rezystor R6,
- bloku przetwarzania i poprawy sygnału wideo - układ FMS6400, rezystory R20-R22 oraz R18-R19.
- bloku wytwarzania sygnału zegara strobującego zatrzaski i taktującego mikrokontroler częstotliwością 14MHz - odpowiada za to układ ICS501.
Działanie układu opiera się na podobnych regułach jak układ Mytek-a ale diabeł tkwi w szczegółach.
Po pierwsze, zastosowanie zatrzasków zamiast bramek pozwala na dokładne, synchroniczne złapanie pikseli i wygenerowanie ich z większą precyzją - pomaga w tym układ ICS501, który powiela częstotliwość pikselową czterokrotnie - ta sama częstotliwość będąca w fazie z zegarem używanym przez GTIA taktuje mikrokontroler. Zabieg taki pozwala na wykonywanie wszystkich rozkazów w fazie z częstotliwością procesora 6502. Pomysłodawcą zastosowania zatrzasków jest kolega KKRYS - Krzysztof Krupa, który zastosował podobne rozwiązanie w swoim zamienniku układu 4050 zwanym po prostu: 4050 Replacement. Tu mała dygresja... aby można było użyć układu KKRYS-a w Atari 800XL potrzebne było co najmniej dwukrotne "podbicie" częstotliwości pikselowej. I tak po kilku próbach i konsultacjach wspólnymi siłami stworzyliśmy interfejs zwany FideoFixer (4050 Replacement na sterydach), którego idea została w całości zaimplementowana w UGV2-FF/GF. W efekcie pracy zatrzasków otrzymujemy obraz, który nie zawiera pionowych czarnych pasów w przejściach tonalnych luminancji:
Oczywiście takie testy są subiektywne - w szczególności, że pochodzą z dwóch różnych źródeł, zrobione zostały dwoma różnymi aparatami etc. W przyszłości postaram się zrobić bardziej dokładne testy.
Dodatkowo muszę zaznaczyć, że obraz pochodzący z UGV2-FF jest wyświetlany nie bezpośrednio a przetworzony przez scandoubler HDMI ca również ma wpływ na wygląd obrazu.
Drugą różnicą jest zastosowanie innego mikrokontrolera... wybór CH32V003 wynika z jego ceny, możliwości i łatwości programowania. Mikroprocesor ten jest oparty na rdzeniu 32 bitowym RISC-V i potrafi pracować z częstotliwością maksymalną 48MHz - czego w naszym przypadku nie wykorzystujemy. Nie bez znaczenia jest też fakt, że wybór podyktowany został brakiem źródeł programu. (Autor UGV-II nie udostępnia ich).
Kolejna różnica polega na zastosowaniu innych wartości rezystorów w układzie DAC (R7-R10), przesunięcia poziomów napięć dla sygnału synchronizacji, poziomu czerni i poziomu odniesienia dla luminancji (R17, R11, R14, R12-R13). Możliwe, że wartości elementów dobrane zostały przez autora UGV-II dla systemu NTSC a w naszych warunkach okazało się, że obraz jest przesterowany...
W grupie tych zmian należy jeszcze wymienić elementy odpowiadające za zabezpieczenie wejść MOSFET-ów przed przypadkowym uszkodzeniem poziomem sygnałów (tak! uwaliłem kilka) czyli R6 i R3.
Dodatkowo, UGV2-FF umożliwia podłączenie do scandoublera HDMI dzięki dodatkowemu złączu J3 (ta różnica jak również cecha UGV2-FF podoba mi się najbardziej - mogę używać z Atari tego samego monitora co z PC).
Nie polecam natomiast podłączanie jednocześnie monitora/telewizora poprzez złącze DIN5 razem z monitorem/telewizorem korzystając ze złącza HDMI ze względu na zbyt duże obciążenie układu FMS6400 - nie grozi to jego uszkodzeniem ale może spowodować, że obraz będzie zanikał lub pogorszy się jego jakość. Dodam jeszcze, że głównym celem UGV2-FF była potrzeba podłączenia Atari do nowoczesnych telewizorów z możliwie najlepszą jakością obrazu - stąd dodatkowe złącze - zachować jednak chciałem pełną kompatybilność z oryginalnym rozwiązaniem UGV-II pozostawiając złącze J4 VOUT.
Jest jeszcze jedna - można by powiedzieć - ukryta cecha... pin PC4 mikrokontrolera przewidziany został do sterowania funkcjonalnością VGATE w taki sposób, że podłączając go do wejścia S1 układu GTIA będziemy mogli (przez przytrzymanie klawisza SELECT) włączyć lub wyłączyć tryb VGATE bez używania zworki.
SavoNARA: UGV2-GF
Jest to pewnego rodzaju wariacją UGV2, która dostała kolejnego moda... a mianowicie wyposażona została w GTIA FIXER by Simius. Na pomysł wpadł kolega SUN - Grzegorz Żyła, który stwierdził, że "kanapka" z GTIA FIXERem i UGV2 może nie zmieścić się w komputerze (w Atari 8000XL/600XL pod klawiaturą) i zaproponował zrobienie hybrydy. Nie było łatwo... niby niewiele elementów więcej, bo po jednym układzie z 14-ma i 16-ma wyprowadzeniami i kilku biernych, lecz GTIA FIXER wymaga dodatkowej pary 20 rzędowych podstawek pod układ GTIA (nie jest przelotowy jak UGV2) i zrobiło się ciasno!
Tu sztuczka z pojedynczym gniazdem dla GTIA już nie zadziała, gdyż musieliśmy ukształtować na nowo sygnały zegara pikselowego oraz AN0-AN3 przed podaniem ich do GTIA. Udało się zachować rozmiary płytki na dotychczasowym poziomie ale montaż jest o wiele trudniejszy niż wersji bez GTIA FIXER-a i należy zachować odpowiednią kolejność montażu elementów.
Płytki, płytki, ..., prototypy
Ze względu na wymiary płytki - UGV2-XX okazało się w pewnym sensie wyzwaniem. Wymiary i kształt płytki zostały tak dobrane by finalnie urządzenie mogło pracować w każdym Atari XL/XE a największe wymagania stawiało nam 600XL ze względu na bliskość układu 74XX (lewy górny róg UGV2 był z nim w konflikcie).
Pokaże tu kilka wersji, prototyp, pierwszą produkcyjną i ostatnią rewizję gdyż niektóre z nich już poszły w świat i możliwe, że zajdzie potrzeba by do nich wrócić. Wszystkie wersje pośrednie będą dostępne jako załączone archiwa - namawiam jednak by do nowych zastosowań wziąć tylko ostatnią rewizję.
UGV-II-FF Prototype v1.0
Układ powstał by sprawdzić koncepcję połączenia UGV-II z FideoFixer-em - powstała jedna płytka... szybko okazało się, że wymagane jest jeszcze kilka poprawek: UGV-II-FF v1.0
Pierwsza wersja działającego układu, która samodzielnie może pracować w komputerach XL a tam, gdzie nie mamy żadnych dodatkowych instalacji na Antic-u również w XE. Nie obyło się bez błędów - tu okazało się, że nóżka 7 układu ICS501 podłączona została do masy - co powoduje, że układ ICS501 nie steruje wyjścia zegarowego... Problem można łatwo rozwiązać poprzez podniesienie nóżki 7 i nie lutowanie jej do pola lutowniczego GND. Ta wersja PCB pozwala też na wybór powielanej częstotliwości - poprzez zworki TP1 i TP2 można podwoić oraz zwiększyć czterokrotnie zegar pikselowy.
W modelu tym zastosowano również specjalnie zaprojektowany footprint dla podstawki precyzyjnej DIP40 by wchodziła głębiej. Miało to spowodować, że nie trzeba będzie stosować dodatkowych podstawek. Jak się finalnie okazało - płytka była za duża i bez dodatkowej podstawki się nie obyło w modelu XE.
UGV-II-FF v2.4
To ostatnia i najświeższa jak do tej pory rewizja UGV2. Charakteryzuje się tym, że można jej użyć w dowolnym komputerze Atari. Dodano również ograniczenia prądowe na wejściu MOSFET-ów oraz możliwość skorzystania z klawisza SELECT do wyboru trybu pracy ( w opracowaniu ). Dodano również header do podłączenia sygnałów Y/C i zasilania dla scandoublera HDMI.
UGV-II-GF v1.4
Jest to ostatni wariant z prezentowanej serii i został wyposażony w dodatkową funkcjonalność, która potrafi eliminować błąd GTIA typu pierwszego - ten często występuje w układach wyprodukowanych w ostatnich latach dystrybucji Atari - dotyka głównie modeli XE a zwłaszcza modelu 800XE. Jeśli wiemy, że mamy GTIA z podatnością błędu typu pierwszego możemy zastosować moduł UGV2-GF w celu jego eliminacji i poprawienia jakości sygnału wideo. Jak u poprzednika - można użyć klawisza SELECT do zmiany trybu pracy ( w opracowaniu ).
Montaż płytki i instalacja
Montaż nie należy do najprzyjemniejszych... wynika to wprost z ilości i zagęszczenia elementów i rozmiaru płytki niewiele większej niż układ DIP40. Osobiście uważam, że montaż wymaga średnich umiejętności... Poskładałem tych modułów kilka razy musiałem kminić co poszło nie tak ale o tym później.
Czego będziemy potrzebować:
Przydała by się jakaś w miarę sensowna lutownica z cienkim grotem... cążki też będą mile widziane. Przyda się też flux do SMD - bardzo ułatwi nam zadanie. Poza tym, warto przygotować sobie męskie piny wyrywając je z listwy - posłużą one do włożenia UGV2 do naszego komputera.
Czego NIE będziemy potrzebować: Chyba, że ktoś lubi w gumie... nie.. definitywnie nie będziemy potrzebować ani rękawiczek ani płynu na pleśnie...
Montaż PCB
Opip przeprowadzę dla wersji z GTIA Fixerem - montaż jest trudniejszy ze względu na dwa dodatkowe rzędy pinów. Zaczynamy od polutowania "drobnicy" - rezystorów i kondensatorów - tu uwaga: PCB zostało zaprojektowane z padami SMD 0805 ale znacznie łatwiej montuje się elementy 0603. Polecam zmierzyć wartości przed wlutowaniem by uniknąć potem rozczarowań - uwierz, jak już osadzisz podstawki to grzebanie na PCB nie należy do łatwych i przyjemnych . Następnie osadzamy układy i MOSFET-y. Na czas lutowania warto osadzić płytkę we chwytaku... ale każdy ma własne metody wypracowane...
W następnym kroku montujemy piny męskie w ilości sztuk 40-stu zwracając uwagę na ich umiejscowienie - to musi być górny rząd, lutowanie od góry płytki. Na zdjęciu poniżej pokazany jest spód PCB z wlutowanymi już pinami. Mały hint: weż podstawkę precyzyjną i powkładaj w nią piny tak jakbyś miał je włożyć do podstawki w Atari, następnie nałóż na nie PCB i lutuj
Następnie musisz przyciąć kilka szpilek (1, 14 i 20) wystających ponad laminat by móc zainstalować podstawkę pod GTIA. Ja musiałem wyciąć belkę wzmacniającą podstawkę ( na wysokości pinu 7 i 8 ) bo okazało się, że opiera się na kondensatorze. Uwaga! numery przycinanych szpilek podaję orientacyjnie - możesz mieć inny model podstawek: Przylutowanie podstawki pod GTIA to już przyjemność Pozostanie nam tylko montaż listwy pinów pod programator, wyjście wideo do Atari i grabbera HDMI oraz zworka VG. Oczywiście tych pinów można nie instalować jeśli planujesz użyć przewodów przylutowanych bezpośrednio do płytki UGV2. Ja preferuję możliwość demontaży w każdym momencie - instaluję piny!
A tak to wygląda zmontowane w całości:
Instalacja w Atari
Masz dwie możliwości. Osadzasz UGV2 w podstawce po GTIA albo wlutowujesz UGV2 bezpośrednio do płyty Atari. Ja preferuję osadzenie w podstawce. Z technicznego punktu widzenie nie ma znaczenia czy UGV2 będzie w podstawce czy bezpośrednio - obraz powstaje dopiero po GTIA i jego jakość nie będzie zależeć od sposobu montażu.
Montaż UGV2 + HDMIgrabber
Aby nasz komputerek mógł współpracować z dowolnym nowoczesnym TV czy monitorem musimy posiadać dodatkowe urządzenie - konwerter z S-VIDEO do HDMI. Jest wiele takich urządzeń lepszych i gorszych - dla mnie ważne by stosunek jakości do ceny był odpowiedni Używam konwerter-scandoubler firmy Bitfunx przeznaczonego dla konsoli SNES/N64/GC:
Po wydłubaniu z aluminiowej obudowy mamy taką oto płyteczkę: Instalujemy ją w "koszyczku" wydrukowanym w drukarce 3D (dzięki KKRYS za projekcik). Koszyczek jest tak skonstruowany, że za pomocą opasek zaciskowych możemy go scalić z płytą Atari korzystając z otworów lutowniczych po modulatorze TV: I finalnie po włożeniu płytki grabbera: I to by było na tyle...
Jeszcze jeden mały bonusik dla tych co nie lubią kabli... Można użyć scandoublera z transmiterem HDMI i cieszyć się Atari bez kabli. Wypadało by zrobić nowy koszyczek... KKRYS pomożesz? S-VIDEO
Jeśli jesteś szczęśliwym posiadaczem monitora wyposażonego w wejście S-VIDEO to najlepszej jakości obraz uzyskasz odcinając oryginalny tor wideo w swoim Atari i zastępując go przez sygnały uzyskane z UGV2. w płycie XE wystarczy wylutować dławiki: L9, L7 i L31 i w górne otwory po dławikach wlutować odpowiednio:
- niebieski przewód - chrominancja - C
- zielony przewód - luminancja - Y
- pomarańczowy przewód - kompozyt - VOUT
Na zdjęciu poniżej zaznaczyłem tez miejsce skąd można wziąć sygnał audio - mono dla grabbera HDMI - oczywiście jeśli mamy stereo to musimy wziąć sygnały L i R z płytki stereo! Efekt końcowy i podsumowanie Moim zdaniem efekt jest bardziej niż zadowalający tym bardziej, że mamy to po HDMI! Oczywiście wiele można jeszcze zrobić.. poszukać lepszego grabbera itp ale to już pozostawiam wam Ja się cieszę, że mogę pograć i popracować na tym samym monitorze do którego podłączyłem PC
SavoNARA!
pancio.
W poprzednich postach pokazałem, jak podłączyć wyjście wideo Atari do scandoublera. Tym razem chciałbym pokazać, jak zastąpić wytwarzający w Atari słabej jakości sygnał wideo blok elektroniki bardzo dobrym rozwiązaniem opartym na UGV (Ultimate Gated Video Board) opracowanym i zademonstrowanym przez Mytek-a (Michaela St. Pierre'a) na stronie https://ataribits.weebly.com/ugv.html
Rozwiązanie Mytek-a zainspirowało mnie do stworzenia własnego interfejsu wykorzystującego pomysł VG (Video Gate), ale nie do końca tak, jak zrealizował to autor oryginalnego rozwiązania.
Ilość zmian i odmienna koncepcja wytwarzania obrazu powoduje, że prezentowane urządzenie znacznie odbiega swą budową od oryginału, niejako zastępując je w całości zupełnie innym rozwiązaniem - nie mniej jednak ze względu na wykorzystanie idei VG postanowiłem by jego nazwa nawiązywała do rozwiązania pierwotnego.
Jestem niezmiernie wdzięczny autorowi za pomoc i cenne uwagi a zwłaszcza za jego wkład w tworzenie mega ciekawych rozwiązań - nie tylko dla Atari .
Zmiany... zmiany, zmiany!
W związku z tym,że SavoNARA podlega ciągłym modyfikacjom w tym miejscu wpisywał będę wszystkie zmiany wprowadzone na istniejących wersjach i jak zostały rozwiązane.
2025-01-28:
- UGV2-FF-2.4: zmieniono wartość rezystorów: R4 i R15 (10k) na 3k.
- UGV2-FG-1.4: zmieniono wartość rezystorów: R5 i R17 (10k) na 3k.
Zmiana wynika z źle dobranej wartości prądu źródła tranzystorów Q1 i Q3 - w efekcie czego w niektórych egzemplarzach UGV2 zanikało generowanie kolorów a w skrajnych przypadkach brak obrazu. Schematy i załączniki zostały podmienione na poprawne.
---
SavoNARA - UGV2-XX to kolejny projekt powstały w ramach działalności PTODT (Polskiego Towarzystwa Ochrony Dziedzictwa Technicznego), powołanego do ochrony artefaktów technicznych, w szczególności w dziedzinie informatyki i komputerów.
Projekt został wykonany jako Free Hardware na licencji Creative Commons BY-NC-SA 4.0. Oznacza to, że możesz go wykonać samodzielnie, do użytku prywatnego. Wykorzystanie komercyjne jest możliwe po uzyskaniu zgody autorów.
Na potrzeby tego artykułu warto sobie zapamiętać, że jeśli mowa jest o UGV-II to mówimy o oryginalnym rozwiązaniu wymyślonym przez Mytek-a i należy odróżniać tę nazwę od UGV2-FF i UGV2-GF, które to zostały zaprojektowane od podstaw i mimo podobieństwa realizowanych funkcji są w zdecydowanym stopniu skonstruowane w sposób odmienny.
Pamiętaj!
Wszystko co robisz - robisz na własną odpowiedzialność. W trakcie tego opisu wykonywane są czynności, które mogą uszkodzić twoje urządzenie...!
Opis i zasada działania
UGV-II
Oryginalny układ UGV-II zbudowany jest według schematu: Układ składa się z kilku wyróżniających się bloków elementów:
- bloku generowania sygnału luminancji (U2) wraz z drabinką rezystorową R13-R17 stanowi rodzaj DAC-a,
- bloku wytwarzania właściwego poziomu sygnału /CSYNC - para tranzystorów Q3 i Q4, R11, R10 i R5,
- bloku wytwarzania sygnału VG - układ PIC12F1572, pary tranzystorów Q1 i Q2,
- bloku przetwarzania i poprawy sygnału wideo - układ FMS6400, R1-R3.
Działanie układu jest następujące: Sygnały z LUM0 do LUM3 (luminancja poszczególnych pikseli) pochodzące z GTIA doprowadzone do jednego z wejść bramek F08 zostają "odtworzone" do postaci bardzo ostrych przebiegów wynikających z budowy i działania układów "F". Tak odbudowane impulsy z wyjścia bramek podawane na rezystory R13-R17 odzwierciedlają jasność piksela w gradacji od 0-15. Sygnał ten zostaje podany na wejście LUMA układu FMS6400. Tu należy jeszcze dodać, że w wyniku wystąpienia sygnału synchronizacji /CSYNC wartość sygnału, który wchodzi na wejście LUMA jest bliskie 0V - ostre przejcie do "zera" zapewnia para tranzystorów MOSFET Q3 i Q4. Jednocześnie na wejście CHROMA podawany jest sygnał chrominancji (COLOR) z GTIA. Oba sygnały (LUMA i CHROMA) są przetwarzane wewnętrznie oraz sumowane na potrzeby wytworzenia sygnału COMPOSITE (CVOUT) i dostarczane na wyjście przez rezystory R1-R3 - stąd można je już doprowadzić do gniazda DIN5 (patrz instalacja).
Jest to podstawowy tryb działania układu UGV - znacznie poprawiający jakość sygnału wideo.
Teraz opowiem troszkę o trybie VG... za którego obsługę odpowiada PIC12F1572. NA poniższym obrazku kolorem fioletowym zaznaczono przebieg sygnału VGATE względem wytwarzanego sygnału wideo. Sygnał ten jest wytwarzany przez mikrokontroler i synchronizowany z sygnałem /SYNC pochodzącym z GTIA. Przebieg tego sygnału kluczuje bramki układu U2 oraz parę tranzystorów Q1 i Q2. W efekcie gdy wyjście RA4 jest w stanie niskim układ FMS6400 nie dostaje sygnału luminancji i chrominancji w efekcie czego obraz w tych obszarach jest... czarny.
Zastosowanie tej "sztuczki" pozwala na eliminację skrajnych - lewej i prawej - części ekranu pozostawiając je czarnymi. Jest to czasami przydatne, gdy nasz monitor wyświetla więcej niż byśmy sobie tego życzyli Osobiście uważam, że zastosowanie VGATE obcina obraz w nadmiarze i wiele produkcji demoscenowych po prostu będzie obcięta z efektów. Oczywiście tryb ten można dowolnie włączać i wyłączać poprzez zastosowanie zworki.
SavoNARA: UGV2-FF
Jak już wspomniałem na wstępie, układ UGV2-FF został wykonany w odmienny sposób co przedstawia poniższy schemat:
Podobnie jak UGV-II, SavoNARA-UGV2-FF składa się z bloków funkcjonalnych ale zrealizowanych w odmienny sposób:
- bloku generowania sygnału luminancji - zatrzaski w 74F175 wraz z drabinką rezystorową R7-R10 stanowi rodzaj DAC-a,
- bloku wytwarzania właściwego poziomu sygnału /CSYNC - para tranzystorów Q1 i Q2 oraz rezystory R3, R4 i R11,
- bloku wytwarzania sygnału VG - układ CH32V003, pary tranzystorów Q3 i Q4 oraz rezystor R6,
- bloku przetwarzania i poprawy sygnału wideo - układ FMS6400, rezystory R20-R22 oraz R18-R19.
- bloku wytwarzania sygnału zegara strobującego zatrzaski i taktującego mikrokontroler częstotliwością 14MHz - odpowiada za to układ ICS501.
Działanie układu opiera się na podobnych regułach jak układ Mytek-a ale diabeł tkwi w szczegółach.
Po pierwsze, zastosowanie zatrzasków zamiast bramek pozwala na dokładne, synchroniczne złapanie pikseli i wygenerowanie ich z większą precyzją - pomaga w tym układ ICS501, który powiela częstotliwość pikselową czterokrotnie - ta sama częstotliwość będąca w fazie z zegarem używanym przez GTIA taktuje mikrokontroler. Zabieg taki pozwala na wykonywanie wszystkich rozkazów w fazie z częstotliwością procesora 6502. Pomysłodawcą zastosowania zatrzasków jest kolega KKRYS - Krzysztof Krupa, który zastosował podobne rozwiązanie w swoim zamienniku układu 4050 zwanym po prostu: 4050 Replacement. Tu mała dygresja... aby można było użyć układu KKRYS-a w Atari 800XL potrzebne było co najmniej dwukrotne "podbicie" częstotliwości pikselowej. I tak po kilku próbach i konsultacjach wspólnymi siłami stworzyliśmy interfejs zwany FideoFixer (4050 Replacement na sterydach), którego idea została w całości zaimplementowana w UGV2-FF/GF. W efekcie pracy zatrzasków otrzymujemy obraz, który nie zawiera pionowych czarnych pasów w przejściach tonalnych luminancji:
Oczywiście takie testy są subiektywne - w szczególności, że pochodzą z dwóch różnych źródeł, zrobione zostały dwoma różnymi aparatami etc. W przyszłości postaram się zrobić bardziej dokładne testy.
Dodatkowo muszę zaznaczyć, że obraz pochodzący z UGV2-FF jest wyświetlany nie bezpośrednio a przetworzony przez scandoubler HDMI ca również ma wpływ na wygląd obrazu.
Drugą różnicą jest zastosowanie innego mikrokontrolera... wybór CH32V003 wynika z jego ceny, możliwości i łatwości programowania. Mikroprocesor ten jest oparty na rdzeniu 32 bitowym RISC-V i potrafi pracować z częstotliwością maksymalną 48MHz - czego w naszym przypadku nie wykorzystujemy. Nie bez znaczenia jest też fakt, że wybór podyktowany został brakiem źródeł programu. (Autor UGV-II nie udostępnia ich).
Kolejna różnica polega na zastosowaniu innych wartości rezystorów w układzie DAC (R7-R10), przesunięcia poziomów napięć dla sygnału synchronizacji, poziomu czerni i poziomu odniesienia dla luminancji (R17, R11, R14, R12-R13). Możliwe, że wartości elementów dobrane zostały przez autora UGV-II dla systemu NTSC a w naszych warunkach okazało się, że obraz jest przesterowany...
W grupie tych zmian należy jeszcze wymienić elementy odpowiadające za zabezpieczenie wejść MOSFET-ów przed przypadkowym uszkodzeniem poziomem sygnałów (tak! uwaliłem kilka) czyli R6 i R3.
Dodatkowo, UGV2-FF umożliwia podłączenie do scandoublera HDMI dzięki dodatkowemu złączu J3 (ta różnica jak również cecha UGV2-FF podoba mi się najbardziej - mogę używać z Atari tego samego monitora co z PC).
Nie polecam natomiast podłączanie jednocześnie monitora/telewizora poprzez złącze DIN5 razem z monitorem/telewizorem korzystając ze złącza HDMI ze względu na zbyt duże obciążenie układu FMS6400 - nie grozi to jego uszkodzeniem ale może spowodować, że obraz będzie zanikał lub pogorszy się jego jakość. Dodam jeszcze, że głównym celem UGV2-FF była potrzeba podłączenia Atari do nowoczesnych telewizorów z możliwie najlepszą jakością obrazu - stąd dodatkowe złącze - zachować jednak chciałem pełną kompatybilność z oryginalnym rozwiązaniem UGV-II pozostawiając złącze J4 VOUT.
Jest jeszcze jedna - można by powiedzieć - ukryta cecha... pin PC4 mikrokontrolera przewidziany został do sterowania funkcjonalnością VGATE w taki sposób, że podłączając go do wejścia S1 układu GTIA będziemy mogli (przez przytrzymanie klawisza SELECT) włączyć lub wyłączyć tryb VGATE bez używania zworki.
SavoNARA: UGV2-GF
Jest to pewnego rodzaju wariacją UGV2, która dostała kolejnego moda... a mianowicie wyposażona została w GTIA FIXER by Simius. Na pomysł wpadł kolega SUN - Grzegorz Żyła, który stwierdził, że "kanapka" z GTIA FIXERem i UGV2 może nie zmieścić się w komputerze (w Atari 8000XL/600XL pod klawiaturą) i zaproponował zrobienie hybrydy. Nie było łatwo... niby niewiele elementów więcej, bo po jednym układzie z 14-ma i 16-ma wyprowadzeniami i kilku biernych, lecz GTIA FIXER wymaga dodatkowej pary 20 rzędowych podstawek pod układ GTIA (nie jest przelotowy jak UGV2) i zrobiło się ciasno!
Tu sztuczka z pojedynczym gniazdem dla GTIA już nie zadziała, gdyż musieliśmy ukształtować na nowo sygnały zegara pikselowego oraz AN0-AN3 przed podaniem ich do GTIA. Udało się zachować rozmiary płytki na dotychczasowym poziomie ale montaż jest o wiele trudniejszy niż wersji bez GTIA FIXER-a i należy zachować odpowiednią kolejność montażu elementów.
Płytki, płytki, ..., prototypy
Ze względu na wymiary płytki - UGV2-XX okazało się w pewnym sensie wyzwaniem. Wymiary i kształt płytki zostały tak dobrane by finalnie urządzenie mogło pracować w każdym Atari XL/XE a największe wymagania stawiało nam 600XL ze względu na bliskość układu 74XX (lewy górny róg UGV2 był z nim w konflikcie).
Pokaże tu kilka wersji, prototyp, pierwszą produkcyjną i ostatnią rewizję gdyż niektóre z nich już poszły w świat i możliwe, że zajdzie potrzeba by do nich wrócić. Wszystkie wersje pośrednie będą dostępne jako załączone archiwa - namawiam jednak by do nowych zastosowań wziąć tylko ostatnią rewizję.
UGV-II-FF Prototype v1.0
Układ powstał by sprawdzić koncepcję połączenia UGV-II z FideoFixer-em - powstała jedna płytka... szybko okazało się, że wymagane jest jeszcze kilka poprawek: UGV-II-FF v1.0
Pierwsza wersja działającego układu, która samodzielnie może pracować w komputerach XL a tam, gdzie nie mamy żadnych dodatkowych instalacji na Antic-u również w XE. Nie obyło się bez błędów - tu okazało się, że nóżka 7 układu ICS501 podłączona została do masy - co powoduje, że układ ICS501 nie steruje wyjścia zegarowego... Problem można łatwo rozwiązać poprzez podniesienie nóżki 7 i nie lutowanie jej do pola lutowniczego GND. Ta wersja PCB pozwala też na wybór powielanej częstotliwości - poprzez zworki TP1 i TP2 można podwoić oraz zwiększyć czterokrotnie zegar pikselowy.
W modelu tym zastosowano również specjalnie zaprojektowany footprint dla podstawki precyzyjnej DIP40 by wchodziła głębiej. Miało to spowodować, że nie trzeba będzie stosować dodatkowych podstawek. Jak się finalnie okazało - płytka była za duża i bez dodatkowej podstawki się nie obyło w modelu XE.
UGV-II-FF v2.4
To ostatnia i najświeższa jak do tej pory rewizja UGV2. Charakteryzuje się tym, że można jej użyć w dowolnym komputerze Atari. Dodano również ograniczenia prądowe na wejściu MOSFET-ów oraz możliwość skorzystania z klawisza SELECT do wyboru trybu pracy ( w opracowaniu ). Dodano również header do podłączenia sygnałów Y/C i zasilania dla scandoublera HDMI.
UGV-II-GF v1.4
Jest to ostatni wariant z prezentowanej serii i został wyposażony w dodatkową funkcjonalność, która potrafi eliminować błąd GTIA typu pierwszego - ten często występuje w układach wyprodukowanych w ostatnich latach dystrybucji Atari - dotyka głównie modeli XE a zwłaszcza modelu 800XE. Jeśli wiemy, że mamy GTIA z podatnością błędu typu pierwszego możemy zastosować moduł UGV2-GF w celu jego eliminacji i poprawienia jakości sygnału wideo. Jak u poprzednika - można użyć klawisza SELECT do zmiany trybu pracy ( w opracowaniu ).
Montaż płytki i instalacja
Montaż nie należy do najprzyjemniejszych... wynika to wprost z ilości i zagęszczenia elementów i rozmiaru płytki niewiele większej niż układ DIP40. Osobiście uważam, że montaż wymaga średnich umiejętności... Poskładałem tych modułów kilka razy musiałem kminić co poszło nie tak ale o tym później.
Czego będziemy potrzebować:
Przydała by się jakaś w miarę sensowna lutownica z cienkim grotem... cążki też będą mile widziane. Przyda się też flux do SMD - bardzo ułatwi nam zadanie. Poza tym, warto przygotować sobie męskie piny wyrywając je z listwy - posłużą one do włożenia UGV2 do naszego komputera.
Czego NIE będziemy potrzebować: Chyba, że ktoś lubi w gumie... nie.. definitywnie nie będziemy potrzebować ani rękawiczek ani płynu na pleśnie...
Montaż PCB
Opip przeprowadzę dla wersji z GTIA Fixerem - montaż jest trudniejszy ze względu na dwa dodatkowe rzędy pinów. Zaczynamy od polutowania "drobnicy" - rezystorów i kondensatorów - tu uwaga: PCB zostało zaprojektowane z padami SMD 0805 ale znacznie łatwiej montuje się elementy 0603. Polecam zmierzyć wartości przed wlutowaniem by uniknąć potem rozczarowań - uwierz, jak już osadzisz podstawki to grzebanie na PCB nie należy do łatwych i przyjemnych . Następnie osadzamy układy i MOSFET-y. Na czas lutowania warto osadzić płytkę we chwytaku... ale każdy ma własne metody wypracowane...
W następnym kroku montujemy piny męskie w ilości sztuk 40-stu zwracając uwagę na ich umiejscowienie - to musi być górny rząd, lutowanie od góry płytki. Na zdjęciu poniżej pokazany jest spód PCB z wlutowanymi już pinami. Mały hint: weż podstawkę precyzyjną i powkładaj w nią piny tak jakbyś miał je włożyć do podstawki w Atari, następnie nałóż na nie PCB i lutuj
Następnie musisz przyciąć kilka szpilek (1, 14 i 20) wystających ponad laminat by móc zainstalować podstawkę pod GTIA. Ja musiałem wyciąć belkę wzmacniającą podstawkę ( na wysokości pinu 7 i 8 ) bo okazało się, że opiera się na kondensatorze. Uwaga! numery przycinanych szpilek podaję orientacyjnie - możesz mieć inny model podstawek: Przylutowanie podstawki pod GTIA to już przyjemność Pozostanie nam tylko montaż listwy pinów pod programator, wyjście wideo do Atari i grabbera HDMI oraz zworka VG. Oczywiście tych pinów można nie instalować jeśli planujesz użyć przewodów przylutowanych bezpośrednio do płytki UGV2. Ja preferuję możliwość demontaży w każdym momencie - instaluję piny!
A tak to wygląda zmontowane w całości:
Instalacja w Atari
Masz dwie możliwości. Osadzasz UGV2 w podstawce po GTIA albo wlutowujesz UGV2 bezpośrednio do płyty Atari. Ja preferuję osadzenie w podstawce. Z technicznego punktu widzenie nie ma znaczenia czy UGV2 będzie w podstawce czy bezpośrednio - obraz powstaje dopiero po GTIA i jego jakość nie będzie zależeć od sposobu montażu.
Montaż UGV2 + HDMIgrabber
Aby nasz komputerek mógł współpracować z dowolnym nowoczesnym TV czy monitorem musimy posiadać dodatkowe urządzenie - konwerter z S-VIDEO do HDMI. Jest wiele takich urządzeń lepszych i gorszych - dla mnie ważne by stosunek jakości do ceny był odpowiedni Używam konwerter-scandoubler firmy Bitfunx przeznaczonego dla konsoli SNES/N64/GC:
Po wydłubaniu z aluminiowej obudowy mamy taką oto płyteczkę: Instalujemy ją w "koszyczku" wydrukowanym w drukarce 3D (dzięki KKRYS za projekcik). Koszyczek jest tak skonstruowany, że za pomocą opasek zaciskowych możemy go scalić z płytą Atari korzystając z otworów lutowniczych po modulatorze TV: I finalnie po włożeniu płytki grabbera: I to by było na tyle...
Jeszcze jeden mały bonusik dla tych co nie lubią kabli... Można użyć scandoublera z transmiterem HDMI i cieszyć się Atari bez kabli. Wypadało by zrobić nowy koszyczek... KKRYS pomożesz? S-VIDEO
Jeśli jesteś szczęśliwym posiadaczem monitora wyposażonego w wejście S-VIDEO to najlepszej jakości obraz uzyskasz odcinając oryginalny tor wideo w swoim Atari i zastępując go przez sygnały uzyskane z UGV2. w płycie XE wystarczy wylutować dławiki: L9, L7 i L31 i w górne otwory po dławikach wlutować odpowiednio:
- niebieski przewód - chrominancja - C
- zielony przewód - luminancja - Y
- pomarańczowy przewód - kompozyt - VOUT
Na zdjęciu poniżej zaznaczyłem tez miejsce skąd można wziąć sygnał audio - mono dla grabbera HDMI - oczywiście jeśli mamy stereo to musimy wziąć sygnały L i R z płytki stereo! Efekt końcowy i podsumowanie Moim zdaniem efekt jest bardziej niż zadowalający tym bardziej, że mamy to po HDMI! Oczywiście wiele można jeszcze zrobić.. poszukać lepszego grabbera itp ale to już pozostawiam wam Ja się cieszę, że mogę pograć i popracować na tym samym monitorze do którego podłączyłem PC
SavoNARA!
pancio.