1 Ostatnio edytowany przez tebe (2020-04-12 11:21:46)

https://github.com/pfusik/numen/blob/master/dos.asx

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

https://www.horus.com/~hias/atari/#tools-win32

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

Post's attachments

xDos.7z 14.96 kb, liczba pobrań: 8 (od 2020-04-12) 

Tylko zalogowani mogą pobierać załączniki.
*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

2

a tu xBOOT w wersji DOS. Jakie roznice:

- instaluje urządzenie D: jak każdy inny DOS Atari

tak


- przy starcie wczytuje plik uruchamialny o nazwie AUTORUN

tak


- obsługuje standardowy system plików DOS 2

moj obsluguje wszystkie mutacje formatu DOS rowniez MyDOS itd.


- obsługiwany rozmiar sektora (128 lub 256 bajtów) jest ustalany na etapie kompilacji xDOSa

moj obsluguje obydwa rozmiary od razu, nie potrzeba kompilacji


- xDOS umożliwia odczyt pliku przez D:

tak


- jednocześnie można czytać tylko jeden plik, ale może on być dowolnej długości

tak


- xDOS umożliwia nadpisanie istniejącego pliku mieszczącego się w jednym sektorze

nie, nie ma zapisu.


- inne operacje, jak odczyt katalogu, kasowanie, zmiana nazwy itd. nie są obsługiwane

tak


- xDOS mieści się w całości w sektorach odczytu wstępnego (boot sectors)

tak


- xDOS nie ustawia MEMLO, ale zajmuje tylko obszar pamięci $0700..$097F

moj zajmuje $480-$6ff (razem z buforem) pamiec od $700 wolna


- xDOS nie wyłącza ROM-u podczas transmisji

tak

Post's attachments

xBootDOS.obx 384 b, liczba pobrań: 4 (od 2020-04-12) 

Tylko zalogowani mogą pobierać załączniki.
http://atari.pl/hsc/ad.php?i=1.

3

przykład działania xBootDOS-a (ten sam program przykładowy jak dla xDOS-a)

program który działa z xDOS-em i każdym DOS-em, nie działa z xBootDOS-em

Post's attachments

example_xBootDOS.zip 12.4 kb, liczba pobrań: 3 (od 2020-04-13) 

Tylko zalogowani mogą pobierać załączniki.
*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

4

to prawda. Program usera (ten drugi obrazek) nadpisuje DOSa ($480) - cena niskiego memlo.

http://atari.pl/hsc/ad.php?i=1.

5 Ostatnio edytowany przez tebe (2020-04-13 00:40:57)

DOS-y charakteryzuje adres $0700, co wykorzystuje wiele programów napisanych w przeszłości

pod adresem $0480 często umieszczane były dekompresory, strona 6, $0600..$06FF uznawana jest za wolną, często wykorzystywana przez użytkowników aby umieścić tam krótki program np. inicjalizacji danych albo wstawkę kodu maszynowego dla BASIC-a

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

6

moze racja... trzeba go bedzie podniesc wyzej...

http://atari.pl/hsc/ad.php?i=1.

7 Ostatnio edytowany przez xxl (2020-04-15 16:46:32)

racja.

teraz jest od $700 - $93B

http://atari.pl/hsc/ad.php?i=1.

8 Ostatnio edytowany przez tebe (2020-04-13 01:08:07)

gratuluję :) teraz działa

Post's attachments

example_xBootDos_2.zip 12.38 kb, liczba pobrań: 3 (od 2020-04-13) 

Tylko zalogowani mogą pobierać załączniki.
*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

9 Ostatnio edytowany przez tebe (2020-04-15 14:06:18)

kolejny przykład, 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ę

Post's attachments

xdos_vbxe.7z 23.99 kb, liczba pobrań: 1 (od 2020-04-15) 

Tylko zalogowani mogą pobierać załączniki.
*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

10 Ostatnio edytowany przez xxl (2020-04-15 14:20:55)

no ale skoro ani xDOS ni xBootDOS nie ustawiaja memlo a jak mowisz ze na xDOS dziala to nie o memlo chodzi.


a jaki ma byc efekt bo widze ze pod xDOS i xBootDOS dziala tak samo.

http://atari.pl/hsc/ad.php?i=1.

11 Ostatnio edytowany przez tebe (2020-04-15 15:25:29)

załączony przykład zaincjowany jest xDOS-em, aby przejść na xBootDos-a trzeba uruchomić 'makedisk_xboot.bat' i wtedy uruchomić 'example.atr'

oczywiście musi być aktywne VBXE aby zobaczyć właściwy efekt

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

12 Ostatnio edytowany przez xxl (2020-04-16 11:21:38)

no dobrze... musialem troche skrocic xBOOTDosa ...

- ustawia memlo na $937     (poprzednio $93B)

bedzie Ci dzialal.

Post's attachments

xBOOTDos.obx 384 b, liczba pobrań: 1 (od 2020-04-15) 

xBOOT_Initializer(DOS).xex 915 b, nikt jeszcze nie pobierał tego pliku. 

Tylko zalogowani mogą pobierać załączniki.
http://atari.pl/hsc/ad.php?i=1.

13

czyli xBootDOS mieszał wcześniej z MEMLO, nowa wersja działa

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

14

wlasciwie to moznaby dodac jakas operacje specjana do tego DOSa... moze uruchamianie plikow binarnych? (BINARY LOAD)? DOS 2.5 tego nie ma ale MyDOS juz tak.

http://atari.pl/hsc/ad.php?i=1.

15

BIN LOAD&RUN, XIO 40 owszem :) przydatne

https://atariwiki.org/wiki/Wiki.jsp?pag … %20Handler

dlaczego tutaj brak opisu xBootDOS-a ?

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

16

no i sie wykluło (jeszcze nizsze MEMLO)

http://www.atari.org.pl/forum/viewtopic.php?id=16667

http://atari.pl/hsc/ad.php?i=1.

17

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

Post's attachments

xDos.7z 3.48 kb, liczba pobrań: 4 (od 2020-05-21) 

Tylko zalogowani mogą pobierać załączniki.
*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

18 Ostatnio edytowany przez tebe (2020-05-24 14:16:51)

kolejna wersja, tym razem kod bardziej skomplikowany zależny mocno od umiejscowienia w pamięci dzięki czemu można było oszczędzić bajty pamięci i dodać obsługę BLOAD (XIO #40)

DISK_BLOAD.ATR, naciskamy klawisz, uruchamia się interko, wychodzimy naciskając START, wracamy do MP (MadPascal)

Post's attachments

disk_bload.atr 179.64 kb, liczba pobrań: 4 (od 2020-05-24) 

disk_mpt.atr 179.64 kb, liczba pobrań: 5 (od 2020-05-24) 

disk_slideshow.atr 179.64 kb, liczba pobrań: 4 (od 2020-05-24) 

disk_vbxe.atr 179.64 kb, liczba pobrań: 5 (od 2020-05-24) 

foxDos_BLoad.7z 3.86 kb, liczba pobrań: 4 (od 2020-05-24) 

Tylko zalogowani mogą pobierać załączniki.
*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C