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

The code is known to compile and run on Linux.  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.


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

All of the instruction set of a standard 6502 CPU.  No 65C02 or 65C12
operands are currently implemented, although I do plan this for a future
release.  None of the undocumented 6502 instructions are implemented
either, which means at the moment that, for instance, Zalaga will not
run.

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's a sort-of disk emulation.  Documentation on the format is in the
doc/DiskEmulation file.

Paged ROMs/RAM are supported.

There is a snapshot format for saving the complete machine state.  See
doc/SnapshotFormat for the specification of the snapshot format.


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

Sound, 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 INSTALL file.


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

To start as if from power-up, just :

	$ xbeeb

or if you want to run a snapshot :

	$ xbeeb <snapshot-name>

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 is now roughly the same as that of the original machine
on my 486DX2 Linux machine.

I use 4-character tab settings in vi.  If you read the code using
8-character tab settings, it will look even worse than it already does.

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