<媩b Enviro-C.TXT ɮפ>

ThermoProtect V1.03
Author               : David Wei
E-Mail Address       : davidwei@cybermail.net
Program Function     : Monitoring system temperature, fan speed, and voltage.
Software Requirement : OS/2 Warp 3.0 or OS/2 Warp 4.0 (Runs fine an any language version)
Hardware Requirement : So long as the system can run OS/2, and comes with Winbond W83781D, National Semiconductor LM78 or compatible hardware monitoring chip. (LM78 users please note, current version of ThermoProtect is NOT quite compatible with LM78, it may result in weird value being reported, but should not be anything more than that. Version 1.04 should fix that problem).


I wrote this program is because most enviromental monitoring software do not support OS/2, and ALL OS/2 enviromental monitor software do not properly support Winbond W83781D monitoring chip. (Hehehe, the 1st program in OS/2 that supports Winbond W83781D ;) ) This program is still in the early stage of development, thus the text mode display.

ThermoProtect (TP, not Turbo Pascal :) ) is EXTREMELY simple to use, there are absolutely no command line parameters or user interface! Just run Enviro.EXE (English version) or Enviro-C.EXE (BIG-5 Traditional Chinese version) and that's all you need to do, and when you want to quit the program, just press any key and the program will quit automatically.

TP updates the information every 0.5 second, and uses VERY LITTLE system resources, and I could not see any difference in the CPU monitoring program at all myself!  Currently this programs can read output from Winbond W83781D and National Semiconductor LM78 monitoring chip.

The information can be read by ThermoProtect are:
#1 Chassis Fan
#2 1st Processor Fan
#3 2nd Processor Fan (for dual CPU machines)/Power Fan
#4 1st Temperature Probe (on LM78 this program can only display this value, and not the CPU temperatures and stuff...)
#5 2nd Temperature Probe
#6 3rd Temperature Probe
#7 1st CPU Core Voltage
#8 2nd CPU Core Voltage (for dual CPU, on single CPU machine, this will be the same as 1st CPU Core Voltage)
#9 3.3VA5VA12VA-5V and -12V

PLEASE NOTE! Tho the voltage value goes down to very fine value, BUT it is NOT as accurate as THAT! It is done that way because the changes can be easily monitored, and also because that modern CPU have very low voltage requirement, and finer value would let you spot trouble early on. Most monitoring chip have a manufacturer's spec error of about 1%, so don't take the constant flux in voltage without a grain of salt. :)

I use EPoX MPV3E-M ATX motherboard on this machine, which have Winbond W83781D chip built in. One very strange thing is the motherboard's monitoring chip wire up, which is connected in such way that only the second and third temperature input is used.  Thus NONE of the program supporting National Semiconductor LM78 can properly display the temperature. :( But on the bright side, it caused ME to create this darn thing... :)

Last, but not the least is the people who I had to THANK!!

Virtual Pascal/2 programming team and fPrint, for creating a compiler of my favourite computer language on my favourite OS... :)

Mr. Kevin Wu at EPoX had provided me tips on how to set the Bank Select register properly (Winbond datasheet don't quite say it properly), and in only a few minutes, the Bank Select bug is fixed.  Without his tip, I'd never be able to program this thing to read the extra 2 temperature input of the W83781D chip.

Christoph Bratschi and Bjrn Mork had provided the program code where I learned hardware access in Virtual Pascal. Without them, this program will take a whole lot longer to start.

Okay, that's all for my primitive doc, have fun with my program, and please E-Mail your comment to me!


PS: If anyone can proof-read my lousy English to near-letter perfect, I'll be most greatful, and of course, free registeration for the shareware/commerical version that is coming! :)


David Wei
davidwei@cybermail.net