This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
doors:tutorials:dos:exageardosemu [2018/01/28 03:58] apam |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== 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 [[https://eltechs.com/product/exagear-desktop/|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 [[http://tinysbbs.com/files/tsoft/THANG23B.ZIP|THANG23B.ZIP]] and [[http://www.pcmicro.com/bnu/bnu170.zip|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 | ||
- | export SDL_VIDEODRIVER=dummy | ||
- | | ||
- | cp /home/pi/MagickaBBS/node${NODE} /home/pi/MagickaBBS/doors/thang/node${NODE}/ | ||
- | | ||
- | exagear -- /usr/bin/dosemu -S -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. |