Message Area
Casually read the BBS message area using an easy to use interface. Messages are categorized exactly like they are on the BBS. You may post new messages or reply to existing messages!

You are not logged in. Login here for full access privileges.

Previous Message | Next Message | Back to The Linux/FreeBSD MBSE BBS Suppo...  <--  <--- Return to Home Page
   Networked Database  The Linux/FreeBSD MBSE BBS Suppo...   [492 / 554] RSS
 From   To   Subject   Date/Time 
Message   Niels Haedecke    Deon George   Re: MBSE, Linux + Dosbox   November 22, 2018
 1:08 PM *  

Deon George wrote to Niels Haedecke:
DG> On 11/21/18, Niels Haedecke said the following...
DG>  NH> Well, looks like I have sorted this one out. I got "pimpwars" running 
DG> in
DG>  NH> QEMU and it works real nice. I will have to do some more testing with
DG>  NH> other doorgames but at least this one (which I picked randomly) 
DG> works.
DG>  NH> 
DG>  NH> If anyone is interested in the configuration details (door.sh script 
DG> and
DG>  NH> FreeDOS config), feel free to send me a netmail.
DG> 
DG> Awesome, I would be interested. Could you share the details?
DG> 
DG> ...deon
DG> 
DG>  _--_|\   | Deon George
DG> /      \  | Chinwag BBS - A BBS on a PI in Docker!
DG> \_.__.*/  | 
DG>       V   | Coming from the 'burbs of Melbourne, Australia
DG> 
DG> --- Mystic BBS v1.12 A39 2018/04/21 (Raspberry Pi/32)
DG>  * Origin: Chinwag | MysticBBS in Docker! (3:633/509.1)
DG> 

Well, there once was a howto on cyberia.darktech.org but this domain is long
gone. Fortunately, I did save a copy of the howto back then and build up on
this. I'll upload a "qemu-dos-door-kit" to my bbs once it is ready to open to
the public. This "kit" will contain the original howto and the scripts and DOS
configurations I have created to make things work.
 
With regards to MBSE on debian/raspbian Linux you need the following
prerequisites:

1. socat tool installed on your Linux box

2. qemu-system-i386 installed on your Linux box

3. a small disk image about (25 Megabyte in size) where a basic installation 
of
FreeDOS resides

4. The BNU.COM FOSSIL driver installed within the FreeDOS image mentioned
above and loaded by AUTOEXEC.BAT during QEMU startup.

5. a directory within MBSE's installation directory that contains the doorgame
and which will be mapped into QEMU as DOS drive D:

6. The script below which will be executed from the MBSE .mnu file. It
basically maps the MBSE user home directory into the DOS system as drive D:
(letting me access the door.sys dropfile) and it maps the respective door game
directory into the DOS system as drive E: - then it creates a temporary go.bat
file that will be executed and run the door. With QEMU running in the
background, acces from MBSE to the running door game is done through the
virtual serial port of the QEMU system via the "socat" command.     

--- script ---

#!/bin/bash
# set -x
trap '' INT TSTP

# get number of running QEMU procs and exit if load too high
# (this is needed for Raspberry Pi's)
Q_COUNT=$(ps ax | grep 'qemu-system-i386' | grep -v grep | wc -l)

if [ "${Q_COUNT}" -ge 3 ]
then
   echo "There are currently too many QEMU sessions running."
   echo "Please try again later."
   sleep 5
fi

# get random tcp port and re-shuffle if already in use
Q_PORT=`shuf -i 1025-65536 -n 1`

while $(nc -z localhost ${Q_PORT} )
do
   Q_PORT=`shuf -i 1024-65536 -n 1`
done

# define virtual serial port on QEMU system
Q_SERIAL="-serial tcp::${Q_PORT},server,nowait,nodelay"

# attach user home directory to drive D:
D_DRIVE="-drive format=raw,file=fat:rw:${HOME}"

# attach door game directory to drive E:
E_DRIVE="-drive format=raw,file=fat:rw:/opt/mbse/doors/qemu/doors/pimpwars"

# ...while we're at it, get the user's node number from door.sys
U_NODE=$(head -n 4 $HOME/door.sys | tail -n 1 | awk '{ print $1}' | tr -d 
'\r')

# build temporary go.bat to launch door game
echo "@ECHO OFF" > $HOME/go.bat
echo "C:" >> $HOME/go.bat
echo "CD C:\\BNU" >> $HOME/go.bat
echo "BNU.COM > NUL" >> $HOME/go.bat
echo "E:" >> $HOME/go.bat
echo "PIMPWARS.EXE D:\DOOR.SYS $U_NODE" >> $HOME/go.bat
echo "FDAPM POWEROFF" >> $HOME/go.bat

# change to QUEMU door dir
cd /opt/mbse/doors/qemu

# start QEMU and wait a second
qemu-system-i386 -m 1M -boot c -display none -localtime -drive
file=/opt/mbse/doors/qemu/dos.img,format=raw ${Q_SERIAL} ${D_DRIVE} ${E_DRIVE}
> /dev/null 2>&1 &
sleep 3

# run socat to connect to the virtual serial port on tcp port ${Q_PORT}
socat -,raw,echo=0 TCP:localhost:${Q_PORT}

# clean up 
rm $HOME/go.bat
cd ~
clear

-- /script --

Hope this helps a little, otherwise keep asking ;)

Kind regards,
Niels     

    Greetings, Niels Haedecke

--- MBSE BBS v1.0.7.8 (GNU/Linux-ARM)
 * Origin: Wintermute BBS (2:240/8002 2:240/1895 75:49/1895) (2:240/8002)
  Show ANSI Codes | Hide BBCodes | Show Color Codes | Hide Encoding | Hide HTML Tags | Show Routing
Previous Message | Next Message | Back to The Linux/FreeBSD MBSE BBS Suppo...  <--  <--- Return to Home Page

VADV-PHP
Execution Time: 0.0779 seconds

If you experience any problems with this website or need help, contact the webmaster.
VADV-PHP Copyright © 2002-2024 Steve Winn, Aspect Technologies. All Rights Reserved.
Virtual Advanced Copyright © 1995-1997 Roland De Graaf.
v2.0.140505

Warning: Unknown: open(c:\Sessions\sess_hsrodg31sn7vujb2se0dduc1u3, O_RDWR) failed: No such file or directory (2) in Unknown on line 0 Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (c:\Sessions) in Unknown on line 0 PHP Warning: session_start(): open(c:\Sessions\sess_hsrodg31sn7vujb2se0dduc1u3, O_RDWR) failed: No such file or directory (2) in D:\wc5\http\public\VADV\include\common.inc.php on line 45 PHP Warning: Unknown: open(c:\Sessions\sess_hsrodg31sn7vujb2se0dduc1u3, O_RDWR) failed: No such file or directory (2) in Unknown on line 0 PHP Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (c:\Sessions) in Unknown on line 0