From owner-freebsd-emulation Mon Sep 1 13:25:22 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id NAA18598 for emulation-outgoing; Mon, 1 Sep 1997 13:25:22 -0700 (PDT) Received: from atlantis.ping.at (a013.static.Vienna.AT.EU.net [193.154.186.13]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id NAA18591 for ; Mon, 1 Sep 1997 13:25:16 -0700 (PDT) Received: from atlantis (localhost.ping.at [127.0.0.1]) by atlantis.ping.at (8.8.7/8.6.12) with SMTP id WAA00601; Mon, 1 Sep 1997 22:25:01 +0200 (MEST) Message-ID: <340B249D.167EB0E7@ping.at> Date: Mon, 01 Sep 1997 22:25:01 +0200 From: "Helmut F. Wirth" X-Mailer: Mozilla 3.01Gold (X11; I; FreeBSD 3.0-CURRENT i386) MIME-Version: 1.0 To: Mike Smith CC: emulation@FreeBSD.ORG Subject: Re: Dos Emulation References: <199709010250.MAA00432@word.smith.net.au> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-emulation@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Mike Smith wrote: > > > - doscmd's built-in DOS emulation isn't terribly wonderful; it falls > far short of getting it "right" in many places, and needs an audit. > - The video BIOS/interface code needs a serious rewrite; we need a > modular design which allows either a tty-style interface using > curses or an X window to be used, with appropriate VGA emulation, > etc. > - The network redirector is "OK" as far as it goes, but also falls far > short of being perfect. > - A packet-driver emulator would be very useful, so that DOS programs > could interact with the network. I have code for the PCEMU emulator > which provides a pseudo-interface on the BSD side of things which > looks like a private network between the BSD system and the virtual > DOS machine; this would be an excellent place to start. > > As well as this, documentation, installation procedures (getting > started, etc.), or even just a functionality audit would be very > useful. If you think you can, and want to, help with any of this, just > get into it! Ask us questions, pester for details, whatever you need > to get the job done. > > mike Hello, just to let you all know: I am working on an emulation for EMS (expanded memory as in LIM EMS 4.0) right now. The LIM EMS 3.0 subset is working and tested, but the more complex LIM EMS 4.0 functions need a bit of work yet. I will get it commited when it is ready (1-2 weeks). This emulation will need a (minor) rework of the callback function (INT 0xFF) because it is used for the redirector interface only now. I have a new version of instbsdi.exe. It is functionally equivalent to the current version, but it uses a function number in AX. This way the callback interrupt can be used for more things; for example in the EMS emulation, where it is needed. A question: Does somebody have a test program which will test the LIM EMS 4.0 functionality ? I have a test program (EMSTEST, From Borland C) but it tests only the LIM EMS 3.0 subset. I could write a test program myself, but I'd rather avoid that. Any hints, pointers ? New functionality added to doscmd recently: The emulation of XMS (extended memory) including usability of the HMA (High Memory Area) and UMBs (Upper Memory Blocks) exists now in doscmd (FreeBSD-current). MSDOS 6.22 boots now with "DOS=HIGH,UMB". Extended memory is usable. I could use a disc cache program (like smartdrv.exe). Future projects I am thinking about are: Mouse support: This should be fairly easy in X11 mode and not too hard in console mode. Graphics support: There are fragments in the existing code which could be used. The syscons driver supports switching to some simple VGA modes. A "well behaving" DOS program (i.e. one using the BIOS and video memory but not the card registers to do the graphics) should work this way. I too have looked at the LINUX dosemu package. The code was written by many authors, never got cleaned up and it shows. But I may try to port it to FreeBSD. It can do much more than our doscmd. It will need a rewrite in some parts, but I *think* this could be easier and less work than write all the functionality for ourselves. With the kernel support existing now in -current, most things of dosemu should work, except their DPMI emulation. This will probably need some more kernel support. Regards Helmut -- Helmut F. Wirth Email: hfwirth@ping.at