[comp.sys.atari.st] NITE

braner@batcomputer.UUCP (01/24/87)

[]

>Reminder:  'Night' blanks out the screen after 2 minutes of no activity.
>Any mouse or keyboard input, or any BIOS text output, will turn screen
>on again.  'Killer' enables escape from hung-up programs: hold down the
><Control>, <Alternate>, and BOTH <Shift> keys and press <Return>.
>'Nite' combines the two.

There were two problems with 'night', as published in "C'T" magazine
and posted here.  When it was time to blank the screen, it waited till
just before the next vblank.  (That's necessary: the screen gets messed
up if you don't!)  But that is done inside the 200Hz interrupt handler,
which is called more often than there are vblanks.  Apparently, that
caused problems when using SOME software.  The other bug was that it
decided that it's "just before vblank" when bit #7 of VMID was set.
That's not right when the screen is not on an even 64K boundary.
The following new version of NITE fixes both bugs, although I will NOT
guarantee that it will now work with ANY software...

A note about the 'killer' part of this program:  It is DESIGNED not to
have any effect if the running program is in supervisor mode.  If your
hung-up program is waiting for input or calling TOS very often you may
have to press those keys several times, or it may not work at all.
And remember: the 'killer' part won't work once the ROMs are changed!

(The source code (in assembler language) is available upon request.)

- Moshe Braner

~~~~~~~~~~~~~~~~ cut here ~~~~~~~~~~~~~~~~
begin 644 NITE.PRG
M8!H   &.                             &   ,9.251%     $CG@( @
M.@"L0?H K%*0L)!B,DIY    QF8J$#B" >% $#B" S! $#B"!>% $#B"!Y!(
M#$  ?6T,"/@  ((*4GD   #&3-\! 2\Z_[).=4Y)5$4     83X(%P %9A0,
M.  /#AMF# C7  4O? #\"EH  B\Z_]Y.=4Y)5$4     +P P+P *#$   V8"
M80@@'R\Z_^I.=4IY    QF<,"+@  ((*0GD   #&0KD   #"3G4  %W     
M    2'H -#\\ "9.3ER/2'H >C\\  E.05R/<@IP_U'(__Y1R?_X0?K_VI'O
M  1"9R\(/SP ,4Y!('@!& RH3DE41?_X9QYP I*!0?H &B)P&  D<!@,)G 8
M&"21(HM8@5'(_^Q.=0   +0   $8   !%    (@   !>    "    (P   !B
M    # T*"@E.251%.B!#4E0@<')O=&5C=&EO;B!A;F0@87-S87-S:6X@=71I
D;&ET>2 M(&EN<W1A;&QE9"X-"@      ("Q8#@: ! 0$! 0 
 
end