> ...
> By no means is VINFO perfect. In fact, there is a known issue in
> detecting some 486 based machines that I have not got around to
> fixing. Also, there some other things that could be done better.
> But, they are mostly minor issues that I have not found the time or
> motivation to remedy. Generally speaking, it is good enough for what
> it does and is under 3k when UPX compressed. 

Totally understandable, and I can completely relate to the lack of time and 
motivation.  I've got a LOT of programs I would like to update (some in some 
very major ways) and it's tough to get any of them done.

> ...

> I though I saw ISLOADED somewhere before. But, I just made a quick
> visit to your site and didn't notice it. If I recall correctly,
> the program does a lot of other things as well.

It's not on my web site because I've not yet officially released it.  I sent 
Jim a copy several weeks back which he posted -- that's probably where you saw 
a reference to it.  That was before I added all the VM stuff so it doesn't have 
that anyway, but it has over a hundred different things it can test for.  The 
version I sent to Jim did detect the Windows Virtual Machines (the VMs from 
DOS-based versions of Windows and NTVDM from Windows NT), but not the "modern" 
ones.  I know I've taken a thrashing recently on this forum over calling things 
VMs that some others call "Emulators", and you seem to use the term "Virtual 
Environment".  What Microsoft called Virtual Machines would probably not be 
called VMs by my modern detractors.

>> I also have another program called BATTSAVE which I think is sort
>> of "in-between" what IDELHALT does and what FDAPM does and it may
>> work better than either for the specific problem you're trying to
>> fix.  It's "not ready for prime time" either, but I can send it to
>> anyone who wants it...

> When you say not ready for prime time, why? Compatibility,
> incomplete, documentation, etc?
> Just generally speaking, how is it in-between IDLEHALT and FDAPM?

With ISLOADED, there are still a few tests I want to add, and need to do some 
more testing.  E.g., I was having problems with the VMware test where after I 
did the test VMware would start acting funny.  I need to track that down.

With BATTSAVE, there are several different C-states (power-saving states) that 
the CPU can be in.  C0 is the "normal" mode with no power saving.  C1 is 
triggered by the HLT CPU instruction used by IDLEHALT and FDAPM (at least last 
time I looked at it which was a long time ago).  On older CPUs C1 just stops 
the CPU from performing instructions but in 486+ CPUs the HLT instruction also 
disables some of the hardware clocks.  C2 saves even more power than C1 and 
also restarts everything when a hardware interrupt occurs.  C3 and beyond don't 
restart things when an interrupt occurs so probably aren't good for DOS.  There 
are also C-states like C1E and C2E.

Anyway, for BATTSAVE I want to allow C2 as an option to save even more power 
than HLT can do.  But C2 is started through an I/O port instead of a CPU 
instruction and there is no standard I/O port.  I think the only way to 
determine the correct I/O port to use is via ACPI, and if you've ever dealt 
with ACPI you know what a HUGE pain it is.  I've experimented with C2 a little 
bit, but still need to do more.

Also, I suspect that in VMs C2 won't actually do anything useful at all.  This 
is based on the fact that in VMs disabling the cache in the virtual CPU doesn't 
seem to do anything at all (at least on the VMs I've tested).  On real hardware 
disabling the cache has a HUGE effect.  That's actually one of the tests I use 
to detect a "generic" VM in ISLOADED.

For a power saving program to work in DOS it must monitor CPU instructions for 
programs to declare themselves "idle" (either directly or indirectly).  From 
the documentation on IDLEHALT, it only monitors a limited number of CPU 
instructions.  I think BATTSAVE monitors more than IDLEHALT, and FDAPM does a 
lot more than BATTSAVE (like interacting with the APM BIOS if there is one).

In addition, I have BATTSAVE right now toggle a character on the screen to 
indicate when it has entered the power saving mode and also indicates which CPU 
instruction caused the "trap".  This is there for testing purposes.  I 
originally thought I would remove this when I actually released the program, 
but kind of like it and think I will probably add some command-line options to 
control the toggling in case the user actually wants to see the operation, and 
maybe even a hot-key so the user can control the screen toggling in "real-time".

Neither program has currently any documentation other than the comments in the 
source code.

> Regardless, both programs sound interesting. When you feel they are
> ready for more public use/testing, it might be nice for them to get
> wrapped in a package and put on the download repo. Possibly, included
> on one of the release media as well. But, that is a discussion for
> another day. :-)

I generally just release things on my web site, but I'll probably start doing 
things more "officially" in other places as well.  VMs have really complicated 
the testing since none of them seem to be very "realistic", but some are 
certainly better than others.  It takes me much longer these days to make a 
"good" program because of all the VM issues.

> On a completely unrelated and non-FreeDOS related topic

> When I was at your site, I noticed you put your city/state on the
> page. I've been out your way twice when the balloon thing was
> happening. Once in the mid-90s, and again a couple years later.
> Hundreds, if not thousands, of hot air balloons in the sky. Flying
> hamburgers, fork-lifts, animals and stranger things. Some not making
> it and crashing into trees and houses. It was definitely a sight to
> see. They still do that each year?

They do.  It's called the Balloon Fiesta and starts the first Saturday in 
October and lasts for 9 days until the next Sunday.  The city of Albuquerque 
has a HUGE Balloon Fiesta Park dedicated to the event -- it takes a lot of land 
to house hundreds of balloons for a mass ascension.   It's the largest hot-air 
balloon event in the world and people come from literally all over the world to 
participate.  It really is amazing to see all the flying objects -- people come 
up with some pretty creative designs. 

Freedos-devel mailing list

Reply via email to