Code: Alles auswählen
ldx #kanal*16 ; Kanalnr. * 16 in X-Register setzen
lda #3
sta iccmd,x ; CIO-Kommando 3 = Open
lda <fname
sta icadr,x ; icadr muss auf fname ziegen
lda >fname
sta icadr+1,x
lda #8 ; AUX1=4 für Open read (8 für write, 12 für update)
sta icaux,x
jsr ciov ; CIO aufrufen
bmi error ; Returncode prüfen (steht in Y und icsta)
rts
error
sty 712 ;Fehler auch "sehen können"
jmp *
Code: Alles auswählen
fname .byte "D1:SCORES",eol ;filename to operate with
Muss man doch mehr machen um eine Datei zum Schreiben zu öffnen als nur die #4 nach #8 zu ändern vor sta icaux,x?
Ach so, auch das Öffnen eines 2. Kanals zum Schreiben hat nichts gebracht, auch nicht, gleich am Anfang mal statt zum Lesen, zum Schreiben zu öffnen - immer ERROR 130. Anfangs dachte ich der Dateiname wäre schuld, da ich nur D: dort stehen hatte, D1: bringt aber auch nichts.
Edit: Ach so, kanal ist natürlich definiert (=1), genauso, wie alle Systemadressen.