Dodajemy Atari 2600 duszy i wioseł – UNOCart2600…
Połowa marca za nami, w przyrodzie lekki przestój, temperatury w pierwszej dziesiątce dodatniej części skali a ciśnienie bardzo wysokie bo powyżej 1040 hPa. Czeka nas długo wyczekiwane zjawisko astronomiczne, gdzie Słońce przejdzie przez równik niebieski. Odbędzie się to dokładnie w niedzielę 20 marca o godzinie 16:33 czasu środkowoeuropejskiego. Będziemy mieli do czynienia ze zjawiskiem równonocy i z każdym dniem Słońce będzie poruszać się coraz wyżej po ekliptyce (okrąg wielki na sferze niebieskiej, po którym w ciągu roku pozornie porusza się Słońce obserwowane z Ziemi) dodając po kilka minut dnia w naszych szerokościach geograficznych.
W przyszłym tygodniu czeka nas także zmiana czasu na letni. A zatem w nocy z soboty na niedzielę 27 marca o godzinie 2:00 wszyscy budzimy się i gremialnie przestawiamy zegarki na godzinę 3:00. 🙂 Koniecznie nastawcie budziki! 😉 Wracając do ciśnienia atmosferycznego to jest to ciśnienie jakie wywiera powietrze na powierzchnię Ziemi i wszystkie zanurzone w nim przedmioty. W ujęciu mechaniki płynów siła parcia ciśnienia atmosferycznego równoważy siłę grawitacji słupa powietrza znajdującego się nad danym punktem, zgodnie z trzecią zasadą dynamiki Newtona, czyli nasza dobrze znana akcja-reakcja. 😉
Istnienia ciśnienia atmosferycznego dowiódł doświadczalnie włoski fizyk i matematyk, niejaki Evangelista Torricelli, ur. 15.10.1608 w Faenzi, zm. 25.10.1647 we Florencji, będący uczniem Galileusza. Zbudował on przyrząd składający się z rurki o długości 1m i naczynia z rtęcią. Doświadczenie polegało na napełnieniu probówki rtęcią. Próbówkę tę następnie wprowadzało się denkiem do góry do szerszego naczynia z rtęcią tak, aby naczynia utworzyły zespół połączony. W wyniku parcia rtęci znajdującej się wyżej na znajdującą się niżej, część płynu wypływała z probówki. Ponad rtęcią tworzyła się próżnia zwana „próżnią Torricellego”. Po ustaleniu się równowagi w rurce pozostawała tylko część rtęci. Wysokość pozostającego słupa rtęci była zależna od ciśnienia atmosferycznego. Eksperyment wykazał, że normalne ciśnienie atmosferyczne równoważy ciśnienie hydrostatyczne wywierane przez 0,76 m słupa rtęci (1013,25 hPa). Równoważny słup wody musiałby sięgać około 10 m, dlatego rtęć, będąca 13,5 raza gęstsza od wody, zdecydowanie lepiej się do takich pomiarów nadaje. Co to takiego ciśnienie normalne? Zakłada się, że jest to średnie ciśnienie na poziomie morza i odpowiada ono 760 mm słupa rtęci w naszej rurce, a przeliczając to na jednostki związane z innym naukowcem, a mianowicie z Pascalem, ciśnienie to odpowiada wartości 1013,25 hPa.
Pascal zauważył jeszcze coś innego, prowadząc obserwacje wysokości słupa rtęci na różnych wysokościach nad poziomem morza wykazał, iż ciśnienie atmosferyczne zmienia się. Wzrost wysokości miejsca pomiaru oznaczał spadek wysokości słupa rtęci powodowany zmniejszeniem słupa powietrza, a także jego rozrzedzeniem. Przyrząd, którym posługiwał się Torricelli i Pascal używany jest do dziś i nazywany jest barometrem rtęciowym. Co ciekawe rtęć była kiedyś także znanym lekiem na kiłę, między innymi we Francji wytwarzano czekoladę wymieszaną z rtęcią (Sic!). Na “lecznicze” efekty takich specyfików długo nie trzeba było czekać. Dzisiaj jednak słysząc płynące z głośników radiowych “milimetry słupa rtęci” już wiemy, że pochodzą one właśnie od pana Torricelli’ego, a jego nazwisko posłużyło także do nazwania trzeciej jednostki ciśnienia (oprócz mmHg i Pa), a mianowicie jednostki Tor [Tr], której wartość wynosi:
1 Tr = 1 / 760 atm = 101325 / 760 Pa ≈ 133,322368421 Pa
1 Tr ≈ 0,999999857533699 mmHg
Skąd biorą się jednak różnice ciśnienia na poziomie morza? Wynikają one z występowania frontów atmosferycznych. Stąd mamy dzisiaj tak wysokie ciśnienie. Doskonale obrazują to mapy baryczne coraz bardziej zapomniane przez telewizyjne “Pogodynki” znane z tego, że są znane i ścigające się w wyścigu na długość sukienek (oczywiście sukces mierzony jest odwrotnie do ich długości). 😉
To z czym mamy teraz do czynienia doskonale widać na takiej mapie:
Ewidentnie jesteśmy w zasięgu wyżu z południowej Szwecji o wysokości ciśnienia w jego centrum na poziomie powyżej 1050 hPa. Czy to dużo? Sporo. Najwyższe zanotowane ciśnienie zarejestrowano 19 grudnia 2001r. w miejscowości Tosontsengel w Mongolii – 1086 hPa. Najniższe natomiast, wynoszące 870 hPa, spowodowane przejściem tajfunu Tip, zarejestrowano 12 października 1979r. na północnym Pacyfiku. Różnica między tymi ekstremami wynosi aż 216 hPa.
Wróćmy na chwilę do przyrody, bo dzieję się tu sporo rzeczy. Powoli z nabrzmiałych pąków uwalniane są liście, na pojawiających się coraz śmielej kwiatach widać już pierwsze pszczoły, z których jedna postanowiła dzisiaj odpocząć na moim roboczym kombinezonie. 🙂 Ptaki jak oszalałe tankują słonecznik i kule tłuszczowe. Ich masa zbliża się do maksymalnej startowej po takiej operacji i widać nawet lekkie obniżenie pułapu lotu po starcie, które podlega wyrównaniu wraz z nabieraniem prędkości i siły nośnej. 😉 Przez ogród przelatują jak zawsze sikorki, mazurki, bandy szaro-żółtych dzwońców i pojawiła się także zięba.
Kos dalej obrabia rabaty z robaków odwdzięczając się porannymi (mniej więcej ok. 5:00) serenadami, których sceną jest dach naszego domu. 😉 Pojawiły się także grzywacze i coś kombinują na sośnie, ich ulubionym miejscu na gniazdo. Na niebie widać powracające z zimowisk ptaki i patrolującą okolicę kanię rudą, której rozpiętość skrzydeł dochodzi aż do 170cm.
Pies oczywiście dzielnie pilnuje tego całego ptasiego towarzystwa w pozycji patrolowej “na sonar”, nasłuchując uchem przyciśniętym do ziemi czy przypadkiem nie zbliża się kot z sąsiedztwa. 😉
Czym dzisiaj się zajmiemy? Spróbujemy ożywić nasze Atari 2600 za pomocą nowoczesnej elektroniki. Szykujcie aromatyczny napój (nie mówię kawa bo przy takim ciśnieniu może być różnie 😉 ). Ciepły koc i kanapa na check-liście odhaczone? To możemy zaczynać. 🙂
***
Wróćmy na chwilę do sposobu tworzenia obrazu w Atari VCS/2600. Tak jak wspomnieliśmy w poprzednim wpisie konsola nie posiadała pamięci obrazu i musiał on być tworzony przez procesor w czasie rzeczywistym. W systemie NTSC konsola wyświetla 262 poziome linie, z których każda wymaga 228 cykli zegara taktującego procesor z częstotliwością 1,19MHz. Linie składają się w obraz wyświetlany 60 razy na sekundę, z czego tylko 192 linie są rzeczywiście widoczne. Obraz jest tworzony w ten sposób, że procesor zapisuje do układu TIA tylko jedną linię, którą ten układ następnie wyświetla. Mamy więc do dyspozycji 70 niewidocznych linii, które dają nam 70×228=15.960 cykli zegara. Każdy cykl maszynowy składa się z 3 cykli zegarowych, a zatem mamy do dyspozycji 5.320 cykli maszynowych na jedną ramkę obrazu do obsługi innych rzeczy niż grafika, takich jak obliczenie nowej pozycji gracza, obsługa wejścia, odtwarzanie dźwięku, sumowanie punktów, obsługa kontrolerów etc. Jak widać nie jest to zbyt wiele i wymaga od programistów specjalnego podejścia w programowaniu tej konsoli.
Programy dla Atari 2600 sprzedawane były w postaci kartridży wyposażonych w dwustronne złącze krawędziowe o 12 pinach na każdej ze stron. Kartridż wymiarami odpowiada kartridżowi do Atari 7800, jednak ten drugi posiada już 16 pinów na każdej ze stron.
Jeżeli porównamy je z kartridżem od komputera Atari XL/XE (z 15-pinowym dwustronnym złączem) to są one większe.
Aby poprawić możliwości Atari 2600 w niektórych kartridżach instalowano obok pamięci ROM dodatkowe układy pamięci RAM i specjalizowane układy scalone. Przykładem tego może być kartridż ze świetną grą współzałożyciela Activision Davida Crane’a: Pitfall II. W kartridżu tym zastosowano dodatkowy układ DPC (Display Processor Chip) poprawiający możliwości graficzne i wprowadzający cztero- zamiast oryginalnego dwukanałowego dźwięku Atari 2600. A zatem nie tylko oprogramowanie było częścią kartridży Atari. Tu pojawia się pewien problem, jak odczytać obraz kartridża z karty SD, skoro dochodzi jeszcze do tego emulacja konkretnego sprzętu rozszerzającego możliwości konsoli. Okazuje się, że jest na to rozwiązanie w postaci tzw. Multi-Cart’a. Przedstawię dzisiaj UNOCart 2600 wyprodukowany przez Zaxon’a.
Ten niewielki kartridż bazuje na open-source’owym projekcie Robina Edwards’a. Firmware do tego emulatora rozwijany jest obecnie przez Christiana Speckner’a. Zobaczmy co teoretycznie może obsłużyć UNOCart 2600 w wersji 1.4:
Cart type | ROM | RAM | File extension |
2K | 2K | .2K | |
4K | 4K | .4K | |
F8 | 8K | .F8 | |
F8 SC | 8K | 128B | .F8S |
F6 | 16K | .F6 | |
F6 SC | 16K | 128B | .F6S |
F4 | 32K | .F4 | |
F4 SC | 32K | 128B | .F4S |
FE(Activision) | 8K | .FE | |
3F(Tigervision) | 64K | .3F | |
3E | 64K | 32K | .3E |
E0(Parker Bros) | 8K | .E0 | |
0840 | 8K | .084 | |
CV(CommaVid) | 2K | 1K | .CV |
EF | 64K | .EF | |
EF SC | 64K | 128B | .EFS |
F0 | 64K | .F0 | |
FA(CBS RAM Plus) | 12K | 256B | .FA |
E7(M-Network) | 16K | 2K | .E7 |
DPC(Pitfall II) | 8K+2K | .DPC | |
Supercharger | 256 loads | .AR |
UNOCart automatycznie wykrywa typ kartridża do emulacji w ramach plików o rozszerzeniach .A26, .BIN, .ROM. Możemy jednak wymusić emulację określonego typu przez wybranie jednego z prezentowanych w powyższej tabeli rozszerzeń.
Aby móc załadować obraz kartridża, musimy najpierw przygotować kartę SD, którą formatujemy z użyciem FAT32. Następnie możemy zapisać na niej obrazy programów, musimy jednak pamiętać o pewnym ograniczeniu. UNOCart akceptuje maksymalnie 80 plików w jednym katalogu, dlatego jeżeli mamy więcej plików, to warto je podzielić tematycznie lub alfabetycznie i stworzyć odpowiednie katalogi. Jeżeli mamy już przygotowaną kartę, to czas umieścić ją w UNOCart i włożyć go do naszej konsoli w tym przypadku jest to Atari2600Jr.
Kartridż wkładamy etykietą skierowaną w naszą stronę, a więc odwrotnie niż oryginalne kartridże Atari.
UNOCart 2600 wyposażony jest w widoczny po lewej stronie gniazda karty microSD przełącznik do wyboru trybu pracy: PAL (50Hz) lub PAL60 (60Hz). Zobaczmy czy uda nam się włożyć kartridż do starszego modelu, a mianowicie do Atari 2600 “Darth Vader”:
Tu pojawia się problem, poprzednie wersje konsoli mają szersze skrzydełka na boku złącza i niestety bez rozebrania obudowy, nie uda nam się włożyć kartridża. Zostawmy jednak na razie ten problem i wróćmy do Atari 2600Jr.. Uruchamiamy konsolę i pokazuje nam się od razu menu UNOCart’a:Na dole ekranu widać nazwisko twórcy i informację o wersji oprogramowania. Sprawdźmy czy jest dostępna nowsza wersja firmware’u na GitHub’ie Christiana Speckner’a: https://github.com/DirtyHairy/UnoCart-2600/releases. Okazuje się, że najnowszą wersją jest wersja 1.17. Ściągamy plik update’u: ‘update.bin’ i umieszczamy go na naszej karcie microSD w głównym katalogu.
Uruchamiamy ten plik i po sekundzie uzyskujemy informację o sukcesie załadowania nowego firmware’u:
Uruchamiamy ponownie konsolę i rzeczywiście mamy teraz do czynienia z wersją 1.17 co widać na dole ekranu.
Wiedząc, że jedną z najbardziej wymagających gier jest Pitfall II uruchamiamy go.
Wszystko działa doskonale i słychać 4-kanałową muzykę. Kartridż bez problemu emuluje tryb DPC. Pójdźmy dalej i załadujmy korzystające z rozszerzenia SuperChip(SARA) stworzone przez grupę XAYAX Demo “Bang!”. Odpala się ono na UnoCart 2600 bez żadnego problemu i powoduje, iż moja szczęka opada z głośnym klapnięciem na podłogę. Jak można coś takiego wycisnąć ze sprzętu rodem z 1977r.!? 🙂 Z resztą oceńcie sami:
Jak tam szczęki, całe? 😉 Moja oderwała się od zawiasów w momencie, gdy zobaczyłem obracającą się piłkę rodem z kultowego dema Amigi. 🙂 Programiści wycisnęli naprawdę maksimum z Atari 2600, pamiętajmy, że w samej konsoli jest tylko 128 bajtów RAM…a muzyka, no cóż Skyrunner nas tu zdecydowanie nie zawiódł. 🙂
Pamiętacie opisywanego dwa wpisy wcześniej PONG’a? Mam dla Was niespodziankę w postaci podobnego kontrolera, a mianowicie Paddle, po polsku nazywanego wiosełkami. Kontrolery te dodawane były do pierwszych wersji Atari VCS, potem można było je już tylko osobno dokupić. Zanim jednak podłączymy wiosełka, weźmy je na retro-warsztat:
Wiosełka składają się z 2 kontrolerów, każdy z pokrętłem i przyciskiem. Co ciekawe oba podłączone są do jednej wtyczki DB9:
Po bliższych oględzinach okazuje się, że jedno z pokręteł spada, a przyczyną jest nadłamane gniazdo w samym pokrętle:
Kleimy to Cyjanoakrylem (średnim) i po 24 godzinach mamy już mocne połączenie w gnieździe:
Składamy wszystko razem, ale tu pojawia się chęć zajrzenia do środka, 🙂 no cóż odkręcamy 2 wkręty:
i zaglądamy do środka, gdzie znajduje się rezystor o zmiennej rezystancji (potencjometr) o wartości nominalnej 1MΩ. Widać, iż jest to solidny bardzo potencjometr i nie ma on nic wspólnego z naszymi, produkowanymi w latach 80-tych, trzeszczącymi potencjometrami.
Składamy z powrotem obudowę i mamy już gotowe do akcji nasze wiosełka:
Jaka gra najlepiej wykorzysta je? Oczywiście SuperBreakout znane w nowszych odsłonach jako Arkanoid. Odpalamy i sprawdzamy jak pracują wiosełka.
Oba pracują bardzo dobrze, odczucia kontroli są zdecydowanie lepsze niż w przypadku joystick’a, samo analogowe podejście i genialne w swej prostocie pokrętło robi robotę. 🙂 Tu oczywiście nastąpiła dłuższa przerwa na zbicie cegieł w murze, co okazało się jednak zadaniem piekielnie trudnym, gdyż po odbiciu od dalej znajdujących się cegieł piłka zdecydowanie przyspiesza, no cóż trening czyni mistrza, kiedyś damy radę rozprawić się z tym murem.
Na koniec chciałbym Wam pokazać jeszcze trzy gry. Pierwsza to chyba najładniej zrobiona grafika bez wspomagania “chipowo-kartridżowego” serwowana w grze Solaris:
Druga to klasyk doskonale znany z 8-bitowego Atari XL/XE: Montezuma’s Revenge:
A trzecia to świetna gra: Keystone Kapers wydana przez Activision w 1983 roku, którą pamiętam z wersji na moim 8-bitowym Atari XL.
Takich klasyków jest znacznie więcej i do dziś konsola Atari VCS/2600 potrafi dać wiele frajdy. Oczywiście, że grafika nie powala, a dwukanałowy dźwięk już w latach 80-tych odstawał od komputerów Atari XL/XE z układem POKEY i Commodore C64 z układem SID. Ale po włączeniu emulacji jest już zdecydowanie lepiej. UNOCart od Zaxona jest bardzo dobrym emulatorem, jedyny problem to obudowa, która wymaga zdjęcia lub przeprojektowania i ponownego wydruku na drukarce 3D tak aby dało się używać kartridża w starszych konsolach Atari. Dodatkowo świetnie sprawdza się opisany przeze mnie w jednym z zeszłorocznych wpisów tandem: (S)NESctrl2.0+8Bitdo, pozwalający na bezprzewodowe podłączenie kontrolera od PS4 lub XBox’a do naszego Atari 2600.
Osobom, które zainteresował temat początku rynku gier komputerowych i konsoli Atari VCS/2600 polecam książkę Jamie’go Lendino: “Adventure, The Atari 2600 at the dawn of console gaming”:
***
Kończąc, życzę Wam udanej niedzieli, pamiętajcie o wiosennym spacerze! 🙂 Trzymajcie się ciepło i dobrego startu w nowy, wiosenny już tydzień! 🙂