Date : Sun, 08 Oct 2006 10:29:48
From : jgh@... (Jonathan Graham Harston)
Subject: Re: Compressed ROMFS?
Greg Cook <debounce@...> wrote:
> Silly me, &C0..F are taken by the CFS part of ROMFS. Does
&C0-&CF are "current filing system private workspace". If you knew
which locations RFS/CFS used, there might be some spare. You could
look through the disassembly at http://mdfs.net/Docs/Comp/BBC/OS1-20
> anything use &3BD?
Looking at your code it looks like you only want 8 bytes of
memory. &039F-&03A6 within the RFS/CFS workspace are unused.
It looks like you only need two zero page locations, for (stk+1,X).
I recommend you stack two filing system workspace bytes on entry
to your code, copy stk there, and restore them on exit, ie:
.bget LDA &C0:PHA
LDA &C1:PHA
LDA stk:STA &C0
LDA stk+1:STA &C1
...do code...
PLA:STA &C1
PLA:STA &C0
LDA #0:RTS
Also, I'd recommend a consistant ROM version string, viz:
.title :EQUS "Compressed ROMFS":EQUB 0
EQUS "0.12 (05 Oct 2006)"
.copyr :EQUB 0
EQUS "(C)2006 G.Cook":EQUB 0
ie, a version string of "n<dot>nn<spc>(nn<spc>Mmm<spc>nnnn)"
and a copyright string of "(C)nnnn<spc><anything else>".
--
J.G.Harston - jgh@... - mdfs.net/User/JGH
/* Real programmers don't use comments. */