$Id: README,v 1.6 2002/01/14 23:20:28 james Exp $

This is the fourth release of my BBC Micro emulator for UNIX and X11.

The code is known to compile and run on Linux (RedHat 7.2 and an unknown
but relatively recent version of Debian).  If it works on any other systems,
please let me know.  If you need to make changes to get it to work, please
tell me that, too.

See the files in the doc directory for further information, including
installation instructions.


What has been implemented
=========================

All of the instruction set of a standard 6502 CPU.  Illegal/undocumented
opcodes on the NMOS 6502 and changes for the CMOS R65C02 and R65C12 are
also implemented.

The 6522 VIA implementation is almost complete.  The emulation of the
system VIA is sufficient to provide clock interrupts and keyboard handling
for the OS.

The CRTC, Serial ULA and display implementation is complete enough to
provide a reasonable emulation of the display.  X11 fonts for all the
teletext characters are provided.

The keyboard handling is pretty much there, but not quite perfect as the
Beeb has a somewhat non-standard keyboard layout compared with most I've
used.  See doc/Keyboard for more information on this.

There are several disk emulations.  Documentation on the formats are in the
doc/DiskEmulation file.

Paged ROMs/RAM are supported.

Sound is supported via OSS, but needs further work.

Support for non-standard shape/size screens is there but not perfect.

All bitmapped graphics MODEs are supported, but the cursor doesn't work
properly.


What isn't supported
====================

Serial IO, the ADC, Econet, the FRED and JIM memory-mapped IO pages,
the Tube and User VIA are pretty much all ignored.


Installation
============

See the doc/Installation file.


Running xbeeb
=============

To start as if from power-up, just :

	$ xbeeb

For details of all the command line options, see the doc/Options file.


General Comments
================

The code is somewhat ugly -- I started out writing clean modular code
and found that there was just no way I could get anything approaching
the performance I wanted, so I gave up.

Performance obviously depends on hardware, but also on the type of
program.  Sound has a large impact on performance and can get 
little lagged at times.  On my 733MHz Pentium III I've run it up to
20 times faster than the original machine, which makes it completely
unusable.  The default configuration is therefore to try to slow
the emulation down to run at the correct speed.  Just about any
Pentium-class machine should be able to run the emulator without
speed problems, unless you happen to have something like a Pentium 90.

Please mail any comments, suggestions, whatever, to james@cloud9.co.uk.
