Die Sekundäradresse muss mit #$60 geORt werden. Probier mal in Zeile 30 lda#$60
Danke. Hat geklappt. Jetzt funktioniert es mit und ohne JiffyDOS.
Kannst Du auch erklären, warum das so ist? Und warum nur bei JiffyDOS?
Die Sekundäradresse muss mit #$60 geORt werden. Probier mal in Zeile 30 lda#$60
Danke. Hat geklappt. Jetzt funktioniert es mit und ohne JiffyDOS.
Kannst Du auch erklären, warum das so ist? Und warum nur bei JiffyDOS?
Ich habe das Problem, daß ich in meinen Programmen seit eh und je diese Directory-Routine verwende. Sie läuft auch mit etlichen KERNALs, außer eben mit JiffyDOS nicht. Ich bin leider bisher nicht dahinter gekommen, was da falsch läuft, aber angesichts der Bedeutung die JiffyDOS dank der aktuellen Massenspeicherlösungen mittlerweile hat, würde ich das Problem gerne beheben. Ich bitte zu entschuldigen, daß da nichts kommentiert ist, aber ich hab das ursprünglich mal vor Ewigkeiten im Action Replay-Monitor eingegeben. Wenn das mal jemand analysieren möchte. Hier ist der Code:
LINPRT := $BDCD
TKSA := $FF96
ACPTR := $FFA5
TALK := $FFB4
SETLFS := $FFBA
SETNAM := $FFBD
OPEN := $FFC0
CLOSE := $FFC3
CHKIN := $FFC6
CLRCHN := $FFCC
CHRIN := $FFCF
CHROUT := $FFD2
.byte $01,$08
.org $0801
.byte $0b,$08,$00,$00,$9e,$32,$30 ;0 sys2061
.byte $36,$31,$00,$00,$00
lda #$08
ldx $BA
ldy #$00
jsr SETLFS
lda #$01
ldx #<directory_filename
ldy #>directory_filename
jsr SETNAM
jsr OPEN
lda #$08
jsr TALK
lda #$00
jsr TKSA
jsr ACPTR
jsr ACPTR
jmp L03
L01:
jsr ACPTR
sta $FB
jsr ACPTR
ldx $FB
jsr LINPRT
lda #$20
jsr CHROUT
L02:
jsr ACPTR
beq L03
jsr CHROUT
clc
bcc L02
L03:
lda #$0d
jsr CHROUT
jsr ACPTR
jsr ACPTR
lda $90
beq L01
rts
L04:
jsr CHRIN
jsr CHROUT
cmp #$0D
bne L04
lda #$08
jsr CLRCHN
lda #$08
jmp CLOSE
directory_filename:
.byte $24 ;'$'
Alles anzeigen