Getting an 8048 DOS Simulator to Work on DOSEMU/FreeDOS
Let's start up FreeDOS:
usr-1@wrk-1 usr-1 $ dosemu
Note that DOS needs 25 lines. You might want to enlarge your
window before continuing.
Now type ENTER to start DOSEMU or C to cancel
|
Here it comes:
This is work in progress.
Please test against a recent version before reporting bugs and problems.
Submit Bug Reports, Patches & New Code to linux-msdos@vger.kernel.org or via
the SourceForge tracking system at http://www.sourceforge.net/projects/dosemu
DPMI-Server Version 0.9 installed
FreeDOS kernel version 1.1.32a (Build 2032a) [Sep 24 2003 21:58:48]
Kernel compatibility 7.10 - WATCOMC - FAT32 support
(C) Copyright 1995-2003 Pasquale J. Villani and The FreeDOS Project.
All Rights Reserved. This is free software and comes with ABSOLUTELY NO
WARRANTY; you can redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation;
either version 2, or (at your option) any later version.
C: HD1, Pri[ 1], CHS= 0-1-1, start= 0 MB, size= 392 MB
[dosemu EMS 4.0 driver installed]
Kernel: allocated 40 Diskbuffers = 21280 Bytes in HMA
FreeCom version 0.82 pl 2 XMS_Swap [Sep 19 2003 21:44:14]
D: = LINUX\FS/HOME/DIVINE attrib = READ/WRITE
"Welcome to dosemu 1.1.99.1!"
C:\>
C:\>dir
Volume in drive C is mu/drives/c
Directory of C:\
KERNEL SYS 45,908 09-24-03 1:58p
COMMAND COM 90,863 09-19-03 2:18p
CONFIG SYS 192 09-18-03 11:34a
AUTOEXEC BAT 327 09-19-03 2:42p
BIN <DIR> 01-02-04 2:36a
GNU <DIR> 01-02-04 2:36a
DOSEMU <DIR> 01-02-04 2:36a
DOC <DIR> 01-02-04 2:36a
HELP <DIR> 01-02-04 2:36a
NLS <DIR> 01-02-04 2:36a
TMP <DIR> 05-05-01 5:54a
APPINFO <DIR> 09-27-03 4:47p
4 file(s) 137,290 bytes
8 dir(s) 2,147,450,880 bytes free
|
Now, the cool thing about running this on GNU/Linux is that you can easily plop files into your DOS filesystem on the fly. We are going to snag a copy of William Luitje's 8048 emulator from here, and unzip it with the unzip utility from here:
usr-1@wrk-1 usr-1 $ cd dosemu
usr-1@wrk-1 dosemu $ ls
FDchange.log Xfonts boot.log dosemu xdosemu
README.bindist bin conf freedos
usr-1@wrk-1 dosemu $ cd freedos
usr-1@wrk-1 freedos $ ls
appinfo bin config.sys dosemu help nls
autoexec.bat command.com doc gnu kernel.sys tmp
usr-1@wrk-1 freedos $ mkdir 8048
usr-1@wrk-1 freedos $
C:\>dir
Volume in drive C is mu/drives/c
Directory of C:\
KERNEL SYS 45,908 09-24-03 1:58p
COMMAND COM 90,863 09-19-03 2:18p
CONFIG SYS 192 09-18-03 11:34a
AUTOEXEC BAT 327 09-19-03 2:42p
BIN <DIR> 01-02-04 2:36a
GNU <DIR> 01-02-04 2:36a
DOSEMU <DIR> 01-02-04 2:36a
DOC <DIR> 01-02-04 2:36a
HELP <DIR> 01-02-04 2:36a
NLS <DIR> 01-02-04 2:36a
TMP <DIR> 05-05-01 5:54a
APPINFO <DIR> 09-27-03 4:47p
8048 <DIR> 01-10-04 5:26a
4 file(s) 137,290 bytes
9 dir(s) 2,147,450,880 bytes free
C:\>
C:\>dir /s | grep format
C:\>dir /s | grep FORMAT
FORMAT EXE 19,744 07-17-03 11:54a
FORMAT <DIR> 09-19-03 2:38p
Directory of C:\DOC\FORMAT
FORMAT 1,068 03-11-01 5:25p
FORMAT LSM 475 07-17-03 11:56a
C:\>dir /s | grep UNZIP
C:\>dir 8048
Volume in drive C is mu/drives/c
Directory of C:\8048
. <DIR> 01-10-04 5:28a
.. <DIR> 01-10-04 5:28a
S48V13 ZIP 28,078 01-10-04 5:28a
1 file(s) 28,078 bytes
2 dir(s) 2,147,450,880 bytes free
C:\>
usr-1@wrk-1 freedos $ dir
8048 autoexec.bat command.com doc gnu kernel.sys tmp
appinfo bin config.sys dosemu help nls unz532x3.exe
C:\>dir
Volume in drive C is mu/drives/c
Directory of C:\
KERNEL SYS 45,908 09-24-03 1:58p
COMMAND COM 90,863 09-19-03 2:18p
CONFIG SYS 192 09-18-03 11:34a
AUTOEXEC BAT 327 09-19-03 2:42p
BIN <DIR> 01-10-04 5:40a
GNU <DIR> 01-02-04 2:36a
DOSEMU <DIR> 01-02-04 2:36a
DOC <DIR> 01-02-04 2:36a
HELP <DIR> 01-02-04 2:36a
NLS <DIR> 01-02-04 2:36a
TMP <DIR> 01-10-04 5:30a
APPINFO <DIR> 09-27-03 4:47p
8048 <DIR> 01-10-04 5:37a
UNZ532X3 EXE 241,373 01-10-04 5:33a
5 file(s) 378,663 bytes
9 dir(s) 2,147,450,880 bytes free
C:\>
C:\>mkdir util
C:\>mkdir util\unzip
C:\>move UN*.EXE util\unzip
C:\UNZ532X3.EXE => C:\util\unzip\UNZ532X3.EXE [ok]
C:\>cd util\unzip
C:\UTIL\UNZIP>
C:\UTIL\UNZIP>UNZ532X3
UnZipSFX 5.32 of 3 November 1997, by Info-ZIP (Zip-Bugs@lists.wku.edu).
Info-ZIP's portable UnZip, version 5.32, DOS 16-bit and 32-bit exes and docs.
Use this free software with great happiness. Do not pass Go; do not collect
$200; and definitely do not go to Jail if you can help it. Do check out
our lovely web site at http://www.cdrom.com/pub/infozip/ and our principal
ftp mirror site at ftp://ftp.uu.net/pub/archiving/zip/ , though. Rock on.
inflating: ./README
inflating: ./WHERE
inflating: ./COPYING
inflating: ./unzip.doc
inflating: ./unzipsfx.doc
inflating: ./zipinfo.doc
inflating: ./funzip.doc
inflating: ./README.DOS
inflating: ./unzip.exe
inflating: ./unzip32.exe
inflating: ./unzipsfx.exe
inflating: ./funzip.exe
C:\UTIL\UNZIP>
C:\UTIL\UNZIP>cp UNZIP32.EXE \bin\
C:\UTIL\UNZIP>
C:\UTIL\UNZIP>ver
FreeCom version 0.82 pl 2 XMS_Swap [Sep 19 2003 21:44:14]
C:\UTIL\UNZIP>
C:\8048>unzip32 *.zip
Archive: s48v13.zip
Distributed by the Simtel.Net(sm) world-wide network
inflating: ./S48.COM
inflating: ./S48.DOC
inflating: ./DEMO.ASM
extracting: ./DEMO.BIN
inflating: ./ALSO_BY.WVL
inflating: ./FILE_ID.DIZ
C:\8048>
C:\8048>mv \bin\unzip32.exe \bin\unzip.exe
C:\8048>
C:\8048>ls
also_by.wvl demo.bin s48.com s48v13.zip
demo.asm file_id.diz s48.doc
|
Pretty self explanatory. Kinda nice how *nix style works. Now, let's grab a binary from here and run it. For further info on the binary, see this article. Let's run it:
Here is what this looks like:
The output on P1 is Helter Skelter mode on the timer.
|
|