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 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 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
     
    Czy moderator może wymoderować i usunąć post #2 ;)
    • 4: CommentAuthorxxl
    • CommentTime13 Apr 2020
     
    oraz wersja z inicjalizerem
    • 5: CommentAuthortebe
    • CommentTime13 Apr 2020
     
    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 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
     
    czyli stworzyłeś program xBootDOS do specyficznych zastosowań
    • 8: CommentAuthorxxl
    • CommentTime13 Apr 2020 zmieniony
     
    teraz masz od $700 do $93b :-)
    • 9: CommentAuthortebe
    • CommentTime13 Apr 2020
     
    teraz działa :)
    • 10: CommentAuthortebe
    • CommentTime15 Apr 2020 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 zmieniony
     
    tu wersja krotsza ustawiajaca memlo na ($937)
    • 12: CommentAuthortebe
    • CommentTime21 May 2020
     
    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 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
     
    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
     
    0xfDOS :) Dzięki Panowie!
    • 17:
       
      CommentAuthorjhusak
    • CommentTime21 May 2020 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
     
    @jhusak: ale po co? Fox jest koderem szczytowym, nie mogles lepiej trafic :-)
    • 20: CommentAuthortebe
    • CommentTime21 May 2020
     
    Fox Dos Initializer
    • 21:
       
      CommentAuthorKaz
    • CommentTime22 May 2020
     
    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 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
     
    To use. The test was in Numen and it passed.
    • 25: CommentAuthorzbyti
    • CommentTime23 May 2020 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 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
     
    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
     
    @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 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
     
    @miker czy się mija to zależy od celu, z moim się nie mijało.
    • 31:
       
      CommentAuthormiker
    • CommentTime24 May 2020
     
    *"... ale jak kto woli"
    • 32: CommentAuthorzbyti
    • CommentTime24 May 2020 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
     
    Fakt, dyskusja z tobą mija się z celem [EoT].
    • 34: CommentAuthorzbyti
    • CommentTime24 May 2020 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 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
     
    @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
     
    zmiany które wprowadził 0xF i nowe (BLOAD) są powyżej #35
    • 38:
       
      CommentAuthorjhusak
    • CommentTime31 May 2020 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
     
    Ja też poproszę o wrzucenie na jakiegoś githuba :) Bardzo przydatne zmiany.
    • 40:
       
      CommentAuthorpirx
    • CommentTime1 Jun 2020
     
    ditto
    • 41: CommentAuthortebe
    • CommentTime1 Jun 2020
     
    • 42:
       
      CommentAuthorpirx
    • CommentTime1 Jun 2020
     
    to jest dzieło sztuki
    • 43: CommentAuthorpin
    • CommentTime1 Jun 2020
     
    Uprzejmie donoszę, że u mnie to wszystko działa ;)
    • 44:
       
      CommentAuthorjhusak
    • CommentTime2 Jun 2020
     
    Dzięki. będę pamiętał, że tam jest :)
    • 45: CommentAuthor0xF
    • CommentTime3 Jun 2020
     
    Mam teraz trochę inne projekty. Dzięki TeBe za pomoc. :)
  4.  
    maybe Fox DOS could become Fox NOS with #FujiNet? ;)

    -Thom