| 1 | This is a howto for getting dos doors up and running under Enthral BBS. |
|---|
| 2 | |
|---|
| 3 | # Enthral SVN: $Id$ |
|---|
| 4 | # Source: $HeadURL$ |
|---|
| 5 | # $LastChangedDate$ |
|---|
| 6 | # $LastChangedRevision$ |
|---|
| 7 | # $LastChangedBy$ |
|---|
| 8 | |
|---|
| 9 | 1st edition, expect revisions. |
|---|
| 10 | Created by esc. |
|---|
| 11 | |
|---|
| 12 | CONTENTS: |
|---|
| 13 | 1 - Introduction / Notes |
|---|
| 14 | 2 - Theory of Operation |
|---|
| 15 | 3 - Autoexec.bat |
|---|
| 16 | 4 - door_script |
|---|
| 17 | 5 - Example start.bat |
|---|
| 18 | 6 - Modifying DOSEMU control files |
|---|
| 19 | 7 - Enthral Menu Commands |
|---|
| 20 | 8 - Contact info |
|---|
| 21 | 9 - CHANGELOG |
|---|
| 22 | |
|---|
| 23 | |
|---|
| 24 | CHAPTER 1 - Introduction / Notes |
|---|
| 25 | A few notes: |
|---|
| 26 | |
|---|
| 27 | I am using Enthral alpha, build .401. Some things may change in the |
|---|
| 28 | future. Additionally, I'm using dosemu 1.4, the latest release as of |
|---|
| 29 | April 1st, 2009. Finally, I'm using gentoo x86, kernel 2.6.27. |
|---|
| 30 | |
|---|
| 31 | A few things to note: |
|---|
| 32 | |
|---|
| 33 | I launch the bbs from the directory /home/bbs/enthral/. My user 'bbs', |
|---|
| 34 | the owner of the bbs files, has a $home directory located at /home/bbs/. |
|---|
| 35 | When I am local, as the user 'bbs', and I launch dosemu, it links to |
|---|
| 36 | /home/bbs/.dosemu/. That being said, as the user bbs, launching dosemu |
|---|
| 37 | in a terminal window, my "C:\" drive is located at |
|---|
| 38 | /home/bbs/.dosemu/drive_c/. |
|---|
| 39 | |
|---|
| 40 | However, when launched from my door script, it links to |
|---|
| 41 | /home/bbs/enthral/.dosemu/, with the "C:\" drive being |
|---|
| 42 | /home/bbs/enthral/.dosemu/drive_c/. The reason I do this, is so that |
|---|
| 43 | when a user is logged on and playing dos doors, you can locally log on |
|---|
| 44 | as user 'bbs' or whomever you use, and you can launch dosemu locally to |
|---|
| 45 | modify some settings or install more doors, without accidentally |
|---|
| 46 | launching the door they're already in :) |
|---|
| 47 | |
|---|
| 48 | |
|---|
| 49 | CHAPTER 2 - Theory of Operation |
|---|
| 50 | |
|---|
| 51 | |
|---|
| 52 | Now, the theory of operation. Ideally, this is what needs to happen: |
|---|
| 53 | |
|---|
| 54 | 1 - Command key is pressed. |
|---|
| 55 | D- is the internal enthral command to create dropfiles and run a |
|---|
| 56 | door. |
|---|
| 57 | |
|---|
| 58 | Drop files are placed in BBSDIR/node/node(current node number)/ |
|---|
| 59 | Essentially, node 1 on my bbs will make: |
|---|
| 60 | /home/bbs/enthral/node/node1/DOOR.SYS |
|---|
| 61 | /home/bbs/enthral/node/node1/DORINFO1.DEF |
|---|
| 62 | /home/bbs/enthral/node/node1/CHAIN.TXT |
|---|
| 63 | |
|---|
| 64 | Keep in mind, enthral will make DORINFO#.DEF for all nodes, with |
|---|
| 65 | DORINFO1.DEF for node 1, DORINFO2.DEF for node 2, etc. |
|---|
| 66 | |
|---|
| 67 | Enthral will then launch an external script. It will be a bash |
|---|
| 68 | script, and is the basis for running all dos doors. It will |
|---|
| 69 | essentially create the necessary batch files so that upon |
|---|
| 70 | launch, dosemu will automatically run the door with the proper |
|---|
| 71 | arguments. |
|---|
| 72 | |
|---|
| 73 | Dosemu's autoexec.bat will automatically run the batch file |
|---|
| 74 | created by the previously mentioned bash script. That batch |
|---|
| 75 | file will change to the desired door directory, and launch |
|---|
| 76 | the door with the proper node/directory arguments included. |
|---|
| 77 | |
|---|
| 78 | Finally, the batch file will exit back to the bbs. |
|---|
| 79 | |
|---|
| 80 | Theory of operation complete. Ok, got it? Good, on to the example |
|---|
| 81 | files :) |
|---|
| 82 | |
|---|
| 83 | CHAPTER 3 - Autoexec.bat |
|---|
| 84 | |
|---|
| 85 | We'll start with autoexec.bat. I've modified both my |
|---|
| 86 | /home/bbs/.dosemu/drive_c/autoexec.bat, as well as the |
|---|
| 87 | /home/bbs/enthral/.dosemu/drive_c/autoexec.bat. The changes that we |
|---|
| 88 | need to make are as follows: |
|---|
| 89 | |
|---|
| 90 | We need to make the file and directory structure make more sense for |
|---|
| 91 | configuring doors, as well as call up a fossil driver, and finally call |
|---|
| 92 | the batch file to run the doors. What I suggest is changing to your |
|---|
| 93 | /home/bbs/enthral/.dosemu/drive_c/ directory, and downloading BNU, as |
|---|
| 94 | well as unzipping it. Put it in your drive_c/ dir, but mkdir bnu and |
|---|
| 95 | put the necessary files in there. It's up to you, but that's just how I |
|---|
| 96 | do it. Here's MY autoexec.bat, with a line by line explanation. |
|---|
| 97 | |
|---|
| 98 | BEGIN AUTOEXEC.BAT: |
|---|
| 99 | --------------------------------------------------------- |
|---|
| 100 | |
|---|
| 101 | |
|---|
| 102 | |
|---|
| 103 | @echo off |
|---|
| 104 | path z:\bin;z:\gnu;z:\dosemu |
|---|
| 105 | set HELPPATH=z:\help |
|---|
| 106 | set TEMP=c:\tmp |
|---|
| 107 | prompt $P$G |
|---|
| 108 | lredir d: linux\fs/home/bbs |
|---|
| 109 | lredir f: linux\fs/home/bbs/enthral/doors |
|---|
| 110 | |
|---|
| 111 | c: |
|---|
| 112 | cd\bnu |
|---|
| 113 | call bnu.com /L0:57600,8N1 /F |
|---|
| 114 | |
|---|
| 115 | c: |
|---|
| 116 | cd\ |
|---|
| 117 | rundoor.bat |
|---|
| 118 | |
|---|
| 119 | |
|---|
| 120 | The @echo off is to keep the batch file from displaying all lines of |
|---|
| 121 | instructions to the console. |
|---|
| 122 | The path is to simplify typing things in later, not really necessary. |
|---|
| 123 | The help path and temp directories were set that way by dosemu |
|---|
| 124 | initially, and I'm not sure what they're for...I just left them :) |
|---|
| 125 | The prompt $p$g gives us our nice "C:\" prompt. |
|---|
| 126 | lredir d: linux\fs/home/bbs |
|---|
| 127 | |
|---|
| 128 | ^^^^ This is important. This links your /home/bbs/ directory to D:\. |
|---|
| 129 | Change this to say: |
|---|
| 130 | lredir d: linux\fs/YOUR BBS USER'S HOME DIRECTORY |
|---|
| 131 | |
|---|
| 132 | lredir f: linux\fs/home/bbs/enthral/doors |
|---|
| 133 | |
|---|
| 134 | ^^^^ This is equally important. This links your doors directory to F:\. |
|---|
| 135 | Change this to say: |
|---|
| 136 | lredir f: linux\fs/YOUR DOORS DIRECTORY |
|---|
| 137 | |
|---|
| 138 | c: |
|---|
| 139 | cd\bnu |
|---|
| 140 | call bnu.com /L0:57600,8N1 /F |
|---|
| 141 | |
|---|
| 142 | ^^^^ Change to your bnu directory that was discussed earlier. Call |
|---|
| 143 | bnu.com will load the tsr into memory. It's important for some doors |
|---|
| 144 | that you lock the port, and the arguments above lock it as virtual com1, |
|---|
| 145 | 57600 bps, fast ansi. It works right 100% of the time this way, so |
|---|
| 146 | don't change it :) |
|---|
| 147 | |
|---|
| 148 | c: |
|---|
| 149 | cd\ |
|---|
| 150 | rundoor.bat |
|---|
| 151 | |
|---|
| 152 | ^^^^ This is the part that will actually run the door. rundoor.bat |
|---|
| 153 | will be created by the bash script that we're going to create next. |
|---|
| 154 | I'll explain when we get there. |
|---|
| 155 | |
|---|
| 156 | ----------------------------------------------- |
|---|
| 157 | END AUTOEXEC.BAT |
|---|
| 158 | |
|---|
| 159 | |
|---|
| 160 | **NOTE: The rundoor.bat is not necessary in the autoexec.bat that is |
|---|
| 161 | contained in your $HOME/.dosemu/drive_c/ directory, only the |
|---|
| 162 | BBSDIR/.dosemu/drive_c/ directory. However, if the rest is the same, it |
|---|
| 163 | works very well for launching things like lordcfg.exe or whatever you |
|---|
| 164 | need while someone is playing doors. |
|---|
| 165 | |
|---|
| 166 | |
|---|
| 167 | CHAPTER 4 - door_script |
|---|
| 168 | |
|---|
| 169 | |
|---|
| 170 | Now, we'll move on to the file you're actually going to call FROM |
|---|
| 171 | enthral, via the D- command. I'll explain the menu commands later, but |
|---|
| 172 | for now, we need to make a file. I like to call it door_script. I |
|---|
| 173 | place this file in /home/bbs/enthral/doors/dos/, but you can place it |
|---|
| 174 | anywhere, however it's best to do it from somewhere connected to your |
|---|
| 175 | enthral bbs directory. Here is door_script: |
|---|
| 176 | |
|---|
| 177 | |
|---|
| 178 | |
|---|
| 179 | #!/bin/bash |
|---|
| 180 | export HOME=/home/bbs/enthral |
|---|
| 181 | printf "Loading $2 .. |
|---|
| 182 | |
|---|
| 183 | " |
|---|
| 184 | unix2dos /home/bbs/enthral/node/node$1/DOOR.SYS |
|---|
| 185 | unix2dos /home/bbs/enthral/node/node$1/DORINFO?.DEF |
|---|
| 186 | unix2dos /home/bbs/enthral/node/node$1/CHAIN.TXT |
|---|
| 187 | |
|---|
| 188 | rm /home/bbs/enthral/.dosemu/drive_c/rundoor.bat |
|---|
| 189 | echo -e "\r@echo off \r" >> /home/bbs/enthral/.dosemu/drive_c/rundoor.bat |
|---|
| 190 | echo -e "f: \r" >> /home/bbs/enthral/.dosemu/drive_c/rundoor.bat |
|---|
| 191 | echo -e "cd $2 \r" >> /home/bbs/enthral/.dosemu/drive_c/rundoor.bat |
|---|
| 192 | echo -e "call start.bat $1 \r" >> /home/bbs/enthral/.dosemu/drive_c/rundoor.bat |
|---|
| 193 | unix2dos /home/bbs/enthral/.dosemu/drive_c/rundoor.bat |
|---|
| 194 | |
|---|
| 195 | /usr/bin/dosemu -u virtual -I 'keystroke "\r"' #2>/dev/null /dev/null |
|---|
| 196 | |
|---|
| 197 | rm /home/bbs/enthral/.dosemu/drive_c/rundoor.bat |
|---|
| 198 | |
|---|
| 199 | |
|---|
| 200 | Now, a line-by-line explanation. Some of these commands may be |
|---|
| 201 | superfluous or unnecessary, but I'll explain them anyway. Hell, it |
|---|
| 202 | works :) |
|---|
| 203 | |
|---|
| 204 | #!/bin/bash |
|---|
| 205 | This line tells linux that you're executing a bash script. |
|---|
| 206 | |
|---|
| 207 | export HOME=/home/bbs/enthral |
|---|
| 208 | This line is what I did to make dosemu look into the BBS |
|---|
| 209 | directory/.dosemu/ for all of its information. I find that this works |
|---|
| 210 | very well, and suggest you don't change it, aside from reflecting your |
|---|
| 211 | own bbs dir. All it really does is make a different autoexec.bat |
|---|
| 212 | launch, but it adds some functionality. |
|---|
| 213 | |
|---|
| 214 | printf "Loading $2 .. |
|---|
| 215 | |
|---|
| 216 | " |
|---|
| 217 | This will write "Loading LORD" or "Loading USURPER" or whatever. Not |
|---|
| 218 | really necessary, but it works. The $2 means it's the second argument |
|---|
| 219 | passed in the launching of the script. I'll get more into that later. |
|---|
| 220 | |
|---|
| 221 | unix2dos /home/bbs/enthral/node/node$1/DOOR.SYS |
|---|
| 222 | unix2dos /home/bbs/enthral/node/node$1/DORINFO?.DEF |
|---|
| 223 | unix2dos /home/bbs/enthral/node/node$1/CHAIN.TXT |
|---|
| 224 | This changes all of the dropfiles from linux format to contain dos style |
|---|
| 225 | CR/LF's at the end of every line. This causes the dropfiles to be |
|---|
| 226 | readable by the dos doors. Now, the latest version of unix2dos will |
|---|
| 227 | automagically modify the files and output them to their original |
|---|
| 228 | filenames. If you have an old version of unix2dos (I suggest you |
|---|
| 229 | upgrade), you may have to unix2dos directory/DOOR.SYS |
|---|
| 230 | directory/DOOR.SY1, and copy it back later. Do the same for all |
|---|
| 231 | dropfiles...but if you upgrade your unix2dos, this won't be necessary :) |
|---|
| 232 | |
|---|
| 233 | rm /home/bbs/enthral/.dosemu/drive_c/rundoor.bat |
|---|
| 234 | This will delete the old rundoor.bat located in C:\. It's important to |
|---|
| 235 | do this before making a new one, or it will just append. |
|---|
| 236 | |
|---|
| 237 | echo -e "\r@echo off \r" >> /home/bbs/enthral/.dosemu/drive_c/rundoor.bat |
|---|
| 238 | echo -e "f: \r" >> /home/bbs/enthral/.dosemu/drive_c/rundoor.bat |
|---|
| 239 | echo -e "cd $2 \r" >> /home/bbs/enthral/.dosemu/drive_c/rundoor.bat |
|---|
| 240 | echo -e "call start.bat $1 \r" >> /home/bbs/enthral/.dosemu/drive_c/rundoor.bat |
|---|
| 241 | unix2dos /home/bbs/enthral/.dosemu/drive_c/rundoor.bat |
|---|
| 242 | Ok, this is the interesting part. Remember that we made autoexec.bat |
|---|
| 243 | look for a file, c:\rundoor.bat, right? Well, in this portion, we |
|---|
| 244 | create it. The $1 is the node number, being passed from enthral. The |
|---|
| 245 | $2 is the door name, which also has to be the directory under f:\ that |
|---|
| 246 | the door is located...so install lord to f:\lord, lord2 should be |
|---|
| 247 | f:\lord2, etc. Keep them all 8 characters or less...Planets: TEOS will |
|---|
| 248 | be f:\teos, for example, you get the idea. Here's what would happen if |
|---|
| 249 | we tried to launch this from enthral on node 1 with the door name being |
|---|
| 250 | "LORD". We'd make the following c:\rundoor.bat: |
|---|
| 251 | |
|---|
| 252 | @echo off |
|---|
| 253 | f: |
|---|
| 254 | cd lord |
|---|
| 255 | call start.bat 1 |
|---|
| 256 | |
|---|
| 257 | |
|---|
| 258 | Also, remember to put the unix2dos command in there, so that the file is |
|---|
| 259 | readable by dos. |
|---|
| 260 | |
|---|
| 261 | /usr/bin/dosemu -u virtual -I 'keystroke "\r"' #2>/dev/null /dev/null |
|---|
| 262 | This is where we actually call dosemu. /usr/bin/dosemu is where it's |
|---|
| 263 | found on my installation, but change appropriately. The -u virtual is |
|---|
| 264 | important to make a virtual comport to pipe everything through. |
|---|
| 265 | |
|---|
| 266 | rm /home/bbs/enthral/.dosemu/drive_c/rundoor.bat |
|---|
| 267 | Just doing some cleaning up after a proper exit of the door :) I know |
|---|
| 268 | it's redundant to have it in the door_script twice, but redundancy is |
|---|
| 269 | sometimes helpful to alleviate potential problems. |
|---|
| 270 | |
|---|
| 271 | Finally, make that file executeable. After creating door_script, |
|---|
| 272 | remember to chmod +x door_script. |
|---|
| 273 | |
|---|
| 274 | |
|---|
| 275 | CHAPTER 5 - Example start.bat |
|---|
| 276 | |
|---|
| 277 | |
|---|
| 278 | Ok! That was the hardest part, I suppose. Keep in mind that |
|---|
| 279 | rundoor.bat will go to the door directory, and launch start.bat with the |
|---|
| 280 | node number as an argument. I'll leave it up to you to create a |
|---|
| 281 | start.bat for each of your doors, but I'll explain the basics here: |
|---|
| 282 | |
|---|
| 283 | random start.bat: |
|---|
| 284 | |
|---|
| 285 | @echo off |
|---|
| 286 | f: |
|---|
| 287 | cd \doorgamedirectory |
|---|
| 288 | pause |
|---|
| 289 | call doorgame.exe %1 |
|---|
| 290 | exitemu |
|---|
| 291 | |
|---|
| 292 | Explanation: |
|---|
| 293 | @echo off |
|---|
| 294 | Don't pipe batch output :) |
|---|
| 295 | |
|---|
| 296 | f: |
|---|
| 297 | door drive |
|---|
| 298 | |
|---|
| 299 | cd \doorgamedirectory |
|---|
| 300 | change to the directory once again...redundant I know :) But it works! |
|---|
| 301 | |
|---|
| 302 | pause |
|---|
| 303 | This is necessary because of the -I 'keystroke "\r"' upon launch of |
|---|
| 304 | dosemu...it's more of a hack than anything else, because if we don't put |
|---|
| 305 | the keystroke arg in there in the first place, it won't launch for some |
|---|
| 306 | reason. So just put the pause in there and it'll work for you :) |
|---|
| 307 | |
|---|
| 308 | call doorgame.exe %1 |
|---|
| 309 | This is to actually launch the door. The %1 is the node argument being |
|---|
| 310 | passed from c:\rundoor.bat to this file. Remember some games need other |
|---|
| 311 | arguments, like you may need to point to the dropfile, in which case it |
|---|
| 312 | would be something like |
|---|
| 313 | call doorgame.exe %1 d:\enthral\node\node%1\DOOR.SYS, or |
|---|
| 314 | you may need |
|---|
| 315 | call doorgame.exe %1 /DREW (lord for example). |
|---|
| 316 | |
|---|
| 317 | exitemu |
|---|
| 318 | This exits dosemu after the door closes properly. |
|---|
| 319 | |
|---|
| 320 | Some things to note: D:\ is your /home/bbs directory. |
|---|
| 321 | That being said, when you setup your doors, have them look for dropfiles |
|---|
| 322 | in D:\enthral\node\node#, with the # changing for each node. If I could |
|---|
| 323 | explain each door I would, but I'd be here all day :) |
|---|
| 324 | |
|---|
| 325 | |
|---|
| 326 | CHAPTER 6 - Modifying DOSEMU control files |
|---|
| 327 | |
|---|
| 328 | |
|---|
| 329 | Now that that's all taken care of, there are just a couple of small |
|---|
| 330 | things to worry about. Dosemu is NOT setup out of the box to do things |
|---|
| 331 | like this, so we need to make a few small modifications to how dosemu |
|---|
| 332 | works. Here's what I've done: |
|---|
| 333 | |
|---|
| 334 | In /etc/dosemu/dosemu.conf, add the following toward the top of the |
|---|
| 335 | file: |
|---|
| 336 | |
|---|
| 337 | ifdef u_virtual |
|---|
| 338 | serial { virtual com 1 } |
|---|
| 339 | endif |
|---|
| 340 | |
|---|
| 341 | |
|---|
| 342 | This will enable the virtual comport on com 1 for us, and pipe |
|---|
| 343 | everything appropriately. |
|---|
| 344 | |
|---|
| 345 | Additionally, go through the file and uncomment the following lines, |
|---|
| 346 | making them the same values that I have: |
|---|
| 347 | |
|---|
| 348 | $_cpu = "80586" |
|---|
| 349 | $_hogthreshold = (10) |
|---|
| 350 | $_dpmi_base = (0x10000000) |
|---|
| 351 | $_external_char_set = "cp437" |
|---|
| 352 | $_internal_char_set = "cp437" |
|---|
| 353 | $_layout = "us" |
|---|
| 354 | |
|---|
| 355 | |
|---|
| 356 | EVERYTHING ELSE NEEDS TO BE COMMENTED, or you only have yourself to |
|---|
| 357 | blame for funny input/output issues :) This is the first place I'd look |
|---|
| 358 | if things aren't displaying properly. |
|---|
| 359 | |
|---|
| 360 | In your /etc/dosemu/dosemu.users, append the following line at the end: |
|---|
| 361 | |
|---|
| 362 | bbs c_all |
|---|
| 363 | |
|---|
| 364 | This will make the bbs user able to do whatever he needs to in dosemu. |
|---|
| 365 | Not sure how necessary it is, but it'll alleviate any problems in the |
|---|
| 366 | future with accessing directories or whatever. |
|---|
| 367 | |
|---|
| 368 | Leave your /etc/dosemu/global.conf alone, it's not a big deal. |
|---|
| 369 | |
|---|
| 370 | Finally, I chose to edit my /usr/bin/dosemu executable file. I CAUTION |
|---|
| 371 | YOU to not do this, but if you're feeling adventurous, go for it. |
|---|
| 372 | Dosemu wants a 25 line terminal, and will complain upon startup. |
|---|
| 373 | If you look for where it does that stupid complaining crap and change |
|---|
| 374 | the value from 25 to 24, you'll prevent it from complaining in the |
|---|
| 375 | future. I won't explain exactly how to do this because I caution |
|---|
| 376 | against it and don't want to be held accountable for broken dosemu's :) |
|---|
| 377 | So, Good luck! |
|---|
| 378 | |
|---|
| 379 | |
|---|
| 380 | CHAPTER 7 - Enthral Menu Commands |
|---|
| 381 | |
|---|
| 382 | |
|---|
| 383 | Finally, your setup in your BBSDIR/menu/main.txt or doors.txt if you |
|---|
| 384 | create one... |
|---|
| 385 | |
|---|
| 386 | We'll use lord as an example here, and we'll use CommandRec 001, but |
|---|
| 387 | ensure you change that to the sequential number that this command will |
|---|
| 388 | actually be in your menu data. |
|---|
| 389 | |
|---|
| 390 | [CommandRec001] |
|---|
| 391 | LDesc[001] = "lord" |
|---|
| 392 | SDesc[001] = "" |
|---|
| 393 | CKeys[001] = "L" < Use whatever you want to launch the |
|---|
| 394 | door. I use L, but you can use a number or something else if you want. |
|---|
| 395 | Acs[001] = "s50" < Registered users only. Not a big deal. |
|---|
| 396 | CmdKeys[001] = "D-" < Create dropfiles, launch a door. |
|---|
| 397 | MString[001] = "/bin/bash /home/bbs/enthral/doors/dos/door_script %NN LORD" |
|---|
| 398 | This will launch the bash script we made earlier. Just have it point to |
|---|
| 399 | your door_script file. Pass %NN as the first arg, which is the node, |
|---|
| 400 | and the name of the directory where your door game is located under the |
|---|
| 401 | F:\ dir as your second arg. |
|---|
| 402 | HiString[001] = "" |
|---|
| 403 | LoString[001] = "" |
|---|
| 404 | Xcoord[001] = "" |
|---|
| 405 | Ycoord[001] = "" |
|---|
| 406 | LBarCmd[001] = "FALSE" < Change all of this for litebars. |
|---|
| 407 | SText[001] = "FALSE" |
|---|
| 408 | STLen[001] = "0" |
|---|
| 409 | |
|---|
| 410 | That should do it! |
|---|
| 411 | |
|---|
| 412 | |
|---|
| 413 | CHAPTER 8 - Contact info |
|---|
| 414 | |
|---|
| 415 | |
|---|
| 416 | The end of this file will be a changelog that I will update with each |
|---|
| 417 | revision of this file. If you have any questions, find myself, |
|---|
| 418 | Mercyful, or Netsurge on irc...irc.bbs-scene.org #bbs. Or on haunting |
|---|
| 419 | the chapel bbs, htc.zapto.org, or the enthral support website, |
|---|
| 420 | http://www.enthralbbs.com. Thanks! |
|---|
| 421 | |
|---|
| 422 | |
|---|
| 423 | |
|---|
| 424 | CHAPTER 9 - CHANGELOG |
|---|
| 425 | |
|---|
| 426 | 2 APRIL 2009 |
|---|
| 427 | Initial version of dosdoors howto. |
|---|