Beebug


Master Emulation ROM

Author: Bernard Hill
Publisher: Dabs Press
Machine: BBC Model B

 
Published in Beebug #59

In this and next month's issues, Bernard Hill evaluates two software packages which offer to turn your Model B into a Master.

Master Emulation ROM (Dabs Press)

Can you really turn your Model B into a Master? It's a nice idea, especially if you can retain your Model B to run all those Master incompatible games (sorry, programs). MER from Dabs Press claims to do just that.

To attempt to turn a model B into a Master requires more than just software. Additional hardware, particularly RAM for various purposes is required as well. MER implements most of the Master's additional star commands, but its full potential will only be realised if you add some of the missing hardware facilities and this I have covered first in some detail.

The MER software is available in a variety of formats, and in all cases is accompanied by extensive documentation. Let's examine then the extent to which a Model B can be upgraded to a Master using the MER package and relevant hardware add-ons.

RAM Upgrades To A Master

If you could upgrade your Model B (or even B+) to a Master you would need quite a lot of extra memory, and this comes in various types:

  1. Shadow RAM
    Firstly, you could add shadow RAM to your Model B (by Aries, Watford or Solidisk). MER works well with these; in fact it does so by behaving quite independently, leaving the star commands which drive your particular shadow RAM quite intact. There is no attempt to implement MODE 128 type statements, and even *SHADOW does not necessarily work with all shadow RAM boards.
  2. Sideways RAM
    Secondly, your Model B could have banks of sideways RAM added, and that's fine too (in fact MER can handle all the known access protocols - e.g. from Solidisk, Watford, ATPL, etc.). What it can't do is handle a mixture of protocols, for instance a 16K module of Acorn User RAM sitting alongside an early Solidisk system, or with an ATPL board. But it works particularly well with sideways RAM all of one type, such as the Watford ROM/RAM board, or the Solidisk TwoMeg 128, and up to 64K can be accommodated.
  3. CMOS RAM
    Thirdly, the Master has CMOS RAM, in which it keeps its *STATUS/*CONFIGURE options. MER's implementation here is excellent. If you have the Solidisk Real Time Clock installed in your Model B, then MER will use this for its 50 bytes of CMOS RAM just as the Master does. If not, then you can use the last 50 bytes of a nominated sideways RAM bank (including the one occupied by MER itself if you're running a ROM image) - preferably with battery backing.

    Failing this, MER will use bytes &140-&171 of the 6502 stack. If you have no battery-backed RAM then, to avoid losing all your configurations at power-down, MER has a *SCONFIG command which saves all this information to a disc file, and *LCONFIG will reload it when you switch on again. Just as on the Master, these 50 bytes hold options such as loud/quiet beep, UNPLUGged ROMs, default modes, disc speeds, printer destinations, Caps Lock status etc. This all works splendidly and the full range of CONFIGURE and STATUS commands is implemented, with commands identical to those in the Master's Operating System.
  4. Private RAM
    So far, so good. But one final type of RAM which you can't add to your Model B is Private RAM: that's the bit of the Master which keeps PAGE down at &E00, so don't expect MER to shift PAGE down from &1900. In fact, MER needs some workspace too, and the Dabs Press made the decision not to use workspace (like the DFS) which would raise PAGE. Neither does MER run solely from sideways RAM and so use its own SWR image as workspace (like their other product SideWriter). To my mind that's a great pity, because MER now has to use other areas, including some of pages 6, 7 and 9 causing workspace clashes with other ROMs (such as Beebug's own Master ROM).

Facilities

So you've got your Master Emulation ROM installed. Just what have you got you didn't have before? Briefly put, you have the commands which are available on the Master and the Compact. For the first time you can use *APPEND to supplement *BUILD; *SPOOLON to supplement *SPOOL; EX to add to INFO (even on DFS, tape and ROM filing systems!); CREATE to add to SAVE; FREE and MAP to add to CAT on the DFS and REMOVE to go with *DELETE. You could fit a 1770 interface to run the ADFS and yet keep the ADFS *UNPLUGged to conserve PAGE. You can allocate sideways RAM as DATA with SRDATA or SRROM, and even call |D if you have View 3. If you have no Real Time Clock fitted then *TIME gives one second before the year 2000, like the Compact.

In fact the whole system FEELS just like a Master, right down to the "Acorn MOS" prompt on Break (the "BBC Computer 32K" has gone). Your Beeb even enters a 'No language' environment if you *CONFIGURE LANG to a socket which isn't a language, and the only difference from a real Master which I have spotted is, as mentioned above, that shadow RAM support is left to your shadow support ROM. And in order to 'disable' your Master there's a *MODELB command which completely kills MER and leaves you with your old system until powered-up again. The kids can still run Elite!

Temporary Filing Systems

But the most impressive implementation is an almost-complete emulation of the Master's temporary filing system commands. This may be nothing new to Master users, but to be able to *-TAPE-CAT, *-ROM-EX or even *-ADFS-CDIR without interrupting your DFS working is quite an eye-opener to me! And *MOVE too? Many times I have wanted to make a second copy of a data file on the same disc but under a new name, and have to resort to *LOAD and re-*SAVE, but now I've got *MOVE [file1] [file2]. And if you have got an ADFS, from ADFS to DFS too - and vice versa - what a joy (even if it does take an age).

But I dare say you noticed the description "almost complete". What's missing? Nothing really, but we do come bang up against that workspace problem. Perhaps because MER uses page 9, I've not managed to successfully *MOVE between tape (or RFS) and disc. Sometimes the file is corrupt when MOVE, and sometimes it just crashes. LOAD "-TAPE-name" and reSAVE is fine, however. And perhaps the most serious drawback I've spotted is that I can't SAVE and LOAD from View 2.1 (page 7 being used for workspace is naughty as it really is the property of the current language) although READ and WRITE are fine. And anyway View 3 doesn't show this problem. David Atherton at Dabs Press tells me that they are looking into these problems.

Compatibility

The launch of a product like MER (at such a reasonable price) takes considerable courage for Dabs Press. Not only do they have to try to match all of the third party hardware add-ons but they also have to aim for compatibility with Master software. Here the issues are perhaps clearer to see, or at least it is easy to predict what won't work. First, the Master has a 65C12 processor with extra instructions which the 6502 hasn't, and you can't run machine-code software which uses those. Secondly, there is software which needs the extra space, which the Master's page value of &E00 gives (or machine code which loads into this area) - that's out too. And then the Master software may need some of the workspace which MER uses (such as View 2.1, and the Beebug Master ROM). Finally, there are some aspects of the Master OS which can't be emulated, such as the new OS calls, e.g. OSWRSC at &FFB3 (Bang goes my Colossus 4 64K version), or ROM polling. For this reason you can't expect MER to run all Master software, but Dabs Press claim that their ROM is compatible with 90-95% of of what's available.

One final point. If you buy MER, be sure you have a copy of version 2.01 (it's the one with an addenda sheet for the manual). If you have version 1.0, then Dabs will exchange it free of charge, and David Atherton also assures me that he operates a money-back guarantee if you have tried to work MER with some strange alien hardware and failed. That has to be a very fair offer.

Next month Bernard Hill takes a look at the Solidisk Real Time Clock mentioned in this review and provides some final thoughts on both products.

Bernard Hill

Other BBC Model B Game Reviews By Bernard Hill


  • Colossus Chess 4 Front Cover
    Colossus Chess 4