atarionline.pl xBoot 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: CommentAuthorxxl
    • CommentTime18 Apr 2020 zmieniony
     
    Dos w boot sektorze

    MEMLO = $930

    pracuje z dowolnymi FS z rodziny AtariDOS2 (MyDOS itp.) z dyskietkami SD,ED,DD,DSDD itd. do 16MB w ATR.

    ma tez funkcje specjalna:
    - Binary Load (można załadować pliki binarne)
    - Point (ustawiene biezacej pozycji odcztu w pliku)

    potrafi zapisac plik o dowolnej dlugosci

    jesli bootujemy z wylaczonym basic to dos probuje uruchomic plik AUTORUN. a jesli basic jest wlaczony to wchodzi do basica.

    w zalaczniku test z nagranym programem w basicu i binarka:


    spod basica piszemy:

    LOAD "D:TEST.BAS" (SAVE)

    lub

    XIO 40,#1,0,0,"D:AUTORUN"

    dodana funkcja POINT

    do sciagniecia: ->link<-
    • 2: CommentAuthorgorgh
    • CommentTime18 Apr 2020
     
    dzięki, nie znam się ale to chyba przydatne, może bocianu by użył tego do swojego music dysku
    • 3: CommentAuthorzbyti
    • CommentTime19 Apr 2020
     
    @gorgh to jednak umie człowiek rozbawić :D
    • 4: CommentAuthorpirx
    • CommentTime19 Apr 2020
     
    barzo ładne!
    • 5: CommentAuthorxxl
    • CommentTime19 Apr 2020
     
    dodalem zapis.
    • 6: CommentAuthormono
    • CommentTime19 Apr 2020 zmieniony
     
    Nieźle, nieźle. A można to samo ale przez odwołania systemowe? Żeby chodziło z Nowymi Urządzeniami?
    • 7: CommentAuthorxxl
    • CommentTime19 Apr 2020
     
    ktore odwolanie nie jest systemowe?
    • 8: CommentAuthormono
    • CommentTime19 Apr 2020
     
    No nie śledziłem kodu, jeśli wszystko idzie przez OS to super.
    • 9: CommentAuthorilmenit
    • CommentTime19 Apr 2020
     
    Jaka ma licencje?
    • 10: CommentAuthorxxl
    • CommentTime21 Apr 2020
     
    kolejny update.

    zmiany:

    xBootDOS moze zapisywac pliki dowolnej dlugosci

    memlo = $936
    • 11: CommentAuthorilmenit
    • CommentTime21 Apr 2020
     
    Jaka jest licencja tego programu?
    • 12:
       
      CommentAuthorKaz
    • CommentTime21 Apr 2020
     
    Ilmenit, zadajesz niewygodne pytanie, a xxl już nie ma kogo wyrzucić z atari.pl w odwecie :)
    • 13: CommentAuthorzbyti
    • CommentTime21 Apr 2020 zmieniony
     
    Potworzy nowe konta i usunie, tak dla wprawy :]

    LICENCJA: korzystając z xBIOS przenosisz prawa do kodu korzystającego z xBIOS na twórcę xBIOS.
    • 14:
       
      CommentAuthorKaz
    • CommentTime21 Apr 2020
     
    Ale warunkiem jest, że ktoś się musi rozpruć :D
    • 15: CommentAuthorxxl
    • CommentTime21 Apr 2020 zmieniony
     
    Niestety, Solo grozil donosem, trzeba sie bylo zabezpieczc :( szkoda postronnych ofiar jego glupoty i szkoda mojej pracy.

    a licencja to Freeware :-)
    • 16: CommentAuthorzbyti
    • CommentTime21 Apr 2020
     
    Cholera... Goebbels miał jednak rację... Powoli zaczynam wierzyć w tę wersję ;)
    • 17:
       
      CommentAuthorjhusak
    • CommentTime22 Apr 2020
     
    Dlaczego dopiero teraz...

    Przecież to petarda!
    • 18: CommentAuthorilmenit
    • CommentTime22 Apr 2020 zmieniony
     
    Kaz, ja bym proponował usunąć stąd tego xBoota. Niby nie jest nielegalny, ale trzeba się zabezpieczyć :( tylko szkoda postronnych ofiar jego glupoty
    • 19: CommentAuthorzbyti
    • CommentTime22 Apr 2020
     
    @ilmenit tylko szkoda czyjej pracy?
    • 20: CommentAuthorJacques
    • CommentTime22 Apr 2020 zmieniony
     
    "Zmusiliście mnie do tego..." Klasyczny przejaw nie napiszę czego ;-)
    • 21: CommentAuthorxxl
    • CommentTime22 Apr 2020
     
    - obsluguje format BiboDOS - z 128 wpisami katalogowmi
    • 22: CommentAuthorxxl
    • CommentTime22 Apr 2020 zmieniony
     
    i kolejna optmalizacja, memlo zjechalo do $924 :D (optmalizacja o 18 bajtow)
    • 23: CommentAuthorbob_er
    • CommentTime22 Apr 2020
     
    Dodasz jeszcze obsługe formatu Sparty to memlo eksploduje do $980 :)
    • 24: CommentAuthorxxl
    • CommentTime23 Apr 2020
     
    moglo by braknac ;-)
    • 25: CommentAuthorxxl
    • CommentTime23 Apr 2020
     
    kolejna optymalizacja :DDDD

    MEMLO = $920
    • 26: CommentAuthorsolo/ng
    • CommentTime23 Apr 2020 zmieniony
     
    xxl udaj sie w koncu do lekarza. schizofrenie paranoidalna sie leczy.
    • 27: CommentAuthorxxl
    • CommentTime25 Apr 2020
     
    adhd tez :D

    kolejny dzien, kolejna optymalizacja


    dzis dodana funkcja POINT
    • 28: CommentAuthortebe
    • CommentTime25 Apr 2020
     
    w tym POINT, A = numer sektora, B = numer bajta ?

    a gdzie POINT (SEEK) jak w SDX ? :)
    • 29: CommentAuthorxxl
    • CommentTime25 Apr 2020
     
    tak, POINT dziala jak w DOS a nie jak w SDX.

    "kompatybilnosc"
  1.  
    There is also this 3-sector-DOS
    ->link<-
    written by C.Strotmann several years ago. Do not know the memlo of this DOS. It supports multiple files (up to a max. of 8 files / only one dir. sector!), but loading/reading only...
    • 31: CommentAuthorxxl
    • CommentTime25 Apr 2020 zmieniony
     
    ok. to jest wlasciwie wersja ostateczna, optymalizowac mozna pewnie jeszcze o pare bajtow ale to juz by byly uproszczenia...

    to tyle jesli chodzi o minimalistyczny DOS:

    - czytanie
    - zapis (do istniejacych plikow)
    - funkcja specjalna BINARY LOAD
    - funkcja specjalna POINT
    - dowolny format i gestosc dla filesystemu rodziny Atari DOS (MyDOS, BiboDOS, TopDOS)
    - MEMLO = $930
    - DOS zajmuje $130 (304 bajty)
    - w calosci miesci sie w BOOT SECTORS
    - jesli BASIC wylaczony to automatycznie uruchamia plik "D:AUTORUN"


    BOOTowalny atr możemy stworzyć poleceniem:
    dir2atr -md -B xbootdos.obx atrfile.atr directory


    strona projektu:


    ->link<-
    • 32: CommentAuthortebe
    • CommentTime25 Apr 2020
     
    d z i ę k u j e m y :)
    • 33:
       
      CommentAuthorjhusak
    • CommentTime26 Apr 2020 zmieniony
     
    Ja tego nie rozumiem. dos w $130 bajtach, z (uproszczonym) zapisem, z binloaderem? Czad.

    Jak czytam dowolny kod xxl-a - to go nijak nie rozumiem :)

    Zapostulował bym jeszcze o dosa z możliwością zapisu do nieistniejącego pliku kosztem długości, nawet do $180. Wówczas można już na tym pracować natywnie.
    • 34: CommentAuthorxxl
    • CommentTime26 Apr 2020
     
    to jest dos do gamedevu, tworzenie plikow jest srednio potrzebne - jesli wogole. zreszta niestety brak miejsca w bootsektorze na kolejne funkcjonalnosci.
    • 35: CommentAuthoremka
    • CommentTime26 Apr 2020 zmieniony
     
    Zachęcony informacją z pierwszego postu (potrafi zapisać plik o dowolnej długości)
    postanowiłem to sprawdzić.

    Chyba nie rozumiem jak działa zapis.
    Myślałem że ponieważ program nie tworzy nowych plików, wystarczy stworzyć kilka kontrolnych plików np. L1,L2,L3,...
    o minimalnej długości 2 sektorów i zawsze zapisywać do tych plików. Niestety zapis zostaje obcięty do tych dwóch sektorów. Reszta jest wyrzucana na ekran.
    Podejście drugie.
    Może pliki powinny być dużo dłuższe i program jakoś ominie nadmiarowe sektory.
    Nic z tego xbootDOS wczytuje wszystko do końca starej mapy. Dodatkowo miesza stare dane z nowymi i robi błędy w pliku.
    Co robię źle?
    Potrzebna dokumentacja i jakiś manual.
    Program nie radzi sobie też z innymi językami na cartridge'u. sprawdzone na ACTION!, BASICXE.
    Bez zapisu xbootDOS jest mało przydatny.
    • 36: CommentAuthortebe
    • CommentTime26 Apr 2020
     
    xBootDOS nie zarządza mapą VTOC, więc zapis może być tylko do wcześniej zdefiniowanych sektorów

    jeśli stworzyłeś plik który zajmuje 2 sektory, zapis będzie tylko do tych dwóch sektorów

    jeśli stworzyłeś plik który zajmuje 5 sektorów, zapis będzie tylko do tych pięciu sektorów

    itd.
    • 37: CommentAuthorxxl
    • CommentTime26 Apr 2020 zmieniony
     
    @emka: mozesz dodac przykladowy atr?
    • 38: CommentAuthoremka
    • CommentTime26 Apr 2020 zmieniony
     
    Testowane pod Linuksem na atari800 4.2.0
    Pliki zapisane w DOS 4.3T SD
    L1 to plik action nadpisany basic'iem
    L2 to plik którym nadpisałem
    L3 to plik ACTION!
    • 39: CommentAuthorxxl
    • CommentTime26 Apr 2020 zmieniony
     
    ok. wiem o co chodzi.

    1. nie mogles uruchomic tego z innymi cardrydzami. sciagnij xBootDOSa jeszcze raz - jest poprawiony, bedzie dziala z Action i Basicami XL/XE, Altirra Basic itd.

    2. zapisujesz komenda LIST a ladujesz komenda ENTER i wychodza Ci smieci - tak, to jest prawidlowe zachowanie poniewaz zapisales LISTem do wiekszego pliku w ktorym juz cos bylo - te pozostale dane nie zostana skasowane i dlatego tak masz.

    jak zapiszesz komenda SAVE (stokenizowane) to podczas ladowania LOAD bedziesz mial ok i smieci sie nie pojawia.

    3. jesli bedziesz zapisywal wiecej danych do pliku o zbyt malym rozmiarze to dostaniesz komunikat z bledem end of file

    to jest prawidlowe zachowanie.
    • 40: CommentAuthorxxl
    • CommentTime26 Apr 2020
     
    jeszcze jedno, (chyba to Cie zmylilo) do pliku ktory poczatkowo mial np. 10 bajtow i miescil sie w 1 sektorze nie zapiszesz 20 bajtow (mimo, ze w sektorze jest jeszcze sporo wolnego miejsca)
    • 41: CommentAuthoremka
    • CommentTime26 Apr 2020
     
    Problem cardridge'a wygląda na rozwiązany.
    @ Do pliku który początkowo miał np. 10 bajtów i mieścił się w 1 sektorze nie zapiszesz 20 bajtów
    Byłem pewien że w granicach sektora możemy zapisać wszystko.

    Tylko Basic w stokenizowanym pliku zna jego długość (dlatego w C: nie czeka na ostatni blok). Wszystkie inne programy czekają na EOF. Czy nie dało by się kontrolować długości pliku bez ruszania mapy dysku (jakiś znacznik EOF w nadmiarowych sektorach należących do danego pliku). To mocno by zwiększyło funkcjonalność programu i wszystkim by szczęka opadła.
    Pomyśl o tym.
    • 42: CommentAuthorxxl
    • CommentTime26 Apr 2020
     
    masz racje. dobry pomysl. ale brak miejsca, trzebaby zrezygnowac z POINT...

    i to wlasciwie zalatwiloby sprawe plikow roznej dlugosci...
    • 43: CommentAuthorxxl
    • CommentTime26 Apr 2020 zmieniony
     
    .
    • 44: CommentAuthoremka
    • CommentTime26 Apr 2020 zmieniony
     
    Za bardzo nie wiem co to oznacza "jak stworzysz odpowiedniego "templata"". Ale nic to jedziemy dalej.
    Program zapisuje na dysku więcej niż wczytuje. W przykładowym atr masz 3 pliki L1,L2,L3 spróbuj wczytać pod ACTION!. plik D:L3 zapisać go i ponownie wczytać może być pod tą samą nazwą to sam zobaczysz.Nadal nie potrafi rozpoznać miejsca końca krótszego pliku i wczytuje całość.
    Po którymś teście wyrzucił error 136 i nadpisał częściowo bootblok.

    Może napisanie DOSa w bootsektorach to za ambitne zadanie?
    To moja ostatnia odpowiedź w tym temacie. Chyba nie nadaję się na betatestera.
    Powodzenia
    • 45: CommentAuthorxxl
    • CommentTime26 Apr 2020
     
    nie ma zbyt ambitnych zadan ;-)

    ogarne to i dam znac.
    • 46: CommentAuthorxxl
    • CommentTime26 Apr 2020 zmieniony
     
    ten dziala w zakresie co rozmawiamy... autostart nie dziala.

    ---
    usuniety zal.
    • 47: CommentAuthorxxl
    • CommentTime27 Apr 2020 zmieniony
     
    ok.
    - autorstart dziala - plik "AUTORUN"
    - memlo $930 (utrzymane)
    - skraca/wydluza pliki wedlug pomyslu emka

    jesli nie znajde jakiegos glupiego bledu to ta wersja bedzie wiodaca (wersja z POINT ma bledy!!!)
    • 48: CommentAuthormono
    • CommentTime27 Apr 2020 zmieniony
     
    No dobrze, ale na czym polega "rozszerzanie/skracanie pliku bez ruszania VTOC"? Linki w sektorach zawsze wskazują na kolejny sektor na dysku, ale kontrolujesz rozmiar pliku za pomocą znacznika zajętości sektora?

    Edit: I ewentualnie rozmiaru pliku w direntry?
    • 49: CommentAuthorxxl
    • CommentTime27 Apr 2020 zmieniony
     
    tak, poprzez znacznik zajetosci sektora.

    na okolicznosc EOF podczas zapisu kontrolujesz link a podczas czytania znacznik zajetosci... genialne.

    nie wolno zmianiac wartosci w directory bo plik traktujemy jak kontener
    • 50: CommentAuthormono
    • CommentTime27 Apr 2020 zmieniony
     
    Tak, pomysł jest bardzo ciekawy. Ciekawe jak sobie poradzą loadery i same DOS-y z takimi plikami. Ale w ten sposób można by rezerwować miejsce pod pliki o maksymalnej zadanej długości na etapie tworzenia pliku.

    Edit: To jeszcze uściślając parę kwestii.

    Podczas zapisu idziemy po linkach i aktualizujemy znacznik zajętości sektora. Czyli wszystkie sektory w pliku są zajęte na max do momentu kiedy trafimy na sektor częściowo zajęty, albo pusty, albo kiedy link jest pusty (wtedy nie ma więcej miejsca na zapis).
    Uważałbym na sytuację kiedy kończymy zapis z sektorem zapełnionym na max, bo wtedy następny sektor (o ile aktualny link nie jest 0) musi mieć znacznik wypełnienia ustawiony na 0 (szczególnie w przypadku kiedy nadpisujesz plik który był wcześniej dłuższy).

    Podczas odczytu bierzemy dane z sektora do momentu kiedy znacznik zajętości jest mniejszy niż max lub kiedy link jest pusty.

    Mógłbyś podczas tworzenia pliku markować taki rodzaj pliku ("sticky"? że niby przyklejony jest do sektorów na dysku) w statusie jakimś bitem lub kombinacją? Tak żeby zachować kompatybilność z już istniejącymi filesystemami.

    Edit 2: A może jednak zostawić status pliku w spokoju? Chociaż pewnie wszystkie disk cleanery i inne disk fixery będą raportować błąd w pliku. I tak będą pewnie raportować błąd kiedy status będzie zmieniony.