fsxNet Wiki

BBS Development & Resources

User Tools

Site Tools


doors:tutorials:dos:exageardosemu

Note: ExaGear no longer exists.

Eltechs discontinued ExaGear on Feb 28th 2019

DOS doors on RPi with ExaGear & DOSEMU

This guide is aimed at Raspbian Linux (Stretch) on Raspberry PI. In this example, I will be configuring for MagickaBBS and Tiny's Hangman game.

Step 1. Install ExaGear

ExaGear is in the official raspberry pi repositories, so installing it is easy:

  sudo apt-get install exagear-desktop

You will also need to install a license from eltechs, if you are not running headless you can use a 3 day trial.

Step 2. Install DOSEMU

The default installation of ExaGear seems to use Debian 8 as the guest system. DOSEMU is in the contrib repository which is not enabled by default, so you need to edit the sources.list inside the guest image.

  sudo vi /opt/exagear/images/debian-8/etc/apt/sources.list

Add contrib to the end of the line like this:

  deb http://ftp.us.debian.org/debian jessie main contrib

Now run exagear:

  exagear

And install dosemu:

  sudo apt-get update
  sudo apt-get install dosemu

Step 3. Configure DOSEMU

First, run dosemu once to create /home/pi/.dosemu/ paths then modify the supplied autoexec.bat.

This is my autoexec.bat (in /home/pi/.dosemu/drive_c/)

  @echo off
  break=off
  path z:\bin;z:\gnu;z:\dosemu
  set HELPPATH=z:\help
  set TEMP=c:\tmp
  prompt $P$G
  lredir del d: > nul
  lredir d: linux\fs/home/pi/MagickaBBS/doors
  unix -e

Step 4. Configure a Door

Firstly you want a dosemu.conf for calling the door, I use the same one for calling all my dos doors.

This is my dosemu.conf (in /home/pi/MagickaBBS/doors/)

  $_cpu = "80486"
  $_cpu_emu = "vm86"
  $_external_char_set = "utf8"
  $_internal_char_set = "cp437"
  $_term_updfreq = (8)
  $_layout = "us"
  $_rawkeyboard = (0)
  $_com1 = "virtual"

You will need both THANG23B.ZIP and BNU170.ZIP

First unzip BNU170.ZIP in /home/pi/MagickaBBS/doors/bnu

Then unzip THANG23B.ZIP in /home/pi/MagickaBBS/doors/thang

copy the executables from /home/pi/MagickaBBS/doors/thang/dos to /home/pi/MagickaBBS/doors/thang

Next Configure Tiny's Hangman by editing THANG.CFG. Note: I use dorinfo1.def but you could just as easily use door.sys.

Now create a batch file that we will use to launch tiny's hangman from DOS.

  @echo off
  D:
  CD \BNU
  BNU /L0=11520
  CD \THANG
  THANG /N%1 /DD:\THANG\NODE%1
  exitemu

create the following sub directories in THANG

  mkdir node1
  mkdir node2
  mkdir node3
  mkdir node4
  

until you have a directory for each node.

Finally, the script for running tinys hangman, thang.sh

  #!/bin/bash
  
  NODE=$1
  
  cp /home/pi/MagickaBBS/node${NODE}/dorinfo1.def /home/pi/MagickaBBS/doors/thang/node${NODE}/
  
  exagear -- /usr/bin/dosemu -quiet -f /home/pi/MagickaBBS/doors/dosemu.conf -I "dosbanner 0" -E "D:\THANG\THANG.BAT ${NODE}" 2>/dev/null

You can then edit your doors.ini to include:

  [Tinys Hangman]
  command = /home/pi/MagickaBBS/doors/thang.sh
  stdio = true

and finally edit doors.mnu

  HOTKEY 1
  COMMAND RUNDOOR
  DATA Tinys Hangman

Then restart Magicka and you should be able to run Tinys Hangman by pressing 1 on the doors menu. Please note it takes a while to start up.

doors/tutorials/dos/exageardosemu.txt · Last modified: 2020/10/21 12:18 by apam