Ensemble on Raspberry Pi with Ethernet support

I have managed to install and run Ensemble on Raspberry Pi with Ethernet support, to connect Ensemble to internet. To do that you need a Raspberry Pi, Dosbian, Ensemble, and a working Ethernet connection, and of course a monitor, keyboard and mouse.

There are several models of Raspberry Pi, I recommend the 3B or 4B, for the best performance. I have tested to run Ensemble on a Raspberry Pi B+ and Pi Zero, it works, but the performance is very slow.

You find Dosbian here: https://cmaiolino.wordpress.com/dosbian/ .

Dosbian is a combination of Raspian (Buster?) and DOSBox. It is a dediated DOS Emulator, which boots directly into the DOSBox. The Raspian works as a help system for the DOSBox. There are two versions of DOSBox included, SVN and ECE, it is SVN which is interesting for Ensemble. Dosbian also includes scripts and some additional software, you can read about it in the link above. DOSBox SVN in Dosbian have Ethernet support. It is really not technically anything new, it is basically DOSBox Megabuild. The new thing is the concept, which is very nice, and in line with my thoughts about a DOSBox  for Ensemble. Nice to run it on a low-cost hardware like Raspberry Pi.

It is quite simple to setup. Download the Dosbian image file and flash it to a SD card with Balena Etcher or Rufus software. The SD card needs to be 4 GB or larger as the image is 4 GB. It is possible ot enlarge the image in Dosbian, after the flash.

In the DOSBox SVN.conf file you have to change under the NE2000 section, the realnic=list to realnic=1, as the Ethernet adapter is the primary network controller in the Raspberry Pi. Even if there is wifi, it is, sadly, not supported in DOSBox yet?. The NE2000 support have two options, ODI driver and Packet Driver, which both is supported in Ensemble, even if the driver is not in Ensemble. You will need the DOS drivers for NE2000, either the ODI-drivers (LSL and NE2000) or the packet driver from Crynwr. If you plan to use the Packet driver, you have to change the INT to 10 in the DOSBox-svn.conf file, under the NE2000 section. The packet driver will not support INT3. Thanks to Thomas Hass, for this valuable hint!

To create an USB drive which will be accessible in DOSBox and in Ensemble add this line below the mounted c drive in the Autoexec section of DOSBox-SVN.conf: mount d /media/usb0

The best way to install Ensemble is to place the Ensemble zip file on an USB memory stick and copy it to the SD card, or copy it directly to the SD card for the computer where you flashed the SD card. Unzip the Ensemble file with a DOS unzip software in DOSBox. If you intend to use FreeDOS Unzip, keep in mind that you also need the DOS Extender from FreeDOS to make Unzip work. I have noticed that the Midnight Commander included in Dosbian tends to trash the Ensemble files, when unpacking the Ensemble zip file.

In Ensemble you have to change the file system driver under the System section to fs = os2.geo, to make Ensemble work in DOSBox. There is also the network drivers, EtherODI and EtherPKT, you need to have. I have noticed that Ensemble tends to crash with a KR-09, if specific keyboard drivers are loaded in DOSBox. This is good to keep in mind, if you have chosen to have specific keyboard drivers loaded in DOSBox. The default (US?) keyboard  settings works, but can be of irritaion, if you don’t know where the right keys are.

Good luck!


PS. I have probably forgotten things here, just ask me, and I will help you out.

15 thoughts on “Ensemble on Raspberry Pi with Ethernet support”

  1. researching Dosbian, it would be good if you explained, even if only a sentence or two, what Ensemble is. This is the 1st I’ve heard of it.

  2. Hi all,
    I tried this, but I hav a problem. I put the DOSBIAN image to a 32GB SD card.
    Now the usable space is onlx 256MB, How to enlarge? Where the Dosbian-svf.conf is to find?
    I’m not a linux freak 🙂 but I know a little bit about it.
    Thanks in advance

    1. Hi Frank,
      You boot Dosbian, so the DOSBox is started. In DOSBox you type exit. Now you will get to the Dosbian menu. Here you can do two things, you can start the config menu, here you can enlarge the SD memory. Or you can start a terminal by exit the Dosbian menu, then in the terminal you can write “sudo raspi-config” without the quotation marks, to start the config menu, and enlarge the memory. You get a text menu and you navigate with the keyboard. You might also get the option to enlarge when exiting, to terminal, I can’t remember? I have a slight problem today, I can’t help you in detail, as my Dosbian computer is in parts as I am going from a cardboard prototype to a plexiglass construction. Maybe I can put it in a box and start it, if this does not help. Regarding putting Breadbox Ensemble on the Dosbian, copy the Ensemble-zip-file to the Dosbian folder, and copy a DOS unzip tool to the same folder and boot to DOSBox and unzip the Ensemble zip file in the folder. The N*rt*n Commander clone in the package corrupts the geos files, if you copy an unzipped Ensemble folder.

      Best regards,

  3. Hi Hans,
    thank you for your hints….
    now I found the possibility to edit the conf… but I have plugged in an usb stick with GEOS and this is nout found at any usb? in the /media folder….


  4. Hi Hans,
    but the free space is only 256 MB in this folder. And the available space at the dosbian card is about 27 GB. How can I use this space?

    Best regards

  5. Now Ensemble runs…. 🙂 from the USB stick.
    As you wrote, the keyboard is problematic. in the keylayout is the “:” missing…. I need the german layout.

    Best regards
    Frank (aka GeosShark)

  6. Hans Lindgren! That is a famous name in the GEOS world. Congratulations on getting Ensemble to run on the Pi!

    I have thought about whether there should be some sort of “PC/GEOS computer” similar to the GlobalPC. Maybe like what the MEGA65 is to the Commodore? With a SoundBlaster compatible sound card and other hardware that would work well? It would make hardware development for the platform easier.


  7. Do you have any links for getting networking running on real hardware? I have a Etherlink III card I want to use, and was wondering what the setup would be. I want to see if I can get protoweb running on the system!

    1. Hi,
      Sorry for late reply. I don’t have experience of Etherlink III. In PC/Geos you can either connect to internet by using an ODI client or a packet driver. I would suggest a packet driver, as they are faster and requires less base memory (small packet driver). I would suggest that you download the Nicscan.exe from Georg Potthast to see what packet driver you need, maybe you can use the 3com driver on his page? Here is the link: http://www.georgpotthast.de/sioux/packet.htm

      When you figured out and started the driver on your computer, I would suggest that you install the mTCP package from Michael Brutman, and try to ping something, like for example your gateway. mTCP can be found here: http://www.brutman.com/mTCP/. Check the IP4-address you get from the mTCP DHCP, you will need that for Geos.

      You also need to download the packet driver for Geos, which can be found here: http://www.geopixel.de/GEOPROG/ETHERPT2.ZIP. The package contains two drivers, of which one is not working. Unpack and use the Etherpkt.geo, which is 4.5 kb. Copy the file to the ensemble\system\socket folder.

      You need then to setup internet support for Geos. I would suggest this way: First setup a PPP connection by modem, even if it will not work, also do a connection, which will fail. Then switch to ODI network, and add the ip4-address from mTCP and the gateway and DNS for your network, you can also add the Google DNS as secondary DNS. Then restart Geos and do a connection, which will also fail, as you do not have a ODI client installed. Then close Ensemble and edit Geos.ini. Check for the [tcpip] section. Change the “link” to “link = Packet Ethernet Driver”, and and “linkDomain” to “linkDomain = EtherPKT”, all without quotation marks, but I think it will be obvious, when you will work with editing Geos.ini.

      This is the process in basic steps.


  8. Great I use GEOS Ensemble everyday at my work – a company that does over 5,000,000.00 in revenues each year. in the US. Love the simplicity of the program

Leave a Reply