PrintLogo

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:

C:\8048>s48 mem.bin

Here is what this looks like:



The output on P1 is Helter Skelter mode on the timer.



This article comes from Coprolite:
http://coprolite.com/

The URL for this story is:
http://coprolite.com/art27.html

Copyright 1997-2006 Coprolite.com. Read our Terms of Use.