atarionline.pl
atarionline.pl Atari
Login:
Hasło:
Zapamiętaj mnie
Translate to RSS RSS
Commodore po atarowsku z 2026-05-28 21:50 (10)
Urządzenie z rekordowo szybką transmisją SIO! z 2026-05-24 20:57 (115)
Spotkanie z NES-em z 2026-05-21 22:02 (7)
Po Atariadzie w Czechach z 2026-05-18 19:13 (6)
Już w sobotę KWAS we Wrocławiu! z 2026-05-14 22:01 (10)
Prace nad Golden Axe i nowa gra SwordWork z 2026-05-06 23:55 (33)
Barbarian, Giana Sisters i inne aktualności growe z 2026-05-03 23:45 (24)
Grawitacja 2026 - wyniki i gry z 2026-04-20 23:41 (39)
Rozmowa o demoscenie - Bac z Taquart z 2026-04-17 16:04 (33)
Wkrótce GEMTOS 2026 z 2026-04-16 10:39 (1)
Sceny z demosceny #6: rozmowa z Bac/Taquart z 2026-04-12 19:27 (7)
Od Atari do książki o procesorach - historia Roberta Jaremczaka z 2026-03-31 14:32 (33)
Najnowszy magazyn "FLOP", numer 69 z 2026-03-30 09:40 (4)
Ankieta o AI na demoscenie z 2026-03-25 12:59 (63)
Nowy kanał o Atari 16/32-bit z 2026-03-20 17:15 (52)
Wybór najlepszych gier roku 2025 - FujiCup, AHA z 2026-03-13 18:17 (18)
Brodaty cartridge z 2026-03-10 08:31 (16)
Dzisiaj spotkanie z autorem książki z 2026-03-08 11:04 (17)
Nowości w Bibliotece Atarowca z 2026-03-06 11:49 (18)
Atari jako programator pojazdu gąsienicowego z 2026-03-04 16:15 (17)
«« nowszestarsze »»

Pomocnik/Helper
Gry/Games

Katalog gier (konwencja Kaz)
Aktualizacja: 2026-05-28
Liczba katalogów: 8866, liczba plików: 40016
Zmian katalogów: 6, zmian plików: 20

0-9 A B C D
E F G H I
J K L M N
O P Q R S
T U V W X
Y Z inne
zipCałość 3070 MB

Katalog gier (konwencja TOSEC)
Aktualizacja: 2021-07-11

Opisy gier
"Old Towers" (Atari ST) opisał Misza (19)
Submarine Commander opisał Kaz (36)
Frogs opisał Xeen (0)
Choplifter! opisał Urborg (0)
Joust opisał Urborg (17)
Commando opisał Urborg (35)
Mario Bros opisał Urborg (13)
Xenophobe opisał Urborg (36)
Robbo Forever opisał tbxx (16)
Kolony 2106 opisał tbxx (3)
Archon II: Adept opisał Urborg/TDC (9)
Spitfire Ace/Hellcat Ace opisał Farscape (9)
Wyspa opisał Kaz (9)
Archon opisał Urborg/TDC (16)
The Last Starfighter opisał TDC (30)
Dwie Wieże opisał Muffy (19)
Basil The Great Mouse Detective opisał Charlie Cherry (125)
Inny Świat opisał Charlie Cherry (17)
Inspektor opisał Charlie Cherry (19)
Grand Prix Simulator opisał Charlie Cherry (16)
«« nowszestarsze »»

Wewnętrzne/Internals



   Nowinki tworzone dzięki CuteNews
Commodore po atarowsku
Dzisiaj kodersko. Aż dwa dema na odbywającym się w ten weekend w Opolu zlocie Moonshine Dragons powstały dzięki atarowcom. Łączy je również to, że obie zostały przygotowane na nieco zapomniane przez kolegów komodorowców platformy - Commodore PET i Commodore 128, a także, że obie produkcje zostały wystawione w kategorii Wild, gdyż nie było na zlocie innej, w której mogły wziąć udział programy dla tych maszyn. Pecik Demko dla Commodore PET 3032 zajęło pierwsze miejsce, zdobywając w głosowaniu 398 punktów, a Uneasy zajęło czwarte miejsce, zdobywając 310 punktów.



1. Commodore 128 i Bober, SimOne, Dma-sc

Kolega Rafał "Bober" Ciepiela z atarowskiej grupy M.E.C. postanowił wykonać produkcję scenową dla innej platformy niż Atari 8/16/32-bit, o czym opowiada:

"Jak już wiecie, wypuściłem na mijającym zlocie Moonshine Dragons intro pod tytułem "Uneasy" na C128 — maszynę chyba najmniej popularną na scenie pod względem liczby sensownych produkcji scenowych wśród popularnych komputerów (takich, których liczba sprzedanych egzemplarzy szła w miliony [1]). Nie chcę wchodzić w dyskusję o tym, który sprzęt jest lepszy, po prostu pochwalę się [2] swoim toolchainem.

Wstęp, czyli co to jest?

Historia powstania specyficznej konstrukcji C128 jest znana [6], a jej podstawowe cechy to:

  • 1. Na płycie komputera są dwa procesory: 8502 (kompatybilny z 6502) oraz Z80. Niestety, nie mogą one pracować jednocześnie, ponieważ współdzielą magistrale. Podczas uruchamiania maszyną steruje Z80, ale jeśli nie wykryje środowiska CP/M, to przekazuje sterowanie do 8502.
  • 2. Maszyna ma trzy tryby pracy: tryb C64, w którym kompatybilność z C64 jest bardzo duża; tryb CP/M, który jest zgodny z całym oprogramowaniem dla tego systemu, ale niestety z powodu słabego taktowania Z80 pracuje około połowę wolniej niż konkurencja; oraz natywny C128, który nie jest kompatybilny z C64.
  • 3. W trybie C128 mamy dostępne m.in:
    a) Stronę zerową można przemapować na dowolną inną stronę w pamięci. Działa to w ten sposób, że MMU (osobny układ) przemapowuje odwołania do strony zerowej na dowolną inną, wcześniej skonfigurowaną stronę pamięci. Dla CPU to jest przezroczyste.
    b) To samo, co wyżej, można zrobić ze stosem.
    c) Maszyna ma 128k RAM-u. Szczegóły dotyczące tego, jak działa ta pamięć, poniżej.
    d) 8502 może pracować z częstotliwością 1 lub 2 MHz.
    e) C128 ma dwa układy graficzne: VIC oraz VDC. VIC generuje obraz identyczny jak w C64, jest on znany jako tryb 40-kolumnowy. Drugim układem jest VDC. Generuje on obraz 80-kolumnowy, zgodny ze standardem CGA. Każdy układ ma własne wyjście na monitor. Wygląda to zatem podobnie jak w przypadku Atari ST — do pełnej pracy potrzebne są dwa monitory. Jednak tutaj, gdy CPU pracuje na 1 MHz, oba układy wyświetlają obraz jednocześnie (ta funkcjonalność jest używana przez grę "PETSCII Robots' – na jednym monitorze jest ekran akcji, na drugim – mapa). Gdy przełączymy CPU na 2 MHz, VIC odłącza się od pamięci i generuje jednolity obraz w kolorze tła (wygląda to jak Antic z wyłączonym DMA). Zostaje nam tylko VDC.
    f) VDC ma niezależną od CPU pamięć graficzną. Dostęp do niej jest możliwy tylko przez jeden rejestr sprzętowy i jest dość wolny. Ogólnie ten układ trochę przypomina sytuację, w której atarowski XEP80 został wbudowany do środka XE.

    na tym C128D, z niemałymi kłopotami technicznymi, było prezentowane demko "Uneasy"


    Struktury plików wykonywalnych

    Na początek zacznijmy od teorii i opisu tego, jak wyglądają struktury plików wykonywalnych na obu platformach.

    Plik binarny dla XE to plik z nagłówkiem FFFF (dwa pierwsze bajty to $FF), które są wymagane w przypadku pierwszego bloku w pliku i opcjonalne dla kolejnych. Dalsze elementy bloku to adres początkowy (dwa bajty), adres końcowy (kolejne dwa bajty) oraz dane do załadowania. Jeśli adresy początkowy i końcowy są sobie równe, blok ma długość jednego bajtu. Bloków może być wiele i mogą nachodzić na siebie w pamięci (co jest używane, np. gdy ładujemy dane do pamięci rozszerzonej 130XE).
    System obsługuje jeszcze dwa specjalne bloki (adresy):
    a) INIT - ładowanie jest przerywane i uruchamiany jest blok inicjalizacyjny. Po jego zakończeniu ładowanie jest kontynuowane. Ta opcja jest używana np. w grach do wyświetlania napisu "loading" lub podobnego.
    b) RUN - blok określa adres uruchamiania aplikacji (entry point). System uruchamia kod zawarty pod tym adresem po załadowaniu ostatniego bloku. Jeśli nie ma bloku RUN, używa się adresu pierwszego bloku.

    Na Commodore interfacem jest Basic, zatem programy binarne mają postać programów w nim napisanych. Standardowo wygląda to tak, że na początku pliku znajduje się stokenizowana linia z komendą SYS oraz adresem uruchomienia aplikacji (entry point). Linię tą można zobaczyć wpisując LIST po załadowaniu programu, zwykle jest to coś w stylu:

    10 SYS 7181

    Zaraz za tą linią w pamięci następuje kod aplikacji. Basic jednak tego kodu nie pokazuje. W przypadku C128 adres ładowania to $1c01 (dla C64 jest to $0801), co sprawia, że pliki dla C128 i C64 są ze sobą niekompatybilne. Z punktu widzenia XE wygląda to jak plik z jednym blokiem o zdefiniowanym na stałe adresie ładowania.



    Pamięć

    C128, jak już wspomniałem, ma 128 kB RAM-u. Pamięć ta jest podzielona na dwa banki po 64k każdy, więc podmieniamy całą pamięć widoczną dla CPU. Jednakże żeby łatwiej pracowało się z taką pamięcią, dostępne są wspólne okna na początku i/lub na końcu przestrzeni adresowej. Rozmiar wspólnych okien można zmieniać od 1k do 16k (od 1k na początku i 1k na końcu na pamięć wspólną do 16k na początku i 16k na końcu). Technicznie, pamięć wspólna to zawartość banku 0. Im większe okno, tym mniejszy rozmiar podmienianej pamięci (od 63k do 32k). Przykładowo, dla okna o rozmiarze 1k na początku i na końcu przestrzeni adresowej pamięć wspólna jest dostępna pod adresami $0000–$03FF oraz $FC00–$FFFF, a przestrzeń od $0400 do $FBFF jest zastępowana. Do tego dochodzą jeszcze ustawienia ROM-ów oraz widoczność rejestrów sprzętowych. W linku [7] znajdziecie mapę pamięci C128 oraz dodatkowe informacje.



    Uneasy

    Na początek tyle teorii. Ale do czego ona jest tu przydatna? Bo pisząc "Uneasy" dla C128 korzystałem z atarowskiego toolchaina i to może kogoś zainteresuje. Całe intro było kodowane w starym, dobrym MADS-ie [3], kompresowane exomizerem [4]. Nagłówek dla głównego pliku w asemblerze jest następujący:

    opt h-f+

    ; standard C128 header
    org [a($1c01)],$1c01 ; BASIC start address ($1c01)

    dta a(upstart_end) ; link address
    dta a(10) ; line number
    dta b($9e) ; SYS
    .cbm "7181"; value of 'main' in decimal, text format
    dta b(0)
    upstart_end
    dta a(0)

    main
    lda #$00 ; entry point
    [...]


    To typowy nagłówek dla Commodore. Od wersji C64 różni go tylko adres $1c01 (7181 dziesiętnie). Kod dema rozpoczyna się od etykiety main. W "Uneasy" ów nagłówek trochę rozbudowałem, więc to słaby przykład, choć działa tak samo. "Uneasy" współdzieli silnik dema razem z innymi moimi produkcjami napisanymi dla XE, który to silnik opisałem już na AtariOnline.pl [5]. Różnica jest taka, że tutaj użyłem dwóch slotów zamiast czterech. Ze względu na specyfikę VDC tyle wystarczy.

    Każdy efekt rezyduje w określonym miejscu pamięci, a jego źródło zaczyna się w jak najbardziej atarowski sposób. Dla przykładu tunel:

    org TUNNEL_DEST

    tunnel_texture
    dta b($23,$23,$23,$23,$23,$23,$23,$23,$2b,$2b,$2b,$2b,$2b,$2b,$2b,$2b)
    [...]


    Czyli deklaruję standardowy DOS-owy blok FFFF. Po zasemblowaniu powyższego źródła nagłówek jest dobrze widoczny na początku pliku obj (pierwsze sześć bajtów: FF FF 00 AA A8 DF):

    $ mads tunnel.asm -x -t:labels.out -o:tunnel.obj
    Writing object file...
    521 lines of source assembled in 3 pass
    9647 bytes written to the object file

    $ hexdump -C tunnel.obj
    00000000 ff ff 00 aa a8 cf 23 23 23 23 23 23 23 23 2b 2b |......########++|
    [...]


    Kolejnym krokiem jest kompresja przy użyciu exomizera. To narzędzie w trybie mem (kompresja danych z i do pamięci) rozpoznaje bloki FFFF:

    $ exomizer mem -l none tunnel.obj -o tunnel.exo
    filename: "tunnel.obj", loading from $AA00 to $CFA9
    crunching from $AA00 to $CFA9
    [...]


    Później już z górki, bo skompresowany blok dołączam bezpośrednio do kodu (dyrektywą ins MADS-a):

    lib_tunnel
    ins 'tunnel.exo'
    lib_tunnel_end

    lib_tunnel_size equ lib_tunnel_end-lib_tunnel

    lda sta exod_zp_src_lo ; exomizer input data pointer
    lda >buffer
    sta exod_zp_src_hi

    lda sta exod_zp_src_el ; exomizer buffer size
    lda >buffer+exo_tunnel_size
    sta exod_zp_src_eh

    lda sta exod_zp_dest_lo ; exomizer target pointer
    lda >TUNNEL_DEST
    sta exod_zp_dest_hi
    jsr exod_decrunch ; decompress data
    [...]




    Od tego momentu pod adresem $AA00 mam już kod i dane tunelu, co widać w monitorze:

    (C:$cdc0) m $aa00
    >C:aa00 23 23 23 23 23 23 23 23 2b 2b 2b 2b 2b 2b 2b 2b ########++++++++
    >C:aa10 23 23 23 23 23 23 23 23 2b 2b 2b 2b 2b 2b 2b 2b ########++++++++
    >C:aa20 23 23 23 23 23 23 23 23 2b 2b 2b 2b 2b 2b 2b 2b ########++++++++
    >C:aa30 23 23 23 23 23 23 23 23 2b 2b 2b 2b 2b 2b 2b 2b ########++++++++
    >C:aa40 23 23 23 23 23 23 23 23 2b 2b 2b 2b 2b 2b 2b 2b ########++++++++
    >C:aa50 23 23 23 23 23 23 23 23 2b 2b 2b 2b 2b 2b 2b 2b ########++++++++
    >C:aa60 23 23 23 23 23 23 23 23 2b 2b 2b 2b 2b 2b 2b 2b ########++++++++
    >C:aa70 23 23 23 23 23 23 23 23 2b 2b 2b 2b 2b 2b 2b 2b ########++++++++
    >C:aa80 2b 2b 2b 2b 2b 2b 2b 2b 23 23 23 23 23 23 23 23 ++++++++########

    Teraz można już efekt uruchomić. I tak w praktyce wygląda pisanie kodu dla C128 przy użyciu narzędzi dla XE. A jakby komuś było mało, to więcej programowania C128 jest np. w źródle [7]."

    [1] Najmniejsza liczba jaką znalazłem
    [2] Komentarz Blaspha na AOL
    [3] MAD-Assembler
    [4] Exomizer
    [5] Jak się robi design?
    [6] Zmierzch ośmiu bitów, czyli Commodore 128
    [7] C128 assembly - Part 1

    2. Commodore PET i Zoltar-X, Kaz, Laoo, Tiger

    Demko zainicjował Filip "Zoltar-X" Golewski, chociaż opowiada, że to ja go do tego namówiłem. Dementuję, to nieprawda. A jeśli to prawda, to przepraszam, nie pamiętam albo może żartowałem. Tak czy siak, idea przyszła nam do głowy po tym, jak Filip pokazał mi Commodore PET na jednym z poprzednich zlotów Silly Venture. Pozyskał zdezelowany i niedziałający egzemplarz, którego wielkim wysiłkiem Drygola udało się przywrócić nie tylko do życia, ale i pięknego wyglądu. Szkoda, żeby maszyna stała bezczynnie, więc powstał pomysł na zrobienie czegoś na nim. Zielony ekran monitora aż się o coś prosił...

    prace nad "Pecik Demko"


    Ponieważ to urządzenie nie ma żadnego złącza wideo, bo przecież ma wbudowany monochromatyczny monitor, ma tylko tryb tekstowy 40x25 znaków i nie można definiować własnych znaków, a żadnych dźwięków nie wydaje, to wybór padł na wykonanie jakiegoś prostego, małego demka ze znaków PETSCII. W ciągu kilku tygodni Filip wypromptował narzędzie do rysowania takimi znakami i przystąpiłem do pracy. Dzień przed zlotem i w dniu zlotu, a nawet na samym zlocie rysowałem graficzki semigraficzne, nie wiedząc nawet, jak one będą wyglądać na prawdziwym sprzęcie. Udało mi się zaproponować jednak pewien design demka, nazwę i narysować animacje. Nie wszystko się jednak udało zmieścić. Swoje znaczki dosłał jeszcze nieobecny na party Robert "Tiger" Smoliński, a fantastyczny kawałek kodu napisał na samym party obecny Waldemar "Laoo" Pawlaszek. Z limitem około 29 kB na całość musieliśmy się pozbyć kilku narysowanych przeze mnie scenek. Ale tak to w pracy twórczej bywa. My z Zoltarem-X pracowaliśmy nad sekwencjami i układem, a w tym czasie Laoo i obecny Solo żywo dyskutowali o urozmaiceniu demka jakimś demoscenowym efektem. Waldek podesłał mi opis swojej pracy:

    "Krystalizując kształt produkcji na PET-a na Moonshine Dragons, staraliśmy się z Zoltarem i Solem wymyślić, co można byłoby do niej realistycznie dodać ponad to, jaki szkielet miał już Zoltar-X, czyli silnik do prezentowania slide-show. Realistycznie, czyli coś, co zdąży się napisać do kompo w piątek i ewentualnie w sobotę. Na pomysł bump-mappingu wpadł Solo i po zawężeniu opcji na tym ostatecznie stanęło jako coś, co faktycznie można napisać najszybciej.

    PET "w środku nic nie ma". W sprzęcie są zaszyte dwa generatory znaków po 128 znaków plus inwersja. Pamięć ekranu jest osobnym VRAM-em, trzymającym kody znaków i składającym się z 40*25 bajtów od adresu $8000. Samego RAM-u jest dużo, bo 32kB. Dodatkowo nie umieliśmy wyłączać przerwań i korzystanie ze strony zerowej było bardzo ryzykownym przedsięwzięciem, bo KERNAL i BASIC zostawiali niezagospodarowane tylko kilka bajtów, a używanie reszty mogło nieść ze sobą niespodziewane konsekwencje. Większość części demka miały stanowić spakowane grafiki, więc to zdeterminowało, że bump musi być optymalizowany pamięciowo.

    "ciemnia fotograficzna"


    Do dyspozycji był tylko tryb tekstowy z predefiniowanymi znakami, więc odcienie szarości, niezbędne do uzyskania efektu, trzeba było uzyskać, wybierając odpowiednie znaki z generatora. Pamiętałem, że w sieci jest dużo produkcji renderujących różne grafiki (nawet DOOMa) w trybie tekstowym, ale po szybkim przejrzeniu algorytmów wyboru znaków okazało się, że bazują one na wysokiej rozdzielczości i jasność znaku aproksymują liczbą zapalonych pikseli. Przy małej rozdzielczości z PET-a to nie zdałoby egzaminu. Próbowałem promptować jakiś algorytm, który bierze pod uwagę kształt fontów, ale taki konwerter grafiki lightmapy na znaki nie dał zadowalających rezultatów. Najlepsze, co mieliśmy, okazało się algorytmem z narzędzia Zoltara do konwersji grafiki na fonty — z lightmapą przekonwertowaną na dwa kolory po ditheringu poradził sobie na tyle zadowalająco, że ostatecznie tego użyłem, wycinając mapę 16x16 zakodowaną w pliku light16x16.bin.

    Dalej do gry dołączył GIMP, w którym wygenerowałem dwie mapy wypukłości o rozdzielczości 41x26 jako grafiki o ośmiu poziomach jasności. Mapowanie nierówności korzysta z gradientów takiej mapy, na potrzeby czego wypromptowałem skrypt, który dla każdego piksela o względnej jasności 0–7 oblicza różnicę dla piksela po prawej oraz piksela u dołu. Różnica jest ze znakiem z przedziału -7 do 7, co koduję na wartości 0..14, dodając 8. Każdy piksel produkuje bajt, w którym gradient pionowy jest pamiętany na starszym niblu, a poziomy na młodszym. W ten sposób powstały dwie mapy pochyłości: slope1.bin i slope2.bin.

    Mając już lightmapę oraz mapy pochyłości, nastał czas na sam algorytm. Idea jest prosta – w każdy znak ekranu wmapowuję jeden znak z lightmapy. Najprościej można sobie wyobrazić, że bez żadnych offsetów algorytm ma za zadanie wkopikować lightmapę w lewy górny róg ekranu. Ruch lightmapy realizujemy przez dodawanie odpowiednich offsetów w poziomie i w pionie, czyli wartości początkowej, jaka obowiązuje w lewym górnym rogu. Samo mapowanie wypukłości polega na tym, że dla każdego znaku ekranu mamy odpowiadający mu bajt z tablicy slope1.bin/slope2.bin i przesuwamy offset w pionie o wartość zakodowaną w starszym niblu, a w poziomie o wartość z młodszego nibla, co przesuwa nam lightmapę dla każdego piksela niezależnie, stąd złudzenie wypukłości. Oczywiście, w samym algorytmie jest kilka zawiłości technicznych, takich jak to, jak dekodować wartość dla każdej osi osobno. Na szczęście liczba znaków do przetworzenia jest na tyle mała, że bardzo nieefektywny algorytm robiący wiele przesunięć bitowych i dodawania działa dość żwawo.

    ekipa autorska obecna na Moonshine Dragons


    Dodatkowo, ze względu na niepewną stronę zerową, musiałem stosować kod, który z niej nie korzysta, kosztem intensywnej automodyfikacji adresów, z których czyta dane i do których zapisuje. Sam kod bumpa jest w bump.asm, jest tam też procedura przełączająca wykorzystanie dwóch map pochyłości. Kod testowy, który można zasemblować za pomocą dasm jest w bumptest.asm, asemblujemy przez dasm bumptest.asm -obumptest.prg. Powstały kod uruchamiamy w emulatorze PET-a przez xpet -mode 3032 bumptest.prg. Kod sprawdza naciśnięcie spacji i wtedy przełącza mapy pochyłości."

    Tyle od Waldka, ale ja dodam jeszcze, że po ukończeniu rysowania i kodowania, nasza praca tak naprawdę się nie zakończyła. Powstał problem z... pokazaniem dema. Ostatecznie poproszono nas o przygotowanie nagrania wideo z ekranu PET-a, który w czasie kompotów był pokazywany na bigscreenie, a równocześnie odpaliliśmy demko z prawdziwego sprzętu, które pewnie mogli dostrzeć nieliczni, ze względu na malutki ekranik (9 cali). Aby nagrać to wideo, wykonałem ad hoc "ciemnię" do nagrywania telefonem Laoo - z tego co wpadło w rękę: kartony od jedzenia, czarna koszulka, bluza, a nawet baner działkowców. Nagranie i tak było dość kiepskie, ale zebrana kilkudziesięcioosobowa publiczność obdarzyła nas zaufaniem, że zrobiliśmy, co mogliśmy, i przyznała nam pierwsze miejsce w kategorii Wild. Dziękujemy!

    prawie równoczesny pokaz wideo i prawdziwego programu


    Plik demka "Uneasy" tutaj, a demko "Pecik Demko" tutaj oraz procedurki bump-mappingu od Laoo tutaj.

    Filmik, który puszczaliśmy na zlocie, z podkładem Zoltara-X z Pokeya, poniżej:



    2026-05-28 21:50 by Kaz
    komentarzy: 10
  • Kaz @2026-05-31 20:11:20
    To jeszcze taki szczegół techniczny - demko Bobera ma 14 KB, nasze 29 KB.
    bob_er @2026-05-31 20:47:21
    Gratulacje dla zwycięzców!!!
    Kaz @2026-05-31 20:57:47
    Tak jest! I dla wszystkich uczestników. Twoje demko było moim faworytem, dałem mu w naszej kategorii najwięcej punktów. I dziwię się, że nie zostało docenione. Myślę, że duży wpływ miało na to zamieszanie z C128, który nie odpalił i prezentacja była przeniesiona na później. Na pocieszenie - nagród generalnie nie było :D
    Benoit Leroy-Dubois @2026-05-31 21:48:50
    Co to się porobiło na tym świecie. Atarowcy piszą demka dla ... commodore. eh.
    bocianu @2026-05-31 23:21:25
    dobra robota. gratki!
    mono @2026-05-31 23:55:13
    Tak, tak, gratulacje!
    Drygol @2026-06-01 00:26:29
    Dzięki za wspominkę! :D
    Mega się cieszę, że chłopaki zrobili produkcję na ten sprzęt!!! :D
    Petardunia!
    Kaz @2026-06-01 09:29:12
    Drygol - tutaj ten wątek o naprawie tylko zasygnalizowałem, bo to o czym innym, ale uważam, że naprawa i wypięknienie tego kompa zasługują na oddzielną opowieść ze zdjęciami. Czy masz już ją na swoim blogu albo planujesz opisać? Zawsze warto choćby link do siebie dorzucić w dedykowanym Ci u nas wątku:
    https://atarionline.pl/forum/comments.ph...
    crrn @2026-06-01 09:45:07
    Super demka i super że wpadliście na nasze party.
    Dzięki Panowie! Do następnego
    Johny @2026-06-01 11:51:16
    Wow. Gatki - demko robi robotę
    nickname
    e-mail / website (opcjonalnie)

    Aktualne tematy
    Ciekawostki (5723)
    ostatni: 01-06-2026 14:22, tatko74
    Silly Venture 2026SE - the bigges... (69)
    ostatni: 01-06-2026 14:16, greymsb
    Podziękowanie za wszystkie posty ... (9)
    ostatni: 01-06-2026 14:01, Peri Noid
    Sprzedam 1050 i 800XL (24)
    ostatni: 01-06-2026 13:11, Ijox
    Rekordowo szybka transmisja SIO (18)
    ostatni: 01-06-2026 09:16, jhusak
    Kolejny filmik o firmie Atari (80)
    ostatni: 01-06-2026 00:48, zbyti
    Czerwcowy Sztab Warszawski (3)
    ostatni: 31-05-2026 21:30, Pecus
    Blitowanie VBXE i MAD Pascal (7)
    ostatni: 31-05-2026 19:07, tebe
    Lost Party 2026 (6)
    ostatni: 31-05-2026 14:42, VascoTristesse
    Nowe gry na Atari (378)
    ostatni: 31-05-2026 08:04, shanti77
    Fajny chip wczoraj słyszałem (347)
    ostatni: 30-05-2026 01:24, Gonzo
    RMT hacking (454)
    ostatni: 29-05-2026 23:11, emkay
    Delete Me (18)
    ostatni: 28-05-2026 22:55, Mq
    Zmiany w bazie gier, dem, użytków (1168)
    ostatni: 28-05-2026 22:06, Kaz
    Skills .md Atari 800 dla AI agentów (8)
    ostatni: 28-05-2026 21:32, mgr_inz_rafal

    Kategorie Forum Atarum

    Administratorzy: Adam, Cyprian, Jhusak, Kaz
    Użytkowników: 3041
    Ostatnio zarejestrowany: Mates77
    Postów ostatniej doby: 42

    Spotkania i zloty/Meetings & Parties

    Najbliższe imprezy
    link do naszych spotkań online, zapraszamy do odwiedzenia kanału zoom również przez kod QR:

    KWAS

    Kalendarz AOL


    Społeczność/Community


    Rozmawiali
    Wywiad z Mariuszem Jaroszem i Kaz (15)
    Wywiad Dracona z Mr. Bacardim i Kaz (16)
    Tomasz Dajczak i Kaz (22)
    Lech Bąk i "Świat Młodych" i Kaz (26)
    Michał "Mike" Jaskuła i Kaz (30)
    F#READY i Dracon (22)
    Daniel „Arctus” Kowalski i Dracon (25)
    KATOD i TDC (15)
    Mariusz Wojcieszek i "Adam" (17)
    Romuald Bacza i Ramos (16)
    Śledzenie Amentesa i Larek (9)
    Leszek Łuciów i Charlie Cherry (17)
    TO JUŻ ZA TOBĄ: rozmowa z Bobem Pape i cpt. Misumaru Tenchi (39)
    Rob Jaeger i Emu (53)
    Jacek "Tabu" Grad i Dracon (0)
    Alexander "Koma" Schön i Kaz (0)
    Maciej Ślifirczyk i Charlie Cherry (0)
    Jarek "Odyniec1" Wyszyński i Kaz (0)
    Marek Bojarski i Kaz (0)
    Olgierd Niemyjski i Ramos (0)
    «« nowszestarsze »»

    Stragan
    Nowe, pojemniejsze RAM-Carty oferuje Kaz (21)
    "mouSTer" czyli myszka ST oferuje Kaz (30)
    Atari USBJoy Adapter oferuje Jakub Husak (0)
    Programy: Kolony 2106 oferuje Kaz (7)
    Sprzęt: rozszerzenia oferuje Lotharek (375)
    Gadżety: naklejki, pocztówki oferuje Sikor (11)
    Sprzęt: cartridge RAM-CART oferuje Zenon (7)
    Miejsce na drobne ogłoszenia kupna/sprzedaży oferuje Kaz (58)
    Sprzęt: interfejs SIO2IDE oferuje Piguła (0)
    Sprzęt: interfejs SIO2SD oferuje Piguła (107)

    Użytki/Utils
    Sprzęt/Hardware

    Wynalazki
    Atari jako programator pojazdu gąsienicowego napisał Kaz (17)
    Atari i Bluetooth napisał Kaz (35)
    SIO2PC-USB napisał Larek (46)
    Nowe SIO2SD napisał Larek (0)
    SIO2SD w CA12 napisał Urborg (15)
    Ratowanie ATMEL-ów napisał Yoohaas (12)
    Projektowanie cartów napisał Zenon (12)
    Joystick do Atari napisał Larek (54)
    Tygrys Turbo napisał Kaz (13)
    Testowałem "Simple Stereo" napisał Zaxon (5)
    Rozszerzenie 1MB napisał Asal (21)
    Joystick trzyprzyciskowy napisał Sikor (18)
    Moje MyIDE oraz SIO2PC na USB napisał Zaxon (16)
    Jak wykonać płytkę drukowaną? napisał Zaxon (26)
    Rozszerzenie 576kB napisał Asal (36)
    Soczyste kolory napisał scalak (29)
    XEGS Box napisał Zaxon (13)
    Atari w różnych rolach napisał Różyk (9)
    SIO2IDE w pudełku napisał Kaz (27)
    Atari steruje tokarką napisał Kaz (15)
    «« nowszestarsze »»