atarionline.pl #FujiNet - karta sieciowa SIO dla Atari 8-Bit. - Forum Atarum

    Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

    • :
    • :

    Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

    1.  
      If anyone can help, am trying to debug the n-handler that has been modified to be re-locatable (using .def labels being referenced by a table and a routine that moves the binary in memory while fixing up locations), and get and put are currently failing. I am suspecting that this is because the buffer page isn't aligned.

      ->link<-

      What are my options here? I'm REALLY at the end of my rope. :(

      -Thom
    2.  
      #Atari8bit Hello, wszyscy. Byłem zajęty przeprowadzką do nowego domu, i nie tylko ustawieniem mojego domu, ale również ponownym uruchomieniem IRATA.ONLINE w nowym domu, jak również ustawieniem mojego laboratorium.

      Wszystko jest w większości ustawione w tym momencie, a ja wznowiłem zarówno moją codzienną pracę i pracę nad IRATA.ONLINE i #FujiNet. Reszta tego stanowiska zajmuje się #FujiNetem.

      Musiałem dostać kilka zakupów z funduszy, które przyszły z Patreon, dzięki wszystkim, które się przyczyniły:

      * Mój laptop rozwojowy (TMA-1) cierpi na rozszerzanie się baterii termicznej, co wypaczyło mój przypadek. 250 dolarów od Patreona zostało wykorzystane na złożenie wniosku o serwis gwarancyjny na miejscu, aby wymienić zarówno moją baterię (co jest cztery lata poza gwarancją), jak i dolną pokrywę baterii, która została uszkodzona. Stanie się to w ciągu kilku następnych dni, gdy tylko mój przedstawiciel firmy Dell potwierdzi moje spotkanie na miejscu.

      * Moje urządzenie przechwytujące, które było używane do nagrywania wszystkich różnych filmów #FujiNet, umarło i postanowiłem wymienić je na odpowiednie urządzenie przechwytujące, które można podłączyć do mojego RetroTink 2X upscaler, Elgato HD 60 S+, za 216 USD.

      Jestem w trakcie dalszej pracy nad N: rozwój. Kod jest teraz samorelokowalny, dzięki ultradźwiękowemu przykładowi Jona Hallidaya (@flashjazzcat), kod N: działa teraz z powodzeniem pod SpartaDOSem i jest mniejszy niż relokator oparty na ACTION! oraz jest bardziej wydajny.

      W tym momencie, N: potrzebuje:
      * implementacji BINARY LOAD zarówno dla MyDOS jak i SpartaDOS.
      * Zrobić ?DIR pracę w SpartaDOS
      * Lista katalogów implementacyjnych dla WEBDAV (HTTP/S)
      * Wdrożenie reszty z 8.3 do długiego tłumaczenia nazw plików. Jest to trudne, ponieważ musimy zaimplementować pewien rodzaj pamięci podręcznej nazw plików.
      * (może) poradzić sobie z tym, że SpartaDOS ma górne granice WSZYSTKICH wejść CP. grrr.

      Ponadto, N: potrzebuje również funkcjonalnych parserów XML i JSON, które możemy osadzić i z którymi możemy się połączyć.
      Jest to, w zasadzie, ostatnie 20% rozwoju N:, co zajmie sporo czasu, wraz z debugowaniem każdej możliwej kombinacji DOS/DUP, która może korzystać z urządzenia N:.

      Jeszcze więcej, ale chciałem dać wszystkim aktualizację w ciągu ostatnich dwóch tygodni!
      -Thom
      • 3:
         
        CommentAuthorKaz
      • CommentTime8 Jul 2020 20:07
       
      Powodzenia w nowym miejscu z nowym sprzętem! Trzymamy kciuki! :D
      • 4:
         
        CommentAuthoranonymus
      • CommentTime8 Jul 2020 21:07
       
      Irata4 will be pleased:)
    3.  
      #Atari8bit #FujiNet Dla tych z pierwszej 50 listy, jeśli możesz pomóc hakować na N: urządzeniu, albo po stronie Atari, albo po stronie #ESP32, proszę, skontaktuj się z Thomasem Cherryhomesem, bo osiągam granice tego, co mogę debugować, i mógłbym użyć ludzi mądrzejszych od siebie.
    4.  
      #FujiNet #Atari8bit Pokazany tutaj używa urządzenia N: we wkładce Atari's Music Composer do ładowania/zapisywania kompozycji przez sieć. Jestem teraz w nowym biurze, nie mogę jeszcze znaleźć mojego mikrofonu, więc nie v/o, ALE! Używam mojego nowego Elgato HD 60 S+ do mojego RetroTink 2X, pięknego wideo!
    5.  
      #Atari8Bit #FujiNet works successfully with FoReM XE Pro 5.4, after a few additions to the R: device code. Now I just need to see how to properly set up the file areas, if anyone can help, pls let me know.
    6.  
      #FujiNet #atari8bit Oh patrzcie! Jest Boże Narodzenie w lipcu! Pierwsze 50 płyt produkcyjnych dotarło do miejsca @mozzwald! Dalej, złóżcie na nich konektory! Zapnijcie się, chłopaki! Ci z was, którzy zamawiali w pierwszych 50 partiach, wkrótce będą dostawać wasze!
    7.  
      #FujiNet #Atari8bit Witam wszystkich czytających to, którzy mogą być w stanie zagonić:
      Próbuję obecnie ponownie przemyśleć niektóre części N: urządzenia, podczas gdy ja nadal mogę (podczas gdy prawie nikt tak naprawdę go nie używa).
      Istnieją dwie części do N: urządzenia: Handler, na Atari, który konwertuje CIO na SIO. I Firmware, który konwertuje SIO na akcje na ESP32.
      Jest to zasadniczo ważne, ponieważ SIO jest oparte na blokach, a CIO na znakach. Aby uprościć dyskusję, na razie mówię tylko o warstwie SIO.
      O SIO LAYER:
      Polecenia SIO dla urządzenia N: można zobaczyć tutaj: ->link<-
      SIO to półdupleks. Obsługuje on dane tylko w jednym kierunku naraz i chociaż w strukturze poleceń wysyłanych do Atari znajduje się pole informujące, ile bajtów trzeba przesłać, nie jest ono przekazywane jako część ramki poleceń ani do ani z FujiNet, co jest nam potrzebne do operacji READ i WRITE. Jednakże, dwa bajty AUX1 i AUX2 tak robią. Musimy więc zduplikować to, co jest w polu DBYT w polach AUX1 i AUX2, tak aby pojawiło się jako część ramki poleceń i mogło zostać przechwycone przez firmware.
      OPEN - tworzy połączenie protokołowe, ładunek przechodzi do FujiNet, a tym ładunkiem jest specyfikacja pliku N:. AUX1 staje się trybem otwartym, co najmniej bity 2 i 3 są zarezerwowane do odczytu i zapisu, odpowiednio przez CIO, więc musimy je mirrorować.
      W OPEN, AUX2 staje się trybem TRANSLACJI, to znaczy, biorąc pod uwagę sekwencję końca linii, jak ją przetłumaczyć? Obecnie: 0 = brak tłumaczenia, bit 0 tłumaczy CR, bit 1 tłumaczy LF, więc jeśli ustawione są bity 0 i 1, to CR/LF są tłumaczone na i z dwóch punktów końcowych. Wykonanie obu CR/LF komplikuje sprawę, ponieważ albo bajt zostanie DODANY (w przypadku konwersji jednego bajtu EOL na bajt CR/LF), albo bajt zostanie WYKONANY (w przypadku konwersji bajtów CR/LF na jeden bajt EOL). Pamiętajcie, że określiliśmy ile bajtów należy odczytać/zapisać z wyprzedzeniem? :)
      Gdy wysyłana jest komenda STATUS, zwracane są cztery bajty. BL BH CO ER, BL i BH są małymi i dużymi bajtami # dostępnych bajtów (do 65535), podczas gdy CO jest połączone (1 = połączone, 0 = odłączone), a ER jest kodem błędu, który jest przekazywany do CIO handlera.
      Powiedzmy więc, że odczytujemy dane z punktu końcowego HTTP:
      OPEN N:HTTP://www.google.com/
      i w pętli:
      ```
      STATUS();
      while (status.bytesAvailable>0)
      {
      READ(buf); // Decrements # of bytes available.
      proces(buf);
      STATUS();
      }
      ```
      Więc w ramach pętli, robimy status, aby sprawdzić, ile bajtów jest dostępnych.
      Sposób, w jaki obecnie zajmuję się tłumaczeniem, to dosłownie zamrażanie go, zachowując ten sam # bajtów:
      Jeśli CR, to EOL zostaje przetłumaczone na CR, CR zostaje przetłumaczone na EOL.
      Jeśli LF, to EOL dostaje tłumaczenie na LF, LF dostaje tłumaczenie na EOL.
      Jeśli CR/LF, wówczas bufor nadawczy zostaje powiększony o 1 (i długość bufora nadawczego zwiększona o 1), a EOL staje się CR, z LF wstawionym natychmiast po, podczas gdy na odbiorze, CR staje się SPACE, a LF staje się EOL.
      Dzięki temu nie ma potrzeby zmiany rozmiaru bufora odbiorczego. Czy to zły pomysł?
      Odmianą tego, jest tłumaczenie danych katalogowych dla sieciowych punktów końcowych systemu plików. Możesz określić w wywołaniu OPEN, czy chcesz odczytać katalog (aux1=6), ale każdy protokół sieciowy robi katalog z plikami inaczej, przedstawiając to, co jest koncepcyjnie listą obiektów w dziko różnych tablicach składni.
      Podczas gdy w niektórych przypadkach możemy wyświetlić dane tak jak są (np. z FTP), wiele programów Atari (np. (AtariWriter) oczekuje czegoś, co wygląda jak katalog na dysku Atari DOS. Dlatego nawet DOS-y takie jak SpartaDOS domyślnie wyświetlają listę katalogów, które wyglądają jak Atari DOS. Oznacza to, że w firmware'ie znajduje się obecnie kod do tłumaczenia danych katalogowych, które wracają z protokołu na coś, co wygląda jak katalog DOS 2. Obecnie oznacza to również, że AKTUALNY odczyt danych katalogowych odbywa się w wywołaniu STATUS, opróżniając dane do bufora odbiorczego, podczas gdy READ opróżnia bufor RECEIVE do Atari, a następnie oczyszcza go do następnego wywołania statusu.
      Tak więc pojawia się pytanie: Czy jest lepszy sposób? Obecnie CIO handler na Atari to około 1000 bajtów kodu, z 256 bajtami bufora na górze (czyli 1.3K w całkowitym zużyciu pamięci). Jest mały, ponieważ wszystko dzieje się na ESP, a handler przechodzi przez wszystko (z kilkoma małymi wyjątkami). Tłumaczenie CR/LF może być przeniesione do Atari w programie obsługującym CIO, na przykład dodając około 40 bajtów kodu, ale jak mamy radzić sobie z takimi rzeczami jak tłumaczenie katalogów plików? Czy obsługa w wywołaniu statusu jest jedynym rozsądnym sposobem, aby naprawdę to zrobić?
      Myśli?
    8.  
      @jeffpiep znów to zrobił! Obsługa OkiMate 10 została dodana do emulacji drukarki, wraz z kolorem!
      • 11:
         
        CommentAuthoranonymus
      • CommentTime19 Jul 2020 10:07
       
      Thomas, zapnijcie się chłopaki, może nieść negatywne konotacje :D
    9.  
      #atari8bit #FujiNet Podczas gdy opcje tłumaczenia tekstu mogą być przekazywane poprzez parametr AUX2 w OPEN, NTRANS daje możliwość ustawienia tego parametru np. podczas dostępu do plików sieciowych, co pozwala na łatwą konwersję formatów tekstowych pomiędzy Atari a innymi komputerowymi formatami tekstowymi.
      • 13:
         
        CommentAuthorKaz
      • CommentTime20 Jul 2020 15:07
       
      Wow! Great text conversion and Oki printing is just beautiful!
    10.  
      #FujiNet #Atari8bit Tutaj widzimy, że program CONFIG został przerobiony na coś znacznie łatwiejszego do utrzymania i odczytu. Zanurzam się trochę w kodzie i pokazuję co się zmienia i dlaczego.
    11.  
      #Atari8bit Przeróbka na #FUJINET CONFIG zbliża się do końca i obsługuje teraz paginację katalogów oraz montaż długich nazw plików! Teraz, aby wdrożyć resztę...
    12.  
      #Atari8bit #FujiNet W tym (wprawdzie bardzo długim) wideo robię głębokie nurkowanie przez CONFIG 2.0 i decyzje podjęte podczas przepisywania, aby pokazać, dlaczego zostały zrobione i aby pokazać wynikające z nich korzyści.
    13.  
      #FUJINET #ATARI8BIT Ponieważ wywołanie Read Directory może określać długość w AUX1, możemy nadać mu podwójną funkcję wyświetlania listy plików głównych i widok dla dłuższych nazw plików.
    14.  
      #FujiNet #Atari8bit CONFIG teraz szybciej montuje dyski, wracając do listy plików po wybraniu gniazda na dyski dla poprzedniego wpisu.
    15.  
      #Atari8bit #FujiNet patrz, co się dzieje! @mozzwald włączył do firmware'u pierwszą przepustkę obsługi MIDIMAZE! Wykorzystuje on port UDP 5004, a my musimy znaleźć najlepszy sposób na obsługę wielu graczy...
    16.  
      and a video:
      • 21:
         
        CommentAuthorKaz
      • CommentTime23 Aug 2020 22:08
       
      Wow! :D
    17.  
      Oscar Fowler ciężko pracował wdrażając obsługę obrazu dysku ATX dla tytułów chronionych przed kopiowaniem! Pliki ATX są buforowane w całości ze swojego źródła (sieciowego lub lokalnego), dzięki czemu czasy są dokładne.
    18.  
      #Atari8bit tutaj widzimy narzędzia #FujiNet Command używane ze SpartaDOS X, i działają doskonale. Tak, w przyszłości będzie istniał sterownik jądra zapewniający jeszcze lepszą integrację. :)
    19.  
      #FujiNet #Atari8bit z @omf's latest commit fixing sector length for missing/partial sectors, all of the tests on DJayBee's ATX test suite now pass! Dzięki temu kompatybilność wynosi 99%, pozostawiając tylko błędy ochrony. Niech to naprawdę zatonie, #Atari8bit może teraz załadować doskonale zachowane oprogramowanie chronione przed kopiowaniem, OVER THE INTERNET.
    20.  
      #Atari8bit #FujiNet - @jeffpiep pomyślnie przetransportował kod kasetowy z napędu SDrive, i dostał go do uruchomienia gry! Teraz musimy podłączyć go do automatu wrzutowego, aby stał się użyteczny.
      • 26:
         
        CommentAuthorpirx
      • CommentTime5 Sep 2020 15:09
       
      Can't wait for the hardware :]
    21.  
      #Atari8bit #FujiNet ma wbudowany parser XML i jest używany do parsowania odpowiedzi WEBDAV z lokalnego serwera WWW, aby zapewnić użyteczną listę katalogów!
    22.  
      #Atari8bit #FujiNet ponieważ urządzenie N: może tłumaczyć końcówki linii, jak również mówić WEBDAV, może być używane do modyfikacji plików na serwerach internetowych! Tutaj pokazuję jak używać programu AtariWriter do modyfikowania stron internetowych!
      • 29:
         
        CommentAuthorKaz
      • CommentTime10 Sep 2020 06:09
       
      Ha ha, a ja myślałem, że Atari Writer+ to już zupełnie nieprzydatne narzędzie! :D
      • 30: CommentAuthorzaxon
      • CommentTime10 Sep 2020 17:09
       
      Montuje małą serię ;) Pierwsza sztuka dzisiaj zmontowana i pracuje ;) Naprawde fajny interfejs ;)

      • 31:
         
        CommentAuthorbocianu
      • CommentTime10 Sep 2020 18:09
       
      A gdzie fujinet.pl w hostach?? ;)
      • 32: CommentAuthor8-Bitz
      • CommentTime10 Sep 2020 21:09
       
      też się napaliłem na to. Potężna moc drzemie w nim!
      na C64 modem wifi nie ma niestety takich możliwości jak ten.
      • 33: CommentAuthorpin
      • CommentTime11 Sep 2020 00:09
       
      do gierek sieciowych to będzie dobre, ale do ładowania z "chmury" to demon prędkości to nie jest. Da się z tego wycisnąć coś więcej niż 19200bps?
      • 34: CommentAuthorxxl
      • CommentTime11 Sep 2020 01:09 zmieniony
       
      oczywiscie ze sie da, wifiprime (ze slabszym procem) zezwala na 19200, 38400 i 57600

      dostep do plikow po sieci... nawet nie zauwazysz ze dane sciagasz z sieci

      to jest przyszlosc :-) wlasciwie to juz terazniejszosc.
    23.  
      @pin yes, the #FujiNet can respond to baud rates as high as 125kbps, I have run both the D: and N: devices at this rate, without issue. :)

      -Thom
      • 36:
         
        CommentAuthorbocianu
      • CommentTime11 Sep 2020 10:09
       
      Oczywiście że się da. Ja używam tego wraz z "Highspeed SIO patch for XL/XE OS" i zasuwa aż miło :D
    24.  
      Jestem w pełni świadomy, że SIO nie jest najszybszą opcją.

      Ale ci z nas, którzy pracują nad #FujiNet celowo wybrali go na kompatybilność z najbardziej dostępnym 8-bitowym sprzętem Atari, a także całą pomoc zapewnioną przez system operacyjny, aby ułatwić komunikację z jak największą liczbą programów.

      Nic nie stoi na przeszkodzie, aby ktoś wziął to, co zrobiliśmy, i dostosował to do PBI.

      ...lub dla kogokolwiek na jakiejkolwiek innej platformie (C64, AppleII, itp.), aby spojrzeć na to, co zrobiliśmy i używać go.
      • 38: CommentAuthorxxl
      • CommentTime11 Sep 2020 17:09
       
      SIO jest jedynym wspólnym dla wszystkich atari interfejsem I/O.
      • 39:
         
        CommentAuthorpirx
      • CommentTime11 Sep 2020 18:09 zmieniony
       
      jeszcze są 2 porty joya i cart ;]
      ale zdecydowanie SIO robi robotę i dla casuala jak ja obecnie wystarczy. a rozbudowanie fujinet o PBI/cart faktycznie wydaje się relatywnie łatwe. widzę to w przyszłości jak rozszerzenia do C64, gdzie masz złączkę do dwóch portów (równoległego i szeregowego), żeby mieć na życzenie szybkość a generalnie kompatybilność ze "wszystkim".

      może się oczywiście zdarzyć, że ktoś bardzo duży nie doczyta powyższego napisu i stwierdzi, że chcę bootować z portu joya. cały "pomysł" polega na dodaniu do FJN (FujiNet == Front Jedności Narodowej) interfejsu PBI, który nie zmieni obecnej funkcjonalności, ale tylko ją rozszerzy.
      • 40: CommentAuthorxxl
      • CommentTime11 Sep 2020 18:09 zmieniony
       
      @pirx: w jaki sposob zabootujesz atari z portu joya?

      tylko SIO zapewnia 100% kompatybilnosc z istniejacym oprogramowaniem - zaden z wymienionch przez Ciebie interfejsow I/O na to nie pozwala (PBI rowniez).

      bez patchowania kazdy program (nawet te starusienkie z konca lat 70) maja mozliwosc wymiany informacji z "internetami"... Twoje "pomysly" tu sie wykladaja.
      • 41: CommentAuthorpin
      • CommentTime11 Sep 2020 21:09
       
      @XXL - nie pisz bzdur o PBI, masz jakąś psychozę w tej materii jak widać :)
      • 42: CommentAuthorxxl
      • CommentTime11 Sep 2020 21:09
       
      doucz sie
      • 43: CommentAuthorpin
      • CommentTime11 Sep 2020 23:09
       
      :) - weź już chłopie na luz wrzuć..
    25.  
      Dosłownie patrząc na ostatni film, który opublikowałem, właśnie zredagowałem stronę internetową w AtariWriter.

      (na wcześniejszym etapie zapisałem też piosenkę z kartridża Music Composer na serwerze HTTP...)

      kilka rzeczy na mojej płycie do wdrożenia:

      * Wsparcie SSH (tak, możliwość zdalnego dostępu do skrzynek z Linuksem)
      * Obsługa SMB (udziały w plikach Windows)
      * Obsługa programu NFS (uniksowe akcje w plikach)
      * Parsery JSON i XML (posiadają parser przychodzący #FujiNet, a Atari może zapytać o drzewo wynikowe i pobrać dane za pomocą CIO lub SIO)
      * Mam rdzeń emulatora Z80 gotowy do pracy, aby dodać obsługę CP/M.


      Więc nie tylko będzie więcej protokołów sieciowych dostępnych w krótkim czasie, ale będą też sposoby na przetwarzanie danych z tych protokołów, aby uczynić to o wiele bardziej dostępnym niż jakiekolwiek inne 8-bitowe urządzenie sieciowe, więc rzeczy takie jak możliwość pisania prawdziwego klienta Twittera lub Facebooka, który mówi po rodzimym API (i to nawet w języku BASIC!).

      Najlepsze jest jeszcze przed nami. :)
      • 45: CommentAuthorxxl
      • CommentTime12 Sep 2020 11:09
       
      obsługa zapytań do bazy danych?
    26.  
      The goal is to handle the API requests to and from web service APIs.

      So the method of action would be something like:

      5 DIM A$(128),B$(128)
      10 OPEN #1,4,3,"N:HTTP://SOME.WEB.SERVICE.COM/api/v4/endpoint.json":REM 3 is CR/LF translation
      20 XIO 128,#1,4,3,"N:":REM TELL FUJINET TO GET AND PARSE JSON
      30 XIO 129,#1,4,3,"N:some/path/to/your/object":REM QUERY
      40 INPUT #1,A$:REM GET VALUE
      50 XIO 129,#1,4,3,"N:some/path/to/your/otherobject":REM QUERY
      60 INPUT #1,B$:REM GET OTHER VALUE
      70 CLOSE #1
      80 END

      This would be for reading values, writing out values and sending the resulting JSON would be similar. The idea for XML parsing would also work the same way.

      Not simple to implement, but we have the computing power on the device, so I am slowly working through how to do this.

      -Thom
      • 47:
         
        CommentAuthorsun
      • CommentTime12 Sep 2020 18:09
       
      Wow!
    27.  
      And here we go, JSON parsing proof of concept working. I just have to work out a query language:
      • 49:
         
        CommentAuthorJacques
      • CommentTime13 Sep 2020 16:09 zmieniony
       
      Are there plans for TNFS running on Android devices?
      • 50:
         
        CommentAuthorbocianu
      • CommentTime13 Sep 2020 16:09
       
      Kod źródłowy serwera tnfs jest otwarty, protokół jest prosty i dokładnie opisany. Nie powinno być problemu z przeniesieniem tego. Trzeba tylko siąść i zrobić ;)

      Ja już dokonałem kilku zmian w kodzie serwera tnfs, które umożliwiają logowanie aktywności. Dzięki temu na stronie serwerka ->link<- można zobaczyć co było ostanio montowane przez użytkowników Fujineta.