Files
open-roms/c64/basic/wedge/wedge_tape.s
T

67 lines
1.0 KiB
ArmAsm

// #LAYOUT# STD * #TAKE
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
#if CONFIG_TAPE_WEDGE
// .X has to contain size of the buffer
wedge_tape:
lda #$FF
sta CURLIN+1 // in case of error do not print line number
cpx #$02
bne_16 do_SYNTAX_error
lda BUF+1
cmp #$4C // 'L'
beq wedge_arrow_L
#if CONFIG_TAPE_HEAD_ALIGN
cmp #$48 // 'H'
beq wedge_arrow_H
#endif
jmp do_SYNTAX_error
wedge_arrow_L:
// Execute 'arrow + L'
lda #$00
sta FNLEN // default file name is empty
sta VERCKB // operation is LOAD, not VERIFY
ldy #$01
#if CONFIG_TAPE_TURBO
ldx #$07 // turbo tape device
#else
ldx #$01 // normal tape device
#endif
jsr JSETFLS
// Perform loading
jmp cmd_load_got_params
#if CONFIG_TAPE_HEAD_ALIGN
wedge_arrow_H:
jsr tape_head_align
jsr print_return
jmp do_BREAK_error
#endif
#endif // CONFIG_TAPE_WEDGE