ST Blank - The Monitor Blanker : Version 1.1.0

==============================================



(C) Copyright 1989,1990 Mathew Lodge. This program is NOT public domain, but 
you are free to copy it as long as this text file accompanies the executable 
program and resource file. This program may not be sold, but PD libraries are 
free to charge a *reasonable* fee to cover costs.



Abstract

========



ST Blank is a small desk accessory which will blank your monitor screen after a 
user definable time of inactivity.



Use

===



Selecting the ST Blank item from the desk menu allows you to set the delay 
before blanking in minutes and seconds (default four minutes). Blanking occurs 
when the ST has been inactive for this user definable amount of time. The 
program defines activity as mouse movement or key presses (but not mouse 
clicks). You can also make the screen blank immediately from this dialogue, and 
turn blanking off. Underneath the "Star Display Options" you can say whether 
you want a star-trek type display when the screen is blanked (see below). The 
speed of the star display is also configurable - the higher the speed number, 
the slower the star display (defualt is 29).



While the screen is blanked, you get a display of stars similar to that used 
in innumerable space games, as if travelling through space. (This idea is 
shamelessly blagged from the Macintosh screen saver "Stars!" at the request of 
Steve Cassidy). The speed of the star display is configurable (see above). To 
restore the screen and continue, simply move the mouse or press a key.



This accessory works in ALL screen resoltions currently supported by the 
standard ST architecture (i.e. Low, medium and high res., but it won't work 
with Mega Screens or with the new screen modes of the TT). The program *should* 
now work on the TT (as of version 1.1.0), when it is in the standard ST screen 
modes. How I wish I had a TT to test the program! Behaviour is likely to be 
unpredictable in the new screen modes.



If any errors occur during initialisation (such as out of memory or no resource 
file), then you won't get the ST Blank title on the Desk menu, but the 
accessory won't crash your machine. It will, however, take up memory space (how 
much depends on exactly where initialisation failed).





Known Problems

==============



TEMPUS and TEMPUS2 : When normal operation is resumed after screen blanking, 
Tempus' on-screen clock will increment wildly and finally settle at the wrong 
time. This is a bug in Tempus, not ST Blank. In Tempus 2, you can avoid this by 
using Tempus' own screen blanking feature instead of ST-Blank. You'll have to 
forgo the star display though...





Technical Info.

===============



The program attempts not to blank the screen in the middle of disk access, 
but since there's no foolproof way of checking (even looking at flock at $43E 
doesn't work all of the time), this can happen. During testing this didn't 
cause any problems, but this cannot be guaranteed. If anyone knows a foolproof 
method of testing for ongoing floppy/hard disc access, then please let me know.



This program installs three of its own interrupt handlers:



1) The mouse movement vector (see XBIOS 34, Kdbvbase, MOUSEVEC vector)



2) MFP level 5 interrupt, Timer C



3) One slot in the VBL queue.



All the handlers use the XBRA protocol, and execute the "old" interrupt handler 
when they have done their stuff (which doesn't take long on any of the 
interrupts). I have also attempted to make the whole program "well behaved".



This program was written in 68000 Assembly code, using the Metacomco Macro 
Assembler suite, Version 12.00. The resource was constructed using Kuma's 
K-Resource 2.





Memory Usage

============



Usage                          Bytes

====================================

Main Program code               3756

(including 400 byte stack)

GEM library code                3072 (!!! - Thank Metacomco for that!)

Resource                        1364

------------------------------------

Total                           8192



Overheads:

====================================

Screen and palette buffer      32020

Basepage                         256

------------------------------------

Total                          32276



====================================

Total memory used              40468

====================================





Version Changes

===============



Version 1.0.1

        Mainly code changes to improve application compatibility.



Version 1.0.2

        Own point plotting routines instead of using A-Line, and a vastly 
        enlarged stack which improved application compatibilty remarkably.



Version 1.1.0

        The speed of the star display is now configurable, and the full version 
        number is now displayed on the accessory's menu slot. Also, changes 
        were made to internal data structures so that the program will run on 
        STs with a full 32-bit address bus (i.e. the TT).





Any comments or requests for improvements to:



Mathew Lodge

"Maen Melin"

Holmes Chapel Road

Lach Dennis

Northwich

Cheshire

CW9 7SZ



JANET: SOCS18@uk.ac.york.vaxa



23rd February, 1990



