Bertho,

>> Given the "high level of responsibility" [Ha-Ha!] taken by the
>> VirtualBox creators, it looks as if I will have to add another
>> UIDE switch, that disables diskette caching regardless of what
>> its other switches tell it to do. 
>
> Jack, if I may chime in... I think you're now contemplating the right  
> step.  I can understand your frustration with VB in this instance, BUT  
> imho your previous approach has been to ignore a few facts, that have  
> nothing to do with that or another emulator or virtualiser :
>
> On REAL (old) PC hardware, the existence of floppy disk changelines is  
> not guaranteed; even if the line is present AND properly connected it  
> MIGHT be flaky or not work at all; or the BIOS might not update the bits  
> you expect. MS-DOS (and, I presume, good DOS clones as well) will use  
> alternate means and kluges to check for media change in the absence of a  
> (credible) change line. Your DOS drivers could have been relying on DOS  
> for checking media change, not on the BIOS or direct HW interrogation
> in the 1st place!

My design goal for UIDE/UIDE2 was to write a driver that uses as FEW
"DOS system calls" as possible.    At present, UIDE/UIDE2 are more a
"BIOS" than a "DOS" driver, and they need to handle only a BIOS "Int
13h" call after their initialization.   I did so (A) to have a SMALL
driver, not a "Bloody MONSTER!" like SMARTDRV or Norton NCACHE2, (B)
to avoid "DOS calls" that may NOT be implemented the same across all
DOS systems, and (C) to follow the old U.S. engineering "joke" known
as the "K.I.S.S. Principle" whose letters stand for "Keep it SIMPLE,
Stupid!".   UIDE/UIDE2 are thus "generic" for use on any DOS system,
using very little of DOS during their initialization only.    I want
to KEEP my drivers that way!!

I also DID try to find a diskette driver that I could include within
UIDE, but by 2006 NONE were "available", since the BIOS had long-ago
taken over diskette handling, and NOBODY offered a separate diskette
driver any more!   I saw no reasonable choice EXCEPT to use the BIOS
"change lines" and "media change" status codes, to handle diskettes.
This has been the case in UIDE/UIDE2 since 2006, and NOBODY has ever
complained to me about diskette media-change trouble until now.

So, I DISPUTE your comments about the change lines being unreliable!
They have "been around" from 1985, and if they ever DO fail, that is
a "maintenance" problem for the user, NOT an indication that I ought
to reconsider using them in UIDE/UIDE2!!

> Offering the user an option to switch diskette caching off is much  
> better. As you are aware, SMARTDRV allows a user to select, disk per  
> disk, not just for floppies, to cache or not to cache - and if cacheing,  
> whether to allow delayed writes or just write-through.

SMARTDRV has many problems.   It takes a LOT of memory and is very
heavily linked to MS-DOS, so it may NOT run on other DOS systems!!
Also, it has never been updated to use UltraDMA, thus it cannot do
I-O directly to/from cache memory (XMS).   UIDE/UIDE2 can do both.

Delayed writes are nice, but you "PAY for them!" given the size of
SMARTDRV and NCACHE2.   I felt it to be MUCH more reasonable if my
drivers did a FAST Write-Through implementation, with UltraDMA and
direct cache I-O, in only their "912 byte" upper-memory size!

>> -- UIDE2 has only 16 spare bytes before it goes back over a 7K
>> .SYS file!   But, I shall find a way!
>
> No doubt you will.

In fact only 12 bytes, and I required only 11 of them for /N5, so
UIDE2 still has 1 spare!   It is still a 7K-byte .SYS file and it
can be "packed" using UPX down to 6K for use on "boot" diskettes!

Jack R. Ellis


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to