Date: Tue, 27 Aug 1996 22:04:08 -0700 From: Sean Eric Fagan <sef@Kithrup.COM> To: jkh@time.cdrom.com, rdmurphy@bu.edu Cc: freebsd-emulation@freebsd.org, plm@xs4all.nl Subject: Re: DOS Emulator (was: Re: JDK 1.02) Message-ID: <199608280504.WAA20215@kithrup.com>
next in thread | raw e-mail | index | archive | help
>OK, I'll bite. I haven't been subscribing here long, would someone >mind summarizing where things are today and what might be involved >in moving them along? Contrary to Jordan's bleak statement, work has started progressing again. (I only got my development computer put together on Saturday, for crying out loud... and only started working on the vm86 stuff last night. Given that I have to work, I think we're doing okay. Remember, Jordan: just because we put something on hold for a while doesn't mean it's been dropped. Even by someone as generally flaky as me ;).) I just got it to the point where running a DOS binary does not panic the system. The dos binary doesn't *work*, mind you, but it *does* run some 16-bit code, and the DOS emulator does get to try to handle some int21 requests. Why it's not working beyong that point, I don't know. The doscmd port was done by Mike Smith, who has been busy with his own things as well, but now it looks like both of us have some resources (time and equipment) to play with things again. Below, if anyone cares, is the result of trying to run a DOS "ls.exe" binary, supplied by msmith. # ./doscmd -2 -3 -A -E -D -M -V ../testbins/ls.exe dosmem = 0x1000 base = 0x1000 avail = 0x9f00 (636K) init_path(2, /, /usr/home/sef/src/doscmd/doscmd) init_path(17, /, (null)) env: PATH=C:\USR\HOME\SEF\SRC\DOSCMD\DOSCMD env: COMSPEC=C:\COMMAND.COM env: PROMPT=DOS> 0101: alloc (00007, owner 0001) 0000: alloc (106a6, owner 0001) failed 0109: alloc (09ef6, owner 0001) 0109: owner (0109) 0101: owner (0109) Read 06a6c into 0119 init_cs = 0x7aa preserving eax (0xffffffff) from trampling. _switch_vm86 07c9:00fb [fa]cli 07c9:0100 [fb]sti 0119:32a0 [cd]int21:30 0119:32a0/f0000084 0119:32bd [fa]cli 0119:32c4 [fb]sti 0119:3315 [cd]int21:4a 0119:3315/f00000840109: adjust(015c0) 0119:352c [cd]int21:30 0119:352c/f0000084 0119:352c [cd]int21:30 0119:352c/f0000084 0119:0000 [00] ax=0000 bx=0036 cx=0006 dx=06c9 si=0082 di=ffd2 sp=ffd4 bp=004c cs=0119 ss=06c9 ds=06c9 es=06c9 ip=0 flags=206 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 addb %al,(%bx+%si) doscmd: fatal error default trap taken Obviously, we still have some work to do. I am begging whatever deities might be listening that it's not a major flaw in *how* things are done (in the kernel at least ;)), but just minor flaws. I'll make my diffs available on freefall soon, hopefully tonight -- and I'll send out a note when they're there, so don't ask for them yet 8-). Sean.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199608280504.WAA20215>