Date : Tue, 06 Dec 1994 10:50:48 GMT
From : David Alan Gilbert <gilbertd@...>
Subject: My emulator (status)
Well I've been doing quite a bit on my emulator recently - it runs
under X on Unix boxes. All graphics modes are now emulated (except the
cursor) - including wierd ones like reprogramming to do the mode 8
in the AUG - this is catered for by a virtually full emulation of the 6845.
This also supports changing palette/graphics mode part way down the screen.
It works well enough to run Wordwise/exmon etc. and any graphics things
I've tried.
Now I'm working on getting a register level 8271 emulation to work - then
I'll actually be able to load stuff in other than by ROM image.
The one main problem is speed - or the lack of it! If I switch off screen
updates then my Pentium-90 manages about the same speed as a beeb - with
screen updates its about a 3rd of that.
Screen updates kill it because it is actually doing a 50Hz (simulated time)
screen
refresh - a new scanline every 64us - pulling apart the beebs screen layout
is a tad
slow - its not aided by the fact that I'm doing a full emulation of the way
the video
ULA works in 2 and 4 colour modes allowing stripy effects by programming some
of the palette registers.
Its all written in C & C++ (mainly for the X stuff) - and I've compiled it
under Linux, on a Sun under SunOS 4.1.3 and on an HP under HP-UX (with small
tweaks for each).
Keyboard emulation is also at the hardware level.
Dave (gilbertd@...)
P.S. On the 8271 front, I'm going to have to generate an NMI - now I presume
that NMI's are masked off until the returning RTI - otherwise it would never get
past &D00 - is this correct?