Hallo zusammen,
ich habe mir aus der Codebase64 folgendes Schnipsel gezogen, um ein File nachzuladen:
Code
load
sei
lda #$37 ;Turn kernal on
sta $01
jsr $ff81 ;Warm reset
lda #$00 ;Black border + background
sta $d020
sta $d021
;Accumulate IRQ for flashing border routine
lda #<flashload
ldx #>flashload
sta $0328
stx $0329
cli
lda #$08
ldx $ba ;Read from current disk drive present (Always use this instead of ldx #$08)
tay
jsr $ffba ;Is device present?
lda #$04 ;File length
ldx #<loadname
ldy #>loadname ;Set the load name
jsr $ffbd ;Disk drive searches/loads the loadname
lda #$00
jsr $ffd5
ldx #$08
jsr $ffc3
jsr $ffcc
jsr $ff81
jsr $a659 ;BASIC RUN start
jmp $a7ae
flashload inc $d020
dec $d020
jmp $f6fe
loadname !text"test"
Alles anzeigen
Nachgeladen und direkt gestartet werden soll also ein Programm "test", welches sich im D64 Image befindet.
Was allerdings passiert: das aufrufende Programm wird immer wieder aufgerufen (bzw immer wieder geladen, genau habe ich das noch nicht verstanden).
Hab ich irgendwas offensichtliches übersehen?