This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Next revision Both sides next revision | ||
doors:tutorials:dos:dosonpi [2021/01/25 07:56] avon |
doors:tutorials:dos:dosonpi [2021/01/25 07:58] avon |
||
---|---|---|---|
Line 177: | Line 177: | ||
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 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 | ||