/****************************************************************************/
/*              Beebem - (c) David Alan Gilbert 1994                        */
/*              ------------------------------------                        */
/* This program may be distributed freely within the following restrictions:*/
/*                                                                          */
/* 1) You may not charge for this program or for any part of it.            */
/* 2) This copyright message must be distributed with all copies.           */
/* 3) This program must be distributed complete with source code.  Binary   */
/*    only distribution is not permitted.                                   */
/* 4) The author offers no warrenties, or guarentees etc. - you use it at   */
/*    your own risk.  If it messes something up or destroys your computer   */
/*    thats YOUR problem.                                                   */
/* 5) You may use small sections of code from this program in your own      */
/*    applications - but you must acknowledge its use.  If you plan to use  */
/*    large sections then please ask the author.                            */
/*                                                                          */
/* If you do not agree with any of the above then please do not use this    */
/* program.                                                                 */
/* Please report any problems to the author at gilbertd@cs.man.ac.uk        */
/****************************************************************************/
/* 6502 core - 6502 emulator core - David Alan Gilbert 16/10/94 */


Ŀ
									 
                                                                        
                       Instructions                                     
                       		                                 
                                                                        

Run program beebdos.exe in the SAME directory as any .SSD .DSD disc image
files and three rom files called 'BASIC', 'OS12' and 'DNFS'.

Ŀ
                                                                        
                                                                        
                       History                                          
                                                                        
                                                                        

v1.2 3 Sept 97
--------------
Screen Saver Added! Press CTRL F12 and the screen will be saved as a BMP file
Source cleaned up and added to archive
Sound quality improved
Game menu accessed via TAB key from disc menu page
'beebdiscdir' environment variable now works
Type  'set beebdiscdir=c:\discdir' to set the directory containing disc images

v1.1b 22 feb 97
--------------
Ctrl-Break works
Mode7 clears the bottom of the screen
Game load menu option with -g

v1.1 4 feb 97
-------------
Screen mode changed to 376x282 modex mode
Menu recoded in graphics mode
All opcodes supported
Cout prints removed from disc8271.cpp

v1.0 BeebemDOS by MHG V1.0 25 Dec 1996
--------------------------------------
This version of Beebem is based on Beebem by David Alan Gilbert
The changes are:

(1) Compiled with Watcom C compiler uses dos4gw.exe dos extender
(2) Dos Keyboard support
(3) Sound Blaster 8 bit support
(4) Sound Emulation tweaked and set to 22,000 Hz
(5) Disc Menu front end - loads files with .SSD and .DSD extensions of acorn
    31 file or watford 62 file (with a watford dfs rom) format discs
(5) Uses dos modeX 320*240 VGA mode
(6) Some undoucumented opcode support (Zalaga works!! - sort of)

Ŀ
                                                                        
                                                                        
                       Keys                                             
                                                                        
                                                                        

The keys are mapped to roughly their relative positions on the BBC keyboard
rather than their symbols


                               BBC KEYBOARD


                f0  f1  f2  f3  f4  f5  f6  f7  f8  f9  BRK
                20  71  72  73  14  74  75  16  76  77  xx

             !   "   #   $   %   &   '   (   )       =   ~   |
        ESC  1   2   3   4   5   6   7   8   9   0   -   ^   \   LFT   RGT
        70   30  31  11  12  13  34  24  15  25  27  17  18  78  19    79

                                                           {   p
        TAB    Q   W   E   R   T   Y   U   I   O   P   @   [   _    UP     DWN
        60     10  21  22  33  23  44  35  26  36  37  47  38  28   39     29

                                                    +   *   }
      CPS  CTL  A   S   D   F   G   H   J   K   L   ;   :   ]    RET
      40   1    41  51  32  43  53  54  45  46  56  57  48  58   49

                                              <   >   ?
      SLK  SHF    Z   X   C   V   B   N   M   ,   .   /   SHF    DEL  CPY
      50   00     61  42  52  63  64  55  65  66  67  68  00     59   69


                           SPACEBAR
                           62

with the exception of ShiftLock (mapped to ALT), Pound Sign (mapped to F11)
and }] (mapped to ~`)


IBM         	BBC
-------------------------
F1-F10 		F0-F9
F11	       	_  & pound
ALT		ShiftLock
~ ` 		} ]
DEL		COPY
_ -		= -
+ =		| \
{ [		@
} ]		{ [
: ;		+ ;
" ' 		* :


F12	     	goto menu
pause/break	break

Ŀ
                                                                        
                                                                        
                       The Game Select menu                             
                                                                        
                                                                        

The Game select menu can be found by pressing the TAB key on the disc
select menu screen. Pressing TAB again will bring you back to the disc
selection screen.

The game select menu will very probably NOT work first time
on your machine.

This is because you have to set it up to work with the disc files that you
have.

At the moment it is set up only as an example of how to do it.

The game select menu is driven from the file 'games.txt' which you are free
to edit.

To disable the game menu delete the games.txt file

Each line in this text file corresponds to a game.

e.g.

'rocket raid' acornsoft acorn1.dsd   0  $  C  rocket

There are 7 fields to fill in as follows:

(1) The title of the game displayed in the menu (enclosed in quotes if it
contains a space).
(2) The name of the publisher of the game.
(3) The name of the discfile that the game is present on e.g. GAMES12.SSD.
(4) The side of the disc that the game is present on 0 or 2.
(5) The directory that the game file is in (normally $ the default).
(6) An R or an C which means CHAIN"" or *RUN the gamefile.
(7) The name of the gamefile on the disc  e.g. ROCKET

The game menu may fail to load a game if any of the above fields are incorrect
for the actual disc images YOU have.

Discovering what the gamefile is called can be done by cataloging the files
present on a disc by typing

*CAT 0 or *CAT 2

A list of files present will be shown.

Then try *RUN filename or CHAIN "filename" to run a file.
Some files will hang the machine.

Filenames that cause a game to be loaded can be considered 'gamefiles'
and can be added to games.txt

Directories are indicated by a letter and a dot before a file name so if a
file appears as D.BIGGAME the filename is BIGGAME and the directory is D


Ŀ
                                                                        
                                                                        
                       Common Problems                                  
                                                                        
                                                                        

THE GAME MENU
-------------
See explanation above.

DISC IMAGES
-----------
These should be named .SSD for single sided images
and .DSD for interleaved doubled sided images.

ROM FILES
---------
The emulator needs three rom files from an origanal BBC computer to run
which should be renamed to 'BASIC' 'OS12' and 'DNFS'.
BASIC  is the 16K bbc basic rom.
OS12 is the 16K operating system rom.
DNFS is the 16K disc filing system rom needed for the disc drive emulation.

The DNFS ROM
------------
Some disc images with large >31 file directories only work only with a
Watford DFS rom.
If the DNFS rom is working and the disc image is good then after the menu page
you should be able to type *CAT at the BBC prompt > and see the directory of
the disc. Then you can try *RUN filename or CHAIN "filename" with any file
names you can see.
If *CAT doesn't work then the DNFS image is bad or the disc image is bad.

DISC COMMANDS
-------------
*INFO *.* will show you the sizes and load and execution addresses of the files

You can try pressing SHIFT-BREAK_SHIFT which will cause the bbc to run
the !BOOT file on a disc image which often runs a menu program.
Although not all discs will work this way.

CHAIN "MENU" can also bring a menu program up , but not always.

*RUN !BOOT  will run the disc boot file if present.

Ŀ
                                                                        
                                                                        
                       Any Comments                                     
                                                                        
                                                                        

marcus@player1.com

Ŀ
                                                                        
                                                                        
                       Acknowledgements                                 
                                                                        
                                                                        


David Alan Gilbert
------------------
The code for this emulator is 99.5% that of David Alan Gilbert's

Alex Hornby
-----------
6502 opcode additions modified from the x2600 emulator by Alex Hornby which
he modified from the 6507 CPU emulation Originally from X64.

Themie Gouthas
--------------
376x282 modex mode

David Welch
-----------
Sound Blaster Stuff

