Hi Michael,

> > >      Forget to mention: your EMM386 outputs help screen to stderr (very
> > > bad) and complains for /? option.

one of the problems is simply a cut and paste bug:

put_console(COUNT c)

... #ifndef FORSYS

... #else       /* use DOS write char to make output redirectable */
        #if defined(__TURBOC__)
          _AX = 0x0200;
...
        #else
...       mov ah, 0x0e;
...

As FORSYS is defined nowhere, EMM386 and HIMEM *always* use the
NON-REDIRECTABLE output (ifndef FORSYS part) at the moment!?
The purpose of the FORSYS define is a bit unclear in prf.c ...

Int 21.02 belongs to the 21.00 - 21.0c class which can be called
in almost any situation...
http://www.drdos.net/documentation/sysprog/httoc.htm did not contain
information about "you must not... from device driver init...". Hmmm.
http://www.redbooks.ibm.com/redbooks/pdfs/gg244459.pdf
PC DOS 7 tech reference (including DPMI, task swapping, win3 /
instance data..., EMS basics, IOCTL, int 21, POWER, device drivers,
lots of other things) explains:
Only system calls 01H-0CH and 30H can be issued by the initialization
code of the driver.

So it is perfectly okay to use int 21 console output in prf.c :-).

(other topics: DEBUG, memory allocation, PSP, overlays, 50:xx,
FCB- and handle based file access, MBR, boot sector, list of files
which are new in PC DOS 7 (e.g. acalc, dpms, dynaload, rexx, stacker,
pcm* (pcmcia), ...), got improved, got removed (SuperStor, old pcmcia,
expand, recover, comp, edlin, exe2bin, fastopen, graphics, printer...),
and so on. "PC DOS 7 Technical Update" 2/1995 by IBM...)

I recommend using int 21.02.dl=char "write to con and check ^c".
You could also use int 21.06.dl=char (uses console instead of stdout,
and does not check ^c) or int 21.09 (writes a string to stdout, ^c checked).

Eric



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Freedos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to