mirror of
https://github.com/cc65/cc65.git
synced 2024-11-15 11:05:56 +00:00
48 lines
1.1 KiB
ArmAsm
48 lines
1.1 KiB
ArmAsm
;
|
|
; Wayne Parham (wayne@parhamdata.com)
|
|
;
|
|
; int loadt (int id);
|
|
; int dumpt (int id, int start_addr, int end_addr);
|
|
;
|
|
|
|
.include "sym1.inc"
|
|
|
|
.import popax, return0, return1
|
|
|
|
.export _loadt, _dumpt
|
|
|
|
.segment "CODE"
|
|
|
|
.proc _loadt: near
|
|
|
|
sta P1L ; Tape record ID to P1L
|
|
ldx #$00
|
|
stx P1H
|
|
ldy #$80
|
|
jsr LOADT ; Read data from tape
|
|
bcs error
|
|
jmp return0 ; Return 0 if sucessful
|
|
error: jmp return1 ; or 1 if not
|
|
|
|
.endproc
|
|
|
|
.proc _dumpt: near
|
|
|
|
sta P3L ; End address
|
|
stx P3H
|
|
jsr popax
|
|
sta P2L ; Start address
|
|
stx P2H
|
|
jsr popax
|
|
sta P1L ; Tape Record ID
|
|
ldx #$00
|
|
stx P1H
|
|
ldy #$80
|
|
jsr DUMPT ; Write data to tape
|
|
bcs error
|
|
jmp return0 ; Return 0 if sucessful
|
|
error: jmp return1 ; or 1 if not
|
|
|
|
.endproc
|
|
|