atarionline.pl Ładowanie DOSa NIE z dyskietki. - 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:
         
        CommentAuthorgienekp
      • CommentTime22 Aug 2022 12:08
       
      Czy ktoś spotkał się z wersją DOSa np. DOS II+/D, który byłby w formie XEX/COM/BIN albo jakiegoś pliku/formatu, żeby go załadować nie z dyskietki ale z innego źródła do RAM?

      W czym problem, mam plik XEX np. z jakimś programem co używa "D:" itp. Wgrany do pamięci przez cartridge jest bezużyteczny, bo nie ma DOSu. Czyli jak coś zrobimy to nie da się zapisać na SIO. Próbowałem sam DOS przerobić na coś ala XEX ale mi to nie poszło. Pierwsze bloku DOSu wczytuje system i to jest OK. Ale kolejne doczytuje sam DOS i tutaj coś się miesza...

      Próbowałem też zrzucić obszar pamięci z DOSem tak na żywca z emulatora do pliku a potem go z CARTa odtworzyć. I tak sobie to działa, tzn po wgraniu "stanu" muszę zrobić programowy RESET, żeby się tam poodświeżało wszystko. No ale wtedy docelowy program już nie wystartuje. Co prawda można go wsadzić w RAM i poustawiać wektory i wtedy ręcznie RUN uruchomia, ale to wciąż metoda na około.

      Więc docelowo to poszukuję metody, że mam XEX programu, dolepiam mu "jakoś" DOS. I taki NOWY XEX po włączeniu ładowany jest np. z CARTa. Może ktoś się z czymś takim spotkał?
      • 2: CommentAuthortebe
      • CommentTime22 Aug 2022 12:08
       
      XBIOS, XXL tak przerabia XEX-y na CAR-y
      • 3:
         
        CommentAuthorPecus
      • CommentTime22 Aug 2022 13:08
       
      Xbios? - nie bluźnij!
      • 4:
         
        CommentAuthorjhusak
      • CommentTime22 Aug 2022 14:08 zmieniony
       
      Ja przerobiłem 384-byte dos by 0xf. Czyta, pisze, bangla, tylko, że nie jest już takim "plikiem dos" - ładuje się z kartridża i go nie widać, a pliki zapisywalne mogą być tylko konkretne (nazwa) i o konkretnej maksymalnej długości.

      Ale rozumiem, że byś chciał na dyskietkę zapisywać.
      • 5:
         
        CommentAuthorgienekp
      • CommentTime22 Aug 2022 16:08
       
      @jhusak

      tak, żeby zwykłe dyskietki leciały.

      Docelowo włączmy sobie carta, system startuje "kopiuje cudownie" DOS, podkładam się np. pod D5: i wszystko co jest D5 to jest cartridge ale D1,D2,D3,D4 to już normalna sprawa przez SIO. No i bez DOSa to raczej nie dam sobie rady. A robić nowego DOSa co umie takie numery to za trudne.

      Wiem już, że DOS II+/D jak się wczyta to spokojnie urządzenie "D:" jest i samego DOSa ze stacją nie potrzeba.

      Zobaczę tego XBIOSa, może jakiś pomysł się wykluje.
      • 6: CommentAuthordss
      • CommentTime22 Aug 2022 17:08
       
      Zdaje się, że są upublicznione źródła MyDOS-a. Może dałoby się powycinać fragmenty dotyczące handlera D: z niego i skompilować do XEX-a.
    1.  
      The new SIDE3 Loader beta has the D: handler built in, available to every XEX launched from the FAT partition. Read, write, create directories, access 64GB of space... no problem. ;)
      • 8:
         
        CommentAuthorjhusak
      • CommentTime22 Aug 2022 18:08
       
      To zrób tak. Zrzuć pamięć na bieżąco po zbootowaniu do READY lub SELF TEST. Następnie zbootuj dosa i zrób to samo. Różnice = załadowany DOS (mniej więcej). Wyrzuć te rzeczy, co nic wspólnego z tym nie mają (RTC np.) a następnie na chama przerzucaj DOS tak, żeby tak samo to wyglądało. To + jakieś małe szczegóły i już. Możesz też zrobić dosa w execu.

      Też to chciałem kiedyś zrobić :)
      • 9:
         
        CommentAuthorjhusak
      • CommentTime22 Aug 2022 18:08
       
      @flashjazzcat, when will be -not- beta available?
      This is cool feature, I have been missing it for a long time on Sio2SD...
      • 10:
         
        CommentAuthorjhusak
      • CommentTime22 Aug 2022 18:08
       
      Ewentualnie xex z boot powinien być łatwy do zrobienia, trzeba by zaemulować ładowanie dosu. To by się nabardziej udało np. z dosem 6.x Stefana Dorndorfa, bo jest jednoczęściowy.
    2.  
      take this...
      • 12:
         
        CommentAuthorjhusak
      • CommentTime22 Aug 2022 21:08
       
      Have you (or somebody else) made this for this topic or is it widely available?
      • 13:
         
        CommentAuthorgienekp
      • CommentTime22 Aug 2022 22:08 zmieniony
       
      Ewentualnie xex z boot powinien być łatwy do zrobienia, trzeba by zaemulować ładowanie dosu. To by się nabardziej udało np. z dosem 6.x Stefana Dorndorfa, bo jest jednoczęściowy.


      No ten DOS 6 to faktycznie jest jakby w jednym pliku, ale ładuje się na 2 razy. Najpierw 3 bloki przez system a potem jakoś po swojemu kombinuje.

      Dlatego pod emulatorem zrobiłem zrzut pamięci. Potem z obrazu RAM odciąłem wszystko co poniżej $0700 i co powyżej $1B10.
      Dokleiłem FF FF 00 07 0F 1B. Więc wyszedł XEX. Podkleiłem z emulatora zakres $0008 - $ 000D bo tam są statusy i adresy botowania. Następnie zeruje COLDST.

      Na koniec trzeba by gdzieś skoczyć, ale czort wie gdzie. Dałem skok do RESET bo skoro DOS wytrzymuje naciśnięcie resetu to powinien poustawiać co i jak.

      No i niby działa, ale:
      - jak do tego dokleić drugiego XEXa z jakimś programem (zasymulować, że się wczytał)
      - coś BASIC głupieje, jak dam LIST to lecą 0 0 0 0 (...), chyba BASIC nie wie, że od $0700 siedzi DOS, trzeba by większy obraz zrobić

      Ale formatowanie nowego dysku zrobiło i nawet system nagrało. Czyli ten blok dobrze wszedł.
      Na szybkiego konwersja do S-XEGS zaskoczyła.

      Ciekawe czy wersję kasetową udało by się zrobić :)


      Tak sobie teraz pomyślałem, że można by takiego toolsa zrobić, że zamienia stan zatrzymany w emulatorze na obraz CARTa. No bo tak w sumie jakby skopiować całe 64kB ustawić rejestr stosu i potem skoczyć w adres zapauzowany to raczej rzeczywiste ATARI nie połapie się, że było przed chwilą w "matrixie".

      A zapauzować można stan gdzie DOS jest wczytany, program uruchomiony. Byleby nie było w trakcie jakiegoś przerwania bo się będzie cieżko wygrzebać.
    3.  
      Well,

      the XEX-versions of XDOS 2.4 and 2.5 are already on the XDOS masterdisk, think Stefan Dorndorf made them. The XEX-version of HappyDOS 6.1 I simply found somewhere. I would not know how to make XEX versions of any kind of DOS.

      (Besides, there is also an XEX-version of uDOS by Stefan Dorndorf available; uDOS is normally a 3-sector DOS that hides in the bootsectors and has a memlo of $0937; the XEX version can be started from a DOS or gamedos/fileloader/cart/etc.)
    4.  
      A cassette version of such an XEX-DOS should be relatively easy to do. Take one of the hundreds of tape-bootloaders, e.g. COS (cassette operating system), BL/C (binary load cassette) or some other loader and record it onto tape, then record the XEX-DOS onto the same tape (right after the bootloader). Boot the tape with Start or Start+Option and load the bootloader which will then load the XEX-DOS. Not every bootloader will work, but I am sure one of them will do the job.
      • 16:
         
        CommentAuthorKaz
      • CommentTime23 Aug 2022 08:08
       

      gienekp:

      można by takiego toolsa zrobić, że zamienia stan zatrzymany w emulatorze na obraz CARTa


      Można! :)
      • 17:
         
        CommentAuthorKaz
      • CommentTime9 Nov 2022 14:11
       
      Ewentualnie możesz wpisać DOS-a z palca :). Oto Mini-DOS do uruchamiania z Basica:
      • 18:
         
        CommentAuthorPecus
      • CommentTime9 Nov 2022 15:11
       
      @Kaz Tyle, że to jest bardziej DUP niż DOS :)
      DOSa to do tego trzeba mieć już w pamięci.
      • 19: CommentAuthoras...
      • CommentTime9 Nov 2022 16:11
       
      A ładowanie dos-a z romu stacji?
      Przecież to klasyka ;)
    5.  
      Well,
      such a MiniDOS in Basic is nice, but if there is no DOS.SYS any call of "D:" will return an Error 130. So, you cannot use delete, rename, lock, unlock, etc. "D:Filename.Ext" when there is no DOS.SYS on the disk or in the computer (loaded from tape, disk, cart. or other media).
      • 21:
         
        CommentAuthorPeri Noid
      • CommentTime9 Nov 2022 21:11
       
      @as...: Przecież technicznie to to samo co ładowanie z dyskietki.
      • 22:
         
        CommentAuthorgienekp
      • CommentTime9 Nov 2022 21:11 zmieniony
       
      Będę próbował się zmierzyć z zamianą obrazu z emulatora atari800 na obraz CAR (maxflash new).

      Od razu w BOOT carta (skok INIT) bo nie potrzeba prowadzić całego bootu, dlatego plan:
      1. Wyłączam wszystkie przerwania
      2. Kopiuję procedurę "kopiowana danych z carta na pamięć pod cartem"
      3. Kopiuję dane pod cartem
      4. Wracam do carta i kopiuję resztę pamięci
      5. Kopiuję wszystkie rejestry sprzętowe
      6. Odtwarzam wskaźnik stosu i flagi procka tak żeby RTI posprzątało

      I tu dylemat. Jak wyjść z carta? Bo trzeba zrobić "wyłączenie carta" z jednoczesnym JMP do adresu gdzie emulator skończył.

      Jakiś pomysł?
      • 23:
         
        CommentAuthorPecus
      • CommentTime9 Nov 2022 22:11
       
      Zrób tak jak Freezery. Przepisz na stos (pod $100) małą prockę, która wyłącza carta i skacze gdzie trzeba. Bo ta "jednoczesność" o której piszesz nie bardzo ma sens :)
      • 24: CommentAuthoras...
      • CommentTime9 Nov 2022 23:11 zmieniony
       
      @Peri ;
      "poka" że Toms Navigator z romu stacji , ładuje się tak samo jak z dyskietki .
      Z romu stacji to śmiga, z dyskietki .....

      Dla mnie to nie to samo bo szybkość, takiego z romu toms-a, a nawet wgrywanego z dyskietki na tomie z zapiętym ultra speedem plus buforowaniem ...
      • 25:
         
        CommentAuthorPeri Noid
      • CommentTime10 Nov 2022 00:11
       
      Nie chodzi o prędkość tylko o samą technologię ładowania. Prędkość nie ma najmniejszego znaczenia.
      • 26: CommentAuthoras...
      • CommentTime10 Nov 2022 00:11
       
      Prędkość, dla mnie ma znaczenie ;
      oraz pod jakie "d" trafi 'dos'
      • 27: CommentAuthoratariki50
      • CommentTime10 Nov 2022 08:11
       
      Sprawdź to.
      ->link<-
      • 28: CommentAuthoratariki50
      • CommentTime10 Nov 2022 08:11 zmieniony
       
      gienekp.

      Zwróć uwagę na
      DOS AUT
      DOS BAT
      Morze, pomoże ;)
      • 29: CommentAuthorZenon
      • CommentTime10 Nov 2022 08:11
       
      DOS CONTROL, przygotowany do obsługi RAM-CARTa jako wersja plikowa, ładowany z kartridża.
      • 30:
         
        CommentAuthorPeri Noid
      • CommentTime10 Nov 2022 10:11
       
      @as...: Tylko autora pytania zupełnie to nie obchodzi.
      • 31:
         
        CommentAuthorgienekp
      • CommentTime10 Nov 2022 14:11
       
      @Pecus
      TAK! To jest dobre! Skoro znam wskaźnik stosu to minimalnie nad wskaźnikiem stosu dam:
      STA $D580
      RTI

      Wcześniej odłożę na stos status procka i adres powrotu.
      Dzięki temu w samej pamięci nie będzie praktycznie żadnego śladu z "Matrixa". Tylko 3+3 bajty na stosie.

      @atariki50
      @Zenon
      Sprawdzę...

      No bo jak by to poszło to by była procedura alternatywna dla ATR2CAR. Czyli mamy carta z czegoś co kompletnie nie chce być na carcie :)
      • 32:
         
        CommentAuthorjhusak
      • CommentTime10 Nov 2022 17:11
       
      Tak! Tylko że na karcie trzeba poczekać na NMI a dopiero potem skoczyć na stos.
      • 33:
         
        CommentAuthorgienekp
      • CommentTime10 Nov 2022 22:11
       
      Muszę czekać na NMI? Do karta wchodzę przy boot systemu. Więc przerwań nie będzie. Natomiast czy się to odtworzy po RTI to nie wiem. To trzeba sprawdzić :)
      • 34:
         
        CommentAuthorjhusak
      • CommentTime10 Nov 2022 22:11
       
      Może się zdarzyć, że nmi wypadnie po drodze i Ci zamaże stos.
      • 35: CommentAuthoratariki50
      • CommentTime11 Nov 2022 09:11 zmieniony
       
      Dosy do zaladowania z dowolnego zrodla, w tym wypadku C: magnetofon.
      Sprawdzalem na Altirze.
      Ladujesz jak zwykla gra z magnetofonu.
      Uruchamia sie DOS
      Podpinasz dyskietke, polecenie DIR i wszystko dziala.

      Zadziala tez z Microdosem lub innym inicjalizerem. Z dowolnego zrodla.
      Co do podpiecia jakiegos pliku startujacego automatycznie razem z DOS'em to nie ma problemu.
      Kwestia odpowiedniej komendy w lini polecen.



      ->link<-


      ->link<-
      • 36:
         
        CommentAuthorgienekp
      • CommentTime12 Feb 2023 10:02 zmieniony
       
      Czy jest ktoś doświadczony z SDX? Bo utknąłem...

      Generalnie SpartaDOS-X pozwala na autostart dowolnego pliku z carta. Do grzebania w pliku ROM (CAR bez nagłówka) służy SDXImage. I teraz tak. Jeżeli nasz XEX (COM, EXE) jest mniejszy niż 8192-16 bajtów to nie ma problemu. Wkładamy go do obrazu carta, robimy plik AUTOEXEC.BAT i tam wpisujemy nazwę. Po uruchomieniu ATARI startuje SDX, następnie autoexec, który to odpala nasz program, no i finalnie mamy program i w tle dosa. Nawet takiego fajnego co obsługuje i HD i różne formaty. Wszystko z carta, no wręcz ideał...

      No ale jak plik jest większy niż pojemność banku to jest kłopot. Wziąłem na warsztat "Koala Micro Illustrator".
      Plik XEX ma: 16485 bytes i SDXImage go nie wsadzi.
      Plik składa się z bloków:
      Block D: $1FFD - $5FF8 ( 16380 B ) Ptr: 0x0006
      Block D: $1BC8 - $1C08 ( 65 B ) Ptr: 0x4008
      Block D: $527E - $528F ( 18 B ) Ptr: 0x404D
      Block R: $02E0 - $02E1 ( 2 B ) Ptr: 0x4063

      No to napisałem sobie programik ->link<- do dzielenia bloków plików dosowych (XEX) na mniejsze kawałki, tak żeby potem scalić je w kilka plików nie przekraczających wielkość banku. No bo jak coś ładuje się od A do B, to można to podzielić na ładowanie najpierw od A do X a potem od X do B. I wszystko gra.

      Zrobił mi:
      Bank 0: Block D: $1FFD - $3FD6 ( 8154 B ) Ptr: 0x0006
      Bank 1: Block D: $3FD7 - $5FB0 ( 8154 B ) Ptr: 0x1FE0
      Bank 2: Block D: $5FB1 - $5FF8 ( 72 B ) Ptr: 0x3FBA
      Bank 2: Block D: $1BC8 - $1C08 ( 65 B ) Ptr: 0x4008
      Bank 2: Block D: $527E - $528F ( 18 B ) Ptr: 0x404D
      Bank 2: Block R: $02E0 - $02E1 ( 2 B ) Ptr: 0x4063
      Potrzeba 3 banki więc będą trzy pliki.

      Umieściłem pliki za pomocą SDXImage, zrobiłem skrypt KOALA.BAT co to do kupy składa:
      LOAD /L A CAR:KOALA__1.EXE
      LOAD /L A CAR:KOALA__2.EXE
      LOAD /L A CAR:KOALA__3.EXE

      i... cztery litery. Obojętnie czy to z AUTOEXEC.BAT czy z palca -KOALA dostaje jakieś durne: "161 Too many channels open". W instrukcji i na forach to nic konkretnego nie pisze. Jak wklepie ręcznie te LOAD to Koala wstaje, co prawda coś się jeszcze pieprzy (chyba SDX po każdym load robi jakieś czyszczenie wybranych obszarów), ale mniejsza z tym. Nie działa głupi BAT.

      Ma ktoś jakieś doświadczenie jak ogarnąć te pliki BAT?
      • 37: CommentAuthortebe
      • CommentTime12 Feb 2023 10:02
       
      BAT-y w SDX trzeba poprzedzić bodaj małpką @
      • 38:
         
        CommentAuthorgienekp
      • CommentTime12 Feb 2023 11:02
       
      Żeby uruchomić to - (minus). Jak wpisze do BAT np. polecenie DIR to taki BAT działa. Ale jak wpiszę polecenie LOAD to nie działa. Mimo że takie samo polecenie wpisane z palca działa.