<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Tue, 18 Apr 2006 00:54:04 +0100
From   : "David Harper" <dl.harper@...>
Subject: Re: CPFS and MOVE

Ian Wolstenholme wrote:


> I just tried again, even with:
>
> *CPFS
> *MOVE -ADFS-DOSBOOT  DOSBOOT
>
> still gave "Record then return".

MOS clearly thinks that CPFS has an FS ID of 1 or 2. Could your copy of CPFS 
be in a ROM slot that has been formerly used for a different ROM? On the 
Master there are 16 bytes in the CMOS for SW-ROMS at CMOS locations 30 to 
45 - one for each slot. CPFS stores its FS ID number in its own CMOS byte 
(and if this is 0, it defaults to 5). If  you have formerly had another 
program in that slot then that could have set this byte to 1 or 2, and then 
CPFS might be interpreting this incorrectly as its own FS ID.

> I remember reading about setting the filing system number last time
> I had the manual to hand but *OPT 7 is giving Bad command at the
> moment.

That has to be an MOS problem. *OPT is interpreted by the MOS, and only 
there can it give "Bad Command". The MOS should pass the *OPT values to the 
filing system using the FSC Vector (&21E), the the filing system may give a 
"Bad option" error to out-of-range values.

If you are getting a "Bad option" error from *OPT7, then the option is not 
getting to CPFS at all, and that means the FSC Vector has not been set up 
properly. Again this might be because CPFS cannot start properly, again 
because the ID number is wrong.

Try zeroing the appropriate CMOS byte (*FX162,<30+n>,0 where n is the SW-ROM 
slot number containing CPFS)

> I wish I'd known about *TRANSFER earlier, that could have been the
> answer.  It took me an hour and a half this morning to transfer a 37K
> file from PC to BBC!  In the end I had to dig out the retired cheese
> wedge (see previous post) to have enough RAM to do it!

If *MOVE will not work, then *TRANSFER will not either. They both work in 
the same way - the filing systems are selected as required using the 
equivalent of *FX143,18 mentioned above. (For *MOVE the MOS is in control; 
with *TRANSFER the controlling code is in the CPFS ROM, but the general 
method is the same.)

David Harper 
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>