C64,  Warsztat

Ultimate 64 Elite – C64 w nowoczesnej skali…(cz.1 – HW)

Lato w pełni a za nim postępuje coraz wyraźniejszy sezon ogórkowy. Jak czytamy w Wikipedii, jest to związek frazeologiczny zakwalifikowany jako wyrażenie językowe. Ukute zostało jako związek przyczynowy między posuchą w życiu kulturalnym miast spowodowaną letnimi wyjazdami artystów na urlop, właśnie w porze zbioru ogórków, a brakiem wiadomości nadających się do publikacji w gazetach. U mnie jednak sezon ogórkowy na razie nie występuje dlatego zapraszam do przeczytania kolejnego artykułu tym razem o Utlimate64.

James Webb, PD

Zanim przejdziemy do artykułu wrócę do tematu, który zdecydowanie jest przełomem w eksploracji kosmosu, a mianowicie z pozyskaniem pierwszych zdjęć z teleskopu Jamesa Webb’a. Na pewno natrafiliście na wiadomości o tym wydarzeniu, ale czy wiecie kim był sam James Webb, którego imię nosi ten ultranowoczesny teleskop? James Webb urodził się w 7 października 1906 roku (zm. 27 marca 1992). Był administratorem NASA w latach 1961-68, w okresie realizacji przełomowych programów kosmicznych, a mianowicie Mercury (1958-63), Gemini (1961-66) i najbardziej znanego Apollo (1968-1972). Niestety za jego kadencji miał miejsce także tragiczny wypadek załogi Apollo 1, gdzie 27 stycznia 1968r. podczas symulacji startu na ziemi doszło do pożaru w module dowodzenia, na skutek którego zginęło trzech członków załogi: Gus Grissom, Ed White i Roger B. Chaffee. Był to ostatni ważny test przed planowanym na luty lotem kosmicznym.

Załoga Apollo 1, PD

Przyczyny pożaru nie zostały do końca wyjaśnione, wiele przesłanek wskazywało na złożenie kilku czynników. Jednym z nich było użycie mieszanki czystego tlenu w module dowodzenia. Dodatkowo ciśnienie zostało podniesione, co mogło prowadzić do zmiany charakterystyki materiałów niepalnych na palne, a nawet doprowadzić do samoistnego zapalenia się. Prawdopodobnie zapłon nastąpił na skutek iskry pochodzącej z jednego z 25km przewodów modułu dowodzenia. Niestety minęło aż 5 minut zanim otworzono zewnętrzny i wewnętrzny właz i niestety astronautów nie udało się uratować. Program Apollo został zawieszony na 20 miesięcy i wszczęto dochodzenie w sprawie wypadku. James Webb nie unikał przesłuchań i podczas nich brał na siebie odpowiedzialność za zdarzenie. Powiedział:

Wiedzieliśmy, że coś takiego może się wcześniej czy później wydarzyć, ale kto przypuszczał, że wydarzy to się na ziemi?

James Webb zmienił NASA ze zbioru wielu ośrodków badawczo-rozwojowych w jedną skoordynowaną organizację. Pomimo nacisku na programy załogowe dopilnował także aby NASA nie porzuciła programów eksploracji planet, a mianowicie programów Mariner i Pioneer. James Webb zrezygnował z administracji NASA w 1968 roku. Będąc demokratą związanym z prezydentem Johnsonem, chciał aby następny prezydent, republikanin Richard Nixon mógł wyznaczyć następcę ze swojego kręgu politycznego.

Jak zawsze szybka relacja z ogrodu, mazurki opuściły północną budkę, ale znowu coś przy niej majstrują, czyżby trzeci miot? 😉 Kosy także coś kombinują w świerkach, a pliszka już na dobre rozgościła się w ogrodzie. Dodatkowo wylądował ostatnio desant szpaków. 🙂 Pies dalej pilnuje ptaków przed zakusami kota sąsiadów zmieniając stanowisko obserwacyjne ze słonecznego, poprzez półcień, aż po głęboki cień.

Odpowiada to obserwacji w paśmie ultrafioletowym, widzialnym i podczerwieni. 😉 Dodatkowo dalej kwitnie lawenda wabiąc eskadry motyli, trzmieli i pszczół. Pogoda sprzyja, temperatury w granicach 20°C i nocami często pojawiają się opady. Takie lato jakie pamiętam z dzieciństwa, czyli retro-lato. 😉

***

Dwa tygodnie temu zakończyliśmy dwuodcinkowy wpis dotyczący kartridża do Commodore C64 Ulimate II+. Nie jest to jedyny produkt, który oferuje Holender – Gideon Zwejitzer, który poszedł za ciosem i zaprojektował bazującą na technologii FPGA (ang. Field-Programmable Gate Array) płytę główną do Commodore C64. Pierwsze egzemplarze trafiły do sprzedaży w 2018 roku. Zaciekawiony tym rozwiązaniem postanowiłem zamówić tę płytę i spróbować zbudować na jej podstawie nowoczesną wersję C64. 12 kwietnia 2021 roku złożyłem zamówienie na jedyną dostępną wtedy wersję, a mianowicie ‘Elite’ (taką wersję zamówiłaby zapewne także pewna radna z mojego miasta, o której teraz głośno). 😉 No cóż elitą się wtedy, ani teraz nie czuję, ale wyboru nie miałem. Niestety pozrywane łańcuchy dostaw spowodowały, iż płyta dotarła do mnie z Holandii dopiero 11 czerwca 2022 roku, czyli 14 miesięcy po złożeniu zamówienia. Oczywiście Gideon informował o długim okresie oczekiwania na realizację i pobierał wpłatę dopiero na krótko przed wysłaniem. W międzyczasie udało mi się skompletować trochę elementów z “odzysku”, takich jak:

  • 2 układy SID 8580 (dźwięk C64),
  • obudowa od C64C,
  • klawiatura C64,
  • wykonana w druku 3D lewa podpórka pod klawiaturę.

Tym bardziej niecierpliwie oczekiwałem przesyłki i po jej otrzymaniu od razu ruszyłem na retro-warsztat, gdzie przesyłka trafiła na stół:

Rozpakowując przyzwoicie wykonane pudełko z zabezpieczeniami wydobyłem z niego będące w podstawowym zestawie: płytę główną i zasilacz z czterema końcówkami:

Dodatkowo zamówiłem wewnętrzny głośnik symulujący dźwięki stacji 1541:

oraz wisienkę na torcie, etykietkę na obudowę. 🙂

Przejedźmy do płyty głównej, poczynając od lewej strony, widać tu baterię podtrzymującą zegar czasu rzeczywistego, trzy gniazda USB2 z czego jedno dostępne tylko od wewnątrz, port HDMI i gniazdo LAN (Ethernet). Widać także zamontowany moduł WiFi firmy Espressif serii: ESP32-WROOM. Ten ostatni nie jest jeszcze wspierany przez obecny firmware.

W centralnej części płyty mamy zamontowane jej serce czyli układ FPGA Intel Altera Cyclone V, gniazdo do montażu modułu głośnika wewnętrznego (SpkDat), gniazdo serwisowe (JTAG) i złącze magnetofonu.

Korzystając z okazji zamontujmy nasz moduł głośnika, który wyposażony jest w dwa gniazda J1 i J2.

Złącze J2 podłączamy do pinów na płycie oznaczonych ‘Console’, a złącze J1 do SpkDat.

W dalszej części płyty znajdują się gniazda DIN: szeregowe 6-pinowe oraz analogowe 8-pinowe (układ U) wyjście audio/wideo, a także dla purystów: złącze bezpośredniego dostępu do opcjonalnych, oryginalnych układów SID (analogowe we/wy SidTap).

Idąc dalej mamy 2 gniazda do montażu oryginalnych opcjonalnych układów dźwiękowych SID. W wersji ‘Elite’ zamiast zwykłych podstawek mamy gniazda typu ZIF (ang. Zero Insertion Force), które nie wymagają użycia siły przy montażu i demontażu cennych układów SID. Obsługiwane tu są zarówno układy SID 6581 (12V) jak i 8580 (9V). Układy te są w wersji płyty ‘Elite’ rozpoznawane automatycznie (bez konieczności ustawiania zworek) i dostosowywane jest odpowiednie napięcie i pozostałe parametry pracy dla każdego z układów.  Tu rzeczywiście widzimy pierwszą zaletę wersji ‘Elite’: gniazda ZIF i automatyczna obsługa SID. Jest jeszcze jeden element poprawiający wygodę w wersji ‘Elite’, ale o tym powiemy później. 🙂

Idąc dalej mamy standardowe gniazdo kartridży.

Po skrajnej prawej stronie płyty mamy dwa gniazda kontrolerów (Joystick/Paddle), przycisk ‘Power’ i gniazdo JackDC do podłączenia dostarczonego z płytą zasilacza prądu stałego.

Co do samego zasilacza, jest to model o parametrach wyjściowych 12V DC / 1,5A. Pozostaje nam jeszcze montaż jednego z dołączonych do zasilacza wtyków.

Czas przejść do przygotowania obudowy. Tak jak wspominałem udało mi się nabyć używaną obudowę od C64 z lekko pożółkłą wierzchnią częścią.

Demontujemy elementy obudowy:

Jak widać obudowa ma nieuszkodzone zaczepy w tylnej części, co nie jest regułą. 🙂 W kolejnym kroku delikatnie usuwamy oryginalny znaczek Commodore.

Następnie prostujemy go w imadle tak aby w przyszłości dało się go jeszcze użyć.

Pozostałości po kleju czyścimy delikatnie szmatką nasączoną w rozcieńczalniku do farb olejno-ftalowych:

Obudowa trafia teraz na myjnię, której zadaniem jest umycie i odtłuszczenie obudowy.

Po dokładnym wymyciu zostawiamy obudowę na jakiś czas, aby dobrze wyschła.

Wkładamy płytę do obudowy i wydrukowany metodą druku 3D lewy uchwyt klawiatury:

Czas przygotować górną część obudowy. Ponieważ jest pożółkła, a budujemy coś, co nie musi być w 100% zgodne z oryginałem, to możemy trochę poszaleć. Na stół trafia grafitowa farba do zderzaków, która poza odtłuszczeniem nie wymaga stosowania dodatkowych warstw podkładów lub uelastyczniaczy. 🙂

Przygotowujemy w retro-warsztacie minilakiernię, odpowiednio odkurzając uprzednio całe pomieszczenie. Malujemy cienkimi warstwami odczekując 5-10 min. przed nałożeniem kolejnej warstwy.

Po nałożeniu sześciu warstw obudowa pokryta jest równą warstwą lakieru bez zacieków, Dodatkowo malujemy pokrywę także od środka, tak aby przez otwory wentylacyjne nie było widać różnicy koloru.

Czas zabrać się za pozyskaną wcześniej klawiaturę, jak widać wymaga porządnego wyczyszczenia. 🙂

Po jej dokładnym odkurzeniu i przedmuchaniu sprężonym powietrzem zabieramy się do czyszczenia  za pomocą domowego płynu do szyb, miękkiej bawełnianej szmatki i szpatułki.

Po wyczyszczeniu pokrywamy klawiaturę ‘Protectant’em Mat’ firmy K2.

Po odczekaniu kilkunastu minut, tak aby środek związał się z tworzywem, całość polerujemy szmatką z mikrofibry.

Klawiatura gotowa! Od razu widać różnicę. 🙂

Czas na montaż klejnotów rodowych, 😉 dwa układy SID 8580 lądują w gniazdach ZIF:Opuszczamy dźwigienki i układy w stereofonicznym tandemie gotowe są do pracy. 🙂

Dokręcamy lewy uchwyt klawiatury, wykonany dzięki uprzejmości mojego Kolegi Michała, którego serdecznie pozdrawiam! 🙂

Z kolei dzięki mojemu drogiemu Sąsiadowi, u którego spędziłem godziny przy odbiorze wydruków, i który w ten weekend obchodzi także swoje urodziny (przy okazji 100 lat! 🙂 ), uzyskałem prawą podstawkę pod klawiaturę, która z racji budowy płyty Ultimate nie może być podstawką oryginalną.

Dodatkowo w procesie twórczym drukarki 3D uwzględnione zostały także podstawki usztywniające Ultimate64. 😉

Montujemy je na krawędzi płyty:

Płyta zamocowana:

Nie do końca jestem zadowolony z wyglądu prawej strony komputera, gdzie przycisk “power” i gniazdo zasilania są mniejsze niż oryginalne otwory:

Coś z tym trzeba zrobić, kolejna prośba do mojego drogiego Sąsiada skutkuje szybką akcją druku 3D, którego odbiór znowu zajmuje kilka godzin. 🙂

Zaczynamy od montażu nowego przycisku ‘Power’. Za pomocą szczypiec delikatnie ściągamy oryginalny.

Niestety nowy przycisk zbyt luźno nachodzi na trzpień, dlatego nakładamy kawałek izolacji termokurczliwej i zaciskamy ją hot-air’em:

Teraz zakładamy przycisk i pasuje on idealnie:

Oryginalny przycisk opisujemy i chowamy:

W kolejnym kroku montujemy maskownicę gniazda zasilania:

Teraz prawa strona komputera wygląda zdecydowanie lepiej! 🙂

Przykręcamy klawiaturę i przechodzimy do kolejnego kroku, a mianowicie montażu taśmy LED RGB. Tak, to nie kaczka dziennikarska, 😉 Ultimate64 może sterować taśmami typu APA102C lub SK9822. W moim przypadku jest to APA102C, dodatkowo umieszczona w silikonowej przezroczystej obudowie, z której odcinam pierwsze 24 diody tak aby długość taśmy odpowiadała szerokości komputera:

W następnym kroku dolutowujemy przewody (moje były zbyt krótkie), ważne jest aby dolutować się z wejściem sterowania w miejscu, do tego przeznaczonym, tj. na polach lutowniczych przy dwóch  rezystorach. Dodatkowo zabezpieczyłem miejsce lutowania glue-gun’em.

Pasek LED przykleimy za pomocą dwustronnej taśmy przylepnej.

Czyścimy miejsca klejenia alkoholem izopropylowym, zarówno taśmę jak i klawiaturę, w której obniżeniu postanowiliśmy umieścić nasz pasek LED’ów.

Przyklejamy kilka pasków taśmy dwustronnej:

Ściągamy białą przekładkę:

i przyklejamy taśmę LED:

W międzyczasie podłączamy do gniazda ‘LED Strip’ na płycie wtyczkę taśmy LED (ja użyłem 4-pinowej wtyczki z zestawu Arduino mojego Syna 😉 ), zachowując odpowiednią kolejność połączeń (GND, Data, Clock, +5V) – koniecznie trzeba to sprawdzić w instrukcji online Ultimate64. Jakiekolwiek zwarcie może tu uszkodzić płytę, dlatego warto dobrze sprawdzić jakość połączeń.

Taśma gotowa, aby sprawdzić jej działanie czas uruchomić Ultimate64. W tym celu podłączamy zasilanie i odpalamy komputer. Pasek LED’ów zaczyna świecić! 🙂 Wszystko jest ok, do dokładniejszej konfiguracji tego elementu jeszcze wrócimy.

Czas zająć się diodą sygnalizującą zasilanie, oryginalna to prostokątna o wymiarach 5×2 [mm]. Ponieważ Ultimate pozwala oprócz oryginalnej, także na podłączenie dwóch diod albo diody podwójnej poszukajmy tego ostatniego rozwiązania. Znajdujemy dwukolorową diodę LED firmy Knightbright L-119EGWT o kolorach zielonym i czerwonym. Tak naprawdę jest to układ dwóch diod o wspólnej katodzie (miejsce do podłączenia niższego potencjału):

Doskonale to widać w powiększeniu, mamy tu następujący układ nóżek: Anoda(A)-Katoda(C)-Anoda(A):

Aby bezpiecznie podłączyć diodę LED musi ona mieć podłączony szeregowo rezystor tak aby ograniczyć prąd. W dokumentacji Ultimate64 czytamy, iż obwody diody LED są już w takie rezystory wyposażone i mają one rezystancję 220Ω. Przeliczmy szybko czy taka wartość jest bezpieczna. Do tego celu potrzebujemy parametrów katalogowych naszej podwójnej diody:

  • Dioda czerwona: napięcie pracy Ufr=2V, maksymalny dopuszczalny prąd Ifrmax=30mA
  • Dioda zielona: napięcie pracy Ufg=2,2V, maksymalny dopuszczalny prąd Ifgmax=25mA

Przeprowadźmy najpierw obliczenia dla diody czerwonej. Najpierw ustalmy jakie napięcie będziemy mieli na rezystorze. Skoro napięcie całkowite VCC (wg instrukcji Ultimate64 -> 3,3V), równe jest sumie spadków napięć w układzie szeregowym, to mamy prosty wzór:

Vcc = Ur1 + Ufr.

A zatem: Ur1 = VCC – Ufr -> Ur = 3,3 – 2 = 1,3 [V].

Prąd Ire płynący w układzie szeregowym jest wszędzie taki sam.

Daje nam to możliwość jego obliczenia ze wzoru:

Ire = Ur1 / R1 -> Ire = 1,3 V / 220 Ω = 6 mA

Jest to wartość  mniejsza niż Ifrmax (30mA), a zatem jesteśmy pewni, że przez naszą diodę nie popłynie zbyt duży prąd, który może ją uszkodzić. 🙂

Powtarzamy obliczenia tym razem dla diody zielonej:

Ur2 = VCC – Ufg -> Ur2 = 3,3 – 2,2 = 1,1 [V].

Igr = Ur2 / R2 -> Igr = 1,1 V / 220 Ω = 5 mA

Ta wartość jest również mniejsza niż Ifgmax (25 mA). 🙂

Uspokojeni tymi obliczeniami, możemy przystąpić do montażu diody. Najpierw skracamy jej nóżki

Przygotowane nóżki diody zamaczamy w żelu do lutowania firmy Termopasty:

Następnie dolutowujemy przewody zwracając uwagę aby lutowanie trwało 3-5 sek. i aby temperatura grota była maksymalnie w granicach 280°C. Chodzi o to aby nie doszło do uszkodzenia diody i jej wykonanej z tworzywa obudowy.

W następnym kroku izolujemy nóżki wcześniej nałożoną izolacją termokurczliwą

i dolutowujemy wtyk, ja użyłem tu przedłużacza serwa modelarskiego.

Dioda gotowa, montujemy ją w gnieździe obudowy gdzie pasuje idealnie,

Następnie podłączamy ją do gniazda ‘LEDs’ na płycie Ultimate, które ma w naszej wersji płyty następujący rozkład:

Pozostaje nam jeszcze umieścić wisienkę na torcie, a mianowicie przykleić etykietkę. 🙂

Zanim złożymy obudowę przygotujmy nośnik pamięci masowej. Tu jak zawsze pomaga sprawdzony SanDisk Cruzer Fit o pojemności 32GB.

Formatujemy go w formacie FAT32, zapełniamy tym co nam przyjdzie do głowy i umieszczamy w środku obudowy.

Nie martwcie się, że nie będziecie mieli do niego dostępu, jeżeli macie sieć LAN w domu to dostaniecie się do niego bez problemu zdalnie jakimkolwiek klientem FTP (ang. File Transfer Protocol). Jeżeli takiej sieci nie macie (albo tylko WiFi), to polecam umieścić pendrive na zewnątrz. Skręcamy obudowę komputera i nasze Ultimate 64 Elite jest gotowe!

Zobaczmy jak wyglądają porty z boku:

i z tyłu obudowy:

Podłączmy zasilanie i zobaczmy czy nasza dwukolorowa dioda się zaświeci. Działa świetnie mamy dwa kolory, a nawet trzy, gdy zapalimy obie diody (kolor żółty pochodzący ze złożenia zielonego i czerwonego). 🙂

Podłączmy teraz monitor przez cyfrowe wyjście HDMI i zobaczmy czy nasz komputer działa.

Po włączeniu pojawia się ekran powitalny informujący nas, iż powinniśmy przygotować pliki z następującą zawartością pochodzącą z oryginalnego C64:

  • Kernal ROM
  • BASIC ROM
  • Character ROM

Jeżeli mamy odpowiedni sprzęt to możemy je zgrać z oryginalnych układów C64 lub poszukać w sieci.

Po załadowaniu tych trzech systemowych plików Ultimate64 uruchamia się pokazując jakże dobrze nam znany ekran powitalny. 🙂

Czas teraz przejść do strony software’owej naszego projektu, czyli skonfigurować Ultimate64 i przeprowadzić testy jego funkcjonalności. Tu jednak zrobimy przerwę ponieważ wpis rozrósłby nam się do monstrualnej wielkości. Zajmiemy się tym w następnym artykule, mam nadzieję że chętnie wrócicie do tego tematu razem ze mną.

***

Kończąc, życzę Wam udanego weekendu i całego następnego tygodnia, wypoczywającym na wakacjach doskonałej pogody, dobrej książki obok leżaka i ludzi z dobrą energią wokół siebie. Może to dobry czas aby pomyśleć o zapomnianym hobby, zresetować głowę i zmniejszyć czas spędzany w sieci, bo przecież długie dni sprzyjają aktywności na świeżym powietrzu. Trzymajcie się ciepło! 🙂

 



2 komentarze

  • gregfeel

    Świetny artykuł pełen cennych spostrzeżeń i fachowej wiedzy ‘how-to’. Gratuluję wykonania osobistego egzemplarza którego co tu dużo mówić chciało by się mieć. Widziałem go osobiście i testowałem podczas ‘Teddy Beer C64 Party Tuchola 2022’ Cieszy oko i zapewne dobrze będzie służył przez lata. Ten ‘up-grade’ sprzętowy w postaci kompletnego rozwiązania kusi swoją elegancją i funkcjonalnością zwłaszcza jeśli się rozważa użytkowanienie 2 układów SID… ciężko będzie mu nie ulec jeśli ktoś jest zakochany w reto 😉 Bo miłość do C64 nigdy nie rdzewieje… moje gratulacje Wingman!

    • Wingman

      Bardzo dziękuję za miłe słowa! 🙂 Tak, podwójny oryginalny SID robi wrażenie a poza tym Ultimate64 to kawał dobrej inżynierskiej roboty Gideona połączony z jego bardzo dobrą znajomością C64.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.