Temat: Jak korzystac z $e459?
Ponizsza procedura odczytywac ma katalog dysku, korzystajac z systemowych procedur umozliwiajacych odczyt pojedynczych sektorow dysku.
Dziala, ale tylko na emulatorze z wlaczonym patchem na SIO. Z wylaczonym - nie (a konkretnie odczytuje tylko pierwszy z sektorow). Wnosze stad, ze na prawdziwiej atarce rowniez.
Obsluga wektora $e459 polega tutaj jedynie na ustawieniu bajtow z obszaru $300-$30b, czy to za malo?
Podaje pelny kod problematycznej procedury do latwiejszej analizy oraz postac wykonywalna. (Zawartosc directory lokuje sie od adresu $3000).
lda #1
sta $301
lda #'S'
sta $302
jsr $e453
lda $2ea
and #$20
asl @
asl @
eor #$80
sta $308
eor #$80
asl @
rol @
sta $309
lda <dir
sta $304
lda >dir
sta $305
lda #'R'
sta $302
lda #$40
sta $303
lda #$31
sta $300
lda #8
sta $ff
lda #1
sta $30b
lda #$69
sta $30a
loop jsr $e459
lda $304
clc
adc #$80
sta $304
bcc *+5
inc $305
inc $30a
dec $ff
bne loop
beq *