This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
doors:tutorials:dos:dosonpi [2021/01/25 07:54] avon |
doors:tutorials:dos:dosonpi [2021/01/25 07:58] avon |
||
---|---|---|---|
Line 167: | 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: | + | |
- | D:\TEMP2 | + | |
| | ||
+ | or for node #2: | ||
+ | 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 198: | 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 249: | 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 295: | 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 312: | 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 322: | 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 | ||