braner@batcomputer.UUCP (04/30/87)
[] NITE blanks the screen by putting the ST's video circuit into 'external sync' mode. If there are no external sync signals, the screen goes black. While it's black, there are no vertical blank interrupts. That can cause some problems: SCACHE (and other disk caches) need to know when a floppy is removed. The ST ROM routines detect floppy removal by noticing the change in the disk write-protect status. That is checked during every Vblank interrupt. Moral: Do NOT remove the floppy while the screen is blank due to NITE! You might even end up with a damaged floppy! Press a shift key (or wiggle the mouse) first! I _think_ that this is the reason for the reported problems with leaving the ST for a while with NITE and SCACHE active. The ALARMCLK desk accessory (from MicroTime (sp?)) (shows the time all the time in the upper right corner of the screen, and provides 5 separate timed-and-dated alarms with messages - pretty handy!) updates it's hhmmss data structure during Vblank interrupts. (It counts seconds using the 200Hz interrupt, saves the elapsed seconds somewhere, then incorporates the increment into the hhmmss later upon a Vblank. The operation is byte sized, so if the screen is blank for more than 127 seconds the time gets corrupted.) Moral: ALARMCLK and NITE do not mix. I patched ALARMCLK to do the hhmmss update in the 200Hz interrupt (but leaving the update of the display on the screen, which takes a lot longer, to the Vblank interrupt). (Should I post such a fix?) To my surprise, now the screen does not blank at all while the desktop sits there, but it _does_ blank while inside a TOS program. Any ideas why? - Moshe Braner