BINARY SAVE
From Atariki
(Różnice między wersjami)
Wersja z dnia 10:41, 30 sie 2009
Przeznaczenie: Funkcja DOS-u pozwalająca na zapis zawartości pamięci do pliku binarnego DOS-u.
Dostępność: SpartaDOS, Real.DOS (brak w SpartaDOS X i BW-DOS)
Składnia BASIC-a: XIO 41,#iocb,x1,x2,"Dn:filename.ext addr1 addr2"
Kod w asemblerze:
ldx #iocb*16 lda #41 sta iccmd,x lda #<fname sta icbufa,x lda #>fname sta icbufa+1,x lda #x1 sta icax1,x lda #x2 sta icax2,x jsr jciomain
gdzie:
- iocb - numer kanału IOCB z zakresu od 1 do 7. Kanał musi być zamknięty w chwili wywołania.
- n - numer stacji dysków
- x1 - może mieć wartość $08 (utworzenie nowego pliku) lub $09 (dopisanie nowej porcji danych do istniejącego pliku)
- x2 - $00 powoduje zapis sygnatury $FFFF przed nagłówkiem, $80 powoduje wygenerowanie nagłówka bez sygnatury
- addr1 - adres pierwszego bajtu danych do zapisu, podany w postaci cyfr hex (bez poprzedzającego znaku "$")
- addr2 - adres ostatniego bajtu danych do zapisu, podany w postaci jak wyżej.
- fname - adres specyfikacji dysku. Całość ciągu znaków trzeba zakończyć znakiem EOL (ASCII $9B).
Zwracana wartość: Procedura zwraca w rejestrze Y ujemny kod błędu albo wartość $01 w przypadku powodzenia, oraz odpowiednio do tego ustawia znacznik N rejestru znaczników.