                                  CONTENTS
                                  ~~~~~~~~

     1.0    - WELCOME TO PCBBC

     2.0    - DISCLAIMER

     3.0    - LEGAL NOTICE

     4.0    - TERMS AND CONDITIONS FOR USE AND DISTRIBUTION

     5.0    - REGISTRATION

     6.0    - SYSTEM REQUIREMENTS

     7.0    - WHAT ELSE WILL I NEED?

     8.0    - CONFIGURING LOADING OF ROMS

     9.0    - RUNNING SETUP

    10.0    - RUNNING THE EMULATOR

    11.0    - TROUBLE SHOOTING

    12.0    - CONFIGURATION SCREEN
      .1    -      Emulator Speed
      .2    -      Display
      .3    -      Brightness
      .4    -      Keyboard Layout
      .5    -      Customise BBC Layout
      .6    -      Sound Channel 0-3
      .7    -      SoundBlaster/PC Speaker
      .8    -      Disk Images Drive 0-3
      .9    -      FDC 1770/8271
      .10   -      Enable Paged RAM Bank
      .11   -      Screen Shadow RAM
      .12   -      2nd Processor
      .13   -      CPU Debugger
      .14   -      CPU Emulation
      .15   -      Clock Cycles
      .16   -      Quit to DOS
      .17   -      Save Settings
      .18   -      OK

    13.0    - WHAT'S EMULATED, WHAT'S NOT?
      .1    -     Processor
      .2    -     Memory
      .3    -     Screen
      .4    -     Serial
      .5    -     Timers
      .6    -     Floppy Disk
      .7    -     Tube
      .8    -     ECONET Controller
      .9    -     Analogue to Digital Converter

    14.0    - DEBUGGER

    15.0    - BUG REPORTS

    16.0    - CONTACTING THE AUTHOR

    17.0    - ACKNOWLEDGEMENTS

    18.0    - REVSION HISTORY

_____________________________________________________________________________


1.0 - WELCOME TO PCBBC
~~~~~~~~~~~~~~~~~~~~~~

Welcome to the best and fastest BBC Micro Emulator available for the PC.  If
you know different then please let me know!  See the Contacts section of this
manual.

PCBBC will run acceptably on a 486 66Mhz PC, but to maintain consistent BBC
speeds I recommend at least a 90Mhz Pentium.  Chances are you may have
something faster, in which case things will really fly!  See the System
Requirements section for exact machine specifications.

This is a demo only version of PCBBC, which has restricted functionality.  To
obtain the full working copy you must register.  For details and the full
benefits of registering  please see the Registration section.
_____________________________________________________________________________


2.0 - DISCLAIMER
~~~~~~~~~~~~~~~~

Every reasonable care has been taken in producing this software.  However the
author can accept no responsibility for any effect that this software has on
your system or any results of the use or inability to use this product.  No
warranty is provided or implied with this package.  It is the responsibly of
the end user to determine fitness for use for any particular purpose.
_____________________________________________________________________________


3.0 - LEGAL NOTICE
~~~~~~~~~~~~~~~~~~

Certain software is required to run this emulator, such as the BBC OS and
BASIC ROMs.  These remain copyright of third parties.  The author does not
distribute, or condone the distribution of these.  If you have received this
package bundled with the required ROMs then it has come from an unofficial
source unconnected with the author.
_____________________________________________________________________________


4.0 - TERMS AND CONDITIONS FOR USE AND DISTRIBUTION
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

You are free to distribute the demo version of the emulator providing that:

1)  You distribute it as received, complete and without making any changes.
    Ideally you should distribute the ZIP file which the software came in.
    The demo version of PCBBC consists of the following files:

        SETUP.COM           Setup and configuration program
        PCBBC.COM           Emulator executable
        EMULATOR.CFG        Default configuration
        README.TXT          This file
        ROMIMG\VIDEO.TBL    Mode 7 character set and video tables
        ROMIMG\TUBE.ROM     Tube parasite code
        DISKIMG\BLANK.DFS   Empty formatted 80 track DFS disk
        DISKIMG\BLANK.ADF   Empty formatted large ADFS disk

2)  No charge is made for these programs.  Any fees charged must be solely
    for the packaging and handling charge and no profit should be received
    from such operations.

3)  It is not bundled with any other software or ROM images which are subject
    to copyright or which are being charged for.

4)  The receiver of the software agrees to be bound by these same terms and
    conditions.
_____________________________________________________________________________


5.0 - REGISTRATION
~~~~~~~~~~~~~~~~~~

This is the demo only version.  I've left nothing out of the demo that's
currently included in the full version, but the following restrictions apply:

1)  The program will run for around ten minutes.  After nine minutes the
    program will display a warning at the top of the screen and one minute
    later the program will exit.  You are free to run the program as many
    times as you want, but each time you will be subject to the ten minute
    limit.

2)  The demo version only support a single sound channel.  The full version
    supports all 4 BBC sound channels simultaneously on systems with an
    AdLib/SoundBlaster or compatible card.

3)  There demo version only supports 4 banks of Paged ROMs, but the
    registered version can handle the full complement of 16 ROMs.

If you're happy with the above use the demo version for as long as you like!
There's absolutely no pressure on you to register in any way.  However I hope
you've been suitably impressed to consider registering to receive a fully
working copy.  By registering you'll give me the incentive to carry on
developing to ensure that PCBBC remains the best BBC emulation on the market
for the PC.  Registration is an absolute snip, at just 10 sterling (Please
add 2 if outside UK and a further 2.50 if sending foreign currency).
Here's what you'll get:

1)  A fully working copy of PCBBC, which is not subject to any of the
    restrictions that I've imposed on the demo version.

1)  A utility which allows you to manage BBC DFS disk images on your PC.
    This will let you transfer files to and from DOS and the image files
    which PCBBC uses to support BBC disks.

2)  If you still have a working BBC micro then there's another program which
    comes with the registered copy which transfers disk images and data from
    the BBC onto your PC.  You can then load these disk images into the
    emulator and access the files that they contain.

3)  Free support from me.  As long as I'm still in business, if you have a
    problem running the registered version of the emulator then get in touch
    and I'll do my best to help you.  If it's a problem with the emulator
    software itself, and I can fix it, then I'll send you the latest version
    free of charge.  Even if you haven't registered and find a bug please do
    report it.  I guarantee no action will be taken against you.

4)  If you would like to receive updated versions of PCBBC, as and when they
    become available, then let me know when you register.  In return I'll
    keep you in touch with developments free of charge and send you details
    of how to receive them.  I plan to distribute updates on an "at cost"
    (i.e. Disk and P&P charges) to registered users who don't have access to
    the internet.  The current cost of an update is 2.00 sterling.  If you
    have internet access then the best way to receive updates is to download
    some "patches" from the pcBBC homepage.

5)  You'll also get a very important feeling.  The feeling that you've done
    the honest thing!  I've spent a lot of time and effort developing this
    package, I hope you can tell.  It would be nice to know that someone
    appreciates some good software when they see it.

I currently accept the following forms of payment:
    Sterling Cheque for 10 (Preferable)
    Sterling 10 cash *
    Eurocheque for Sterling 10
    Major foreign currency notes to at least the value of 12.50 *

If outside of the UK please add 2 sterling to *all* of the above prices to
cover my increased postage costs.
* You send cash through the post at your own risk.  Please use recorded
delivery.

Please send payment and your name and address to:
    PCBBC Registrations
    c/o Stuart McConnachie
    43 The Hollows
    Long Eaton
    NOTTINGHAM
    NG10 2ES
    UK

Cheques payable to Stuart McConnachie please.  Sorry, but I'm not set up to
accept credit cards.
_____________________________________________________________________________


6.0 - SYSTEM REQUIREMENTS
~~~~~~~~~~~~~~~~~~~~~~~~~

Processor:      286 or better (e.g. 386, 486 or Pentium)
                486 66Mhz (or better) recommended
Keyboard:       102 key (UK recommended)
OS:             DOS, Windows (3.x, 95 or NT), OS/2
Free memory:    322K base memory (562K for all 16 paged ROMs)
                256K XMS (recommended)
Video Card:     VGA compatible (SVGA optional)
Mouse:          MS mouse compatible pointing device (Optional)
Sound card:     AdLib/SoundBlaster or compatible (Optional)

PCBBC is a DOS program, so it's probably best run in native DOS mode.  I make
no apologies for this, it enables you to run the software on a variety of
platforms and for me to get the most out of your hardware.

If you have Windows, Windows 95 or Windows NT as your operating system then
it *will* run from the Windows command shell, but you'll need to switch to
full screen mode first.  I suggest you set up a short cut to PCBBC.COM which
will enable you to reserve the 'Print Scrn' key for use by the DOS
application.  This key allows you to access the emulator's configuration
screen.  For details of how to "reserve keys for application use", see your
Windows help.  I've also seen PCBBC running successfully under OS/2 and on an
Acorn RISC PC with a 486 processor card.

NB: Under some operating systems certain hardware support may no be
available.  For example sound card support is not provided for the DOS prompt
under Windows NT.
_____________________________________________________________________________


7.0 - WHAT ELSE WILL I NEED?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PCBBC is a hardware level emulator, therefore you will need copies of some of
the software which was stored in ROM on the original BBC micro.
Unfortunately this software is protected by copyright, so I can't distribute
it as part of this package.  If you've received this emulator already bundled
with the required ROMs then it has come from an unofficial source and you
should not be using it.  Apparently the required ROMs are available on the
web, but I couldn't possibly comment.  I believe that they are also
distributed by Acorn with their BBC emulator which runs on the RISC PC.

At the very least you'll need a copy of the BBC OS and BBC BASIC.  If you
want to load and save files to disk, then you'll also need a DFS (Disk File
System) ROM.  I've tested my emulator with the following ROMs:

OS:             Acorn OS            V. 1.20
LANGAUAGE:      BBC BASIC           V. 2
8271 DFS:       Acorn               V. 0.90, 0.98, 1.20
                Watford             V. 1.10, 1.30, 1.41, 1.43, 1.44
1770 DFS:       Acorn               V. 2.10, 2.20, 2.22, 2.26
                ACP                 V. 1.08
                ACP E00 1770 DFS    V. 1.00
1770 ADFS:      Acorn               V. 1.30

I'd recommend the Acorn 1770 DFS if you can get your hands on it.  It's got
lots of useful utilities bundled with it for accessing sideways ram banks and
also the code that has to run on the BBC to access the Tube processor.  ACP's
E00 DFS is also particularly good as it fools the emulator into running the
Master version of Elite!  Failing that the Watford 8271 V. 1.44 is also
worth hunting around for.

Basically you have two ways of getting hold of these, you can either search
round on the web for them, or, if you still have your Beeb tucked away safely
somewhere, you can take a copy from there.  Note that, if you register your
copy of PCBBC, you will receive programs which will help you transfer files
and data from your BBC.

Once you've got the ROMs you need put them in the ROMIMG directory which was
hopefully created when you unzipped the package.  If not, create it and put
the VIDEO.TBL and TUBE.ROM files in there too, otherwise you won't be able to
start PCBBC.  It doesn't matter what you call the ROMs but they must both be
16Kb (that's 16,384 bytes) long to be recognised.  You can put up to 4 (16
with the registered version) paged ROMs in the ROMIMG directory and they will
be loaded automatically when you start PCBBC.
_____________________________________________________________________________


8.0 - CONFIGURING LOADING OF ROMS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

By default ROMs will be loaded in the order that they are found in the ROMIMG
directory, from bank 15 down.  Alternatively you can change which bank each
ROM is loaded into, and whether that bank is read only (ROM) or read/write
(SRAM), by changing the files DOS extension:
                ROM         SRAM
    Bank 15     .ROF        .RAF
    Bank 14     .ROE        .RAE
    Bank 13     .ROD        .RAD
    Bank 12     .ROC        .RAC

The registered version supports the full 16 banks of ROMs with the logical
filename extensions: RO0...ROF and RA0...RAF
_____________________________________________________________________________


9.0 - RUNNING SETUP
~~~~~~~~~~~~~~~~~~~

Before you run the emulator I'd advise you to run the set-up program,
SETUP.COM.  Basically this allows you to configure how the emulator will use
your PC serial, parallel and sound hardware.  Options are available to
configure the base port addresses for the serial, parallel and sound cards.
If you're in any doubt then my advice is to disable the option.  This won't
stop the emulator from running, it just means that you won't be able to use
that particular feature.  You can always go back and change things later if
you want.  At the end of the setup the program gives you the option to save
your settings and then returns to DOS.

Right, now you're ready to really get started...
_____________________________________________________________________________


10.0 - RUNNING THE EMULATOR
~~~~~~~~~~~~~~~~~~~~~~~~~~~

Fire up the emulator by running PCBBC.COM from the command line.  Hopefully
the emulator will display a few messages and then prompt you to press space
to enter the emulator.  Then you'll hear that familiar old beep and you'll be
magically transported back to the days of old with a screen like this:

    BBC Computer 32K

    Acorn 1770 DFS

    BASIC

    >_

If this is the case then you can skip the next section which describes what
to do if there's a problem starting things up.
_____________________________________________________________________________


11.0 - TROUBLE SHOOTING
~~~~~~~~~~~~~~~~~~~~~~~

Basically there are two things which might go wrong when you try and start
the emulator.  Either you'll be thrown back out to the DOS prompt with an
error, or you'll get some warning messages and asked to press space or escape
to exit.

Let's look at the errors which return you to the DOS prompt first:

FATAL ERROR: Not enough free memory (322K required)
---------------------------------------------------
There is not enough free base memory on your system to start the emulator.

FATAL ERROR: Configuration file may be corrupt
----------------------------------------------
The file EMULATOR.CFG has been corrupted in some way.  Try deleting the file
and rerunning the emulator, then choose SAVE SETTINGS from the configuration
screen to recreate the default EMULATOR.CFG file.

FATAL ERROR: No operating system image found
--------------------------------------------
For the emulator to start there needs to be a copy of the BBC operating
system ROM in the ROMIMG directory.  This file is either missing or corrupt.
Try reinstalling the PCBBC.ZIP file or obtaining a new copy from the Web.

FATAL ERROR: No video tables found
----------------------------------
The emulator needs some tables and font definitions which are stored in a
file called VIDEO.TBL in the ROMIMG directory.  This file is either missing
or corrupt.  Try reinstalling the PCBBC.ZIP file or obtaining a new copy from
the Web.

FATAL ERROR: No tube parasite image found
-----------------------------------------
The emulator needs some code which is stored in a file normally called
TUBE.ROM stored in the ROMIMG directory.  This file is either missing or
corrupt.  Try reinstalling the PCBBC.ZIP file or obtaining a new copy from
the Web.

Any other messages are just warning errors, in which case the following
message appears
    nn errors detected - Press space (or escape to quit)
These warnings probably won't stop the emulator from running, it just means
that something isn't quite right.  Scan the start up messages on the rest of
the screen for one, or more, of the following problems:

No mouse driver detected
------------------------
I recommend use of a mouse for accessing the emulator configuration screens.
If you get this error check that you have a mouse (or similar pointing
device) attached to your computer.  Also check you have a line to load the
mouse software in your AUTOEXEC.BAT file.  Normally this is a program called
MOUSE.EXE or MOUSE.COM in the directory C:\DOS or C:\MOUSE.

No XMS driver detected
----------------------
PCBBC uses 256K of XMS if it is available.  It uses this extra memory to save
screen images when swapping between the emulator and the configuration
screen.  This shouldn't effect things too much.  When you switch back to the
emulator from the configuration screen you may find that the BBC screen is
missing or corrupted.  To enable XMS add the DEVICE=HIMEM.SYS to your
CONFIG.SYS file.

Not enough XMS available (256K required)
----------------------------------------
The emulator needs a minimum 256K of XMS memory.  You'll need to increase the
amount of XMS available, probably by reducing the memory requirements of some
other applications which are currently running.

Not enough memory for paged RAM bank 0 (through n)
--------------------------------------------------
The emulator has run out of free conventional memory to assign to banks of
paged RAM in the emulator.  You just won't be able to load the full
complement of ROMs into the emulator.  Increase the amount conventional
memory available to the system.  For all 16 banks you will need to have
a minimum of 562Kb of free conventional memory.

<filename> Incorrect size for ROM image
---------------------------------------
A file was found in the ROMIMG file which did not appear to be the correct
size for a ROM image.  The name of the file is given at the start of the
line.  Check the contents of the file, and remove it from the directory if it
is not required.

<filename> Is a corrupt ROM image
---------------------------------
A file was found in the ROMIMG file which did not conform to the correct
format for a BBC ROM.  Therefore the filename given at the start of the line
has been ignored.  Check the contents of the file, and remove it if it is not
required.

<filename> No more free banks
-----------------------------
The maximum number of paged ROMs have been loaded into the emulator.
Therefore the filename given at the start of the line has been ignored.

<filename> Already loaded tube parasite image
---------------------------------------------
There are multiple copies of the TUBE.ROM file in the ROMIMG directory.
Remove the unneeded files.

<filename> Already loaded OS image
----------------------------------
There are multiple copies of the BBC OS ROM in the ROMIMG directory.
Remove the unneeded files.

<filename> Already loaded video tables
--------------------------------------
There are multiple copies of the VIDEO.TBL files in the ROMIMG directory.
Remove the unneeded files.
_____________________________________________________________________________


12.0 - CONFIGURATION SCREEN
~~~~~~~~~~~~~~~~~~~~~~~~~~~

The configuration screen can be accessed at any time it the emulator by
pressing the Print Scrn key.  You will then be presented with a screen of
options similar to the screen shot below:
_____________________________________________________________________________

                     BBC EMULATOR CONFIGURATION OPTIONS

       Emulator Speed: v  100%  ^  50Hz       Display:   VGA 640x350
                                           Brightness:     -######+
      Keyboard Layout:     PC     Customise

      Sound Channel 0:     On                  Source:   Sound Blaster
            Channel 1:     On                  Volume:     -######+
            Channel 2:     On
            Channel 3:     On              Brightness:     -######+

Disk Images - Drive 0: DISKIMG\DISK0.IMG                   #     FDC:  1770
              Drive 1: DISKIMG\DISK1.IMG                   #
              Drive 2: DISKIMG\DISK2.IMG                   #
              Drive 3: DISKIMG\DISK3.IMG                   #

                        0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
Enable Paged RAM Bank:  #  #        #  #        #  #        #  #

    Screen Shadow RAM:     Off          2nd Processor:     Off

         CPU Debugger:       Off        CPU Emulation:  2MHz 6502A
                                         Clock cycles:   Variable

 QUIT TO DOS                        SAVE SETTINGS                        OK
_____________________________________________________________________________

To change an option simply move the cursor, using the mouse, and left click
on it.  For example to increase the emulator speed click on the up arrow head
next to percentage speed.  As an alternative use the TAB key on the keyboard
to move to the required option and press SPACE or RETURN.

A detailed list of all the options now follows:

12.1 - Emulator Speed
---------------------
Not surprisingly this option controls how fast the emulator runs!  The
display shows a percentage compared to a standard BBC and also the equivalent
video refresh rate.  You can select any value between 40% (20Hz) and  400%
(200Hz) but the actual maximum speed will depend on how fast your PC
processor is.  Think of this control as a speed limiter on a car.  You could
set it to 200 MPH, but if you've got a Lada it's not going to make it go that
fast!

While the emulator is running a small bar graph will appear in the top left
corner of the screen.  A green bar shows that the emulator is running at the
required speed and has the capacity to run faster, shown by the length of the
green bar.  A red bar (or no bar at all!) indicates that the emulator is
unable to run at the set speed and the length of the bar represents how
close to the desired speed the emulator actually is.  As a rough guide each
division on the graph represents a 10% increase or decrease of the speed
setting.  Therefore if the red bar is three divisions away from the centre
mark on the graph you will have to decrease the speed setting by 30% to
achieve the required performance.  Similarly if the green bar is four
divisions above the centre mark you have enough processing power in reserve
to increase the speed by 40%.  Remember how fast the emulator will run
depends on what the BBC is doing at the time, for example scrolling the
screen is likely to slow the emulator down.  Therefore the length of the bar
will change interactively depending on what the emulator is doing at the
time.

TIP: Since the number of times the BBC screen is updated is linked to the
emulator speed you can sometimes use this reduce screen flicker when playing
games.  Set the speed to 140% (giving 70Hz which is the same as the VGA
refresh) or 70% (giving 35Hz, or half that of VGA).  Of course this will also
change the speed of the game play accordingly!

12.2 - Display
--------------
Here you can select one of two video modes:
    VGA - 640x350
    SVGA - 800x600
The new SVGA mode is an improvement on the original VGA because it gives a
better aspect ratio in keeping with the Beeb's display.  The VGA mode is
probably slightly faster due to the smaller screen size, but not by much.
I recommend the SVGA, but I have noticed a few problems on my system:
Under Windows 95 the screen goes blank when switching back to the emulator
from another application.  With Windows NT 4 the SVGA mode sends my monitor
into energy saving mode!

12.3 - Brightness
-----------------
This option allows you to adjust the brightness of the colours on the BBC
screen between one of 8 settings.


12.4 - Keyboard Layout
----------------------
This option allows you to configure the operation of the PC/BBC keyboard.

Most of the symbol keys on BBC were in different places from the standard PC
layout.  For example [SHIFT][3] gives a  sign on the PC but would give you a
# on the BBC.  This would make typing programs into the emulator extremely
difficult.  To save you having to resort to sticking labels on all your PC
keys, to remind you where all the symbols are, I've devised a cleaver fiddle.
You can select either PC keyboard mode for typing programs, or the BBC
keyboard mode for playing games.  In BBC mode the PC keys control the BBC
keys directly, so [SHIFT][3] give you a # sign like on the BBC.  Most of the
time the PC mode works fine for games too, but if you experience problems,
for example crashes or keys not working as expected, switch to the BBC mode.

When in BBC mode you can also choose if the BBC keyboard LEDs status display
appears at the bottom of your screen.  If possible I have used the PC's caps
lock and scroll lock lights to display the status of the BBC caps and shift
lock lights respectively, however this does not work when the emualtor is
run from within Windows.  Select the BBC+LEDs mode to have the keyboard
lights displayed on screen instead.

12.5 - Customise BBC Layout
---------------------------
When using BBC keyboard layout this option allows you to change which BBC
keys are pressed when you press a PC key.  The following screen will be
displayed when you select this option:
_____________________________________________________________________________

 +--+  +-----------++-----------++--------------+ +--------+  CUSTOMISE BBC
 |Es|  |F1|F2|F3|F4||F5|F6|F7|F8||F9|F10|F11|F12| |PS|SL|BK| KEYBOARD LAYOUT
 +--+--+--+--+--+--++--+--+--+--++--+---+---+---+ +--------+ +-----------+
 |`|1!|2"|3|4$|5%|6^|7&|8*|9(|0)|-_|=+|   BS  | |IN|HO|PU| |NL|/ |* |- |
 +----------------------------------------------+ +--+--+--+ +--+--+--+--+
 |TAB |Q |W |E |R |T |Y |U |I |O |P |[{|]}|ENTER| |DE|EN|PD| |7 |8 |9 |  |
 +-----------------------------------------+    | +--------+ +--+--+--|+ |
 |CAPS |A |S |D |F |G |H |J |K |L |;:|'@|#~|    |            |4 |5 |6 |  |
 +----------------------------------------------+    +--+    +--+--+--+--+
 |SHFT|\ |Z |X |C |V |B |N |M |,<|.>|/?|  SHIFT |    |^ |    |1 |2 |3 |E |
 +----------------------------------------------| +--+--+--+ +-----+--|N |
 |CTRL |  |ALT|                   |ALT|   | CTRL| |< |v |> | |0    |. |T |
 +-----+  +---------------------------+   +-----+ +--------+ +-----------+
               +--------------------------------+                +------+
               |f0|f1|f2|f3|f4|f5|f6|f7|f8|f9|BK|                |CONFIG|
          +-----------------------------------------------+      +------+
          |Es|1!|2"|3#|4$|5%|6&|7'|8(|9)|0 |-=|^~|\||< |> |      +------+
          +------------------------------------------------+     |DEBUG!|
          |TAB|Q |W |E |R |T |Y |U |I |O |P |@ |[{|_|^ |v |     +------+
         +-------------------------------------------------+     +------+
         |CA|CT|A |S |D |F |G |H |J |K |L |;+|:*|]}|RETRN|       |UNUSED|
         +--+--------------------------------------+-----+       +------+
         |SL|SFT|Z |X |C |V |B |N |M |,<|.>|/?|SHFT|DE|CO|
         +---------+-----------------------+-------------+
                   +-----------------------+       #######              OK
_____________________________________________________________________________

To change a key left click on the BBC key (bottom keyboard layout) that you
want to change and the currently associated PC key(s) will be highlighted.
You can also left click on any of the PC keys (top layout) to find out which
BBC key it controls.  To change the PC key which maps to the selected BBC key
*RIGHT* click on the required PC key (or keys) on the top keyboard.  Note
that you can assign several PC keys to press a single BBC key, but each PC
key can only press a single BBC key.  A right click of the mouse on a PC key
which is already selected will deselect that key.

By left clicking on the "UNUSED" button all the PC keys which do not have
an associated BBC key are highlighted.  Any keys assigned to the DEBUG!
button make that key stop the emulator and enter a special debug mode.

Beneath the DE (Delete) and CO (Copy) keys on the BBC keyboard are a set of
8 switches which corespond to the keyboard links on the original Beeb.  By
left clicking one these you can change the startup options:

      Bit       Meaning
           210  Sets start-up mode
          3     Inverts action of SHIFT + BREAK
        45      Disk drive timimg (not implemented on pcBBC)
      76        Unused

TIP: Some games, for example Zalaga, used the Caps Lock and Ctrl keys for
left and right, but these keys aren't next to each other on the PC layout.
In this case assign the A key to press 'CT' on the BBC keyboard.
TIP: Most BBC games used the Z X : and / keys for left, right, up and down
but some games used , . A and Z instead!  You can easily change the keyboard
layout for these awkward games so that they conform to the Z X : / standard
or even to your own layout, for example the PC cursor keys.

12.6 - Sound Channel 0-3
------------------------
Each of these switches control which of the BBC sound channels make noises.
The demo version of the emulator will only permit a single channel to be
active at any one time.  If you register then the fully working version you
receive allows all 4 channels simultaneously.

12.7 - SoundBlaster/PC Speaker
------------------------------
This button switches between the Soundblaster/Adlib driver or the built in PC
speaker.  The PC speaker is limited to playing a single note at any one time.
Depending on the options you selected when configuring PCBBC with the SETUP
program this option may be unavailable.
If you have a SoundBlaster card which supports a mixer then below this button
is a slider which allows you to change the sound volume.  Click on the + sign
to increase the volume or the - sign to decrease it.

12.8 - Disk Images Drive 0-3
----------------------------
PCBBC represents BBC disks via "disk image files" which are stored on your PC
hard drive.  Each disk is a single file, irrespective of how may BBC files
are contained within it.  This option configures which disk images are
assigned to each side of the 2 disk drives available on the BBC:

+------------------------+------------------------+
|     Drive 0            |       Drive 1          |
|  ===================== |  ====================  |
|     Drive 2            |       Drive 3          |
+------------------------+------------------------+

The default format for disk image files in PCBBC is a single sided 80T disk
with the extension .IMG or .SSD.  However PCBBC also proivdes support for a
number of different format image files which are used by different emulators.
PCBBC recognises other image files by their DOS file extension:

    Extension   Format  Sides   Tracks  Sectors Track Layout

    .DSD        DFS     2       80      10      Interleaved
    .SSD        DFS     1       40/80   10
    .IMG        DFS     1       40/80   10
    .ADF        ADFS    1/2     80      16      Non-Interleaved

    .???        DFS     1       40/80   10      (Default format)

Note that the .DSD and .ADF format disks are double sided and hence they
can not be mounted in drive 2 or 3.  When you specify one of these format
disks for drive 0 or 1 the appropriate "Drive 2" and/or "Drive 3" options
will become unavailable.

Personally I don't recommend the .DSD interleaved format, its too messy.
I believe separate sides of disks, with separate catalogues, should be kept
in separate files.  Where a disk format allows for spaning of sides, e.g.
ADFS .ADF format, I store first one physical drives set of tracks and then
the other which is far more logical.  It's much better (and safer) to use the
.IMG (same as .SSD) formats and use two files if you have a double sided
disk, just give them different names like GAMES0.IMG and GAMES2.IMG.  If
you have any images in the .DSD format use one of the manipulation programs
available to convert these over to one of the more regular formats.  See the
"BBC Lives" web page for details.

To change a disk click on the required disk and overtype the existing name
with the required filename.  To complete entry of the filename press ENTER.
If you type the name of a file that does not exist you will be asked if you
want to create the file.  Selecting YES will create a empty image file, but
before you can use it you will have to format it from within the emulator.
Pressing NO will return you to the edit box and allow you to enter a new
filename, you will have to enter the name of a file that actually exists
in order to continue.  Press ESCAPE to cancel editing and return to the
image file originally selected.

To format a disk you will need a compatible DFS which supports the *FORM
command.  For within the emulator type *FORM80 d [RETURN] replacing d with
the number of the drive you want to format.  If you don't have a DFS with the
*FORM80 utility (early DFS versions provided this as a program on disk) then
you can copy the blank formatted disks supplied in the emulator zip file.

Next to each disk is a check box which controls if the write protect tab is
present on the disk.  When a white square is show the disk is writeable, when
no block is shown the disk is read only.  (The Read/Write status of an image
file is stored as the DOS R file attribute.)
NB: Because of the way the physical disks on the BBC were arranged to write
to disk 0 both disks 0 and 2 must be writeable, similarly for drive 1.

TIP: On the BBC DFS (Disk Filing System) disks had two sides to each physical
disk.  Drive 0 and 2 constituted one disk and drives 1 and 3 the other.  With
PCBBC you can specify .IMG files for all 4 logical drives and therefore are
free to put disks in the drives in combinations which would not have been
possible on the BBC.  For example the top side of a disk in drive 3 and the
bottom side of the same disk in drive 0, at the same time!

Disk image files for DFS disks that you create can have any extension,
although I recommend sticking to the standard .SSD or .IMG extension.
If you wish to use ADFS format disks (16 sectors) then you must select
the .ADF extension for your image files and also the 1770 FDC option
explained below.

12.9 - FDC 1770/8271
--------------------
This option switches between the two FDC (Floppy Disk Controller) chips that
were available on the BBC.  You will need to select the correct option for
the type of DFS (Disk Filing System) ROM that you have installed in the
ROMIMG directory.  Normally the DFS ROM will fail to be recognised, or the
BBC will hang, if you select the wrong FDC type.  If this happens change then
FDC emulation option and then choose SAVE SETTINGS, exit and restart PCBBC.

12.10 - Enable Paged RAM Bank
-----------------------------
Each of these switches control one of the 16 banks of paged ROMs available on
the BBC.  Originally these were designed to contain ROMs but add ons were
available to put RAM in place of some of these ROMs so that ROM images could
be loaded in from disk.  If a white square is shown next to the ROM then that
bank is R/W (i.e. it contains RAM) otherwise it is read only.  You can change
the status of each bank between RAM and ROM or back again on the fly using
the configuration screen.  This enables you to load a ROM image into RAM and
then convert that RAM into ROM so that the contents can't be changed (Some
ROMs had built in protection to stop them being copied into RAM).

12.11 - Screen Shadow RAM
-------------------------
When the BBC is in a graphics mode up to 20K of the 32K available for
programs can be occupied by the screen.  The Master series corrected this by
having separate memory for programs and screen data which left most of the
32K available for programs whichever screen mode was selected.  This separate
memory was called Shadow RAM.  This option attempts to emulate the Shadow RAM
available on the Master to a certain extent.  To turn shadow RAM on, set this
option to yes and then use the following BBC BASIC command:
    ?&FE34=&0
To turn it off again use the following:
    ?&FE34=&F

NB: This option is primarily provided to enable the Master version of Elite
to run!

12.12 2nd Processor
-------------------
The BBC had the ability to add on extra processor via Acorn's Tube interface.
This second processor had a separate 64K of memory and was used to execute
the users programs, while the original BBC processor was left to deal with
the input/output to the screen, keyboard and disks.  A variety of processors
were available, the most popular being an additional 65C02 processor which is
implemented to a certain extent by selecting this option.  To access the
second processor across the tube you will need some software running on the
Host (Main BBC) processor.  This is provided in some of the later Acorn DFS
ROMs and also as a separate ROM which came with the second processor.  I
recommend Acorn's 1770 DFS version 2.23 or ACP's 1770 DFS version 1.00 which
both contain the required software.

When this option is selected your PC has to emulate both the BBC main
processor and the second processor.  Therefore don't expect the emulator's
performance to be lightning fast.

NB: This option is primarily provided to enable 6502 Tube version of Elite to
run!

12.13 - CPU Debugger
--------------------
When you select this option the emulator runs in a special debug mode.  This
enables you to set break points in the 6502 code and interactively change
memory and register contents while the emulator is running.  When debug mode
is selected an extra option appears which allows you to switch between "Run
to BP" and "Single Step" modes.

For a brief introduction to the debugger see the appropriate section of this
manual.

NB: Emulator performance is reduced in debug mode.  Avoid selecting this
option unless required for code debugging.

12.14 - CPU Emulation
---------------------
This button switches between the two slightly different CPU versions which
were available with the BBC series.  The original BBC had a standard 2MHz
6502A while the Master Series had a 65C02 processor which had some extra
instructions.  In general you should use the 6502A option unless you are
trying to run Master Series software.

12.15 - Clock Cycles
--------------------
By changing this option you can configure how long it takes the emulator to
process each 6502 instruction.  When "Variable" is selected PCBBC attempts to
emulate the actual number of clock cycles each instruction would take on a
real BBC.  This is the most realistic option.  With "Fixed", on the other
hand, all instructions take 2 BBC clock cycles to execute irrespective of the
actual instruction.

12.16 - Quit to DOS
-------------------
Use this button to leave the emulator.

12.17 - Save Settings
---------------------
Clicking on this button saves all of the settings on the current
configuration screen, including any keyboard mappings, to the EMULATOR.CFG
file.

12.18 - OK
----------
Use this button to return to the emulator.
_____________________________________________________________________________


13.0 - WHAT'S EMULATED, WHAT'S NOT?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Here's the current list of BBC hardware which is supported by version 1.00 of
the emulator:

13.1 - Processor
----------------
6502A - The full instruction set is available.  Also most of the illegal
instructions work too!
65C02 - This was an enhancement on the original "A" version which has a load
of extra instructions.  The 65C02 was not available for the standard BBC
models A and B, but was included in the Master series.  You can change
processors on the fly in the configuration section.

13.2 - Memory
-------------
64K - 32K of main memory plus 32K of ROM.  The demo version of the emulator
supports 4 16K paged ROMs.  The full registered copy supports up to 16.
Paged ROMs were used on the BBC to store languages, file systems and utility
programs.  These can also be configured as banks of RAM for programs which
can make use of it.

13.3 - Screen
-------------
All of the BBC video modes are supported, including the undocumented MODE 8.
The 6845 CRTC and Video ULA are fully implemented including on-the-fly
register bashing.  This means that games which change the colour palette and
mode on interrupt, such as Elite, Revs and FireTrack (Orlando, are you
reading this?  Get in touch!) work correctly.
On the standard BBC the screen could chew up a *lot* of main memory,
especially in the "high resolution modes".  The Master series corrected this
by introducing "Shadow" RAM which was used just for the screen, leaving an
extra 20K free for user programs.  PCBBC attempts to accommodate this feature
to some extent.

13.4 - Serial
-------------
The 6850 serial chip and serial ULA are supported for writing to one of the
PC serial ports.  Details of how to connect things to the PC serial port
are outside the scope of this document, but the registered version comes
with an application to transfer disks and ROMs over to the PC from a BBC.
The documentation with PCXFER details the cable connections required.

13.5 - Timers
-------------
Both the system and user 6522 timers are supported.  These chips also control
access to the BBC keyboard, sound system and parallel printer port.  These
are all supported except for the shift registers, which to the best of my
knowledge were not used except for talking to external hardware.  The printer
is configurable to print to an available PC parallel port.

13.6 - Floppy Disk
------------------
There were two types of floppy disk controllers deployed on the BBC micro.
These were designated by the chip numbers of the FDC integrated circuit:
8271 - This was the original FDC controller which was intended to be fitted
to all BBCs.  The 8271 required a large number of other components, was
expensive and could only write 10 sectors per track which limited the BBC to
400Kb disks.
1770 - This FDC was fitted to the Master series BBCs and was available as a
daughter board upgrade for the BBC.  The 1770 interface was cheaper and could
write 16 sectors per disk giving 640Kb disks.
PCBBC supports either of these two disk controllers via a configuration
option.

13.7 - Tube
-----------
A simplistic implementation of the tube is provided.  This is not guaranteed
to be anywhere near 100% Tube compatible, but it is the best I could do with
the limited information available.

13.8 - ECONET Controller
------------------------
No support is provided for the ECONET system.

13.9 - Analogue to Digital Converter
------------------------------------
No support is provided for the A/D converter or joystick.
_____________________________________________________________________________


14.0 - DEBUGGER
~~~~~~~~~~~~~~~

You can enter debug mode by selecting the CPU Debugger from the configuration
options screen.  Alternatively you can configure a PC key (initially F11) to
jump straight into debug mode.  Within debug mode you can view the contents
of memory, either as a disassembly listing or memory dump, change the
contents of memory or registers and set break points or single step through
code.

The following keys are active when in debug mode:
F2 -    Single steps to the next instruction.  If your about to execute a
        subroutine call (JSR), then that routine will be stepped into.
F3 -    Moves the cursor to the next break point.
F4 -    Sets (or clears) a break point where the processor will stop
        execution (as long as it is in debug mode).
F5 -    Run to cursor.  Effectively this sets a temporary break point on the
        current line and then runs to the next break point.
F6 -    Run to break point.  Runs the emulator until it reaches a break point
        set by F4.
F7 -    Switches between the BBC (Host) and Second Processor (Tube) for
        debugging.
F8 -    Switches between disassembled and memory dump views.  When in memory
        dump mode you can change the contents of memory.
F11 -   Enters debug mode from the BBC keyboard (NB you can reassign this key
        from within the keyboard configuration screen).
SPACE - Single steps an instruction.  If the cursor is on a subroutine call
        then the processor will run the whole subroutine in one go (unless
        there's a break point in it) and stop at the instruction after the
        JSR.
PAGE UP, PAGE DOWN - These keys have their usual functions, pressing CTRL
        will move &100 bytes at a time.
UP and DOWN - move the cursor to the next line (or byte) of the screen.
HOME -  Returns the cursor to the currently executing line.
CTRL AND CURSOR KEYS - This moves the debug window position on the screen.
        This is useful if you want to see what is on the BBC screen.
0-9, A-F - You can use these keys to change the contents of the 6502
        registers and BBC memory.  This is not recommended unless you know
        what you are doing!  Registers can only be changed in the disassemble
        view and memory in the dump view.  (Use F8 to change views.)
ESCAPE - Probably the most useful key as this returns to normal emulator
        mode!
_____________________________________________________________________________


15.0 - BUG REPORTS
~~~~~~~~~~~~~~~~~~

I accept bug reports from anyone, even if you've not registered.  If you find
a problem then get in touch and I promise no questions asked.
_____________________________________________________________________________


16.0 - CONTACTING THE AUTHOR
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Sorry, at the moment I don't have my own telephone line so I'm not online.
Hence I can't be contacted directly via E-Mail.  Friends of mine have kindly
donated some of their web space (Thanks chaps!), and you may have downloaded
this package from one of those sites.

Chris Bradburne (chris@bburne.demon.co.uk) has generously agreed to forward
any comments (constructive please!) to me as and when he can.  Please address
them to stuart@bburne.demon.co.uk.  I will get back to you, it just may take
some time, but please don't pester Chris.  Remember it's my fault I'm not
on-line; not his!

Alternatively write to me at the registration address (See the registration
section).
_____________________________________________________________________________


17.0 - ACKNOWLEDGEMENTS
~~~~~~~~~~~~~~~~~~~~~~~

Trademarks
----------
All trademarks remain the property of their respective owners.

Web space
---------
Chris & Toria Bradburne  (http://www.bburne.demon.co.uk/bbc.html)
Mark Walker
Steve Wright (http://www.rscom.com/beeb)

Software
--------
This software exclusively produced using Eric Isaasons (eric@eji.com) A86
assembler package.  If you're looking to get into PC assembler, but need a
decent assembler, then I'd recommend A86.  Download a fully working
evaluation copy from Eric's web site (http://www.eji.com/).

Electronic Media
----------------
Jeffrey S. Lee's excellent documentation on the Adlib/SoundBlaster FM sound
interface.

Publications
------------
IBM PC Assembly Language and Programming (Peter Abel) published by Prentice
Hall International, 1995.

The Advanced User Guide for the BBC Micro (Bray, Dickens and Holmes)
published by Cambridge Microcomputer Centre, 1983.

The BBC Microcomputer System User Guide (John Coll) published by the British
Broadcasting Corporation, 1982.

The Akhter Disk Drive User Manual (Dave Carlos) published by Akhter Computer
Group

Other Useful Contributors
-------------------------
Mark Usher (marku@magnet.at)
The regestered users who Beta test my product for me (you know who you are!)
_____________________________________________________________________________


18.0 - REVISION HISTORY
~~~~~~~~~~~~~~~~~~~~~~~

VERSION 1.00 - 24 Jan 1998
--------------------------
    Initial Release


VERSION 1.01 - 08 Feb 1998
--------------------------
Bug Fixes:
    8271 emulation fix


VERSION 1.02 - 02 Apr 1998
--------------------------
New Features:
    Implemented SVGA 800x600 video support
    Support for interleaved disk formats (.DSD and .DAD extension)
    Added keyboard links on configuration screen
    New BBC screen brightness control
    Added Windows 95 key support (from DOS only!)
    Added support for DTR/DSR wired serial cables

Bug Fixes:
    More 8271 and 1770 fixes - see DFS compatibility list
    System VIA T2 timer interrupt - fixed (fixes "Psycastria" and others)
    Non-interlaced screen mode refresh rate - changed (fixes "Skirmish")
    Mode 8 screen refresh problem - solved
    Illegal 6845 register hangs - trapped
    Delete last character in edit box crash - fixed
    Files left open after "Create disk" - fixed
    Improved Serial and Parallel port support

