BeebIt64K 0.11 (1 Sep 2002)
============================
1MHz add-on emulator by Simon Birtwistle.

BeebIt64K emulates a 64K RAM chip paged into &FD00-&FDFF when &FCFF=191 and
paged by &FCFE. When loaded, all memory accesses to &FCxx (FRED) and &FDxx
(JIM) from BeebIt will be intercepted by this module (and usually passed on).

The 1MHz bus is located in pages &FCxx (Fred) and &FDxx (Jim). One suggested
use was to include an additional 64K RAM, accessed 1 page (256 bytes) at a
time paged into Jim (&FDxx), controlled by the Jim Paging Register (&FCFF).
Such an add-on would have been simple to build (though costly at the time!).
This module emulates such a device, and should be compatible with the BBC I/O
podule if you have one.

The source is provided as an example of how to write a 1MHz device emulator
for use with BeebIt or RISC OS.

Commands provided
-----------------

SaveSixtyFour <filename> - Saves the 64K memory area to the file specified
by <filename>.

LoadSixtyFour <filename> - Loads 64K of data into the memory area from the
file specified by <filename>.

Example
-------
Within BeebIt:

?&FCFF=191      This 'enables' the emulated hardware
?&FCFE=0        This selects the first page (256 bytes) of the 64K RAM 'chip'
$&FD00="THIS IS THE START OF THE RAM CHIP"
?&FCFE=1        Select the next page
$&FD00="THIS IS ADDRESS &100"
?&FCFE=2        and the next
$&FD00="512 BYTES INTO THE RAM"
?&FCFE=0        Back to the first page
PRINT $&FD00    this should produce "THIS IS THE START..."

If you then type ?&FCFF=0 you will find that &FD00-&FDFF is empty (&FCFE the
paging register still works though you won't see the result until you ?&FCFF=191
again).

Then go back to RISC OS and type

 *SAVESIXTYFOUR $.temp

If you load $.temp into an editor you will see the text strings start in the
first three pages.


BeebIt64K (P) 2000 Simon Birtwistle.


History
~~~~~~~
0.10 (15 Jul 2000)  First working version for Mike

0.11 (1 Sep 2002)   Mike implements OS_Bytes 146-149 so it finally works with
                    BeebIt! All names officially allocated.
