1 Ostatnio edytowany przez Cyprian (2022-03-11 13:01:03)

Właśnie trafiłem na ciekawą stronę https://twitter.com/Atari8BitBot

Wrzucasz swój kod TB XL (Sikor coś dla Ciebie) na Twitter do "@Atari8BitBot", bot uruchamia kod i nagrywa z niego wideo, które potem przesyła w odpowiedzi.

Proste i fajne.

Tak to wygląda na Twitterze (Seban się nie pochwalił :) :
https://twitter.com/seban_slt/status/13 … 5704860673
https://twitter.com/seban_slt/status/14 … 4873681926


Szczegóły w części "How the Bot Works" na stronie: https://atari8bitbot.com/about/

Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org

2 Ostatnio edytowany przez seban (2022-03-14 10:26:08)

Hej!

Skoro już zostałem niejako wywołany do tablicy, to napiszę o tym parę słów więcej, bo ten bot nie tylko "obsługuje" Turbo BASIC XL, można też użyć różnych języków programowania:

  • Action!

  • Logo

  • Atari Pilot/Super Pilot

  • Atari Assember Editor

  • Microsoft Basic II

  • Atari Basic/Turbo Basic XL

Gdy Kay Savetz (autor podcastu ANTIC The Atari 8-bit Podcast) wraz z Bill-em Kendrick-iem i przyjaciółmi stworzył tego bota, miałem trochę radochy aby spróbować swoich sił w "walce" z nim i ograniczeniami jakie narzuca Twitter.

A jakie to ograniczenia? 280 znaków długości (tylko standardowe znaki ASCII [kody 32-127]), w to wlicza się długa nazwa bot-a (@atari8bitbot) do kompletu dyrektywy sterujące startem i przebiegiem (opóźnienie i czas) nagrywania.

Popełniłem kilka twitto-efektów, celem przetestowania każdej z funkcjonalności tegoż bot-a, pozwolę sobie zamieścić kilka z nich z podziałami na kategorię:

"Base64 Encoded Machine Language", Turbo Basic XL:
Kefrens Bars - 3rd
Kefrens Bars - 1st
2D water
Conway Game of life
2d plasma
Averager
Pseudo 3D-Starfield
Random Maze - Horizontal

Action!:
Hi Res - Hilbert
Sierpiński Carpet
Color Bars
Checkered floor effect
3D function draw
Mandelbrot
2d plasma
Restricted chaos game fractal #1
Restricted chaos game fractal #2

Atari Assember Editor:
Sierpiński
Randowm Walker
Fire
Sprite Scroll
2D Sprite Starfield
Big Sierpiński
Sierpiński Carpet
OS Plot Example

"Pure" Turbo Basic XL:
2D Vectors
XoR Color Cycling
Sine Text
Sierpiński - char mode
Square - Color Cycling Tunnel
Color Cycling Circles
Color Cycling Circle Tunnel
Vertical Scroll
Random Maze - Vertical
Random Maze - Horizontal
Random Maze - Diagonal
Random Maze Filler
Recursive Tree
Hilbert Curve
Ataroid Procedural GFX
3D Color Cycling Starfield
Eclipse
We Stand with You!

Gdy zaczynałem tą "zabawę" nie sądziłem że może to kogokolwiek zainteresować, jednak czasami ludzie pytali jak i co jest zrobione, duża część wyjaśnień jest w moich twittach, a to czego się nie dało wyjaśnić pisząc na Twitterze (np. kod źródłowy z komentarzami) umieściłem w dedykowanym repozytorium na moim koncie na github: Atari8bitbot - source code compilation

Cała moja przygoda z tym botem okazała się całkiem fajnym ćwiczeniem dla mózgu, przypomniały mi się stare dobre czasy i walka z ograniczeniami narzuconymi przez bot-a i Twittera, spowodowała że czasami przesiedziałem długie godziny na optymalizacji i skracaniu rozmiarów kodu.

Cóż mogę jeszcze powiedzieć, zapraszam wszystkich chętnych do zabawy! :)

ps1) powyższe linki prowadzą do twittów zawierających już video z efektów, wystarczy jednak scroll-up aby zobaczyć źródło... jeżeli źródło jest "zakodowane w BASE64", to zapewne można go znaleźć wskazanym repozytorium na github.

ps2) dużo ludzi wrzuca tam różnego rodzaju efekty, niektóre są naprawdę pomysłowe i fajne, zachęcam zatem do przejrzenia tego co widać na twitterowym profilu bota: https://twitter.com/Atari8BitBot

3

3D Color Cyclic Starfield bardzo ciekawe

4 Ostatnio edytowany przez Cyprian (2022-03-14 11:41:02)

Seban dzięki za info.
Efekty są fajne, no i myślę że nadają się na kategorie 256 bajtów na Pouet.net


Swoją drogą to taki bot jest też dla ZX Spectrum: https://twitter.com/ZxSpectrumBot1

Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org

5 Ostatnio edytowany przez seban (2022-03-14 12:44:45)

Hej!

gorgh napisał/a:

3D Color Cyclic Starfield bardzo ciekawe

To nie jest mój pomysł, pisałem o tym "twicie". Autorem oryginału był Paul Malin. Jego kod był przeznaczony dla BBC Micro Bot.

Cyprian napisał/a:

Seban dzięki za info. Efekty są fajne, no i myślę że nadają się na kategorie 256 bajtów na Pouet.net

Nie ma za co dziękować. To dla mnie była po prostu fajna zabawa, jakoś nie sądziłem że może to kogokolwiek z forum zainteresować, bo efekty które robiłem są od dawna na scenie znane i udokumentowane. Jedynie co mogę powiedzieć, to to że efekty z którymi najdłużej walczyłem aby je zmieścić w mniej niż 128 bajtów to: Life, Kefrens, Water, 2D-Plasma ... a reszta w kodu w Action! czy TBXL to były napisane w chwilach gdy musiałem oderwać głowę od spraw bieżących i celem relaksu zajmowałem się właśnie takimi "pierdołami".

Co do wielkości kodu, to dekoderem "BASE64" to udaje się upchnąć jedynie ~127 bajtów wykonywalnego kodu w jednym Twicie. np. "Kefrens Bars" w postaci binarnej ma tylko 127 bajtów. W sumie to chciałem z tego zrobić jakąś kompilację efektów i wypuścić jako "reklamówkę" atari8bitbot-a, jednak "zawsze coś" i koniec końców tego nigdy nie uczyniłem. W przypadku pojedynczych "twitów" sprawa jest prosta, siadasz, dłubiesz, publikujesz i zapominasz... zajmuje to niewiele czasu w porównaniu ze składaniem jakiejś większej produkcji.

Cyprian napisał/a:

Swoją drogą to taki bot jest też dla ZX Spectrum: https://twitter.com/ZxSpectrumBot1

Jest też taki bot dla BBC Micro. I to co tam ludzie wyrabiają to jest dopiero szaleństwo. Strona z opisem i tutorialami jest tutaj: BBC Micro Bot, ale trzeba uczciwie przyznać że BBC Micro Bot to "maszyna na sterydach" i można jej włączyć emulację z prędkością jakichś setek MHz, lub zrobić animację poklatkową, czy też użyć kodowania Base2048 (stosując unicode), więc ma się to nijak w porównaniu do Atari8bitbot, tzn. nie da się porównać tych dwóch botów, bo część efektów która wygląda powalająco na "BBC Micro Bot", na realnym sprzęcie liczyłaby się po prostu przez dziesiątki godzin, lub dni (ray-tracing) . Dlatego też nigdy mnie to tak nie wciągnęło (brak realnych ograniczeń). Wydaje mi sie że dużo ludzi oglądających wynik pracy BBC Micro Bot nie zdaje sobie sprawy jak długo renderuje się dany efekt, na realnym sprzęcie. Można to zaobserwować na przykładzie owego 3D-Starfield autorstwa Paula Milan-a: BBC Micro - 3d starfield. <--- po kliknięciu odpali emulator BBC micro w przeglądarce wraz z kodem renderującym ów efekt w czasie rzeczywistym.

W przypadku "atari8bitbot" jedyne na co można sobie pozwolić to maks. 90 sek. pre-renderingu i to ze standardowa prędkością Atari (tzn. 1.77MHz).

EDIT:

Byłbym zapomniał, Paul Milan napisał całkiem fajne tutoriale, na temat tworzenia animacji z wykorzystaniem tzw. Color-Cycling, te pomysły oczywiście można wykorzystać również w przypadku Atari, co prawda nie mamy 16 rejestrów kolorów, ale tryb "GRAPHICS 10", doskonale sprawdzi się również w większości przypadków.

Colour Cycling Effects with Grids albo to: BBC Boing Ball

Ten człowiek to przysłowiowa kopalnia wiedzy i pomysłów, polecam jego blog-a: P_Malin's Nonsense Code

Rzucie sobie jeszcze okiem na jego 4k procedural graphics: Caffeinate

6

aż się zapisałem na Twittera :), ładne perełki

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C