atarionline.pl Fox Dos - 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:
         
        CommentAuthorKaz
      • CommentTime12 Apr 2020 13:04 zmieniony
       
      Tebe przypomina znakomity, bo mały, DOS przygotowany przez Fox-a:

      ->link<-

      Tyle lat przeleżał (2002) ten loader / handler D: u Fox-a na GitHub-ie, ileż zdrowia i nerwów mógł już uratować :)

      - instaluje urządzenie D: jak każdy inny DOS Atari
      - przy starcie wczytuje plik uruchamialny o nazwie AUTORUN
      - obsługuje standardowy system plików DOS 2
      - obsługiwany rozmiar sektora (128 lub 256 bajtów) jest ustalany na etapie kompilacji xDOSa
      - xDOS umożliwia odczyt pliku przez D:
      - jednocześnie można czytać tylko jeden plik, ale może on być dowolnej długości
      - xDOS umożliwia nadpisanie istniejącego pliku mieszczącego się w jednym sektorze
      - inne operacje, jak odczyt katalogu, kasowanie, zmiana nazwy itd. nie są obsługiwane
      - xDOS mieści się w całości w sektorach odczytu wstępnego (boot sectors)
      - xDOS nie ustawia MEMLO, ale zajmuje tylko obszar pamięci $0700..$097F
      - xDOS nie wyłącza ROM-u podczas transmisji
      Bez jakichkolwiek większych modyfikacji zdatny do użycia. Po uruchomieniu naszego AUTORUN-a dalsze operacje IO odbywają się normalnie, przykład z załącznika ładuje dwa kolejne pliki z grafiką MIC, PIC (slideshow.pas).


      Sposób na przygotowanie dyskietki (sektor 256B), ściągamy program dir2atr

      ->link<-

      Przygotowujemy nasz katalog roboczy, do którego wrzucamy 'xDos.obx', tworzymy podkatalog 'DISK', tworzymy BAT-a

      dir2atr.exe -md -B xdos.obx example.atr disk
      -m to format dla MyDos-a
      -d to gęstość D, czyli 256B na sektor
      -B twórz botowalną dyskietkę zaincjowaną plikiem xdos.obx
      example.atr to nazwa nowo utworzonego ATR-a
      disk to nazwa podkatalogu w którym znajdują się wszystkie pliki jakie chcemy wrzucić do naszego ATR-a

      p.s.
      jeśli dodać kod wyłączający / włączający ROM tak aby ładować plik bezpośrednio pod ROM wówczas xDOS przestanie być kompatybilny z DOS-ami


      Przypominam też, że szczegółowo DOS jest opisany i rozpisany (w sensie kodu) w dodatku do książki wydanej przez Duddiego:
      • 2: CommentAuthorxxl
      • CommentTime12 Apr 2020 22:04 zmieniony
       
      a tu xBOOT w wersji DOS

      porownanie do Foxowego Dosa w 384 bajtach:

      obydwa mieszcza sie w boot sektorach
      xboot zostawia pamiec wolna od $937 (ustawia memlo), Dos Foxa od $097F (nie ustawia memlo)
      xboot obsluguje wszystkie rozszerzenia formatu dos2, Dos Foxa obsluguje standardowy (nie obsluguje MyDos)
      xboot sam konfiguruje sie na wielkosc sektora, Dos Foxa trzeba kompilowac na odpowiednia wielkosc sektora
      xboot nie ma zapisu, Dos Foxa potrafi zapisac istniejacy jednosektorowy plik
      • 3: CommentAuthorpin
      • CommentTime12 Apr 2020 23:04
       
      Czy moderator może wymoderować i usunąć post #2 ;)
      • 4: CommentAuthorxxl
      • CommentTime13 Apr 2020 00:04
       
      oraz wersja z inicjalizerem
      • 5: CommentAuthortebe
      • CommentTime13 Apr 2020 01:04
       
      a tutaj przykład działania xBootDOS-a (ten sam program przykładowy co z postu #1)

      podsumowując, program który działa z xDOS-em i każdym DOS-em nie działa z xBootDOS-em
      • 6: CommentAuthorxxl
      • CommentTime13 Apr 2020 01:04 zmieniony
       
      oczywiscie :-)

      poniewaz Twoj program nadpisuje obszar $480 :D

      cena niskiego memlo

      ale moze przeniose go wyzej - Sikor chcial tez wolna strone $600

      ---
      Locations 1152 to 1791 ($480 to $6FF) are for user RAM (outer
      environment) requirements, depending on the amount of RAM
      available in the machine. Provided you don't use the FP package or
      BASIC, you have 640 ($280) free bytes here.
      Locations 1152 to 1279 ($480 to $4FF) are 128 ($80) spare bytes.
      The floating point package, when used, requires locations 1406 to 1535
      ($57E to $5FF).
      • 7: CommentAuthortebe
      • CommentTime13 Apr 2020 01:04
       
      czyli stworzyłeś program xBootDOS do specyficznych zastosowań
      • 8: CommentAuthorxxl
      • CommentTime13 Apr 2020 01:04 zmieniony
       
      teraz masz od $700 do $93b :-)
      • 9: CommentAuthortebe
      • CommentTime13 Apr 2020 02:04
       
      teraz działa :)
      • 10: CommentAuthortebe
      • CommentTime15 Apr 2020 15:04 zmieniony
       
      kolejny przykład tym razem dla VBXE, gdzie xBootDos nie zadziała

      xDOS działa, pewnie dlatego że pochodzi z czasów kompatybilności ;) w końcu rok powstania 2002 zobowiązuje

      S_VBXE.SYS jest handlerem urządzenia S2: (VBXE) dla SDX autorstwa Drac030

      program SDXDL (ładowany od adresu $8000) pozwala na załadowanie SYS-a bez udziału SDX, pod każdym innym DOS-em

      co robi SDXDL? otwiera do odczytu konkretnie plik D:S_VBXE.SYS i relokuje go w pamięci od MEMLO, na końcu podnosząc MEMLO

      w załączonym przykładzie TEST.PAS, na początku wykonuję akrobację pt. ustaw MEMLO na $980, wykonaj skok (JSR) do SDXDL, w efekcie otrzymujemy handler S2: dla VBXE od adresu $0980 .. $0c0c, reszta dla nas

      idea jest prosta, skorzystaj z VBXE bez konieczności używania SDX, ale jeśli masz SDX to też korzystaj (wtedy fragment akrobatyczny nie jest potrzebny)

      p.s.
      przy starcie systemu MEMLO = $0700, ani xDOS, ani xBootDOS nie ustawiają MEMLO, prawdziwe DOSy to robią, bez podniesienia MEMLO grozi im że zostaną nadpisane przez programy relokujące się
      • 11: CommentAuthorxxl
      • CommentTime15 Apr 2020 17:04 zmieniony
       
      tu wersja krotsza ustawiajaca memlo na ($937)
      • 12: CommentAuthortebe
      • CommentTime21 May 2020 08:05
       
      nowsza wersja xDOS (Fox DOS), krótsza instalacja handlera, ustawione MEMLO, dzięki czemu programy relokujące zostaną prawidłowo załadowane, nie korzysta ze strony zerowej w takim stopniu jak xBootDos XXL-a stąd brak ryzyka że pokłóci się z innymi zainstalowanymi programami

      autorem poprawek jest Fox/TQA
      • 13: CommentAuthorilmenit
      • CommentTime21 May 2020 08:05 zmieniony
       
      Super, dzięki Tebe i Fox! Ja bym proponował tylko używać nazwy FoxDos, aby się nie myliło z tworami xxla.
      • 14: CommentAuthorxxl
      • CommentTime21 May 2020 09:05
       
      nie korzysta ze strony zerowej w takim stopniu jak xBootDos XXL-a stąd brak ryzyka że pokłóci się z innymi zainstalowanymi programami


      xBDos na stronie zero korzysta tylko z komorek przeznaczonch dla FMS wiec jesli jakis program sie z tym gryzie oznacza ze ten program nie jest zgodny z systemem operacyjnym :-)
    1.  
      Initializer program for FoxDOS please, so I can install it on the A8 (and do not need a PC to do shovel it into the bootsectors)...

      +1 for naming it FoxDOS
      • 16: CommentAuthormono
      • CommentTime21 May 2020 15:05
       
      0xfDOS :) Dzięki Panowie!
      • 17:
         
        CommentAuthorjhusak
      • CommentTime21 May 2020 17:05 zmieniony
       
      Istny wyścig zbrojeń!
      Acha:
      0xFDos - open source
      BootDos - closed source.

      xxl, gdybyś udostępniał źródła z odpowiednimi opisami, pewnie mielibyśmy jeszcze lepszy kompilator pascala, c - twoje techniki programowania wykraczają daleko poza ogólnie przyjęte normy (nie zdziwiłbym się, gdybyś snake napisał w 128 bajtach) - wartość edukacyjna byłaby niemierzalna.

      Inna sprawa, że potrzebowałem jakiegoś punktu zaczepienia do napisania dosa z filesystemem na kartridżu i możliwością zapisu - dzięki dosowi Foxa zrobiłem to w parę dni a nie w miesiąc. Dzięki Fox za dobrze napisany kawałek kodu.

      BTW, zawsze fascynowała mnie właściwie nieskończona możliwość optymalizacji kodu 6502.
    2.  
      0xFDos - no, since DOS 2 filenames must not begin with a number and lower case letters are not allowed... ;-) ;-) ;-) (joke)
      • 19: CommentAuthorxxl
      • CommentTime21 May 2020 19:05
       
      @jhusak: ale po co? Fox jest koderem szczytowym, nie mogles lepiej trafic :-)
      • 20: CommentAuthortebe
      • CommentTime21 May 2020 22:05
       
      Fox Dos Initializer
      • 21:
         
        CommentAuthorKaz
      • CommentTime22 May 2020 02:05
       
      Dzięki Tebe, bomba!

      A nazwę FoxDOS zaproponowałem, bo po prostu łatwo ją skojarzyć z Fox-em (0xF) i mimo wszystko dużo łatwiej wymówić niż 0xFDOS :D
      • 22:
         
        CommentAuthorjhusak
      • CommentTime22 May 2020 09:05 zmieniony
       
      @xxl, mogłem inaczej. Dlaczego pytasz po co? Przecież to oczywiste, ciekawość, chęć nauki, podziw dla dobrego dzieła. Co zyskujesz nie publikując, a co byś stracił publikując źródła? Nie rozumiem.

      Ja sie już zżyłem z nazwą FoxDos.
    3.  
      Yep,

      thanks to 0xF and TeBe for the release of FoxDos! Another good bootloader program to test... ;-)
      • 24:
         
        CommentAuthorjhusak
      • CommentTime22 May 2020 17:05
       
      To use. The test was in Numen and it passed.
      • 25: CommentAuthorzbyti
      • CommentTime23 May 2020 13:05 zmieniony
       
      Coś poszło nie tak...

      Użyłem Fox Dos Initializer na czystym obrazie 180KB i wrzuciłem AUTORUN z Music ProTracker 2.4 i wszystko się pętli.

      Dokonałem analogicznych operacji za pomocą narzędzi XXL'a i wszystko działa.
      • 26: CommentAuthortebe
      • CommentTime23 May 2020 14:05 zmieniony
       
      dziwny ten plik, ustawia RUN/INI na adres spoza bloku $2962

      ładuje pod ROM ($CC00)

      CHKXEX, Super Packer wykładają się na tym pliku

      001: @$0000     $0480-$0481: $0002
      0500
      002: @$0008 $0500-$0562: $0063
      2400
      003: @$006F $2400-$2445: $0046
      02E0
      004: @$00B9 $02E0-$02E3: $0004
      RUN $2962
      INI $2962
      B019
      005: @$00C1 $B019-$B1EF: $01D7
      CC00
      006: @$029C $CC00-$CECA: $02CB
      B000
      007: @$056B $B000-$B007: $0008
      02E2
      008: @$0577 $02E2-$02E3: $0002
      INI $B019
      2000
      009: @$057D $2000-$200B: $000C
      B000
      010: @$058D $B000-$B007: $0008
      02E2
      011: @$0599 $02E2-$02E3: $0002
      INI $B019
      2409
      012: @$059F $2409-$24E3: $00DB
      B000
      013: @$067E $B000-$B007: $0008
      02E2
      014: @$068A $02E2-$02E3: $0002
      INI $B019
      276E
      015: @$0690 $276E-$3C79: $150C
      B000
      016: @$1BA0 $B000-$B007: $0008
      02E2
      017: @$1BAC $02E2-$02E3: $0002
      INI $B019
      3EF2
      018: @$1BB2 $3EF2-$3EF7: $0006
      50C0
      019: @$1BBC $50C0-$5174: $00B5
      B000
      020: @$1C75 $B000-$B007: $0008
      02E2
      021: @$1C81 $02E2-$02E3: $0002
      INI $B019
      0482
      022: @$1C87 $0482-$048C: $000B
      D800
      023: @$1C96 $D800-$E313: $0B14
      B000
      • 27: CommentAuthor0xF
      • CommentTime23 May 2020 23:05
       
      Dziękuje za miłe słowa. :)

      MPT wczytuje się, ale robi na starcie ciepły start. Mój DOS nie ma żadnego procesora komend ani menu, więc próba wejścia do niego kończy się zimnym startem.

      Jeśli zmienić na:
      dta	c'F',3,a($800),a(ret)


      to MPT uruchomi się, ale zdecydowanie odradzam używanie! DOS ma ograniczone możliwości zapisu, popsujecie sobie pliki.
      • 28: CommentAuthorzbyti
      • CommentTime24 May 2020 00:05
       
      @0xF dzięki za naświetlenie sprawy.

      Nie miałem zamiaru nic zapisywać za pomocą Twojego DOS-u preparowałem dyskietkę w innym celu ale dobrze, że ostrzegasz :]
      • 29:
         
        CommentAuthormiker
      • CommentTime24 May 2020 10:05 zmieniony
       
      MPT akurat był dostosowane do współpracy z DOS-em II+ 6.x + QMEG OS. Ładnie się wtedy uzupełniały komendy:
      - RESET + START - czyszczenie pamięci w MPT
      - RESET + SELECT - przejście do QMEG OS
      - RESET + OPTION - wyjście do DOS-u, np. w celu wczytania zawartości pamięci albo zgrania tejże, tak się m. in. przenosiło moduły ze starszych wersji MPT (format pliku się różnił, dane w pamięci - przeważnie już nie, 2.4 [i wyżej] nie brał tylko nut wyższych od C#6).
      Ogólnie wrzucanie MPT pod superkrótkiego DOS-a mija się z celem, ale jak kto woli.
      • 30: CommentAuthorzbyti
      • CommentTime24 May 2020 11:05
       
      @miker czy się mija to zależy od celu, z moim się nie mijało.
      • 31:
         
        CommentAuthormiker
      • CommentTime24 May 2020 11:05
       
      *"... ale jak kto woli"
      • 32: CommentAuthorzbyti
      • CommentTime24 May 2020 12:05 zmieniony
       
      rozbierając logicznie Twoje zdanie to: jak kto woli mijać się z celem a celu nie znałeś i nie znasz.
      • 33:
         
        CommentAuthormiker
      • CommentTime24 May 2020 12:05
       
      Fakt, dyskusja z tobą mija się z celem [EoT].
      • 34: CommentAuthorzbyti
      • CommentTime24 May 2020 12:05 zmieniony
       
      Po prostu nie pisz komuś, że coś się mija z celem jak tego celu nie znasz, mam nadzieję, że to załapałeś.

      tebe:

      nowsza wersja xDOS (Fox DOS), krótsza instalacja handlera, ustawione MEMLO, dzięki czemu programy relokujące zostaną prawidłowo załadowane, nie korzysta ze strony zerowej w takim stopniu jak xBootDos XXL-a stąd brak ryzyka że pokłóci się z innymi zainstalowanymi programami

      Testowałem oba DOS-y, miałem pod ręką MPT.COM wiec przerobiłem na autorun.

      Bez wnikania w szczegóły zrozumiałem, że DOS XXL miał być bardziej kłopotliwy a tymczasem odpalił MPT bez problemu.

      Zgłosiłem casus związany z FoxDOS.

      MPT na takim DOS nie ma sensu (przynajmniej ja go nie dostrzegam), to zupełnie inna sprawa.
      • 35: CommentAuthortebe
      • CommentTime24 May 2020 14:05 zmieniony
       
      Fox DOS po poprawce, dodatkowo

      BLOAD (XIO #40)

      ATR z przykładowym działaniem, wychodzimy z interka naciskając
      START i wracamy do MP
      • 36:
         
        CommentAuthorjhusak
      • CommentTime31 May 2020 13:05
       
      @0xF, a te zmiany, co wprowadziłeś, są już gdzieś na jakimś githubie? Bo inaczej się zapomną.
      @tebe, a Ty coś też zmieniałeś, czy tylko testy?
      • 37: CommentAuthortebe
      • CommentTime31 May 2020 15:05
       
      zmiany które wprowadził 0xF i nowe (BLOAD) są powyżej #35
      • 38:
         
        CommentAuthorjhusak
      • CommentTime31 May 2020 22:05 zmieniony
       
      Gdyby to było repo, to bym się pośmiał ze swojego gapiostwa :D
      Chodzi o to, że to są ważne rzeczy i powinny być w ważnym znajdywalnym miejscu.
      • 39: CommentAuthorilmenit
      • CommentTime1 Jun 2020 08:06
       
      Ja też poproszę o wrzucenie na jakiegoś githuba :) Bardzo przydatne zmiany.
      • 40:
         
        CommentAuthorpirx
      • CommentTime1 Jun 2020 14:06
       
      ditto
      • 41: CommentAuthortebe
      • CommentTime1 Jun 2020 21:06
       
      • 42:
         
        CommentAuthorpirx
      • CommentTime1 Jun 2020 22:06
       
      to jest dzieło sztuki
      • 43: CommentAuthorpin
      • CommentTime1 Jun 2020 22:06
       
      Uprzejmie donoszę, że u mnie to wszystko działa ;)
      • 44:
         
        CommentAuthorjhusak
      • CommentTime2 Jun 2020 20:06
       
      Dzięki. będę pamiętał, że tam jest :)
      • 45: CommentAuthor0xF
      • CommentTime3 Jun 2020 22:06
       
      Mam teraz trochę inne projekty. Dzięki TeBe za pomoc. :)
    4.  
      maybe Fox DOS could become Fox NOS with #FujiNet? ;)

      -Thom