Thx for helping hand, Carson.
All I know about it in a nutshell:
Since release of windows ME and newer it is done by simply dumping RAM to a file and setting a loader reading content of this file and placing it back to RAM at boot, through ACPI and/or APM1.2 (IIRC). So it is controlled by OS.
But before Win ME, before ACPI and APM1.2, it was controlled by BIOS/OS cooperative
I.e. Win95 fires up Phdisk to dump RAM content to a file, and BIOS must have been capable of reading such file and loading it back to RAM during boot.
Thats how it is done on that old Acer notebook I mentioned before (AFAIK).
However this IBM desktop is 3 years older than the notebook, and its BIOS has quite different settings/options to set in regard to hibernation (its called Rapid Resume there, and has extra option to "initialize adapter cards", change APM BIOS Mode to 16bit, protected mode only, 16 & 32bit, or 32 bit mode only, and few other nifty things), and even though I set this desktop as a laptop (fooling Win95) and installed Phdisk, set its dump file to the size of RAM (everything as it supposed to be - same way as I succesfully set it on my Acer notebook) etc etc - it still gives me BIOS warning msg at boot every time, regardless of enabling or disabling the Rapid Resume in the BIOS (I guess even if disabled, the RAM dump file have to be there on root somewhere), and anyway it doesn't see the Phdisk's dump file at all.
Yes, there are tons of confusing articles on the web, mainly because "hibernation" wasn't widely used before WinME or perhaps WinXP.
But I *know* for sure that it was (and should be still) supported on some old machines such as this one, since the BIOS has this option, and it was hibernating some 10 years ago already