From bbc31f67da71559f06348291333e36961d9eb838 Mon Sep 17 00:00:00 2001 From: Christian Groessler Date: Wed, 24 Jul 2013 00:40:09 +0200 Subject: [PATCH 1/3] implement _sysrename for Atari --- libsrc/atari/open.s | 5 +- libsrc/atari/syschdir.s | 7 ++ libsrc/atari/sysmkdir.s | 7 ++ libsrc/atari/sysremove.s | 7 ++ libsrc/atari/sysrename.s | 184 +++++++++++++++++++++++++++++++++++++++ libsrc/atari/sysrmdir.s | 13 ++- libsrc/atari/ucase_fn.s | 18 ++-- 7 files changed, 231 insertions(+), 10 deletions(-) create mode 100644 libsrc/atari/sysrename.s diff --git a/libsrc/atari/open.s b/libsrc/atari/open.s index 306cf52c2..2188257cb 100644 --- a/libsrc/atari/open.s +++ b/libsrc/atari/open.s @@ -91,7 +91,10 @@ cont: ldy #3 jsr ldaxysp .ifdef UCASE_FILENAME - +.ifdef DEFAULT_DEVICE + ldy #$80 + sty tmp2 ; set flag for ucase_fn +.endif jsr ucase_fn bcc ucok1 invret: lda # Date: Wed, 24 Jul 2013 00:44:44 +0200 Subject: [PATCH 2/3] Don't import tmp1, slipped in by mistake in last commit --- libsrc/atari/ucase_fn.s | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libsrc/atari/ucase_fn.s b/libsrc/atari/ucase_fn.s index eb3ebfb37..e53750e29 100644 --- a/libsrc/atari/ucase_fn.s +++ b/libsrc/atari/ucase_fn.s @@ -21,7 +21,7 @@ .include "atari.inc" .ifdef DEFAULT_DEVICE - .importzp tmp2, tmp1 + .importzp tmp2 .import __defdev .endif .importzp tmp3,ptr4,sp From 56588aa26af74680ef8c291dae636e7ee906ab66 Mon Sep 17 00:00:00 2001 From: Christian Groessler Date: Wed, 24 Jul 2013 10:24:47 +0200 Subject: [PATCH 3/3] fix cleanup of stack --- libsrc/atari/sysrename.s | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libsrc/atari/sysrename.s b/libsrc/atari/sysrename.s index d3e430ada..fef18bded 100644 --- a/libsrc/atari/sysrename.s +++ b/libsrc/atari/sysrename.s @@ -164,13 +164,14 @@ copend2:ldx tmp4 clc adc sspc sta sp - bcc L2 - inc sp+1 -L2: pla - tay + lda sp+1 + adc sspc+1 + sta sp+1 ; handle status + pla + tay bmi cioerr lda #0 rts