atarionline.pl
atarionline.pl Atari
Login:
Hasło:
Zapamiętaj mnie
Translate to RSS RSS
Zbigniew Kasprzycki - współtwórca Polskiego Logo z 2024-03-15 22:25 (4)
"Zoltar Cosmic Pirates" w sieci z 2024-03-15 12:21 (6)
KWAS #32 z 2024-02-16 00:08 (39)
Która kolorystyka okładki lepsza? z 2024-02-11 18:30 (36)
Demo gry "Tony: Montezuma's Gold z 2024-02-05 21:09 (53)
Wywiad z Mariuszem Jaroszem z 2024-01-31 11:43 (12)
Nachodzi "Cosmic Hero 2" z 2024-01-28 06:27 (21)
Miniaturowe Atari (FPGA) z 2024-01-26 11:46 (14)
Światowa premiera "Cyborg Warriors"! z 2024-01-17 18:38 (40)
Grel #2 już dostępny! z 2024-01-11 19:21 (29)
Śmierć śmieciom! z 2024-01-06 21:23 (30)
Nowy program kopiujący "Microcop 61KB" z 2024-01-02 17:29 (25)
Wywiad Dracona z Mr. Bacardim z 2023-12-30 19:11 (12)
I po świętach! Kręcimy kołem z 2023-12-28 00:59 (13)
Wesołych Świąt 2023! z 2023-12-23 12:36 (18)
Silly Venture 2023 WE za nami z 2023-12-13 09:16 (17)
Pisma "Atari Fan 8" oraz "Grel 2" z 2023-12-07 17:32 (12)
From PLATO to Fujinet z 2023-11-25 23:16 (12)
Nowy ASAP i RECOIL z 2023-11-23 12:05 (8)
Zapowiedź gry "Goldaktari" z 2023-11-08 02:14 (10)
«« nowszestarsze »»

Pomocnik/Helper
Gry/Games

Katalog gier (konwencja TOSEC)

Opisy gier
"Old Towers" (Atari ST) opisał Misza (19)
Submarine Commander opisał Kaz (11)
Frogs opisał Xeen (0)
Choplifter! opisał Urborg (0)
Joust opisał Urborg (16)
Commando opisał Urborg (35)
Mario Bros opisał Urborg (13)
Xenophobe opisał Urborg (36)
Robbo Forever opisał tbxx (16)
Kolony 2106 opisał tbxx (2)
Archon II: Adept opisał Urborg/TDC (9)
Spitfire Ace/Hellcat Ace opisał Farscape (8)
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 »»

Katalog gier (konwencja Kaz)
Aktualizacja: 2024-03-16
Liczba katalogów: 8377, liczba plików: 36679
Zmian katalogów: 0, zmian plików: 0

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ść 2817 MB


Wewnętrzne/Internals



   Nowinki tworzone dzięki CuteNews
Rewelacyjny interfejs #FujiNet (cz.2)
Marcin “Montezuma” Sochacki przygotował kilka dni temu pierwszy artykuł o interfejsie #FujiNet, który unaocznia rewolucyjność urządzenia, a o który to opis prosiliśmy my, szarzy użytkownicy, na jednym z poprzednich KWAS-ów. Po szczegóły odsyłam do artykułu Montezumy. Do tego warto dodać komentarz Marcina odnośnie aktualnej dostępności urządzenia, o co po publikacji pytało wielu zainteresowanych: “W planach jest produkcja gotowych urządzeń #Fujinet dla wszystkich chętnych. Potem udostępnione zostaną wszystkie potrzebne pliki. Natomiast każdy, kto chciałby już dzisiaj mieć swój egzemplarz #FujiNet, może kupić sobie ESP32 NodeMCU i z pomocą płytki uniwersalnej zbudować prototyp. Tutaj schemat dla wersji WROVER, na której bazuje najnowszy hardware. Również dla tej wersji są w sprzedaży płytki NodeMCU.” Dodatkowo Marcin przygotował tłumaczenie tekstu o #FujiNet autorstwa jednego z głównych autorów pracujących nad projektem, którym jest Thomas Cherryhomes:



FujiNet: Dlaczego to zrobiliśmy?

Kolega Mozzwald chciał zrobić modem, którym można sterować za pomocą pinów I/O. Istniejące rozwiązania opierały się na wersji ESP-01 mikrokontrolera ESP8266, a ona nie miała ich wystarczająco dużo. Tak więc Mozzwald rozpoczął nowy projekt oparty o ESP-12E. Natknąłem się na jego wątek na AtariAge i doznałem objawienia, bo skoro podłączamy wszystkie sygnały SIO do pinów GPIO na ESP8266, to dlaczego nie mielibyśmy zaemulować stacji dyskietek? (październik 2019)

Mozzwald wysłał mi prototyp i natychmiast zacząłem hakować kod emulujący stację dyskietek. Odpaliłem Arduino i napisałem skrypt. Wysłałem go Mozzwaldowi, a on usiadł nad nim, aby poprawić synchronizację sygnałów SIO. Po tygodniu pracy udało nam się załadować jeden sektor z pamięci flash. Trzy dni później załadowaliśmy grę Jumpman. (listopad 2019)



Zapaliła nam się lampka. Eureka!

Byłem użytkownikiem interfejsu SpectraNet, czyli karty sieciowej dla ZX Spectrum. Jego autorzy opracowali prosty protokół wymiany plików, który nazwali TNFS (Trivial Network File Sharing), oparty na UDP i niezwykle prosty do zaimplementowania. Tylko część protokołu zaimplementowałem od razu, aby zamontować pojedynczy plik i przesyłać załadowane z serwera 128-bajtowe pakiety. Włączyłem Atari i… to zadziałało. Jasna cholera!

I mniej więcej po 4000 podłączeniach mojego kabla SIO (prototyp, który miałem, nie mógł mieć podłączonych SIO i USB w tym samym czasie), jeden z pinów się złamał, a ja nie mogłem przeprowadzić testu, który naprawdę chciałem przeprowadzić – po raz pierwszy uruchomić coś przez internet. “Świetny moment” na awarię. (12 listopada 2019)

Szybko zgłosiłem się więc do Mozzwalda i wysłałem mu najnowszy kod, a on nagrał wideo pokazujące jeden z najbardziej niesamowitych momentów w projekcie, jakiego kiedykolwiek doświadczyłem - moment, w którym uruchomiliśmy grę “Jumpman” z… serwera w internecie, podczas gdy Atari myślało, że to uruchamianie gry ze zwykłej stacji dyskietek!



Reszta to była jazda bez trzymanki. Od tego czasu przenieśliśmy się z Arduino IDE na Platform.IO i z ESP8266 do ESP32 ze względu na większą jasność co do zakresu wymagań w projekcie.



Czy to się uda?

Tak, damy radę. Pójdzie nam szybciej, jeśli znajdą się chętni do pomocy. To ważne, żeby
wszyscy wiedzieli, że jest to otwarty projekt. Firmware i schematy dostępne są za darmo, a każdy może zbudować i używać #FujiNet. Chcemy, aby urządzenie stało się standardem. Nie tylko dla Atari. Chcemy, żeby ludzie z innych społeczności retro mogli skorzystać z tego, co mamy i dostosować #FujiNet do swoich systemów (scena Commodore 64/128 mogłaby na tym naprawdę skorzystać!). Zawsze pomocne są początkowe sukcesy, a tu praktycznie każde nasze życzenie co do funkcjonalności zostało przez układ ESP32 spełnione. Dzięki temu mamy energię, aby dalej działać!

Funkcjonalność produkcyjnej wersji kodu:

  • emulacja dysku - odczyt/zapis dysków na karcie SD, w pamięci flash (SPIFFS) albo w sieci. Emulacja dysku jest tym od czego zaczęliśmy. To po prostu działa: dyski o wszystkich kształtach i rozmiarach w formacie ATR. Chcemy dodać format ATX (i tutaj może przydać się pomoc). Dyski są przesyłane strumieniowo. Istniała pamięć podręczna (cache) dla odczytu, ale została tymczasowo wyłączona, dopóki nie zostanie przepisana na nowo jako aktualizowany w tle bufor cykliczny. Nie ma znaczenia, gdzie jest ATR. Czy jest na lokalnym serwerze TNFS, czy na zdalnym serwerze na końcu świata, czy na lokalnej karcie SD w gnieździe kart SD, po prostu działa i już. Wspieramy do 8 niezależnych dyskietek. Oprogramowanie serwera TNFS jest tutaj.

  • emulacja modemu WiFi - Atari 850 w połączeniu z modemem WiFi obsługuje wszystkie połączenia CIO i SIO. Współpracuje z istniejącym oprogramowaniem dla modemów Atari. Testowane z programami: Bobterm, AMODEM, 850 Express! i ICE-T. Przetestowana została również wersja RS232 PLATOTERM. Obraz dysku zawierający zestaw programów modemowych jest do podmontowania pod adresem fujinet.online (przez TNFS). Możliwe jest również wysłanie polecenia SIO w celu ustawienia numeru portu dla nasłuchującego gniazda, tak aby oprogramowanie BBS mogło działać. Napisałem narzędzia (na dysku fnc-tools) o nazwach RLISTEN i RULISTEN ("słuchaj" i "przestań słuchać"), które to robią. Testowałem z BBS Express! w wersji 1.0.

  • emulacja drukarki - urządzenie P: na miarę 21 wieku! Dzięki staraniom Jeffa Piepmeiera, mamy możliwość drukowania na urządzeniu P:. Dostajemy plik PDF, który można wydrukować za pomocą nowoczesnych drukarek. Emulujemy kody kontrolne drukarek, a także przy użyciu odpowiednich wymiarów papieru i czcionek obsługujemy obecnie:
    - Atari 820 - 40 kolumn, z dokładnie pasującą czcionką 5x7. Obsługiwany jest nawet tryb poprzeczny,
    - Atari 822 - 40 kolumn, z pełni obsługiwanym ukrytym trybem graficznym,
    - Atari 1027 - 80 kolumn, ze świetnie pasującą czcionką Prestige Elite (wygląda najlepiej),
    - Atari 1020 - emulacja plotera generuje plik SVG, symulowana czcionka (wektory czcionki z ROM),
    - GRANTIC - w połączeniu z handlerem GRANTIC po stronie Atari, pozwala na zrzut ekranu!
    - HTML Printer - generuje stronę HTML, z wbudowaną czcionką ATASCII.

    Kolejne drukarki są w planach:
    - Atari 1025,
    - Atari 825,
    - Epson MX/FX (ESC/P).
    Używam tej emulacji codziennie do tworzenia listingu N: handlera, nad którym aktualnie pracuję (szczegóły poniżej).

  • urządzenie sieciowe N: - #FujiNet może być postrzegany jako zestaw urządzeń, które mogą być natychmiast wykorzystane po wyjęciu z pudełka (emulacje istniejących peryferiów) oraz jako karta sieciowa. #FujiNet udostępnia urządzenia SIO pod adresami 0x71 do 0x78, które akceptują następujące rozkazy:
    - "O" - otwórz połączenie sieciowe,
    - "C" - zamknij połączenie sieciowe,
    - "R" - odczyt z połączenia sieciowego,
    - "W" - zapis do połączenia sieciowego,
    - "S" - uzyskanie statusu połączenia sieciowego.
    Urządzenia te mogą otwierać połączenia z użyciem różnych protokołów, np:
    N:TCP://192.168.1.1:2000/ ← otwórz połączenie TCP do 192.168.1.1 port 2000
    N:UDP://:2000/ ← akceptuj połączenia UDP na porcie 2000
    N:HTTP://WWWW.GOOGLE.COM/ ← otwórz połączenie HTTP do WWW.GOOGLE.COM, port 80
    N:HTTPS://WWWW.TWITTER.COM/ ← otwórz połączenie HTTPS do WWW.TWITTER.COM:443
    a wkrótce z kolejnymi protokołami, takimi jak SSH i FTP, przy czym każdy z tych protokołów działa na mikrokontrolerze ESP32, wykonującym wszystkie zadania związane z komunikacją i zapewniającym Atari abstrakcję na poziomie SIO. Każdy z protokołów może również implementować własne polecenia SIO, w celu zmiany kontekstu poleceń odczytu, zapisu i statusu. Jest to używane, na przykład, z protokołem TCP, do akceptacji przychodzących połączeń lub z HTTP, aby zakomunikować POST body, nagłówki HTTP lub żeby wysłać niestandardowy certyfikat CA dla komunikacji HTTPS, dla certyfikatów niedostępnych jeszcze w magazynie certyfikatów (certificate store). Programista może wybrać, czy chce użyć komend SIO bezpośrednio, czy raczej użyć abstrakcji na poziomie handlera CIO.

    handler CIO - warstwa SIO obudowana jest handlerem CIO udostępniającym urządzenie N:, aby programowanie było jeszcze łatwiejsze, nawet z poziomu BASIC-a. Handler CIO przesyła dane, odpytując warstwę SIO, czy dane polecenie jest wspierane (komenda SIO 0xFF) i dynamicznie ustawiając odpowiednie parametry dla poleceń SIO, dzięki czemu nie musimy mapować tych poleceń w handlerze CIO. Ostatecznie, oznacza to, że możliwe do uruchomienia są programy takie jak poniżej. Jest to najprostszy możliwy terminal:

    10 REM THE SIMPLEST DUMB TERMINAL 20 REM POSSIBLE, WITH THE
    N: DEVICE
    100 OPEN #1,12,2,"N:TCP://BBS.FOZZTEXX.NET/":OPEN
    #2,4,0,"K:"
    101 TRAP 140
    110 IF PEEK(764)<>255 THEN GET #2,K:PUT #1,K:XIO
    15,#1,12,2,"N:"
    120 STATUS #1,A:BW=PEEK(747)*256+PEEK(746):IF BW=0 THEN 110
    130 FOR M=1 TO BW:GET #1,C:PUT #16,C:NEXT M:GOTO 110
    140 CLOSE #1:? "DISCONNECTED.":END


    XIO 15 jest w zasadzie komendą PUT FLUSH. Wartości 12,2 (w polach AUX1/AUX2) określają kanał odczytu/zapisu, z tłumaczeniem znaków końca linii na ATASCII EOL (można ustawić brak tłumaczenia, lub włączyć zamianę CR, LF lub CRLF na EOL).

    przerwania - warto zauważyć, że #FujiNet wykorzystuje linie PROCEED i INTERRUPT złącza SIO. Urządzenia sieciowe wykorzystują je do sygnalizowania zmiany stanu sieci, np. dostępność danych w buforze odbiorczym, lub zmiana stanu połączenia. Oznacza to, że nie musimy w sposób ciągły zalewać magistralę SIO komendami (polling), a #FujiNet może po prostu ustawiać sygnał PROCEED, gdy musimy na coś zwrócić uwagę. Handler CIO podpina wektor IRQ do VPRCED, który ustawia zmienną sygnalizującą, że handler CIO musi uzyskać nowe dane o statusie z SIO. Dzieje się to w handlerze CIO, a więc znajdujący się powyżej program w BASIC-u nie musi się tym wcale zajmować.

    Napisałem w Basicu przykładową, prostą grę sieciową, wykorzystująca komunikację UDP, pod nazwą "Tic-Tac-Toe" (Kółko i krzyżyk). Ze względu na nietypowe formatowanie w tym dokumencie, zamieszczam link do kodu. Kod został wydrukowany za pomocą drukarki HTML ATASCII, z prawidłowymi kodami i odstępami. Zauważ, że nawet tutaj mamy do czynienia z pakietami UDP, chociaż komendy I/O pozostają dokładnie takie same. Wysyłamy dane, a CIO handler po otrzymaniu EOL, wysyła pakiet do #FujiNet, który wysyła pakiet UDP do miejsca przeznaczenia. Odbiór odbywa się dokładnie w ten sam sposób, z instrukcją INPUT, szybkim parsowaniem danych, oczekiwaniem na odpowiedź ze STATUS-em, itp.

    konsekwencje użycia warstwy CIO - ponieważ jest to handler CIO, oznacza to, że możesz robić takie rzeczy jak:
    RUN "N:HTTP//35.239.67.240/BLACKJACK.BAS"
    aby załadować program BASIC z serwera HTTP w języku BASIC, lub:
    D1: NPREFIX http://35.239.67.240/
    D1: N:BURIEDBU

    aby załadować plik binarny z DOS-u. NPREFIX jest narzędziem, które wysyła polecenie SIO 0xFE do jednego z urządzeń (0x71-0x78), aby ustawić prefiks adresu URL, który jest domyślnie przypisany do urządzenia. Zostało to zrobione, aby obejść ograniczenia w różnych pakietach narzędzi DOS. Format jest dowolny i może zawierać pełną lub częściową ścieżkę. Poniższe video przedstawia aktualny stan handlera N: i pokazuje jak ustawić prefiks URL oraz jak załadować jak załadować dokument znajdujący się na serwerze HTTP do programu AtariWriter:



  • APETIME. #FuijNet implementuje protokół APETIME i pobiera bieżący czas z NTP.

  • do P4 (drukarka o numerze 4) podłączona jest implementacja syntezatora mowy SAM. To po prostu działa.

  • obsługa SIO2BT. Ponieważ #FujiNet posiada bluetooth, może funkcjonować jak transceiver z projektu SIO2BT.

    W planach:
  • C: handler do ładowania kaset, z lub bez cyfrowej ścieżki audio,
  • obsługa ATX do ładowania dysków zabezpieczonych przed kopiowaniem,
  • więcej protokołów sieciowych, jak: FTP, SSH, TNFS na poziomie plików, itp.
  • wsparcie dla gry "MIDI Maze", które Mozzwald testował używając UDP.

    2020-05-14 23:17 by Montezuma
    komentarzy: 9
  • Kaz @2020-05-14 23:19:21
    I poszło! :D
    Cyprian @2020-05-14 23:43:08
    zajebiste.
    chcę to!
    Atarka @2020-05-15 07:45:02
    Super! Będę śledził postępy.
    Montezuma @2020-05-15 16:39:53
    Pamiętacie WIFI Prime?
    http://atarionline.pl/forum/comments.php...
    Szkoda, że się nie udało tego sfinalizować (to był rok 2017).
    pin @2020-05-15 20:35:17
    .. Bo autor softu jest przeciw użytkownikowi i wszystkim jednocześnie?
    s. @2020-05-16 12:59:13
    tak to już jest z talibami pin
    dekanex @2020-05-18 21:21:25
    @Montezuma
    Szkoda. Jak zwykle brak czasu i real life :)
    Dobrze ze ktoś pociągnął ten temat i powstało to, co nam tak chodziło po głowie. Pozdrowienia dla autorów.
    Vasco/Trs @2020-05-19 15:16:03
    Montezuma: nie przypominaj, bo dokończy!
    Thomas Cherryhomes @2020-05-20 19:54:02
    This project IS getting finished, if for no other reason, than:

    * We chose the right tool for the job, ESP32,
    * and made a number of early decisions that have, and continue to pay off.
    * I am an obsessive compulsive bastard, and am trying to keep the energy of this project going at a consistent pace. We have accomplished so much, already, and many of the things we have set out to do, we've accomplished (we are having on average a 90% success rate, which for an R&D project is unheard of!)
    * We have given ourselves a year to get it over the 90% mark, and I think we'll just barely make it, if not slightly late, at this rate.
    * We could always use any and all help to make this thing a reality, that's why this project is compulsively public.

    -Thom
    nickname
    e-mail / website (opcjonalnie)
    Aktualne tematy
    Nowe okładki gier - FROGGER (250)
    ostatni: 19-03-2024 06:36, lexx
    GTIA2DVI (68)
    ostatni: 19-03-2024 00:45, st_man
    PTODT Stereo II (91)
    ostatni: 18-03-2024 22:19, mcgregor
    Rzeczy które chciałbyś w MADSie a... (122)
    ostatni: 18-03-2024 22:01, jhusak
    Muzycy scenowi... (60)
    ostatni: 18-03-2024 20:41, jhusak
    padnięta maszyna - temat do zamkn... (3)
    ostatni: 18-03-2024 20:40, Ataripuzzle
    Scorch - pełna gra (398)
    ostatni: 18-03-2024 17:49, Mq
    Poszukiwana solucja do Artefakt P... (5)
    ostatni: 18-03-2024 14:20, Vidol
    Program do losowania totolotka (13)
    ostatni: 18-03-2024 04:27, pirx
    Pismo "Grel" (34)
    ostatni: 17-03-2024 21:29, Kaz
    AVG Cart (121)
    ostatni: 17-03-2024 19:43, sun
    RMT hacking (166)
    ostatni: 17-03-2024 17:21, emkay
    Moje materiały wideo z grami na A... (191)
    ostatni: 17-03-2024 14:02, nowy80
    Pomoc - dom dziecka (1)
    ostatni: 17-03-2024 13:37, maly_swd
    Książka Gorgha o asemblerze (42)
    ostatni: 17-03-2024 09:59, TheFender

    Kategorie Forum Atarum

    Użytkowników: 2769
    Ostatnio zarejestrowany: Atari1040
    Postów ostatniej doby: 29

    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 (12)
    Wywiad Dracona z Mr. Bacardim i Kaz (12)
    Tomasz Dajczak i Kaz (21)
    Lech Bąk i "Świat Młodych" i Kaz (26)
    Michał "Mike" Jaskuła i Kaz (6)
    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 (23)
    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 (33)

    Użytki/Utils
    Sprzęt/Hardware

    Wynalazki
    Atari i Bluetooth napisał Kaz (34)
    SIO2PC-USB napisał Larek (45)
    Nowe SIO2SD napisał Larek (0)
    SIO2SD w CA12 napisał Urborg (12)
    Ratowanie ATMEL-ów napisał Yoohaas (12)
    Projektowanie cartów napisał Zenon (12)
    Joystick do Atari napisał Larek (54)
    Tygrys Turbo napisał Kaz (11)
    Testowałem "Simple Stereo" napisał Zaxon (5)
    Rozszerzenie 1MB napisał Asal (20)
    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 (5)
    Atari steruje tokarką napisał Kaz (15)
    DarkMouse napisał Kaz (7)
    «« nowszestarsze »»