Directory Loader for Commodore C16 and Plus/4 ....
Suche
Index
FAQ
Kontakt
Zurück
!to"p4dir.prg",cbm
;---------------------------------------------------------
; Directory Loader for Commodore C16 and Plus/4
;
; (/) 23.3.2017
;---------------------------------------------------------
FNLEN =  $00A8       ; Length of current file name
LA    =  $00AC       ; Current logical fiie number
SA    =  $00AD       ; Current secondary address
FA    =  $00AE       ; Current device number
FNADR =  $00AF       ; Pointer: current file name
STATUS=  $90         ; Status Byte
;---------------------------------------------------------
*= $1000
!byte $00,$0b,$10,$0a,$00,$9e,$34,$31,$30,$39,$00,$00,$00
*=$100d
        lda #"$"     ; filename $
        sta $d0      ; save
        lda #$d0     ; adress lo byte
        sta FNADR
        lda #$00     ; high byte
        sta FNADR+1
        lda #$01     ; length
        sta FNLEN
        lda #$08     ; drive id
        sta FA
        lda #$60     ; sec. address
        sta SA        
        jsr $ffc0    ; file open
        lda FA
        jsr $ffb4    ; talk
        lda SA
        jsr $ff96    ; send SA after talk
        lda #$00
        sta STATUS
        ldy #$03
--      sty $d0
        jsr $ffa5    ; byte from floppy
        sta $d1
        ldy STATUS
        bne ++       ; check status byte
        jsr $ffa5    ; get byte
        ldy STATUS
        bne ++       ; check status byte
        ldy $d0
        dey
        bne --  
        ldx $d1
        jsr $a45f    ; 16bit number output
        lda #$20     ; space
        jsr $ffd2    ; type space
-       jsr $ffa5    ; get next byte
        ldx STATUS   ; status 
        bne ++   
        tax          ; test byte
        beq +        ; zero ? go to cr
        jsr $ffd2    ; else type again
        jmp -        ; get next 
+       lda #$0d     ; cr
        jsr $ffd2    ; type
        ldy #$02     ; 2 byte block-counter
        bne --       ; next line
++      jsr $ffc3    ; close    
        rts

 

Letzte Änderung: 2019-01-03 11:15:18
  Rubrik:  C16
Rubriken-Übersicht
 100 Besucher online 

Valid XHTML 1.0 Transitional Valid CSS!