Eric,

> FD-EMM386 is very outdated, yes.  But when it was still maintained,
> updates were often tested by a number of users.  With JEMM, it is
> more like "here is an update, enjoy".

I can sympathize with Japheth re: testing JEMM, as I have the same
problem testing UIDE:  Very FEW who DESIRE to "test" our drivers!!

>> I have reviewed Japheth's "Changelog", I believe much of what he
>> had to do changing FD-EMM386 to JEMM386 are "Flat-Ass DISASTERS"
>> [in FD-EMM386] and I shall continue to AVOID using FD-EMM386...
>
> Thanks for taking the time to read the changelog, can you give some
> examples of bad FD-EMM386 bugs which were fixed by JEMM?

"Ask, and Ye shall receive!", from the ChangeLog on the "JEMM" page
at <www.japheth.de> --

>> 03/27/2007
>>  bugfix: free EMS pages not always reported correctly.
>>  bugfix: translation DMA for 16-bit controller (channels 4-7) didn't  
>> work.
>>
>> 03/02/2007 bugfix: XMS function 11h (free UMB) always returned an error.
>>
>> 10/07/2006 bugfix: allocating a EMS block with zero pages (int 67h,
>> ah=5Ah, bx=0) returned with AH=0, but did not return a valid DX handle.
>>
>> 09/30/2006
>>  bugfix: VDS functions 03, 04, 07 and 08 may have failed if bit 1 of DX
>>   was set (request to copy in/out of DMA buffer) and registers BX,CX
>>   were <> 0.
>>  bugfix: 1 kB of DMA buffer may have been inaccessible.
>>  bugfix: releasing a DMA buffer of size < 1 kB always failed.
>>
>> 09/06/2006 bugfix: writing to "ROM" page FF000 if ALTBOOT wasn't set
>> caused a crash.
>>
>> 08/25/2006 bugfix: unsupported VDS functions caused a debug display,
>> which didn't work and may have caused corruption of monitor data.
>>
>> 08/23/2006 bugfix: DMA buffer is ensured to begin on a 64 kB physical
>> address boundary.
>>
>> 08/17/2006 bugfix: in VCPI protected mode entry switch to host stack
>> before context is switched.

Note that all of the "bugfix" items listed above are not-long after the
final update for FD-EMM386, meaning that Japheth likely inherited them,
 from his predecessors.   So, FD-EMM386 cannot (A) handle a VCPI switch,
(B) has DMA-buffer address problems, (C) has VDS function-call problems
and (D) has EMS-page problems!!   Are those enough examples for you??!!

> Of course there are zero JEMM bugs fixed by FD-EMM386, but that does
> not mean that JEMM is by definition free of bugs.

Nor can I expect my own XMGR or UIDE to be "by definition free of bugs"
since I am not God!   "Bugs" are a fact of life with software, but what
need NOT be a fact is how so many do so little to FIX their bugs!!

> I do believe Alain when he says that he did have data loss with the
> latter - which may not be due to bugs at all, maybe it is just that
> JEMM makes it easier for the users to shoot their own foot.

Then why, Eric, does FreeDOS have JEMM/HIMEMX in its "Base Software"
list??   Your comment disparages the very system you support!!

>> ... I absolutely REFUSE using "old EMM386" by Gates & Co. ...
>
> Nobody suggested to use the EMM386 by MS ...

Glad to hear THAT, since neither do I!!

>> ... I also want NOTHING to do with FD-EMM386 and anyone who
>> wonders why can read the Revision Notes for JEMM386 ...
>
> Examples please ...

See above, or read the JEMM ChangeLog yourself if you want more.

>> ... It does not help when Alain says that his customers have
>> burning computers with JEMM and you say you get nightmares
>> from FD-EMM386 ... There must be something in which BOTH
>> Alain and you are right, and finding that would help to
>> convince Alain to trust JEMM and help to improve it.

I get NO nightmares from FD-EMM386, since I have never USED it!

On working to improve JEMM386, I like it as-is, I trust Japheth
to make it better using HIS judgement, and I admit to NOT being
enough of a protected-mode programmer to test it properly.   We
are all "specialists" in software, and my "specialty" is device
drivers and caching, not protected-mode!

>> Re: JEMM386/JEMMEX failing on some systems, this is likely
>> due to "modern" address spaces that the JEMM drivers can't
>> detect.   But Japheth once told me that he CHOSE to retain
>> all of EMM386's memory-detection logic, so his drivers are
>> "compatible" with what Gates & Co.'s [never updated] TRASH
>
> How can JEMM retain code from MS EMM, I would rather assume
> it retains FD-EMM code?

Can't say what code JEMM retains or does-not retain.   I only
said it retains "all of EMM386's memory-dection logic", i.e.,
its METHODS are the same, no-matter what actual CODE it uses.

> If JEMM mimicks MS, then that could explain why JEMM is harder
> to tame than FD-EMM for the user as AFAIR, FD-EMM tried to have
> quite cautious detection :-!

Can't say there, either, as I avoid FD-EMM386 like the PLAGUE!

> You know my conclusion - EMM drivers are just not suited for
> one size fits all boot disks. But this is a pity and I would
> be happy if some EMM driver could eventually prove me wrong.

Good luck waiting for one!   But, why wait -- Why not recommend
that users who create "boot" diskettes DO NOT include any "EMM"
driver in such "boot" activities??   If a "boot" diskette is to
get a system RUNNING, and maybe copy-over added files to use if
the system boots from a hard-disk, WHO NEEDS an "EMM" driver in
a diskette "boot"??   I use UMBPCI/XMGR on my own diskettes and
have NEVER required an "EMM" driver when they "boot" my system!

>> Finally, it is a bit "LATE in the game!" to be thinking of
>> new schemes for handling the "A20" line.   My own XMGR has
>> exactly 4 methods:
>>(A) IGNORE "A20" if it is found "enabled" when XMGR loads
>>     i.e. the DOS kernel turns it on forever.
>
> If you mean FreeDOS: No the kernel does NOT turn on the A20,
> it asks the XMS driver to do that.  But it would be NICE if
> the driver could explicitly switch A20 ON and THEN does not
> touch it any more ...

You are BADLY misinformed!   Make a copy of Lucho's old "boot"
diskette (from the COMBOOTF.EXE file on Johnson Lam's website)
and "boot" from it using Lucho's "Option 5", which is FreeDOS.
Would you care to GUESS the first message XMGR will give you??
Something like "NOTE:  A20 line found on!", maybe??!!   And if
XMGR is the first actual DRIVER loaded, then what-else BUT the
FreeDOS kernel is hard-enabling "A20"??!!   A "Hairy Thunderer
or Cosmic Muffin", perhaps??!!

> In short, I would be happy about a "force-on" "A20 method".

Glad to hear that, since your own FreeDOS is already DOING so!

>> (B) Use keyboard-port logic if /PN was given.
>> (C) Use port 92h i.e. IBM PS/2 logic if /PA was given.
>> (D) "Ask the BIOS" if port 92h logic is there, if neither
>>     /PA nor /PN is given.
>
> Fair enough.   I hope the BIOS is reliable for the detection.

So do I, as such calls were defined by Gates & "Flunkies" about
20 years ago!

>> XMGR doesn't handle the usually-ignored BIOS calls ...
>
> What makes you think they are usually ignored?  Would the BIOS
> not at least ANNOUNCE that they are ignored, detection-wise?

Knowing the "children" on that island in the South China Sea
who write BIOS programs, I doubt any BIOS would make such an
announcement.   "C" is the "top language" for their masters,
who are all "cheap" anyway, thus TRAINEES get most BIOS work
since it tends to be "Horror of HORRORS" ASSEMBLY-language!!

Why do I say such calls are usually ignored?   Because XMGR
has NEVER supported them, and no one has ever "complained"
to me that the "A20" BIOS calls SHOULD be supported!   One
more "nice idea" by Gates & Co. that I expect nobody uses!

> In any case, BIOS calls tend to do (B) or (C) anyway, just in
> a slower way, so you are right to ignore those calls, and the
> ancient stuff as well, of course :-)

Of course!

>> So, why don't we just leave current "A20" handling as-is??
>
> See above.   Or maybe the KERNEL could do part of the work ...

The kernel already IS doing part of the work!   Try ALL of the
options on Lucho's "boot" diskette"!   You will find that only
MS-DOS and PC-DOS are not hard-enabling "A20", when they load.
DR-DOS, the Russian PTS-DOS, ROM-DOS, and FreeDOS all DO hard-
enable "A20".

To use an old U.S. phrase, "Don't MESS with success!" [and the
word "mess" is the polite 4-letter word!].

> Note that my suggestion is NOT related to Alain's "I had
> vague problems and think A20 changes help".   It is more
> my GENERAL suggestion - namely that we should stop switching
> around a dusty rusty address gate line.  Let's just make SURE
> at boot that the gate is OPEN, then keep it like that. As an
> OPTION for the command line of any XMS driver, for example ...

I disagree.   MS-DOS and PC-DOS have good reason for NOT hard-
enabling "A20" that the other kernel designers have forgotten.
There ARE still a few programs which use their OWN enables and
disables of "A20", and those programs FAIL if the line MAY NOT
be switched-off or switched-on!   I do not recall exactly what
programs they are, but I DO recall that the LOADFIX program in
MS-DOS and Windows specifically "remedies" one such problem!

Given that, I am NOT in favor of adding such a hard-enable for
"A20" in my XMGR driver.   If other XMS managers offer such an
option, I hope their users "Know what they are doing!" if they
use that option!!   [And "Know what they are doing" has become
just as problematical as some of the "A20" issues themselves!].

Jack R. Ellis


------------------------------------------------------------------------------
The demand for IT networking professionals continues to grow, and the
demand for specialized networking skills is growing even more rapidly.
Take a complimentary Learning@Ciosco Self-Assessment and learn 
about Cisco certifications, training, and career opportunities. 
http://p.sf.net/sfu/cisco-dev2dev
_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to