home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-386-Vol-2of3.iso / s / stblsrc.zip / STBLANK.TXT < prev    next >
Text File  |  1989-04-06  |  14KB  |  324 lines

  1. ST Blank - The Monitor Protector : Version 2.0.0
  2. ================================================
  3.  
  4. (c) Copyright 1989, 1990, 1991, 1992, 1993 Mathew Lodge. This program 
  5. is NOT public domain, but you are free to copy it as long as this 
  6. text file accompanies the executable program and resource file. This 
  7. program may not be sold.
  8.  
  9.  
  10. Abstract
  11. ========
  12.  
  13. ST Blank is a utility to blank your monitor screen after a user 
  14. definable period of inactivity.
  15.  
  16.  
  17. Installation
  18. ============
  19.  
  20. ST Blank comes in two parts: An AUTO folder program, STBLPRG.PRG, a 
  21. control program, STBLACC.ACC, and the resource for the control 
  22. program STBLANK.RSC.
  23.  
  24. STBLPRG.PRG should be placed in the AUTO folder of your boot disk. 
  25. The control program can be used as a desk accessory by placing 
  26. STBLACC.ACC and STBLANK.RSC in the root directory of your boot disk. 
  27. Your ST must be then rebooted before ST Blank will be installed.
  28.  
  29. The control program can also be run as a stand alone program, simply 
  30. by renaming it from STBLACC.ACC to STBLACC.PRG. Make sure that 
  31. STBLANK.RSC is in the same directory as the program, and then 
  32. double-click STBLACC.PRG.
  33.  
  34.  
  35. Use
  36. ===
  37.  
  38. Selecting the ST Blank item from the desk menu (or double clicking 
  39. STBLACC.PRG) allows you to set the various parameters of ST Blank. 
  40. This includes the delay before blanking in minutes and seconds. 
  41. Blanking occurs when the ST has been inactive for this user definable 
  42. amount of time. The program defines activity as mouse movement and 
  43. clicks, key depression and release, and BIOS character output to any 
  44. device other than the intelligent keyboard controller, IKBD.
  45.  
  46. From the dialogue you can also make the screen blank immediately, and 
  47. turn blanking off. Underneath the "Star Display Options" you can set 
  48. whether you want a star-trek type display when the screen is blanked 
  49. (more information on this below). The speed of the star display is 
  50. also configurable - the higher the speed number, the slower the star 
  51. display. The "Test" button blanks the screen straight away (without 
  52. removing the dialogue) to allow easy testing of different star 
  53. speeds.
  54.  
  55. While the screen is blanked, you get a display of stars similar to 
  56. that used in innumerable space games, as if travelling through space. 
  57. (This idea is shamelessly blagged from the Macintosh screen saver 
  58. "Stars!" at the request of Steve Cassidy). The speed of the star 
  59. display is configurable (see above). Any activity (definition of 
  60. "activity" given above) will restore the screen and continue.
  61.  
  62. Clicking upon the "ST Blank" title text displays a dialogue 
  63. containing various information and a thumbnail sketch of the author!
  64.  
  65. This accessory works in ALL screen resoltions currently supported by 
  66. the standard ST(E) architecture (i.e. 320x200, 640x200 and 640x400 - 
  67. NOT "Autoswitch Overscan" modes, Mega Screens or the new screen modes 
  68. of the TT and Falcon).
  69.  
  70. ST Blank works on the TT (though regrettably only in ST screen modes 
  71. -- see "In the pipeline" below) and copes with all 680x0 processors. 
  72. ST Blank has been extensively tested with various beta releases of 
  73. MultiTOS and found to work perfectly. It has not been tested on the 
  74. Falcon, because I can't find anyone who actually has one!
  75.  
  76. When the AUTO folder program starts up, it attempts to read the file 
  77. STBLANK.INF from the boot device (usually A: for those booting from 
  78. floppy, or C: for hard drive owners). This file contains all the 
  79. configuration information. If this file does not exist, an error 
  80. message will be printed, but sensible defaults will be installed. 
  81. Using the controlling accessory, you can save your own configuration 
  82. by clicking on the "Save" button, and it will be used next time you 
  83. restart your ST. You can also re-load your configuration at any time 
  84. with the "Load" button.
  85.  
  86. If any errors occur during initialisation (e.g. can't find memory 
  87. resident part of ST Blank or no resource file), then you won't get 
  88. the ST Blank title on the Desk menu, but the accessory won't crash 
  89. your machine. It will, however, take up memory space. An error 
  90. message or alert will explain what went wrong.
  91.  
  92. ST Blank was written in 68000 assembly language to make it as compact 
  93. as possible. I feel that all memory resident programs should be as 
  94. small as possible - I had a 520ST for a few years, and was appalled 
  95. at the huge size of one poor screen saver. ST Blank has grown as 
  96. features have been added, but I hope that it is still small and 
  97. useful enough to take a regular place in your AUTO folder / accessory 
  98. menu.
  99.  
  100.  
  101. Known Problems
  102. ==============
  103.  
  104. POOLFIX3 and POOLFIX4 : Both these programs (that fix a bug in the 
  105. GEMDOS memory manager of TOS 1.4) like to run first in your AUTO 
  106. folder. Don't try to put STBLPRG.PRG (or any other program) before 
  107. them -- you'll get a system crash.
  108.  
  109. TEMPUS and TEMPUS2 : When normal operation is resumed after screen 
  110. blanking, Tempus' on-screen clock will increment wildly and finally 
  111. settle at the wrong time. This is a bug in Tempus, not ST Blank. In 
  112. Tempus 2, you can avoid this by using Tempus' own screen blanking 
  113. feature instead of ST-Blank. You'll have to forgo the star display 
  114. though, and rely on Tempus' screen blanking method of disabling video 
  115. synchronisation. The Tempus method will damage some monitors in the 
  116. long run, as they hunt for a display signal to lock onto (this is 
  117. characterised by monitor "scream"). Atari USA have stated that the 
  118. Atari range of monitors can be damaged in this way.
  119.  
  120. MEGAROIDS and SMALLTALK-80 : Megamax Megaroids and Smalltalk-80 
  121. install their own IKBD packet handlers and so ST Blank will cut in 
  122. when the timer expires (it never gets to see any mouse movements or 
  123. keypresses). At this point, the only option is to reset, because ST 
  124. Blank cannot detect any activity to cancel the star display. Remember 
  125. to disable ST Blank before using either of these programs.
  126.  
  127. NEOCHROME MASTER : This program hacks wildly into the innards of your 
  128. machine, and does rather strange things with the keyboard and mouse 
  129. packet handlers. Besides this, NeoChrome Master is an illegal 
  130. derivative work of copyright Atari code -- don't use it.
  131.  
  132.  
  133. In the pipeline
  134. ===============
  135.  
  136. A list, in no particular order, of the enhancements planned (when 
  137. (if?) I have time):
  138.  
  139. 1) A CPX version of the controlling accessory.
  140. 2) A version that supports arbitrary video modes (TT, big screens, 
  141. Falcon modes, etc.)
  142. 3) A smoother star display.
  143. 4) A MiNT aware version of the .PRG that communicates via a pipe, 
  144. rather than shared memory.
  145. 5) Slot-in modules to replace the standard star display
  146.  
  147.  
  148. Technical Info.
  149. ===============
  150.  
  151. The program tries to avoid blanking the screen in the middle of disk 
  152. access, but since there's no foolproof way of checking (even looking 
  153. at flock at $43E doesn't work all of the time), this can happen. On 
  154. the ST, all disk I/O is done via Direct Memory Access, which means 
  155. that ST Blank cannot interefere with data being transferred. During 
  156. testing and in the three years since the first release there have 
  157. been no reported corruption problems, but obviously this cannot be 
  158. guaranteed. If anyone knows a foolproof method of testing for ongoing 
  159. floppy/hard disc access, then please let me know.
  160.  
  161. Any character output via the BIOS Bconout routine is counted as 
  162. "activity". This was added to prevent ST Blank cutting in during 
  163. printing and file transfer. However, if the file transfer is all one 
  164. way (i.e. into the ST) then ST Blank will still cut in. I believe 
  165. that this is not the case with most popular file transfer protocols 
  166. (Kermit, X-,Y-, Z-Modem etc.) Note that if a program has its own 
  167. device drivers that do not call the BIOS (e.g. serial port driver of 
  168. First Word (Plus), "Printer (direct)" driver of That's Write and 
  169. Write On), then ST Blank won't know about the output.
  170.  
  171.  
  172. This program installs four of its own exception handlers:
  173.  
  174. 1) The IKBD interrupt vector (see XBIOS 34 (Kdbvbase), IKBDSYS 
  175. vector).
  176. 2) MFP level 5 interrupt, Timer C (200Hz system timer).
  177. 3) One slot in the VBL queue.
  178. 4) BIOS TRAP (#13) vector.
  179.  
  180. All the handlers use the XBRA protocol, and execute the "old" 
  181. interrupt handler when they have done their stuff (which doesn't take 
  182. long on any of the interrupts). I have also attempted to make the 
  183. whole program "well behaved" by adhering to any ST programming 
  184. standards that apply (eg XBRA protocol, Cookie Jar).
  185.  
  186. The AUTO folder program installs a Cookie, with ID "STBl" and a value 
  187. that is a pointer to its shared data area. If no Cookie Jar is 
  188. installed in the machine, ST Blank installs the standard jar plus the 
  189. ST Blank Cookie.
  190.  
  191. This program was written in 68000 Assembly code, using the Tempus 2 
  192. editor and Metacomco Macro Assembler V 12.00. The resource was 
  193. constructed using both Kuma's K-Resource 2 and HiSoft WERCS. All four 
  194. products are highly recommended.
  195.  
  196.  
  197. Memory Usage
  198. ============
  199.  
  200. ST Blank tried to use as little memory as possible -- for example, 
  201. the AUTO folder program overlays its initialisation code with its 
  202. screen, palette and Cookie Jar buffers (once initialisation is over, 
  203. the code is no longer required). Because the program uses techniques 
  204. such as these, it is impossible to determine the exact amount of 
  205. memory used -- it will vary depending on your installation. However, 
  206. the AUTO folder program uses roughly 40K of memory (interrupt 
  207. handlers plus screen buffer).
  208.  
  209. The memory used by the controlling accessory is roughly 8K. However, 
  210. when running under MultiTOS, the accessory seems to take up much more 
  211. than 8K, according to the data in U:\PROC. I have no idea why, but it 
  212. could be related to MiNT's use of 8K pages for memory allocation.
  213.  
  214.  
  215.  
  216. Version Information
  217. ===================
  218.  
  219. Version 1.0.1
  220.         Mainly code changes to improve application compatibility.
  221.  
  222. Version 1.0.2
  223.         Own point plotting routines instead of using A-Line, and a 
  224.         vastly enlarged stack which improved application 
  225.         compatibilty remarkably.
  226.  
  227. Version 1.1.0
  228.         The speed of the star display is now configurable, and the 
  229.         full version number is now displayed on the accessory's 
  230.         menu slot. Also, changes were made to internal data 
  231.         structures so that the program will run on STs with a full 
  232.         32-bit address bus (i.e. the TT).
  233.  
  234. Verison 1.2.0
  235.         Some tidying of code, vastly improved XBRA installation 
  236.         routines, and BIOS TRAP intercepted to detect character 
  237.         output to all devices _except_ IKBD. This prevents the 
  238.         screen blanker cutting in during file transfer or printing 
  239.         and screwing things up. It also makes ST Blank compatible 
  240.         with the SGS-net MIDI network system. Improved installation 
  241.         code means that ST Blank does not cause crashes when you 
  242.         change resolution.
  243.  
  244. Version 1.2.1
  245.         IKBD interrupt handler added, making old mouse interrupt 
  246.         handler routine obsolete, and allowing detection of _ALL_ key 
  247.         presses (and releases) as well as mouse clicks. The program 
  248.         now always "sees" all keypresses (before it missed more often 
  249.         than it hit, and depresion of the Caps Lock, Control, Shift 
  250.         and Alternate keys was not detected.) This removes problems 
  251.         encountered when using the Guläm shell and a very short blank 
  252.         delay time.
  253.  
  254. Version 1.2.2
  255.         ST Blank now displays an error message at boot-up if it 
  256.         cannot install itself, telling you what the problem is.
  257.  
  258. Version 1.2.3
  259.         Bug fixed in BIOS intercept that caused (at least) the G+PLUS 
  260.         accessory to crash.
  261.  
  262. Version 1.3.0
  263.         Save / Load configuration facility added, forcing code 
  264.         structure changes in the installation phase.
  265.  
  266. Version 1.3.1
  267.         Modification made to BIOS TRAP intercept to account for the 
  268.         increased stack frame size on 68010, '020, '030 and '040 
  269.         processors.
  270.  
  271. Version 2.0.0
  272.         Functionality split into two parts, AUTO folder program and 
  273.         accessory/program, to solve resolution change problems on the 
  274.         TT. Screen, palette and Cookie jar buffers are overlaid on 
  275.         top of initialisation code to minimise memory usage. AUTO 
  276.         folder program installs a Cookie. Stars re-implemented using 
  277.         200Hz interrupt to ensure constant star speed irrespective of 
  278.         processor clock speed. AUTO program will now expand the VBL 
  279.         queue if it cannot find a free slot. "Test" button added to 
  280.         dialogue of controlling acc/prg, and dialogue redesigned.
  281.  
  282. Version 2.0.1
  283.         Bug fixed that caused bombs if the .INF file was not present 
  284.         in the root directory at boot-up. Resource file tidied up and 
  285.         fixed so that it worked in low and medium resolution. Code to 
  286.         access the "About" dialogue added. (It's been in the resource 
  287.         for some time, but you'd only have found it if you loaded the 
  288.         resource file into a resource editor!)
  289.  
  290.  
  291. Thanks
  292. ======
  293.  
  294. Thank you to:
  295.  
  296. Steve Cassidy   : Who asked for it in the first place!
  297. Dave Wade       : STE testing and helpful comments.
  298. Leroy J. Dickey : Bug report and suggestions for useful improvements.
  299. L. R. Henry     : For posting ST Blank to comp.binaries.atari.st back 
  300.                 : in the days when I couldn't.
  301. Stuart Boutell  : TT testing and free lunches!
  302.  
  303. And the to those readers of comp.sys.atari.st(.tech) who said what 
  304. they liked (and didn't like) in ST Blank, and who gave many helpful 
  305. comments and suggestions.
  306.  
  307.  
  308. Any comments, bug reports, money (?) or requests for improvements to:
  309.  
  310. Mathew Lodge
  311.  
  312. Snail Mail          E-mail (until July 1993):
  313. ==========          =========================
  314.  
  315. "Maen Melin"        World: mjl-b@minster.york.ac.uk
  316. Holmes Chapel Road  UUCP : ...!uknet!minster!mjl-b
  317. Lach Dennis         Other:mjl-b%minster.york.ac.uk@nsfnet-relay.ac.uk
  318. Northwich
  319. Cheshire
  320. CW9 7SZ
  321. United Kingdom
  322.  
  323. 27 January 1993
  324.