Hi, I have uploaded an update for FDAPM: Version 2005 May 23 (as suggested by Martin S., I renamed everything in my download area from name-daymonthyear.zip to name-yearmonthday.zip, I hope you like the new style... but do not ask me to use numeric months instead of named months right now, I deliberately use names to avoid ambiguities...) :-).
The new version explicitly stops the floppy motor before entering any of the standby variants (standby, suspend, flush, speed0...) and fixes an old bug which made the idle time percentage display tend to show nonsense values. The internal POWER interface to select which of the 4 hooked interrupts may trigger CPU sleep during idleness is now supported. Not that I would know ANY software which uses it, but it might be nice for debugging in cases where FDAPM causes unwanted slowdowns (you can now disable any of the sleep handler groups at runtime for testing, but have to use DEBUG for that unless somebody writes a nice user interface)... Syntax errors are now flagged as such and the SPEEDn option family has a new function: SPEED9 just reads out your current ACPI CPU throttle / duty cycle setting without changing it. Note that some BIOSes boot up with reserved settings which can cause displays like "0/8 of maximum speed detected" (while you are actually running at 8/8 speed, in other words at full normal speed). By the way, as the TSC (see RDTSC command which is not supported in DEBUG yet but has opcode 0f 31 ;-)) count keeps running while the CPU is periodically halted in "throttled mode", I could find out that my mainboard decides 16k times per second whether the CPU should be running or stopped. Quite often but not as smooth as I had expected. So if your mainboard uses similar clocks, you may want to combine ACPI throttle with other slowdown methods like disabling L1 cache to smoothly slow down your super-fast PC until your DOS games work okay :-). Note that ACPI throttling can also reduce power consumption a lot. When you are just idling at the DOS prompt and FDAPM APMDOS is in resident mode (only 1kB TSR size), the CPU will be in low power mode most of the time anyway, but you can do most of your everyday DOS work with a forced maximum throttle of 50 or even 25% of your normal CPU speed without noticeable problems, saving probably 30-75% of the CPU energy. Most CPUs consume very little power in halted / low power idle state, and with the SPEEDn option you force the CPU into that state for a certain percentage of all "mainboard timeslices" :-). The SPEED0 (halt system CPU until power or standby button pressed) function now explicitly enables the button and explicitly states that the PC is not yet waking up. This should solve two problems: First, if the button was not properly enabled, pressing the power button only turned your PC off instead of waking it up, and if the waking-up flag was not properly cleared, the PC could wake up again at once. Both made the SPEED0 function not very useful in previous versions. Should be a lot better with the new FDAPM version. Finally, the VGAON / VGAOFF functions now check if you actually have a VGA or at least EGA graphics card and whether you are running mono mode. Enjoy, and please report problems. If you have ACPI problems, please use the SPEED9 option to get some status information and/or use PCISLEEP ... and be warned that SPEEDn can guess / force values to get control over CPU duty cycle settings. Many BIOSes report wrong values here, but it CAN happen that they do so intentionally, because the BIOS can use duty cycle throttling as automatic "cooling" method when overheating is detected. So you might want to use SPEED9 to check current speed before you use SPEEDn to set a new speed. Raising the speed to higher-than- current values can override some BIOS decision, so do it at your own risk. You can get the new FDAPM at http://www.coli.uni-sb.de/~eric/stuff/soft/fdapm-2005may23.zip Thanks for testing :-). Eric PS: I got reports that QEMU can miss keyboard IRQs when FDAPM APMDOS is used with EMM386. If you have QEMU and/or have TASM (to compile modified test versions of EMM386) please contact me. Even if you do not want to compile things, you can still help with other testing. ------------------------------------------------------- This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes! http://ads.osdn.com/?ad_id=7412&alloc_id=16344&op=click _______________________________________________ Freedos-user mailing list Freedosfirstname.lastname@example.org https://lists.sourceforge.net/lists/listinfo/freedos-user