fsxNet Wiki

BBS Development & Resources

User Tools

Site Tools


doors:tutorials:dos:dosonpi

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
doors:tutorials:dos:dosonpi [2021/01/25 07:52]
avon
doors:tutorials:dos:dosonpi [2022/10/24 02:22]
avon removed
Line 132: Line 132:
   alias auto=edit %0   alias auto=edit %0
   CALL D:\RUN.BAT   CALL D:\RUN.BAT
----------------------------------------- ​+  ​---------------------------------------- ​
  
 Note how the batch file ends with CALL D:​\RUN.BAT. ​ RUN.BAT is the  Note how the batch file ends with CALL D:​\RUN.BAT. ​ RUN.BAT is the 
Line 139: Line 139:
  
 === Setting up the doorgames === === Setting up the doorgames ===
- 
  
 You will want to run the DOS VM initially, to setup your doorgames. ​ To do You will want to run the DOS VM initially, to setup your doorgames. ​ To do
 that, you just run qemu normally, but with the mounted local file system. that, you just run qemu normally, but with the mounted local file system.
 I've written a simple batch file that will load the VM. I've written a simple batch file that will load the VM.
- +  ​ 
----------------------------------------- +  ---------------------------------------- 
-#!/bin/sh +  #!/bin/sh 
- +   
-rm /​home/​bbs/​temp${NODE}/​run.bat +  rm /​home/​bbs/​temp${NODE}/​run.bat 
- +   
-qemu-system-i386 \ +  qemu-system-i386 \ 
--localtime \ +  -localtime \ 
-/​home/​bbs/​doors/​qemu/​freedos.img \ +  /​home/​bbs/​doors/​qemu/​freedos.img \ 
--boot c \ +  -boot c \ 
--hdb fat:/​home/​bbs \ +  -hdb fat:/​home/​bbs \ 
--m 1024  +  -m 1024  
-----------------------------------------+  ----------------------------------------
  
 If you are running this remotely, from a terminal like putty, you can add If you are running this remotely, from a terminal like putty, you can add
 the -curses flag.  That will give you an interactive shell into the VM. the -curses flag.  That will give you an interactive shell into the VM.
- 
  
 The method used for running the VM will mount the /home/bbs directory as  The method used for running the VM will mount the /home/bbs directory as 
Line 169: Line 167:
 it will be located at D:​\DOORS\LORD it will be located at D:​\DOORS\LORD
  
-The dropfile locations will also be on your D: drive. +  ​The dropfile locations will also be on your D: drive. 
-D:\TEMP +  D:\TEMP 
- +   
-or for node #2: +  or for node #2: 
-D:​\TEMP2 ​+  D:​\TEMP2 ​
   ​   ​
 +=== The working DOORS.SH script ===
  
-The working DOORS.SH script: +This is the script as I have it working for me:
-    ​This is the script as I have it working for me:+
   ​   ​
-    ​------------------------------------ +  ​------------------------------------ 
-    #!/bin/sh+  #!/bin/sh
   ​   ​
   ## Pass the parameters for the door and the node.   ## Pass the parameters for the door and the node.
Line 200: Line 198:
       ## Operation OverKill II       ## Operation OverKill II
       OOII)        OOII) 
-           echo "@echo off" > ${gobat} +         echo "@echo off" > ${gobat} 
-           ​echo "​D:"​ >> ${gobat} +         ​echo "​D:"​ >> ${gobat} 
-           ​echo "CD \DOORS\OO"​ >> ${gobat} +         ​echo "CD \DOORS\OO"​ >> ${gobat} 
-           ​### Use the CALL command when calling a door batch file. +         ​### Use the CALL command when calling a door batch file. 
-           ​### If not used, then the door batch file will not return +         ​### If not used, then the door batch file will not return 
-           ​### to the RUN.BAT script to complete execution. ​ If the  +         ​### to the RUN.BAT script to complete execution. ​ If the  
-           ​### RUN.BAT script does not complete execution, then it will +         ​### RUN.BAT script does not complete execution, then it will 
-           ​### not shut down the VM.  It will then just go to a dos +         ​### not shut down the VM.  It will then just go to a dos 
-           ​### prompt and the user will not see it, and will think that +         ​### prompt and the user will not see it, and will think that 
-           ​### the game is hung. +         ​### the game is hung. 
-           ​echo "CALL OOIIDOOR.BAT ${NODE}"​ >> ${gobat}+         ​echo "CALL OOIIDOOR.BAT ${NODE}"​ >> ${gobat}
          ;;          ;;
     ## Legend of the Red Dragon     ## Legend of the Red Dragon
Line 251: Line 249:
          ;;          ;;
     DOS)     DOS)
-;; +  ​;; 
-esac +  esac 
-## At the end of run.bat, we add this line to gracefully shutdown the VM. +  ## At the end of run.bat, we add this line to gracefully shutdown the VM. 
-## This will return the user back to the BBS. +  ## This will return the user back to the BBS. 
-echo "​C:​\FDOS\BIN\FDAPM POWEROFF"​ >> ${gobat} +  echo "​C:​\FDOS\BIN\FDAPM POWEROFF"​ >> ${gobat} 
-## The batch file must be in dos format, or it will not run properly. +  ## The batch file must be in dos format, or it will not run properly. 
-todos ${gobat} +  todos ${gobat} 
- +   
- +   
-### The main QEMU call. +  ### The main QEMU call. 
-### 1) -localtime to pass the host clock to the VM +  ### 1) -localtime to pass the host clock to the VM 
-### 2) tell it to use the freedos.img +  ### 2) tell it to use the freedos.img 
-### 3) tell it to boot to the C: drive +  ### 3) tell it to boot to the C: drive 
-### 4) Turn off all displays. Otherwise it will give errors or skewed displays +  ### 4) Turn off all displays. Otherwise it will give errors or skewed displays 
-### 5) How many megabytes of memory to allow for the BM +  ### 5) How many megabytes of memory to allow for the BM 
-### 6) Define a serial modem connection and assign a computer port +  ### 6) Define a serial modem connection and assign a computer port 
-### 7) Mount the main BBS directory in RW mode +  ### 7) Mount the main BBS directory in RW mode 
-### The qemu call is loaded into the background. ​ We do this so that we can  +  ### The qemu call is loaded into the background. ​ We do this so that we can  
-### spawn a concurrent socat process. +  ### spawn a concurrent socat process. 
-qemu-system-i386 \ +  qemu-system-i386 \ 
--localtime \ +  -localtime \ 
-/​home/​bbs/​doors/​qemu/​freedos.img \ +  /​home/​bbs/​doors/​qemu/​freedos.img \ 
--boot c \ +  -boot c \ 
--display none \ +  -display none \ 
--m 256 \ +  -m 256 \ 
--serial telnet::​${portnum},​server,​nowait,​nodelay \ +  -serial telnet::​${portnum},​server,​nowait,​nodelay \ 
--hdb fat:​rw:/​home/​bbs > /dev/null 2>&1 & +  -hdb fat:​rw:/​home/​bbs > /dev/null 2>&1 & 
- +   
 +  
   ### Inform the user that it will take several seconds before the game   ### Inform the user that it will take several seconds before the game
   ### loads up.   ### loads up.
Line 297: Line 295:
   ------------------------------------   ------------------------------------
  
-Using the script:+=== Using the script ​===
  
 I use and have developed this method for Mystic BBS.  You will need to make I use and have developed this method for Mystic BBS.  You will need to make
Line 314: Line 312:
 The parameters for the script are: The parameters for the script are:
  
-doors.sh DOOR NODE# /DOS+  ​doors.sh DOOR NODE# /DOS
  
 The /DOS switch is used to create a DOS version of the drop file.  That way The /DOS switch is used to create a DOS version of the drop file.  That way
Line 324: Line 322:
   Data: /​home/​bbs/​doors/​qemu/​doors.sh LORD %3 /DOS   Data: /​home/​bbs/​doors/​qemu/​doors.sh LORD %3 /DOS
  
-Conclusion:  ​+=== Conclusion ​===
  
 That's all there is to it.  Your milage may vary. That's all there is to it.  Your milage may vary.
-Darryl Perry