atarionline.pl Czytanie z dowolnego miejsca w pliku i BW/BeWe 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: CommentAuthorilmenit
    • CommentTime24 Dec 2019
     
    BW DOS używa systemu plików Sparty i ma kilka właściwości (e.g. niskie memlo, wsparcie dla NOTE/POINT lub lseek/fseek ->link<- dzięki którym chciałbym go wykorzystać w jednym z projektów. Głównie zależy mi na NOTE/POINT (fseek w C),dzięki czemu mogę wszystko wrzucić do jednego większego pliku i czytać z niego z określonego miejsca.
    Czy takie rozwiązanie będzie działać na wszystkich standardowych i "rozszerzanych" Atari? Jeżeli nie, gdzie nie będzie i jaka jest alternatywa? (chodzi o czytanie z wybranego miejsca z dużego pliku danych trzymanych zewnętrznie, poza programem głównym - z kilku powodów nie chcę dekompresować danych ani używać pamięci rozszerzonej).
    • 2:
       
      CommentAuthorpirx
    • CommentTime24 Dec 2019
     
    Tylko w SpartaDosie (BW i DOS4) możesz odwoływać się do bajtów pliku, w innych DOSach podawać trzeba sektor i offset w sektorze :[
    Ale to nie ma nic wspólnego z hardware, więc dyskieta z BW-DOSem i Twoim programem powinna działać wszędzie.
    Pytanie, czy to będzie wystarczająco szybkie - obawiam się, że nie za bardzo, bo tak czy siak w dużym pliku trzeba będzie czytać wszystkie sektory z zawartością "Sector Maps".

    Alternatywa - rzeźbić po sektorach bez DOSa, ale może potrzebujesz możliwości zapisu do plików itp. Jakbyś chciał czytać dyski w formacie Sparty małym kodem, to polecam MSDOS (MicroSpartaDos) od Jirzika, ew. z naszym (Pecusia i moim) kodem, który zaczytuje do bufora skompresowane sector maps, dzięki czemu samo czytanie jest b. proste.
    • 3: CommentAuthorpin
    • CommentTime24 Dec 2019 zmieniony
     
    Jeśli będziesz działał w ramach obrazu ATR pod BWdosem to taki obraz dyskietki można załadować powiedzmy "ze wszystkiego". Teoretycznie też, po zgraniu plików luzem wprost pod Spartę X powinno to też i tam działać. Wołaj tylko D: ;)
    • 4: CommentAuthorpin
    • CommentTime24 Dec 2019
     
    @ilmenit - to jakie MemLo ma BW DOS?
    • 5:
       
      CommentAuthorDracon
    • CommentTime24 Dec 2019
     
    Memlo poniżej 2 tys.

    ->link<-
    • 6: CommentAuthorpin
    • CommentTime24 Dec 2019
     
    Teraz sprawdziłem i BW-DOSem bez problemu da się zainicjować partycję HDD, 16MB sektor 256B.
    • 7: CommentAuthorilmenit
    • CommentTime24 Dec 2019
     
    To jeszcze poproszę o finalny test, czy wszystko działa (przejdą wszystkie testy) z TEST.ATR w załączniku :)
    W zależności od tego nie będę potem przyjmował zastrzeżeń, że nie bangla na przykład na KMK/JŻ IDE czy SupraDrive ;)
    • 8:
       
      CommentAuthorKaz
    • CommentTime24 Dec 2019
     
    Zaraz sprawdzę na swoich kompach.
    • 9: CommentAuthorpin
    • CommentTime24 Dec 2019
     
    tu raczej potrzebny jest test na urządzeniach równoległych a nie sio.

    Ilmenit - sprawdzę dziś wieczorem / w nocy.
    • 10: CommentAuthorpin
    • CommentTime24 Dec 2019 zmieniony
     
    ATR zbootowany z IDE Plus (NewDev) - wszystko ok, tzn - "ALL TESTS PASSED PROPERLY"

    ale:

    Coś jest nie tak po zmianie OS'a na DracOS, tzn test "w połowie" się wysypuje przy tym konkretnym OS'ie, oczywiście sam procek i częstotliwość taktowania niczego tu nie zmienia. Poszukam QMEG'a i zfleszuje go do U1MB tak z ciekawości choć, jaki związek może mieć OS z funkcją seek. Np. na XL OS i 6502c/65c816 wszystko gra.

    ATR tak samo musi poprawnie zbootować z tandemu SIDEx+U1MB, oraz na 100% odpali z Karin Maxi Drive.

    Ostatni test polegał na skopiowaniu plików z ATR z BW-DOS na dysk twardy i uruchomienie tego (z podkatalogu, dysk E:) na aktualnej wersji Sparta DOS X (4.49d, 14-09-2017) z wynikiem: "ALL TESTS PASSED PROPERLY"
    • 11: CommentAuthorpin
    • CommentTime24 Dec 2019
     
    dofleszowałem do U1MB Qmeg'a i po tym osem jest ok. Domniemam, iż jest jakiś babol w DracOS - zgłoszę więc autorowi, i moim zdaniem taki "dysk" odpali na przysłowiowym grzebieniu, więc ogień ;)
    • 12: CommentAuthor0xF
    • CommentTime25 Dec 2019
     
    Nie rozumiem, dlaczego ma to być jeden większy plik, zamiast wiele mniejszych?
    • 13: CommentAuthorilmenit
    • CommentTime25 Dec 2019 zmieniony
     
    @0xF:
    To tez opcja, ale jeden plik jest z kilku powodów wygodniejszy:
    - Gra ma ponad 64 poziomy a wiele DOSów ma limit 64 plików.
    - Łatwość dystrybucji jednego pliku z zestawem poziomów, też pomiędzy różnymi platformami i edytorem.
    - Łatwość przerzucenia do RAMu lub ROMu i używanie jednego pliku jako tablicy.

    @Pin:
    Dzięki za testy!
    • 14: CommentAuthorxxl
    • CommentTime25 Dec 2019
     
    taki eksperyment:
    zamiast trzymac w pamieci dos oraz bufory dla numerow sektorow pliku pod note/point piszesz funkcje czytajaca sektor (jest w OS).

    Zalety:
    - wiecej ram,
    - pobieranie danch z dysku wedlug wzoru obliczeniowego,
    - wiecej miejsca na dysku dla samych danch (nie mam FSa)
    - wszystko w jednym "pliku" - atr
    - dziala na wszystkich urzadzeniach
    - latwo przeniesc na carta
    - rozwojowe... gdybs chcial takze OS wylaczyc na stale...

    Wady:
    - fala hejtu ze strony moze ze trzech osob.
    • 15: CommentAuthorilmenit
    • CommentTime25 Dec 2019
     
    @xxl - to już bym użył XBIOSa raczej :)
    • 16: CommentAuthortebe
    • CommentTime25 Dec 2019
     
    w obliczu nowej funkcjonalności, łatwej konwersji do CAR-ta XBIOS jest poważnym kandydatem :)
    • 17: CommentAuthorpin
    • CommentTime25 Dec 2019 zmieniony
     
    @Ilmenit - ostrożnie, to tutaj użytkownicy zgłaszają wiele problemów :), choć ten patent z CAR może być dobry.
    • 18:
       
      CommentAuthorKaz
    • CommentTime25 Dec 2019
     
    Ilmenit - testowałem na SDrive Max v1.1b - plik ATR działa poprawnie, wszystkie testy zdane. To samo oczywiście z SIO2SD.
    • 19: CommentAuthorilmenit
    • CommentTime25 Dec 2019
     
    Dzięki, Kaz :)