<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Sun, 21 Mar 2010 21:46:20 +0000
From   : mfirth@... (Michael Firth)
Subject: DCBeeb.. like MMBeeb but for DataCentre

Kieran Mockford wrote:
>> Humm wonder if it would be possible to get it to run off an ADFS volume
>> (such as the RetroClinic CF interface), asuming of course that you had
>> an ADFS that let page be &E00.
>>     
>
> It wouldn't be too much of a stretch to have one directory per DSD and a 
> sub-directory of that one per side (one for each side to avoid name 
> conflicts between sides), and have the menu *CDIR to the appropriate 
> directory and then run the game.
>
> I'll put that on my TODO list too.
>
> For DC, I have it fully working from RAM Drive 5 now, so all that's needed 
> on anything other than the USB is an appropriate !BOOT to EXEC.
>
> ..Kieran
>
>   
You'll find that many games won't work if you do that. Most DFS based 
games I've come across do things that are illegal on ADFS, even assuming 
that the disk is formatted as a plain DFS disk (rather than a DFS 
header, with the rest in a proprietary format that's read with OSWORD &7F)

One very common gotcha is doing *DIR X, *LOAD / *RUN /something, /then 
*DIR Y, *LOAD / *RUN /something-else/. This works fine on DFS, but on 
ADFS it won't work, unless you replicate the DFS folders into the 
correct hierarchy. You'll also hit issues any time any game does a "*DIR 
$" or "*DIR :0", as that will take you out of the heirarchy you've set 
up for the game to run from.

I have managed to get Elite to run on ADFS by replicating the files it 
was looking for when it errors out on loading, but you need to have at 
least 3 copies of all the files on the ADFS volume (I'm not sure if all 
are used, it seemed easier to allow for all the options), commanders end 
up stored in $.E, and the "Catalogue" menu option won't work. Given that 
the typical ADFS CF capacity is beyond what all BBC software in 
existence would take, replicating the files in this way is wasteful, but 
unlikely to really be a problem.

One thing I've always thought would be useful to do, but haven't yet 
investigated, is to make an "image DFS", that uses a file on another 
filing system as the disk, rather than a physical disk. For ADFS, I 
think it shouldn't be too hard to do - you would need to find 4 bytes of 
workspace to use to hold the "sector offset", and then replace all the 
sector load/save stuff with appropriate calls to OSWORD &72, adding in 
the stored "sector offset" each time. I guess two complications would be 
the handling of "DSD" files, where some maths would be needed to work 
out which sector to load for which track on which drive, and being able 
to support "short" disk images in anything other than a read only mode.

If you have a DataCentre, then it is already possible (if you write the 
utilities) to load a disk image off an existing file system and run 
that, but the problem is that access to ADFS is slower than the 
DataCentre's native USB access, so there isn't really any benefit, 
beyond being able to have all your data in one place (which presents its 
own problems and risks anyway)

Regards

Michael
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>