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).
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.
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: ;)
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 ;)
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"
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ń ;)
@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.
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...