atarionline.pl Zapis na dysk przez CIO - wymagania wstępne - 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.  
    Cześć,
    Robię sobie w gierce zapis stanu na dyskietce. Pojawił mi się problem taki, że przy próbie otwarcia pliku robię "jsr CIOV", które już nigdy nie wraca...

    Procedurki mam sprawdzone, więc to raczej nie ich problem.

    Natomiast ten zapis wywoływany jest w arbitralnym momencie, tzn. na ekranie jest grafika z DLI, leci sobie muzyczka z RMT, VBI ma swoją procedurę obsługi. Podejrzewam, że na tym polu występuje jakaś zła interferencja, ale pierwsze eksperymenty (tzw. na pałę) nie przyniosły sukcesu.

    Dlatego zapytuję, jak przygotować Atari OS do zapisu na dyskietce, które przerwania wyłączyć, a które włączyć, na co tam jeszcze zwrócić uwagę, itp., itd.
  2.  
    No dobra, wygląda na to, że gierka nadpisuje sobie kawałek DOSa tuż przed $2000 gdzie jest jakiś "ważny kod do obsługi dyskietek".

    Ze wstępnych experymentów wynika, że z LiteDOS będzie dobrze śmigać.
    • 3: CommentAuthormono
    • CommentTime5 Jun 2022
     
    VBLKI (czyli natychmiastowe VBLK) obsługuje zegar od timeoutu SIO więc nie wolno go wyłączać - pewnie dlatego procedura CIO nie wraca. Przerwania powinny być odblokowane i CPU nie może mieć ustawionego I.
    Własne procedury VBLK ustaw sobie przez SETVBLV ($E45C) na opóźnionym VBLKD (7) i na końcu skocz (JMP) do procedury, która była wcześniej - tam będzie procedura OS-a która przepisuje cienie do rejestrów hardwarowych.
  3.  
    Wielce Szanowny Panie Mono,

    "CPU nie może mieć ustawionego I" - brakowało mi dokładnie tego ostatniego puzzla! Teraz wszystko śmiga :)

    Szacunek dla Ciebie!
    • 5: CommentAuthormono
    • CommentTime6 Jun 2022
     
    "Głęboko uważany panie Moniuszko..."
    :) Nie ma za co.