Reply 40 of 42, by igully
Disruptor wrote on Yesterday, 16:57:This request was NOT for the documentation. It was for you to modify the code :) I just have tested it on my K6-3 machine but th […]
igully wrote on Yesterday, 15:58:Disruptor wrote on Yesterday, 07:39:For all enhancements you add, like BIOS calls, please ensure that the stop clock function should be called very late in your code to avoid a possible re-activation of the clock -
even when we know that font restauration and stop clock together have no sense.This is valuable information. I have included it in the current documentation of SANE so that users are aware of this precaution.
Thank you very much.This request was NOT for the documentation. It was for you to modify the code 😀
I just have tested it on my K6-3 machine but there was no reaction.
However, I have seen that STOPRTC is one of your first steps in the code. But it should be one of that last ones, perhaps just before the APM/ACPI shutdown command.
However, It may also have to do that my QDL Titanium IB+ does not contain a Dallas 😀I also have to add that it does not shutdown the motors of my IDE disks jet. (That system does not have any SCSI disks that could be shutdown too via ASPI command.)
I just got that because an AT power supply could not be shutdown by software 😀
Hi, the code should be fine. Text message order has improved a lot, but was not always chronologically precise, as it was an add-on, and some functions required not to be interrupted and so messaging happened after the the task was carried out. The code logic operates this way (from what I can recall, since I am not in front of my computer atm):
The first steps of the code generally speaking, are video stabilization, audio muting, cache flushing, floppy motors stopping (if you have floppies), and if you have vintage drives (these are pre IDE era (before 1990, mostly MFM, RLL and proprietary interfaces) then parking occurs. IDE drives were designed to overcome several old issues, including drive parking, with a built-in microcontroller and associated firmware that does the job automatically if it is needed. IDE drives were also more CPU dependent, but way cheaper than SCSI ever was.
To the meat of the matter, this is exactly as I coded the Dallas part:
At the time the Dallas RTC stop occurs, right afterwards, the APM shutdown is attempted (3 APM operations and the computer powers off, or only 1 if no APM). If APM is not present, then a text message is displayed to inform the user to shut down manually and a halt instructions is issued to stop the CPU. Since some emulators/virtual systems ignore the halt, I also placed, behind it, an infinite loop, which does the job. There is no clock manipulation after Dallas RTC stop. But of course, a user might create some workaround or do some funky stuff with a TSR, so it is important to let them know. Hence the documentation approach.