-
Notifications
You must be signed in to change notification settings - Fork 72
wwiv 5.4 dosemu door example (global war)
granitepenguin edited this page Jul 28, 2018
·
9 revisions
- Make sure Native STDIO is set to NO
Editing Chain # 1
A) Description : gw
B) Filename : /bbs/doors/gw/gw.sh %C %H
C) SL : 10
D) AR : None.
E) ANSI : Optional
F) DOS Interrupt: NOT Used
G) Win32 FOSSIL : No
H) Native STDIO : No
I) Launch From : BBS Root Directory
J) Local only : No
K) Multi user : No
L) Registered by: AVAILABLE
M) Usage : 29
N) Age limit : 0 - 255
(Q=Quit) Which (A-N,R,[,]) :
- Here's gw.sh
#!/bin/bash
set -x
# %1 is drop file
# %2 is socket handle
declare -r DROPFILE_PATH=$1
declare -r DROPFILE_NAME=$(basename ${DROPFILE_PATH})
declare -r BBS_TEMPDIR=$(dirname ${DROPFILE_PATH})
declare -r DOOR_DIR=/bbs/doors/gw
declare -r SOCKET_HANDLE=$2
cd ${DOOR_DIR}
unix2dos ${DROPFILE_PATH}
# D: is door path
# T: is TEMP path
export DOSDRIVE_D=${DOOR_DIR}
export DOSDRIVE_T=${BBS_TEMPDIR}
socat -d -d FD:${SOCKET_HANDLE} EXEC:"dosemu -f /home/wwiv/.dosemurc gw.bat",pty
Notice the call to socat, that creates the PTY from the socket handle
- gw.bat
D:
cd\
war /w T:\chain.txt
- In $HOME/.dosemurc make sure you have the following. I couldn't get the ifdef u_serial to work, so I did this instead by hard coding it.
$_com1 = "virtual"
Here's the whole file:
$_sound = (0)
$_cpu = "80586"
$_hogthreshold = (10)
$_dpmi_base = (0x10000000)
$_external_char_set = "cp437"
$_internal_char_set = "cp437"
$_layout = "us"
$_com1 = "virtual"
- autoexec.bat
@echo off
rem autoexec.bat for DOSEMU + FreeDOS
path z:\bin;z:\gnu;z:\dosemu
set HELPPATH=z:\help
set TEMP=c:\tmp
blaster
prompt $P$G
unix -s DOSDRIVE_D
unix -s DOSDRIVE_T
if "%DOSDRIVE_D%" == "" goto nodrived
if "%DOSDRIVE_T%" == "" goto nodrived
lredir del d: > nul
lredir del t: > nul
rem D is door path, T is temp
lredir d: linux\fs%DOSDRIVE_D%
lredir t: linux\fs%DOSDRIVE_T%
goto good
:nodrived
echo "missing DOSDRIVE_(D|T)"
exitemu
:good
rem uncomment to load another bitmap font
rem loadhi display con=(vga,437,2)
rem mode con codepage prepare=((850) z:\cpi\ega.cpx)
mode con codepage select 437
chcp 437
lredir e: linux\fs/media/cdrom c
unix -s DOSEMU_VERSION
echo "Welcome to wwiv dosemu %DOSEMU_VERSION%!"
unix -e
- config.sys (no change from the default)