Skip to navigation

Playing Elite over Econet in an emulator

How to set up BeebEm with an emulated Econet network that runs Elite

If you don't have your own personal Econet network but you want to see what the fuss is all about, then there's another option. If you have a Windows machine, then you can use the BeebEm emulator to emulate a Level 2 fileserver and Econet network, all on the same PC. You can then run Elite over Econet and the multiplayer scoreboard in multiple BeebEm instances, like this:

Elite over Econet in BeebEm

It's also possible to set up multiple BeebEm instances on different machines on your network and connect them together, though be warned: this is all pretty experimental stuff, so your mileage may vary.

If anyone tries this, I'd love to know how you get on. You can ask me questions or tell me how it went in this Stardot thread.

1. Configure BeebEm for Econet
------------------------------

The first step is to install BeebEm and configure an emulated Econet network. You can either set up a local cluster of five machines on the same PC, or you can try connecting machines across your entire network. If this is your first attempt, I highly recommend the first option.

  • Download and install BeebEm.
  • Have a quick read of the instructions for configuring BeebEm to emulate Econet. You don't need to do anything here, as you can just follow the steps below, but it's handy to skim these instructions anyway, just to get an idea of what's involved. We're going to be installing a Level 2 fileserver.
  • For the quick and easy local server setup, you can create up to five BeebEm instances on one machine, in which case the last part of your Econet.cfg file should look like this (i.e. just remove the comments from the default file):
      # Example network configuration.
    
      # Fileserver (station number 254) and 4 stations on the local PC:
      0 254 127.0.0.1 32768
    
      # Stations:
      0 101 127.0.0.1 10101
      0 102 127.0.0.1 10102
      0 103 127.0.0.1 10103
      0 104 127.0.0.1 10104
    
    You should also untick Options > Freeze when Inactive in BeebEm, so when you run your five BeebEm instances, they can all run concurrently.
  • If you want to try something more complicated (but also more unreliable), then you can set up BeebEm on different physical PCs on the same local network. I recommend you first try the simpler setup above, but if you want to move to the next level, then the last part of Econet.cfg should list all your different PCs, mapping their IPs to Econet station numbers, like this example:
      # Fileserver (station number 254):
      0 254 192.168.0.80 32768
    
      # Stations:
      0 101 192.168.0.64 10101
      0 102 192.168.0.87 10102
      0 103 192.168.0.156 10103
    
    In this example, the machine with IP 192.168.0.80 is the fileserver, while 64, 87 and 156 are user machines. Local IP address formats can vary from network to network, so you need to check what they actually are.

    For multiple PCs over the network, you should set Econet.cfg to be exactly the same on every instance of BeebEm that you want to connect over the network.

    I have also tried multiple machines from one machine on the latter, and it works. So adding this line to the above, for example:
      0 250 192.168.0.80 10250
    
    will enable two separate BeebEm instances to run on the server machine, one as station 254 (the server) and the other as station 250 (which could be a scoreboard, for example). Don't forget to untick Options > Freeze when Inactive in BeebEm, so they can all run concurrently.

    The above worked for me, but having said that, my test network wasn't terribly stable when actually loading Elite (it was fine when Elite had loaded and the scores were the only traffic, though). Econet in BeebEm is experimental, so your mileage may vary. See the BeebEm instructions for some things you can try to fix this, or see the notes in section 6 below.

2. Get the fileserver working
-----------------------------

The second step is to create a Level 2 Econet fileserver containing Elite over Econet.

  • Start an instance of BeebEm to act as the fileserver (you can either double-click BeebEm or run it from the command line).
  • Configure it via the Hardware menu as a BBC Model B with a 65C02 second processor, with Econet On.
  • Press Ctrl-N-F12 to reset the machine and switch to Econet (it should show the station number as 254).
  • Attach the Level 2 Econet utilities disc image that comes with BeebEm to drive 0 (i.e. File > Load Disc 0... and choose the econet_level_2_utils.ssd image).
  • Press Ctrl-D-F12 to reset the machine and switch to DFS.
  • Type *FS and Return to start the Level 2 software.
  • Enter any date before 1999 - I enter 11/11/84, for example.
  • Enter 1 for the no. of drives.
  • Download the econet_level_2_elite.dsd disc image, which is a Level 2 data disc containing Elite.
  • To make this disc image easier to attach to BeebEm, you can optionally copy it into the UserData\DiscIms folder where you installed BeebEm, so it's easily available in the disc menu.
  • When you see the "Command:" prompt, attach the downloaded econet_level_2_elite.dsd disc image to drive 0 (i.e. File > Load Disc 0... and choose the econet_level_2_elite.dsd image).
  • Make sure that drive 0 is writable (i.e. make sure that File > Disc options > Write Protect 0 is unticked).
  • Press "S" at the "Command:" prompt.
  • Enter the number of machines you want on the network, which should be 5 if you are setting up local machines, or the actual number if you are setting up a proper network. Keep this number as low as possible, but large enough to cater for all your players.
  • You should see "Starting - Ready" to indicate that the fileserver is set up and running.
  • If you see a message about inserting a master disc, then you probably haven't inserted the econet_level_2_elite.dsd image into drive 0.

3. Set up the scoreboard
------------------------

The third step is to start up the Elite scoreboard on one of the emulated machines.

  • Start an instance of BeebEm to act as the scoreboard (you can either double-click BeebEm or run it from the command line).
  • Any machine type will do, but I tend to configure it as a plain BBC Model B; just make sure Econet is On.
  • Press Ctrl-N-F12 to reset the machine and switch to Econet (it should show the station number at the top).
  • Type *I AM ELITE and Return. This logs us on to the fileserver.
  • Type *ELITE S and Return. This runs the scoreboard.
  • When the scoreboard has loaded, enter a port number for this scoreboard (e.g. 100) followed by Return.
  • Make a note of the network and station number shown in the top-right corner (the red "Stn") and the port number (the green "Port").

4. Run Elite for each player
----------------------------

The fourth step is to start running Elite itself.

  • For each player, start an instance of BeebEm to run Elite (you can either double-click BeebEm or run it from the command line).
  • Configure it via the Hardware menu to the machine type for the version you'd like to play (i.e. BBC Model B, BBC Model B with 6502 Second Processor or BBC Master 128) and make sure Econet is enabled.
  • If you choose to set up a BBC Master, you need to enable ANFS by typing *INSERT 8 and Return.
  • Press Ctrl-N-F12 to reset the machine and switch to Econet (it should show the station number at the top).
  • If you choose to set up a BBC Master, you now need to configure the fileserver number by typing *CONFIGURE FS 0.254 and Return. Then do another Ctrl-N-F12 to reset the machine.
  • Type *I AM ELITE and Return. This logs us on to the fileserver.
  • Type *ELITE and Return. This runs Elite over Econet.
  • For the BBC Micro, follow the instructions on freeing up enough memory (when it says press BREAK, press F12).
  • This should run Elite. If not, repeat the last three steps, as sometimes the emulated network jams.
  • You can load/save commander files from the fileserver; all players share the same user directory, so be careful not to overwrite other player's files (unless you intend to).
  • There is a maxed-out commander called MAX to give you a head-start.

5. Point each instance of Elite to the scoreboard server
--------------------------------------------------------

The fifth step is to set up network communication from Elite to the scoreboard.

  • In each instance of Elite, start by saving your commander under a unique name that you want to use in the multiplayer game (you can either do this by pressing "Y" on the title screen, or pressing "@" in-game). If you don't do this then you will have lots of players called JAMESON or MAX, which isn't ideal.
  • Exit the save/load menu into the main game.
  • While docked, press End to pause the game, and tap "N" to enter the network menu.
  • Enter the network, station and port numbers from when you set up the scoreboard above, and optionally reset the score (if it isn't already zero); if your scoreboard is on 0.101, say, then the network number is 0 and the station number is 101.
  • Press "Y" or "N" depending on whether you want to reset the scores (if they are zero then it doesn't matter what you pick); you probably want to do this before starting a new multiplayer game.
  • Once you see OK, tap any key to go back to the game.
  • If you make a mistake, just press End and "N" again to have another go.
  • If all is well, then after a short pause you should see your commander name and score appear in the scoreboard.
  • Repeat this process for all players on the network.

6. Notes
--------

Here are some notes.

  • I've had some intermittent issues with line jam errors when running BeebEm locally, despite trying the fix in the documentation. For reference, I've tried running BeebEm like this on my PC:
      C:\Users\Mark\Documents\Files\Emulators\BeebEm\BeebEm.exe -EcoFF 50000
    
    but it doesn't seem to make any difference compared to double-clicking BeebEm to run an instance. Your mileage may vary, of course.
  • As the default BBC Model B configuration in BeebEm has sideways RAM enabled, players will show up with a machine type of "B+" in the scoreboard. You can disable sideways RAM via the Hardware menu (Edit ROM configuration) to get the authentic Model B experience.
  • If you would like to create the Elite Level 2 data disc yourself (i.e. the econet_level_2_elite.dsd disc image from step 2 above), then this is how I did it in BeebEm. This process is based on BeebMaster's excellent guide.
    • Configure BeebEm via the Hardware menu as a BBC Model B with a 65C02 second processor, with Econet On.
    • Attach the Level 2 Econet utilities disc image that comes with BeebEm to drive 0 (i.e. File > Load Disc 0... and choose the econet_level_2_utils.ssd image)
    • Enter CHAIN "DSCMGR"
    • Create a blank 80-track double-sided disc image in drive 1 called econet_level_2_elite.dsd (i.e. File > Disc Options > New Disc 1... and choose "Double Sided Disc (*.dsd)")
    • Make sure that drive 1 is writable (i.e. make sure that File > Disc options > Write Protect 1 is unticked).
    • Choose option I, enter drive 1, press RETURN and wait for formatting to happen
    • Enter a disc name: ELITE
    • Enter a date: 11/11/84
    • Password File: Y
    • User name 1: ELITE
    • Just press RETURN for user name 2
    • At the Your Choice prompt press Q to quit
    • Follow the instructions in the "2. Get the fileserver working" section above to get the Level 2 server running with our newly created (but blank) data disc
    • Install Elite on the Level 2 data disc by following the standard installation instructions
    This will create a Level 2 data disc containing Elite over Econet that you can run on your BeebEm network (see above).

That's it. You can ask me questions or tell me how it went in this Stardot thread. If anyone manages to get this working, do let me know...