> I noticed that there is a minimal SETVER driver implementation [1] in the
> FreeDOS kernel source, and it is shipped with FreeDOS as SETVER.SYS. However,
> there is no accompanying executable in the FreeDOS distribution to modify the
> (empty) list of DOS version assignments for specific executables. FreeDOS
> instead seems to rely on a different mechanism to "fake" the DOS version,
> called CALLVER [2]. However, this is not equal in functionality, as the
> software for which the DOS version shall be faked has to be called via the
> CALLVER binary. That might not be possible in every case.
>
> Was it a design decision to not support SETVER, or did nobody bother
> implementing this?

I remember a long time ago having a SETVER-type program that worked very 
differently than the MS one.  I don't remember what is was called now and I 
can't seem to easily be able to find it on my system anywhere, but I'm pretty 
sure I got it from Garbo or SimTel or someplace similar.

It didn't need a "configuration" file that contained a list of programs and 
version numbers.  I remember debugging a little of the code, and the way it 
worked was to look at the code in the calling program immediately following the 
DOS Get Version call and "guessing" what version the calling program was 
looking for by looking at how the CMP and Jxx (conditional jump) instructions 
were configured.  It had a very small memory footprint, _far_ smaller than MS 
SETVER, and worked pretty well _most_ of the time from what I remember.


_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to