W ostatnich czasach dużą popularnością cieszą się retro komputery. Ceny takich urządzeń sięgają nie nazbyt starych samochodów. Producenci nie przegapili okazji i proponują różnego rodzaju klony. Są one znacznie tańsze, ale nie dają tej satysfakcji i nutki nostalgii jak oryginalne komputery, które przypominają pierwsze wrażenia z obcowania z nowoczesną (jak na tamte czasy) ciekawostką.
Obsługa retro sprzętu: budowa dedykowanego monitora
Jednak powstaje pewien problem — wyświetlacz. Stare komputery domowe były przystosowane do podłączenia do telewizorów z kineskopami i niską rozdzielczością, pracujących w systemach kolorowych PAL/NTSC/SECAM. Niewielu ludzi trzyma jeszcze w swoich domach te olbrzymy. Współczesne telewizory już od dawna używają na wejściu konektorów typu HDMI. Złącza SCART oraz RCA odeszły w zapomnienie. Bardzo rzadko można już spotkać konektory typu VGA. Ten rodzaj podłączenia najlepiej pasuje do starych komputerów z wyjściem RGB. Co prawda, nie ma tu rozdzielnego sygnału synchronizacji, ale ten problem jest stosunkowo łatwy do rozwiązania. Niestety nie zawsze to działa — współczesne TV oraz monitory nie przyjmują sygnału wideo z niską rozdzielczością.
Moim zdaniem najlepszym rozwiązaniem tej kwestii może być budowa własnego monitora, korzystając z używanej matrycy od laptopa lub tableta oraz taniego uniwersalnego modułu PCB800099 na podstawie układu scalonego RTD2660. Jego atutem, w odróżnieniu od innych, w tym opisanych na stronach naszego portalu, jest możliwość wprowadzenia zmian w oprogramowaniu, czyli w kodzie. Ceny tych płytek na AliExpress nie przekraczają 25 PLN. Trzeba do niej dodać odpowiednią taśmę, łączącą ją z matrycą, oraz przyciski. Szczegóły podłączenia kontrolerów do matryc są opisane na naszym forum pod tym linkiem. Fizyczne podpięcie scalaka nie powinno być problematyczne dla mniej więcej doświadczonego elektronika.
Modyfikacja oprogramowania za pomocą Arduino
Co do dostosowania kodu do matrycy, to na pierwszy rzut oka może się to wydawać sprawą kłopotliwą. Jednak to jedynie tak wygląda.
Właściwość kontrolerów, bazujących na procesorze RTD2660, polega na tym, że kod sterujący znajduje się na układzie scalonym pamięci EPROM 25x40. Więc potrzebujemy SPI programatora do tych kostek. Może być dowolny. Można nawet wykorzystać port równoległy starego komputera. Schemat poniżej.
Nie mam ani specjalistycznego programatora, ani portu szeregowego. Stosowałem Arduino. O programowaniu urządzenia SPI za jego pomocą jest sporo informacji, w tym na naszym forum.
Podpiąć scalak do programatora można przy użyciu przewodów, nie ma konieczności wylutowania. Trzeba tylko podłączyć ziemię oraz zasilanie 3,3 V. Nie polecam używać długich przewodów, bo zakłócenia mogą spowodować błędy. Najpierw za pomocą programatora odczytujemy już nagrany kod i zapisujemy na dysku twardym (lub pendrivie) na wszelki wypadek.
Dalej uruchamiamy program: „Konfiguracja kodu sterującego”. Została ona opracowana dzięki uczestnikowi fora ZX-PK o nicku Valerim. Udało się mu znaleźć odcinki kodu, które są odpowiedzialne za rozdzielczość oraz za lokalizację obrazu. Program konfiguracyjny ułatwia zmiany w kodzie bez konieczności wyszukiwania tam odpowiednich parametrów. Otwieramy plik z tym odczytanym wcześniej i modyfikujemy według charakterystyk matrycy oraz własnych wymogów.
Podstawowa konfiguracja
W pierwszym przypadku wszystko jest jasne. Patrzymy w Datasheet i ustalamy rozdzielczość zgodnie z nim w menu „My panel”. Tam ten walor jest oznaczony dwa razy, więc wpisujemy go dwukrotnie. Po zmianie naciskamy przycisk „Apply current tab changes to buffer”.
Po poprawieniu wskaźników matrycy (jeżeli w ogóle powstaje taka potrzeba) przechodzimy do menu „MODE000x”. Tam zmieniamy trzy walory — potrzebna rozdzielczość w pionie, w poziomie oraz częstotliwość, zgodnie z tymi czynnikami komputera. Ażeby uzyskać najlepszą jakość obrazu z komputera na matrycę z dużą rozdzielczością, należy wybrać na całą liczbę większą niż oryginału. Np. ZX-Spectrum produkuje sygnał wideo z rozdzielczością 768х288, w tym przypadku lepszy wynik można otrzymać przez ustalenie 1536x576. Oczywiście pod warunkiem, że matryca na to pozwala, czyli ma większą rozdzielczość.
Po wprowadzeniu wszystkich zmian w obu menu naciskamy „APPLY BRI/COUNT”. Za pomocą tego programu możemy też ustalić jasność oraz kontrast (suwakami na górze). Jednak dokładne walory można określić tylko po pierwszym włączeniu monitora. Przed tym modyfikowany plik wgrywamy (za pomocą softu programatora!) do kostki pamięci EPROM, odłączamy programator od płytki, podłączamy przyciski i zasilanie. Obraz może się znajdować niedokładnie w centrum ekranu. Można go skorygować za pomocą menu sterownika. Jednak ta operacja nie zawsze się udaje. W takim przypadku należy odłączyć zasilanie, podpiąć programator, ustalić nowe walory lokalizacji obrazu. Dalej wgrywamy nowy plik i powtarzamy kroki.
Najlepszego wyniku może nie udać się uzyskać od razu, dlatego polecam podłączyć przewody do kostki pamięci przez dowolny konektor MF.
W załączniku znajduje się archiwum z programem konfiguracji oraz przykładowy plik z kodem. W teczce „Programs” dostępny jest też program dla najprostszego programatora do portu szeregowego, ale działa tylko z systemem operacyjnym DOS (można ściągnąć z sieci i uruchomić z pendrive'a).
Obsługa retro sprzętu: budowa dedykowanego monitora
Jednak powstaje pewien problem — wyświetlacz. Stare komputery domowe były przystosowane do podłączenia do telewizorów z kineskopami i niską rozdzielczością, pracujących w systemach kolorowych PAL/NTSC/SECAM. Niewielu ludzi trzyma jeszcze w swoich domach te olbrzymy. Współczesne telewizory już od dawna używają na wejściu konektorów typu HDMI. Złącza SCART oraz RCA odeszły w zapomnienie. Bardzo rzadko można już spotkać konektory typu VGA. Ten rodzaj podłączenia najlepiej pasuje do starych komputerów z wyjściem RGB. Co prawda, nie ma tu rozdzielnego sygnału synchronizacji, ale ten problem jest stosunkowo łatwy do rozwiązania. Niestety nie zawsze to działa — współczesne TV oraz monitory nie przyjmują sygnału wideo z niską rozdzielczością.
Moim zdaniem najlepszym rozwiązaniem tej kwestii może być budowa własnego monitora, korzystając z używanej matrycy od laptopa lub tableta oraz taniego uniwersalnego modułu PCB800099 na podstawie układu scalonego RTD2660. Jego atutem, w odróżnieniu od innych, w tym opisanych na stronach naszego portalu, jest możliwość wprowadzenia zmian w oprogramowaniu, czyli w kodzie. Ceny tych płytek na AliExpress nie przekraczają 25 PLN. Trzeba do niej dodać odpowiednią taśmę, łączącą ją z matrycą, oraz przyciski. Szczegóły podłączenia kontrolerów do matryc są opisane na naszym forum pod tym linkiem. Fizyczne podpięcie scalaka nie powinno być problematyczne dla mniej więcej doświadczonego elektronika.
Modyfikacja oprogramowania za pomocą Arduino
Co do dostosowania kodu do matrycy, to na pierwszy rzut oka może się to wydawać sprawą kłopotliwą. Jednak to jedynie tak wygląda.
Właściwość kontrolerów, bazujących na procesorze RTD2660, polega na tym, że kod sterujący znajduje się na układzie scalonym pamięci EPROM 25x40. Więc potrzebujemy SPI programatora do tych kostek. Może być dowolny. Można nawet wykorzystać port równoległy starego komputera. Schemat poniżej.
Nie mam ani specjalistycznego programatora, ani portu szeregowego. Stosowałem Arduino. O programowaniu urządzenia SPI za jego pomocą jest sporo informacji, w tym na naszym forum.
Podpiąć scalak do programatora można przy użyciu przewodów, nie ma konieczności wylutowania. Trzeba tylko podłączyć ziemię oraz zasilanie 3,3 V. Nie polecam używać długich przewodów, bo zakłócenia mogą spowodować błędy. Najpierw za pomocą programatora odczytujemy już nagrany kod i zapisujemy na dysku twardym (lub pendrivie) na wszelki wypadek.
Dalej uruchamiamy program: „Konfiguracja kodu sterującego”. Została ona opracowana dzięki uczestnikowi fora ZX-PK o nicku Valerim. Udało się mu znaleźć odcinki kodu, które są odpowiedzialne za rozdzielczość oraz za lokalizację obrazu. Program konfiguracyjny ułatwia zmiany w kodzie bez konieczności wyszukiwania tam odpowiednich parametrów. Otwieramy plik z tym odczytanym wcześniej i modyfikujemy według charakterystyk matrycy oraz własnych wymogów.
Panel sterowania kodem płytki.
Podstawowa konfiguracja
W pierwszym przypadku wszystko jest jasne. Patrzymy w Datasheet i ustalamy rozdzielczość zgodnie z nim w menu „My panel”. Tam ten walor jest oznaczony dwa razy, więc wpisujemy go dwukrotnie. Po zmianie naciskamy przycisk „Apply current tab changes to buffer”.
Po poprawieniu wskaźników matrycy (jeżeli w ogóle powstaje taka potrzeba) przechodzimy do menu „MODE000x”. Tam zmieniamy trzy walory — potrzebna rozdzielczość w pionie, w poziomie oraz częstotliwość, zgodnie z tymi czynnikami komputera. Ażeby uzyskać najlepszą jakość obrazu z komputera na matrycę z dużą rozdzielczością, należy wybrać na całą liczbę większą niż oryginału. Np. ZX-Spectrum produkuje sygnał wideo z rozdzielczością 768х288, w tym przypadku lepszy wynik można otrzymać przez ustalenie 1536x576. Oczywiście pod warunkiem, że matryca na to pozwala, czyli ma większą rozdzielczość.
Po wprowadzeniu wszystkich zmian w obu menu naciskamy „APPLY BRI/COUNT”. Za pomocą tego programu możemy też ustalić jasność oraz kontrast (suwakami na górze). Jednak dokładne walory można określić tylko po pierwszym włączeniu monitora. Przed tym modyfikowany plik wgrywamy (za pomocą softu programatora!) do kostki pamięci EPROM, odłączamy programator od płytki, podłączamy przyciski i zasilanie. Obraz może się znajdować niedokładnie w centrum ekranu. Można go skorygować za pomocą menu sterownika. Jednak ta operacja nie zawsze się udaje. W takim przypadku należy odłączyć zasilanie, podpiąć programator, ustalić nowe walory lokalizacji obrazu. Dalej wgrywamy nowy plik i powtarzamy kroki.
Najlepszego wyniku może nie udać się uzyskać od razu, dlatego polecam podłączyć przewody do kostki pamięci przez dowolny konektor MF.
W załączniku znajduje się archiwum z programem konfiguracji oraz przykładowy plik z kodem. W teczce „Programs” dostępny jest też program dla najprostszego programatora do portu szeregowego, ale działa tylko z systemem operacyjnym DOS (można ściągnąć z sieci i uruchomić z pendrive'a).
Schemat programatora przez DOS-LPT.
Fajne? Ranking DIY