Tape load and save functions for the Oric Atmos. By Stefan Haubenthal.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5660 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
uz
2012-05-28 11:11:39 +00:00
parent 47c87eb335
commit 293c279416
7 changed files with 155 additions and 2 deletions

View File

@@ -45,6 +45,8 @@ CFLAGS = -Osir -g -T -t $(SYS) --forget-inc-paths -I . -I ../../include
# Object files
OBJS = _scrsize.o \
atmos_load.o \
atmos_save.o \
cclear.o \
cgetc.o \
chline.o \
@@ -63,6 +65,7 @@ OBJS = _scrsize.o \
oserrlist.o \
oserror.o \
revers.o \
store_filename.o\
systime.o \
sysuname.o \
tgi_colors.o \

25
libsrc/atmos/atmos_load.s Normal file
View File

@@ -0,0 +1,25 @@
; Stefan Haubenthal, 2012-05-06
; based on code by Twilighte
; void __fastcall__ atmos_load(const char* name);
.export _atmos_load
.import store_filename
.proc _atmos_load
sei
jsr store_filename
ldx #$00
stx $02ad
stx $02ae
stx $025a
stx $025b
jsr cload_bit
cli
rts
cload_bit:
pha
jmp $e874
.endproc

28
libsrc/atmos/atmos_save.s Normal file
View File

@@ -0,0 +1,28 @@
; Stefan Haubenthal, 2012-05-06
; based on code by Twilighte
; void __fastcall__ atmos_save(const char* name, const void* start, const void* end);
.export _atmos_save
.import popax, store_filename
.proc _atmos_save
sei
sta $02ab ; file end lo
stx $02ac ; file end hi
jsr popax
sta $02a9 ; file start lo
stx $02aa ; file start hi
jsr popax
jsr store_filename
lda #00
sta $02ad
jsr csave_bit
cli
rts
csave_bit:
php
jmp $e92c
.endproc

View File

@@ -0,0 +1,12 @@
.export store_filename
.importzp ptr1
store_filename:
sta ptr1
stx ptr1+1
ldy #$0f ;store filename
: lda (ptr1),y
sta $027f,y
dey
bpl :-
rts