<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
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. */
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>