Zgłoś błąd

X

Zanim wyślesz zgłoszenie, upewnij się że przyczyną problemów nie jest dodatek blokujący reklamy.

Typ zgłoszenia
Treść zgłoszenia
Twój email (opcjonalnie)
Nie wypełniaj tego pola
 
.
Załóż konto
EnglishDeutschРусскийFrançaisEspañol中国

PureRetro: kodowanie Commodore 64 w 280 znakach na Twitterze

Bartłomiej Dramczyk | 09-12-2017 10:30 |

PureRetro: kodowanie Commodore 64 w 280 znakach na TwitterzeMamy jeszcze jeden dowód na to, że świat bitów i bajtów C64 rzeczywiście jest miniaturowy. Dla przypomnienia, Commodore 64, najlepiej sprzedający się 8-bitowiec wszech czasów, debiutował w sierpniu 1982 roku. Maszynę wyposażono w procesor MOS Technology 6510 taktowany zegarem 0,985 MHz, 64 KB pamięci RAM, trójkanałowy syntezator dźwięku SID i układ graficzny wyświetlający do 16 kolorów w rozdzielczości 320x200 pikseli. Łącznie C64 wyświetla w trybie tekstowym 25 wierszy po 40 znaków każdy. Umieszczony w pamięci ROM system operacyjny (Kernal) oraz interpreter języka BASIC działają w trybie tekstowych, zabrakło w tym zestawieniu poleceń umożliwiających obsługę grafiki i dźwięku. Wszystko przez oszczędność i pośpiech – w Commodore 64 zastosowano identyczny dialekt języka BASIC, jak w jego bezpośrednich poprzednikach: Commodore VIC-20 oraz Commodore MAX Machine (odpowiednik C64 sprzedawany na rynku japońskim z mniejszą pojemnością pamięci RAM).

Rekordy świata w kodowaniu? Przydałaby się odpowiednia kategoria w Księdze Guinnessa.

PureRetro: kodowanie Commodore 64 w 280 znakach na Twitterze [5]
Miniaturowe wyścigi samochodowe - 512 bajtów kodu.

W swojej 35-letniej historii istnienia na świecie C64 pobił wiele rekordów, nie tylko sprzedażowych. Do dziś maszyna ta okazuje się poważnym wyzwaniem dla grafików, muzyków i koderów. Wcześniej czy później twórcy gier, wciąż poszukujący swojego Świętego Graala, trafią na tego 8-bitowca i odkryją to, o czym dawni posiadacze Commodore 64 już wiedzą: to nie tylko świetna zabawka, ale i maszyna, która nauczyła wielu ludzi pokory w związku ze swoimi ograniczeniami sprzętowymi. Widniejący po uruchomieniu napis: 38911 BASIC BYTES FREE budzi szacunek i podpowiada, jak wiele zmieniło się przez ostatnie 35 lat. Dziś trudno wyobrazić sobie urządzenie z ekranem i klawiaturą, wyposażone w tak skromne zasoby pamięci.

PureRetro: Zbiór 100 godzin syntetycznej muzyki z Commodore 64

PureRetro: kodowanie Commodore 64 w 280 znakach na Twitterze [10]
Snake-3 - gra, której źródłowy kod w BASIC-u zmieścił się w jednym tweecie.

Tak się ładnie złożyło, że 1 grudnia upłynęło 20 lat od stworzenia najpopularniejszej odmiany Snake’a, gry opracowanej przez Taneliego Armanto na Nokię 6110. Również, całkiem niedawno, w listopadzie zmieniono limit długości wiadomości na Twitterze. Obecnie wynosi on 280 znaków. Te dwa elementy to wystarczająca zachęta dla zdolnych twórców gier, by wycisnąć ze Snake’a i Twittera co tylko możliwe. I niejako przy okazji sięgając po Commodore 64. Wprawdzie twórcy gier mają już swoją neo-retro konsolę przeznaczoną do eksperymentów ze stylistyka pikseli, chiptune’ów i kodu w Lua, jaką stała się PICO-8 (z 4-kanałowym układem dźwiękowym i 16-kolorową grafiką w rozdzielczości 128x128 pikseli). Jednak Commodore 64 ma jedną, niezaprzeczalną zaletę – istnieje jako fizyczny kawałek sprzętu, który wciąż można zdobyć.

Komputer Commodore 64 Mini - renesans rozwiązań retro

PureRetro: kodowanie Commodore 64 w 280 znakach na Twitterze [4]
Cybernoid 1k - strzelanina dla C64, mieszcząca się w 1 kilobajcie kodu.

Davide Fichera opublikował właśnie na swoim Twitterze kod napisany w BASIC-u Commodore 64, który jest implementacją prostej gry w Snake’a. Nie byłoby w tym nic zaskakującego, gdyby nie fakt, iż całość gry, wyświetlanej w trybie znakowym mieści się w limicie 280 znaków, jakim obłożone są wszelkie wypowiedzi na Twitterze. Snake-3 to zaledwie trzy, gęsto upakowane linie poleceń BASIC-a, w których wykorzystano znaki specjalne i skróty, by zmieścić wszystkie komendy (interpreter BASIC-a 2.0 przyjmuje maksymalnie dwa wiersze znaków, jako polecenie):
1 diml(63):a(0)=-40:a(1)=1:a(2)=40:a(3)=-1:?"{clear}":fori=1to60:poke1024+rnd(1)*999,90:next
2 p=p+a(d):l(u)=p+1524:c=peek(l(u)):on-(c<>32andc<90)goto3:pokel(u),81:pokel(u-f-3and63),32
3 f=f-(c=90):?"{home}"f:u=u+1and63:geta$:d=d+(a$="a")-(a$="d")and3:on-(c=32orc=90)goto2

PureRetro: Amiga 1200 skończyła 25 lat! Przypominamy jej historię

PureRetro: kodowanie Commodore 64 w 280 znakach na Twitterze [9]
Snake-3 - kod programu w BASIC-u

Ujęte w nawiasach klamrowych symbole home i clear odpowiadają znakom specjalnym, wstawianym w miejsce znacznika. Do sterowania służą dwa klawisze: A i D, zmieniające kierunek ruchu węża. Sprawdzone, działa, chociaż obsługa gry i wykonanie pozostawia nieco do życzenia. Niewątpliwie nie jest to przebój, przed którym cała rodzina spędziłaby długie godziny, wpatrując się w licznik Hi-Score (którego nie ma). Zdecydowanie więcej ciekawszych miniaturek do zagrania można odnaleźć w archiwach demoscenowego serwisu Pouet. Prawdziwe perełki mieszczą się w 1 KB kodu napisanego w asemblerze 6510, to m.in.: Bubble Blaster, Cybernoid 1k, Kilodium i Venus Express. Niecałe 512 bajtów zajmują gry Helsingfors i Uleaborg. Poniżej tej graniczy trudno znaleźć dobre gry napisane w asemblerze, ale pewien wyjątek stanowi 1bir (1 Block Interactive Raycaster), który w 254 bajtach generuje na ekranie trójwymiarowy labirynt, inspirowany Wolfensteinem 3-D. Da się grać joystickiem, kolizje z otoczeniem występują, ale brakuje przeciwników i broni.

PureRetro: minęło 25 lat od premiery pierwszego smartfona

PureRetro: kodowanie Commodore 64 w 280 znakach na Twitterze [1]
1bir (1 Block Interactive Raycaster) - 254 bajty kodu odpowiedzialne za wyświetlenie gry 3D (w dużym przybliżeniu).

0
Zgłoś błąd
Liczba komentarzy: 7

Komentarze:

x Wydawca serwisu PurePC.pl informuje, że na swoich stronach www stosuje pliki cookies (tzw. ciasteczka). Kliknij zgadzam się, aby ta informacja nie pojawiała się więcej. Kliknij polityka cookies, aby dowiedzieć się więcej, w tym jak zarządzać plikami cookies za pośrednictwem swojej przeglądarki.