Witam grupę,
Jest sobie pradawny komputer z wyjściem MDA. Monitor już lata temu się ze mną pożegnał, więc leży sobie beżowe pudło i smutno na mnie patrzy. Bardzo chciałbym podłączyć ten komputer do zwykłego ekranu (VGA, HDMI, czy cokolwiek "nowego"), i zastanawiam się nad tym jak podejść do sprawy...
Czy ktoś przerabiał temat?
Kilka danych:
- nie chcę instalować w PC innej karty graficznej - nie w tym rzecz by znaleźć rozwiązanie praktyczne, chodzi raczej o sztukę dla sztuki.
- istnieją gotowce o nazwie GBS 8219 - ale wynalazki te kosztują od 150 Eur w górę, ja szukam rozwiązania znacząco tańszego, a i jeśli dałoby się czegoś po drodze nauczyć to tym lepiej.
- MDA korzysta z 4 linii sygnałowych TTL: hsync, vsync, video i intensity. Rozdzielczość 720x350 przy 50 Hz (h-freq 18.432 KHz).
Póki co wychodzi mi że do obróki takiego sygnału potrzebowałbym "coś" co potrafi złapać sygnał on/off o częstotliwości ok. 14 MHz. Mój dotychczasowy luźny pomysł:
a) RPi: podpiąć MDA do pinów GPIO, i w C naskrobać łapanie bitów do tablicy, a potem rysować tylko pixele w trybie 800x600.
lub
b) Arduino: idea ta sama co z RPi.
Z tego co wyczytałem, to oba rozwiązania mogą być w stanie teoretycznie obsłużyć 15-20MHz.
Problem z A jest taki, że piny GPIO w RPi oczekują poziomów CMOS (3V3), więc musiałbym dostrugać coś co obniżyłoby 5V z MDA do tych ~3V. Przy takich częstotliwościach mam obawy że dodanie dzielnika na dwóch rezystorach spsuje mi sygnał, a niczego lepszego nie wymyślę. Do tego OS Raspi to zwykły linux, który robi 1000 rzeczy naraz, więc równie dobrze może mu się zachcieć obsłużyć coś w momencie kiedy ja akurat potrzebuję intesywnie łapać lecące bity.
Problem z B jest taki, że w Arduino nie ma modelu który miałby od startu działające wyjście graficzne, co znacząco komplikuje mi sprawę.
Istnieje także tryb VGA 720x350, więc przeszło mi też przez myśl że może dałoby się zrobić jakiś konwerter, ale ten tryb VGA działa w 70Hz, więc dużo szybciej od MDA, i tu już w ogóle nie mam inwencji jak za coś takiego można się zabrać.
Co polecacie? A może w ogóle w złym kierunku kombinuję, i takie sprawy załatwia się całkiem inaczej?
Dodam, że nie jestem elektronikiem - wiem jak działa tranzystor i czym jest dioda, potrafię obsługiwać lutownicę, i umiem pisać w C, oraz (niechętnie) w ASM, więc rozwiązanie musi być relatywnie "proste"...
Mateusz