[comp.sys.atari.st] NITE, SCACHE and ALARMCLK

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