Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 01 Sep 1997 22:25:01 +0200
From:      "Helmut F. Wirth" <hfwirth@ping.at>
To:        Mike Smith <mike@smith.net.au>
Cc:        emulation@FreeBSD.ORG
Subject:   Re: Dos Emulation
Message-ID:  <340B249D.167EB0E7@ping.at>
References:  <199709010250.MAA00432@word.smith.net.au>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?340B249D.167EB0E7>