The BBS and Mailer will be down for just a little bit while I make a backup and upgrade to the latest alpha version of Mystic A45. Shouldn’t take long as it’s just a straight xcopy to another PC where I sync everything to a dropbox folder.
rmiles7721
A how-to on getting DOSBox to work with Mystic BBS (Windows version)
Maskreet over at Throwbackbbs.com has this pretty good write-up that’s been up at least a couple of years. I needed it earlier this week and his site was temporarily down so I’ve decided to mirror it here. Everything below is courtesy of him:
Written by maskreet 12/3/2014
(updated 1/19/2018; newest DOSBox SVN)
First of all, if you don’t already have it, install Microsoft Visual C++ 2010 SP1. DOSBox requires this to run.
Standalone installer here
As of this writing, the latest stable release of DOSBox (v0.74) has a broken socket inheritance, so you’re going to be grabbing an SVN release. I used EmuCR from
http://www.dosbox.com/wiki/SVN_Builds#Plain.2Fvanilla.2Fclean_SVN_builds
but you can use whichever you like, as long as socket inheritance is fixed in that version.
(**NOTE** Most of the links to download that particular flavor and version are fake adware pushers, so here’s the real thing if you don’t want to take your chances: link)
Next you’ll be grabbing a Fossil driver. x00 or BNU will work, since they seem to be the easiest to load and use. I personally use BNU, but again, whichever you prefer. x00 v1.53 and BNU v1.70 are the last, stable releases. BNU can be found at http://pcmicro.com/bnu/, while x00 can be found with a Google search (local BNU file here, local X00 file here)
Now you’re going to need DoorWay to Unlimited Doors (hereafter called DoorWay). The latest version is on the pcmicro.com website, but doesn’t seem to have it listed on the main page. Either do a Google search for it, or head to http://pcmicro.com/doorway/download.html and download it from there. It’s shareware, so it’s limited to 10 minutes per use. I’d *highly* suggest registering (local DoorWay file here).
Now grab your games. I used http://www.myabandonware.com/ but any site that has them works. Keep in mind that you’re going to be limited to text and ANSI colors, and the games can’t be running in full-screen. A list of games I found that worked are:
Adventure!
The Adventures of Alice Who Went Through the Looking-Glass and Came Back Though Not Much Changed
A Mind Forever Voyaging
Amulet of Yendor
Ballyhoo
James Bond 007 – Goldfinger
James Bond 007 – A View to a Kill
Brimstone
Cyborg
Deadline
Enchanter
Forbidden Castle
Hack
The Hermit’s Secret
Infidel
McMurphy’s Mansion
Moonmist
Nethack
Leather Goddesses of Phobos
Suspended
Stephen King’s The Mist
Trinity
Voodoo Island
The Wizard’s Castle
Wishbringer
Zork 1
Zork 2
Zork 3
This isn’t a complete list at all, just the ones I grabbed and ran.
Create a directory for whichever games you downloaded; I used C:\GAMES. Each game to its own directory inside the GAMES directory. Don’t worry about directory naming conventions (8 characters or less), since DOSBox will be mounting each game to its own root directory when fired up. Now create a directory named !U_GAMES in your GAMES directory.
Before getting too involved with the rest of this how-to, run each game to make sure it works. It HAS to be in a window, and can’t have anything other than text and ANSI graphics.
Create a directory somewhere on your hard drive for both DoorWay and DOSBox. I used C:\DOORWAY and C:\DOSBOX for mine. Also, create a directory in your DOORWAY directory named CFG. Uncompress them into their respective directories. Uncompress BNU into a temp directory, and just move BNU.COM over to your DoorWay directory.
Now, to the DOSBox config. I’m using Windows XP for my BBS, so DOSBox will create the default config file in:
C:\Documents and Settings\<account name>\Local Settings\Application Data\DOSBox\dosbox-SVN.conf
but you can see where it creates it on any version of Windows you run just by running DOSBox for the first time and looking at the DOSBox status window.
Once it’s created, head to that directory and open it up. Go through the entire config and turn off anything that you won’t be using. That includes all sound emulation, joystick, mouse, etc.
When you get near the bottom, you’ll see a section named [serial]. Make sure serial 2, 3 and 4 are set to disabled. for serial 1, set it like this:
serial1=nullmodem inhsocket:1 telnet:1
and close the config, saving your changes.
Easy so far, right?
Here we’re going to create the batch file. Create a new one in your DoorWay directory. I named mine DOOR.BAT, but you can name it whatever you like. Mine is a bit clunky, but it works. If you can polish yours to be more streamlined, go for it. If your setup so far is exactly like mine, you’ll need to put this in it:
@echo off
C:
IF EXIST C:\games\!u_games\%4\%1\NUL GOTO EXISTS
IF NOT EXIST c:\games\!u_games\%4\NUL GOTO NOUSERDIR
IF NOT EXIST c:\games\!u_games\%4\%1\NUL GOTO NOGAMEDIR
:NOUSERDIR
c:
CD\games\!u_games
MD %4
GOTO NOGAMEDIR
:NOGAMEDIR
c:
CD\games\!u_games\%4
MD %1
xcopy c:\games\%1\*.* c:\games\!u_games\%4\%1 /e /y /i
GOTO EXISTS
:EXISTS
c:
cd\doorway
echo /CD>CFG\%1.cfg
echo /H:>>CFG\%1.cfg
REM echo /D:>>CFG\%1.cfg
REM echo /G:ON>>CFG\%1.cfg
echo /O:T>>CFG\%1.cfg
echo /S:f:\>>CFG\%1.cfg
echo /V:D>>CFG\%1.cfg
echo /K:180>>CFG\%1.cfg
echo /RB>>CFG\%1.cfg
if %1==ADVENT goto ADVENT
:ADVENT
echo /P:d:\advent.exe>>CFG\%1.cfg
echo /B:M>>CFG\%1.cfg
GOTO COMMAND
:COMMAND
c:
cd\dosbox
dosbox.exe -c “mount d c:\games\!u_games\%4\%1” -c “mount e c:\doorway” -c “mount f c:\mystic\temp%3” -c “e:” -c “bnu /f” -c “DOORWAY.EXE SYSF CFG\%1.cfg” -c “exit” -securemode -socket %2
REM %1 = config file / directory name
REM %2 = socket
REM %3 = node number
REM %4 = user’s number
The batch first checks if each user’s custom directory exists based on their BBS user number. If it doesn’t, it creates it. It moves on to the next step, which is to see if the game they’re calling from the BBS exists in their user number directory. It creates that as well if it doesn’t exist, then xcopies the source game to their personal directory. Then it creates a custom CFG file in the CFG directory for DoorWay to use, based on the game name passed from the BBS menu. After that, it looks to see which game is being called, adds the last two CFG lines (which I’ll discuss a bit later), and finally starts DOSBox. DOSBox fires up, creates the mounted directories inside it, starts the Fossil driver, starts DoorWay, and runs the game. After quitting the game, either through user interaction, BBS disconnect or a 3 minute timeout, it passes control back to the BBS.
The DOSBox command line is:
| -c | Tells DOSBox that you want to pass a command; preface any command you want with a -c and enclose in quotes |
| -c “mount d c:\games\!u_games\%4\%1” | Tells DOSBox to mount the user’s game directory as the D: drive in DOSBox |
| -c “mount e c:\doorway” | Tells DOSBox to mount the DoorWay directory as the E: drive in DOSBOx |
| -c “mount f c:\mystic\temp%3” | Tells DOSBox to mount Mystic’s temp<node> directory as the F: drive; needed by DoorWay for DOOR.SYS |
| -c “e:” | Changes to the DOSBox mounted E: directory |
| -c “bnu /f” | Loads BNU Fossil driver inside DOSBox with the default configuration |
| -c “DOORWAY.EXE SYSF CFG\%1.cfg” | Starts DoorWay with the custom config file in the CFG directory |
| -c “exit” | Passes an EXIT command to DOSBox (used as one of the ways to close DOSBox; /RB commandline parameter for DoorWay is another in the DoorWay config file) |
| -securemode | Tells DOSBox to not allow any additional setting or messing with the intial drive mountings in DOSBox |
| -socket %2 | Tells DOSBox you want to pass the socket to it from the BBS; %2 is the batch files’ interpretation of the socket passed from the BBS command |
The DoorWay commands are:
| /CD | Goes to the game’s directory and runs it from there |
| /H: | Keeps the user from being able to shell to DOS (if possible in the game, which I haven’t seen but you can’t be too careful) |
| /D: | Keeps the user from being able to write to the system (not really needed, was using this in an older setup that wasn’t sandboxed in DOSBox; also keeps the user from being able to save their games, which defeats the purpose of the whole thing) |
| /G:ON | ANSI graphics mode. Seems to work without this. |
| /O:T | Skips the default “DOORWAY TO UNLIMITED DOORS” full screen loading message |
| /S:f:\ | Points DoorWay to where your BBS DOOR.SYS is located; in the DOSBox command line, this will be drive F: |
| /V:D | Direct video writes |
| /K:180 | Keyboard timeout in seconds; change to whatever you like |
| /RB | Reboot after exit of DoorWay; some games need this to exit properly. Won’t reboot your system, only closes DOSBox |
The four lines in your Adventure! example are:
| :ADVENT | The target label called by “if %1==ADVENT GOTO ADVENT” earlier in the batch file. HAS TO MATCH THE SOURCE GAME DIRECTORY! |
| /P:d:\<game executable> | /P: is the command that tells DoorWay what needs to be run when invoked. d:\<game executable> is the name of the game that it runs. IT MUST BE A .COM OR .EXE FILE! Batch files won’t work with this setup. |
| /B:M | /B: deals with the bottom line of the game. M will move the characters to the line above (line 24). Some games can be configged to whichever amount of lines you like, which means you’d be able to remove this from that particular game. Others don’t and require it. It’s up to you to figure out which is needed. |
| GOTO COMMAND | Tells the batch file to go to the COMMAND label and run DOSBox. |
Now that that’s all setup, we’ll be creating the Mystic menu commands to run the games.
I have mine setup where going to the DOORS menu from the MAIN menu gives a listing of games in categories. I have one for InterBBS games, one for card games, one for single-player games, one for these DOS games, etc. It doesn’t really matter where they’re accessible, just that they’re accessible. No fun playing them by yourself, right? =)
Create a new menu for your game. Configure it however you like when presented to the user. For the commands, basic setup looks like this:
| Command | Access | Data |
| (GD) Display a file | s50 | c:\games\advent\help_advent.txt (OPTIONAL – create and display if the game has something that the user might need to know) |
| (NA) Set node action | s50 | Playing Adventure! (OPTIONAL – sets the Who’s Online listing with what they’re doing) |
| (DG) Exec door | s50 | c:\doorway\door.bat ADVENT %0 %3 %# (The text after door.bat MUST have those four commands in that exact order!) |
| (GT) Display a line of text s50 | s50 | |CR|CR|PA (OPTIONAL – two carriage returns, pauses after the game quits back to the BBS) |
The help text files should look similar to this:
|CL
Use the spacebar to advance past the PAUSE prompts in game
|PA
For the DG command:
It creates a DOOR.SYS file that DoorWay needs to read to set time limits and ANSI settings (time limits only in registered version, otherwise 10 minute limit each time)
ADVENT is the name of the game. IT HAS TO MATCH THE NAME OF THE BASE GAME DIRECTORY YOU CREATE AND GOTO LABEL IN THE DOOR.BAT FILE! Make sure all three are the EXACT same, or it won’t work.
%0 is the socket handle that’s passed to DOSBox
%3 is the node the user is currently on; used to tell DOSBox where to mount one of the drives for the DOOR.SYS file to be read by DoorWay
%# is the user number, used to create the user directory and/or pass the info to DOSBox to mount one of the drives.
Now that everything’s setup, test it out. If it works, great! The easiest way to create new menu entries is to copy/paste and edit a couple relevant things. Be sure each menu entry command has the directory and NAME changed to whichever game it is; everything else on the DG command line can and should be left the same.
If it doesn’t work, then make sure the game name as your game directory, labels in the DOOR.BAT file and menu command are all the same. Also, look for any typos anywhere.
Any comments or questions can be directed at sysop@throwbackbbs.com, or in an email on the BBS.
New Content on the Board
Added a bunch of lit packs today as well as several hundred old BBS mods and art packs. Still need to separate the art packs into different sections at some point. Also have added email validation. Expect that the next time you log in. If you don’t have a valid email address, update it from the personal settings menu or shoot me a message and I will do it.
BBS Screenshots
Here are some example screenshots of menus on the board.










Thanks mostly to Luciano Ayres at https://www.ansigarden.com/ for the awesome menus. There’s no way I could have such a good looking BBS without them. I am OK at Ansi/Ascii and can edit existing stuff but my work pales in comparison to most of the great artists out there.
Happy Anniversary Shadowscope!
Apparently I missed it. Shows how much I care 🙂
At some point in October or November of 1999 I converted over from a BBS to a web site. Ran it using a dynamic dns url for about a year and purchased shadowscope.com in December of 1999 (I think)
My first couple of months were hand coded entries and at the time I mainly posted about BBS news and Windows customization. Unfortunately since I was handcoding I would just delete the old ones and post over the top so the oldest stuff I have online is from November of 1999. I managed to recover those from the Wayback machine a few years ago and insert into my blog.
I’ve met some awesome people over the last 30 years of being online through BBSing and blogging so here’s to another couple of decades!
Some BBS Updates
Wow. 2019. Looks like I haven’t posted since 2017. Time flies right?
Anyway, you can access still access the BBS from the menu links above by choosing the ftelnet option. I have also got a small applet hosted at shadowscope.noip.us, as Mystic now has a builtin web server.
I am in the process of adding SSH, SMTP and POP3 to the BBS. The POP3 support is only currently for local BBS mail for the time being. I have not yet tested out SSH to see how ansi support is. Only SSH client I have ever used is puTTY and I have no idea how that will look.
I can’t find very much information about the html support that was added to Mystic so not yet sure what I will be able to do. One of the very few things I miss from Synchronet (and EleBBS before that) is being able to get to my netmail and echomail from the web. I work so much and spend so much time on my phone that it would be very convenient to access it from there. I have tried a couple of android fidonet apps a couple of years back and for what I want they really didn’t work very well. Not well written, fonts too small, crash continuously, etc.
That’s it for now. I’ll try to get on and post more HA and BBS stuff than I have been the last two years. The site is coming up on 20 years old now so wow. Christmas I will have had this domain for two decades.
How to Control the Xiaomi Mi Vacuum from HomeSeer
Back about a decade ago we had a Roomba I had received while doing the payperpost . The wife and I liked it and it did a pretty good job. It eventually died as electronics do and I wasn’t able to resurrect it. Eventually it went to the dump. Rather than replace it we just got a normal vacuum. The price of iRobot’s stuff is prohibitive and very much a luxury. A few weeks back I received an email from Gearbest and went to check it out. One of the things on sales was a Xiaomi Mi Vacuum. An extremely good deal so I went ahead and picked it up.
I finally received the vacuum a few days ago. Everything in Chinese, instructions, the voice (it has a built-in speaker), everything. It didn’t take me very long to figure out how to get it working though. The app lets you choose the language you are going to use so that made it a bit easier. I had not planned on doing a write-up of it so if I leave out steps or get something out of order, tough shit.
Since this thing could be controlled via Android remotely I knew that in theory I should be able to control it from Homeseer (my home automation software) with some work. I came across some python scripts and saw that you could control it via Home Assistant (another, free HA software). This “tutorial” is not the only way to do this and there are probably simpler ways to do it in less steps but you have to remember, I am not a coder at all and some of that shit just blows my mind when I look at it.
Anyway, here are the steps I took as best I can remember.
-
- First thing I did was to download the Mi Home app from the play store and set it up. I originally picked the U.S. server during set up but it really didn’t provide a lot of options. After a bit of reading I changed that to the mainland China server which gave me complete control over the vacuum.
- Set up Home Assistant. There are only a few things I can’t already control from Homeseer and I also wanted a way to integrate them all so HASS seemed to be the best way to do that. I already have a Raspberry Pi running NodeRED and MQTT for location tracking so figured I would be able to communicate between Homeseer and HASS that way.
- Follow the directions here to get control of the vacuum from HASS. The hardest part is retrieving the access token for the vacuum. You need to be comfortable using the commandline and ADB in order to do so. If you have something other than an Android phone I don’t know any other way to do it. If you have a rooted phone (I don’t) the instructions seem to be even easier. Read through the entire page first before you start following their directions.
- The vacuum shows up as a switch on the main HASS page as below.
- In Home Assistant’s configuration.yaml uncomment and set the http api password (near the top of the file).
- I seem to be having issues with MQTT and being able to control things back and forth from Homeseer to HASS without using eventghost so I chose to go with a more direct route. It doesn’t offer status updates back to Homeseer unfortunately but it does give me control and uses the HASS api which is why I set the password in step 5 and uses Curl. If you are running HS on a linux PC or raspberry pi Curl is already there. If you run under Windows then download it. Here is my commandline: c:\apps\curl.exe -X POST -H “x-ha-access: PASSWORD” http://192.168.86.65:8123/api/services/vacuum/turn_on or /turn_off
- In Homeseer create a virtual device called “vacuum” or whatever you want. I made sure to leave the voice control box checked on this.
- Create two events. One that triggers when the virtual device turns on and another when it turns off. For the action, choose Run Another Program or Process, browse to Curl and enter the command line parameters above. The turn_on parameter starts the vacuum in cleaning mode and turn_off directs it to go back to the dock.
- If you use Alexa, run discovery. Since I left the Voice Control box checked during my virtual device setup Alexa found it and now I can say “Alexa, turn on the vacuum” to start it!
I still have several things to do. During my initial setup of the app I set up a schedule for the floor to be cleaned twice a day. I need to remove that and create a scheduled event in Homeseer. This allows for local control and doesn’t depend on control from a server in mainland China. As a matter of fact it’s probably a good idea to block any IPs from China at your router if you have any sort of IOT devices.
I also need to figure out why I can’t just control my Homeseer devices via MQTT. I can send commands from Homeseer to Eventghost and NodeRED but don’t yet know how to trigger HASS switches and other devices via MQTT. Also any MQTT commands that Homeseer receives don’t seem to trigger devices. I have to intercept them in Eventghost and use a Homeseer event to get them working.
Short downtime
My BBS and corresponding internal web site will be down for a while this afternoon as I change my network over. Should be back up in the next couple of hours.
Updated – The BBS itself should be available now as well as the Fidonet mailer. If there’s any issues please let me know. Best way is to shoot me an email.
BBS Guest Access
For the time being I have disabled the Guest account on the BBS. In order to access it from here (or via Telnet) you’ll need to spend the extra 30 seconds and set up an account. Bear in mind that accounts without a valid email address will be deleted. I don’t spam folks with crap but I need a way to get in touch for password resets, etc.
BBS Back Online
For some reason the port forwarding stopped working on my router recently. I’ve temporarily fixed the problem so you should be able to get back in. Sorry about that.
Also, I haven’t been on myself in several weeks so if you have attempted to contact me and I haven’t answered that is why. I’ll log in tonight and respond to everyone. As always, the easiest way to contact me is through email or Hangouts.