Date : Tue, 20 Feb 1996 20:36:07 +0000 (GMT)
From : Tom Seddon <T.W.Seddon@...>
Subject: Filing systems & Repton problems
I've now got my BBC emulator working pretty well. By skipping every other
frame I get about 550,000 instructions per second on my 486-80, which is
very slighly slower than a real BBC. It doesn't feel too bad, and Frak!
and Starship Command are now quite playable. All I have to do now is get
Mode 7 and the flashing colours working...
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.
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.
I have two problems:
1. I don't have a filing system. I am going to write one at some point,
but what do people think would be the best method? That is, what format
would give greatest compatibility with other emulators/usefulness/whatever?
As far as I can see I have three options:
1. Write my own filing system
2. Write an 8271 emulation
3. Use DOS files as BBC files (With an additional header/catalogue file)
Of these, 1 and 3 will involve new illegal opcodes a la Xbeeb.
I'm not too happy about 2, since I like having PAGE at &e00, and since I
know very little about the 8271. I'm also not too happy about 3, since
the cluster size on DOS drives will cause problems horrendous wasted
space (since BBC files are so small!). 3 sounds good, storing lots of
files in a larger DOS one, but I'm not sure what the format of the file
should be. DFS image? Something else entirely? If noone's too bothered
I'll plough ahead on this myself, but I'd like to hear others' opinions.
2. Repton--this is rather odd. Even when rendering every frame the game
jerks and flickers something awful. I'm not sure whether this is due to
the fact that the writes to the PC screen aren't synchronised with the
60Hz screen PC screen refresh, or whether I'm creating a CA1 interrupt in
the wrong place.I've tried both the obvious places however (at the end of
the visible screen, at the end of the actual screen) and neither makes
much of a difference. I've left it sending CA1s at the end of the whole
screen (312 scanlines) since this is the way both Xbeeb and BeebEm do it.
Any help would be much appreciated. Or will I be forced to have a nasty
jerky Repton?
--Tom
| ** Tom Seddon ** E-mail: T.W.Seddon@...
- . - www: http://www.ncl.ac.uk/~n5013784/
/|\
//|\\ If you help a friend in need, he's sure to remember you...
///|\\\ next time he's in need.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^