Date : Wed, 21 Feb 1996 02:04:59 +0100
From : Robert Schmidt <robert@...>
Subject: Re: Filing systems & Repton problems
>On my friend's P90 it runs at Beeb speed when rendering every frame, and
>about 150-200% of Beeb speed when rendering every other frame.
Congratulations! Sounds swell!
>If anyone is interested in seeing my emulator, I'll be able to send them
>a copy in about a week or two when it's been cleaned up a bit! I shan't
>be releasing it fully until I have a decent filing system working.
Guess what... I'd LOVE to see it.
> 1. Write my own filing system
> 2. Write an 8271 emulation
> 3. Use DOS files as BBC files (With an additional header/catalogue file)
3. is the easiest to program. I wouldn' worry about the DOS cluster size.
Take ideas from Xbeeb. However, when writing my tape decoder program, I ran
into this problem: Not all valid Beeb file names are valid DOS names - not
even valid Win95 names. So I added a column to my output __CATALOG__ giving
a corresponding valid Win95 name (where illegal characters are removed), and
enclosed the file names in quotes (as spaces are very legal).
So the locked file "Hack/Slash<ASCII 13>" could be listed similarly to this:
"Hack/Slash<ASCII 13>" 2000 3000 2000 40 L "Hack~Slash~"
^ Win95 file name with illegal
characters replaced by "~" -
Watch out for duplicate names!
^ Locked
^ First sector (for completeness -
not strictly neccessary in an EFS)
^ Length (unneccessary??)
^ Run address
^ Load address
^ Beeb file name, possibly with lots of nasty characters
...or, as you suggest, you could put all files belonging together in a
larger file. In that case, disk images would be the natural format to
support (even though the file system would look like a tape file system to
the user and Beeb programs). You could expand on the disk image scheme to
allow any number of files on a "disk", and make them auto-compacting, etc.,
or you could use a different format altogether.
An EFS leeching the nuderlying OS (like Xbeeb) *is* the easiest way to go,
though.
Make sure you give meaning to 'CHAIN""'. This doesn't work in Xbeeb. I.e.
maintain a "file system pointer".
>Of these, 1 and 3 will involve new illegal opcodes a la Xbeeb.
Is this really a big issue?
Keep up the great work!
Cheers,
robert