Re: Old MHz display panels
Samurize, and a color LCD.
Samurize can monitor the hardware from within Windows, and give real-time reporting on temps, speed, network output, or just about anything else.
Now out of windows, let me get back home (in a hotel room) and I have a toy that can do some of that.
Re: Old MHz display panels
Quote:
Originally Posted by Kayin
Samurize can monitor the hardware from within Windows, and give real-time reporting on temps, speed, network output, or just about anything else.
Yeah, there's lots of software (even Windows Gadgets) that can do that. Sending software info to a display unit isn't hard at all, every commercial display product already does that.
1) Software monitors are OS dependent. I want mine to work even when I install multiple OSs, different versions of Windows or linux or even DOS4GW for all I care. I want it to work during POST and preboot, when the system locks, even while running the BIOS Setup program. It occurs to me that it might be a useful method for identifying hardware bottlenecks and failures (and a good way to get rough "benchmark" results without actually running any software).
2) The accuracy of software monitors is limited by the capabilities inherent in all perfectly functioning software. Direct hardware monitoring (on a discrete computer which just happens to share the same chassis) can monitor hardware properties that no software can possibly see (many machine-level details are assumed to be irrelevant at the software level), plus as always the hardware simply cannot ever lie, what it is is what it says. For example, compare what a hardware RAM tester can do vs even what the best memory diagnostic/burn-in software can report.
3) Hardware can report real performance measures that are transparent to the software. I might find that a game/program (or even software monitor) running on one version of Windows will run at different hardware speeds in another version, even when the same results are reported by the software.
4) Software does often lie, if inadvertently. When I run CPU-Z or Everest, can I know with certainty that each item reported is actually measured from real performance data, or is it just what the datasheet for the item says it should be? (ie, is the software essentially just the modern version of the ancient lying LED panels, reporting the arbitrary data it "should" say instead of what's really there?) Sure, my hardware won't necessarily monitor the finest level of detail, but best to avoid talking to an uninformed liar as much as possible.
Quote:
Originally Posted by Kayin
Now out of windows, let me get back home (in a hotel room) and I have a toy that can do some of that.
Suspense. Aw, don't leave me hangin' man!
Re: Old MHz display panels
CPU-Z reads off the clock generator. I don't know of a more accurate way to do it.
I have a POST code reader with the port 80 display on a ribbon cable. It reads voltages off the PCI slot as well. The main issue with your idea is that it's not that easy, and it won't really work like you want. For example, the only place to pull the thermal information about the CPU from is in Windows, the sensor is in-die and inaccessible.
Further complicating all this? Once you're in windows, the BIOS hands off all information and is deactivated. There is no way really short of software to pull the info, which means it is 100% inaccesible in DOS. (That should have died years ago, BTW-what are you still doing in it?) It's chancy in Linux, depending on distro (Ubuntu, if I remember) but the only other way involves hardcore hardware hacking. If you want to know what it entails, I'll gladly let you know what I know, but you may not want to go to the added complexity and expense.
Re: Old MHz display panels
Quote:
Originally Posted by Kayin
CPU-Z reads off the clock generator. I don't know of a more accurate way to do it.
CPU-Z is kickass, no doubt, and amazingly accurate. But it wants Windows and still operates on the software layer. BIOS-level reporting is more accurate/reliable, and hardware-level reporting is better still.
Quote:
Originally Posted by Kayin
I have a POST code reader with the port 80 display on a ribbon cable. It reads voltages off the PCI slot as well. The main issue with your idea is that it's not that easy, and it won't really work like you want. For example, the only place to pull the thermal information about the CPU from is in Windows, the sensor is in-die and inaccessible.
I have an ancient double-edge (PCI/ISA) 80h POST card too, it's not as good as yours (doesn't read voltages) and I haven't actually needed to use it for many years. It did help inspire me, though.
Hardware interface for thermal information is easier than you think ... I recently attempted to feel out the plausibility of my idea in this thread, but there appeared to be no interest and I've since just gone ahead and experimented with the concept anyways (results are a bit ugly but it works, though calibration was a bitch). Exact parts vary on each mobo; I tested the concept on my old Socket 478 IBM/Intel D865GKD board which uses an LM85B1MQ part (National Semiconductor LM85 Hardware Monitor with Integrated Fan Control, datasheet). As it turns out, this part doesn't need to actually contain the thermal sensor, but the I/O signals through it's pins can be deciphered to extract the temps (and fan rpms) of the sensors to which it's logically attached. I envision piggybacking a connector (like the one shown here) above the chip, then attaching wires/ribbons to the relevant pins. I don't mind soldering, reworking, moving or replacing mobo components, I don't mind tapping "shunts" directly into the PCB traces where needed. Obviously my hardware monitor would be semi-parasitically attached (soldered!) to the mobo itself, it's not at all the sort of thing you can quickly drop into any PC, even one with an identical mobo.
(I could even inject regulated voltages into my LM85 part, fooling or forcing it to control the fans any way I like instead of leaving it to the BIOS. Even simply installing the right resistors between the LM85 pins and mobo traces would trick the BIOS into seeing other temps/rpms or controlling the alarms and fan speeds at different temp thresholds. Not really interested in doing that, just saying it's possible and not too complex.)
A similar approach can be used to monitor I/O signals on the frequency synthesis chip (always located in close proximity to the universal 14.31818 and 32768Hz crystals), the memory controller chips (always located adjacent to the RAM banks), the voltage regulator chips (part of the VRM circuitry surrounding the processor), and any of the many signal traces routed into the main chipset parts (82865G and 82801EB in my case; it's just not practical to connect directly to pins under large BGA-mounted chips). Even a PCIe, AGP, or PCI bus can be monitored; especially if there's a nearby controller/buffer chip. Almost anything can be monitored if you can find a point in the circuit to tap into, it just becomes a question of choosing which information is useful/interesting and which is meaningless.
What I don't know how to do is directly monitor the processor. I don't even know if individual processor cores can be monitored with external hardware (that is, does each core communicate individually with anything on the mobo or are they all a single "black box" that interact through some other on-die interface logic). My primary interest in this entire project hinges on being able to report core processor speeds.
Quote:
Originally Posted by Kayin
Once you're in windows, the BIOS hands off all information and is deactivated.
The BIOS constantly runs. It provides low-level INT/IRQ/DMA services to the entire chipset (including (G)MCH, ICH, drive controllers, LPC bus, keyboard controllers, UARTs, RTC-NVRAM, and the like), to all onboard hardware (including all the adapter cards, though most actually install their own runtime BIOS), and to the OS software. It also constantly runs all the mobo hardware monitoring services (and alarm overrides) regardless of what else the computer is doing. What you refer to as the "clock generator" used by Windows/CPU-Z is an example of an always-running-in-firmware BIOS service, the data could just as easily be displayed by software running on an MCU as by software running on the mobo-socketed CPU, provided there's an electrical interface.
Using my mobo-hacking methods you can even install an MCU to emulate (or alter) the behaviour of the BIOS, even when the BIOS isn't a nicely socketed discrete chip but instead coded into the flash segments of the NB, SB, or Winbond-style "Super I/O" chips. I suspect that a project of that sort would require so much detailed reverse-engineering of the mobo that you might be better off building an entire mobo from scratch.
Quote:
Originally Posted by Kayin
... DOS. (That should have died years ago, BTW-what are you still doing in it?)
lol, I've asked myself the same question. I still sometimes bump into DOS tools (mostly for oddball device programmers that operate through an RS232 port) which just won't run properly from a Windows command prompt, DOSBox, or VM software - a real nuisance when you keep getting bad burns on $20 OTP parts. Once every year or two I like to play a few hours of stupid old DOS games (UFO, TFTD, MoO, MoO2, Armada 2525 lol) and I find an MS-DOS 6.22 boot session is just less of a hassle than tinkering with DOS configuration problems in Windows. Even so, I could probably delete DOS forever and not miss much.