Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cornell!batcomputer!braner From: braner@batcomputer.tn.cornell.edu (Moshe Braner) Newsgroups: comp.sys.atari.st Subject: Re: Screen Saver Summary: Use IDLE 1.2 Keywords: Vsync VBL-Queue Message-ID: <7871@batcomputer.tn.cornell.edu> Date: 2 May 89 17:49:09 GMT References: <1040@gmdzi.UUCP> Reply-To: braner@tcgould.tn.cornell.edu (Moshe Braner) Organization: Cornell Theory Center, Cornell University, Ithaca NY Lines: 63 In article <1040@gmdzi.UUCP> kloppen@gmdzi.UUCP (Jelske Kloppenburg) writes: >I just wrote a Screen Saver Program for a friend. I used the trick to >set the Vsync to external Signal. While testing I realized, that with >Screen off (= no sync signal) the VBL Queue routines are not executed. >Is that right? Setting Vsync to external causes no end of problems. I have written a screen saver that is perfectly safe and have been using it for over a year. Here's a repost: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Here is of IDLE, version 1.2. Reminder: IDLE 1.2 replaces NIGHT, NITE, and earlier versions of IDLE, all of which had serious bugs. IDLE blanks the screen after 6 minutes of no activity (up from 3 in 1.1) and unblanks upon keyboard/mouse input or BIOS text output. All IDLE does is zero the palette AND shift the video RAM pointer 32K below the normal location. Since that area is normally all zeros, zeroing the video palette will display it as all black. IDLE checks to see that that piece of RAM is all zeros, and if it is not, it leaves the video pointer as it was, but still zeros the palette. This has the effect of blanking the screen in color mode, but only reversing black and white in monochrome mode. The check for nonzeros is done slowly, so strange things _might_ show on the screen for up to 20 seconds. But not to worry: IDLE does _not_ write to the video RAM. To customize the delay before blanking, change the LONG integer that is located immediately after the branch instruction at the start of the program, at an offset of 32 bytes from the start of the .PRG file, and followed with the ASCII string "IDLE" in the next 4 bytes. The default value is 72000 decimal (00011940 hex) for 6 minutes (6*60*200). I have only tested IDLE with a monochrome monitor, but it is supposed to work with color too, as described. Here is the binary, source (GST assembler) available upon request. This can be put into the auto folder. - Moshe Braner ---------------------- cut here -------------------- begin 644 idle12.prg M8!H *@ & :8 1E 241,10 !(a MYX# 0.< ? < ,#H!6F960?H!5E.0:G!!^() 0_H!6G '(M!"F%'(__HS_ "a M !=DIY !?F9.,_P 0 79!^(( $"@ >%($"@ S/ !@# Z 1H1a M0 #X$@10 !8"(,0 !9AQ!^(( $"@ >%($"@ [!Z /9G"#/\ ( %Va M0?H XC 0:@I">0 7XP/'T 44 P@"!Z -1*L 9@9*L $9S P.@"V#$ a M 686,#H MA' @@/@2!' @@$S_ " !=C/\?0 %\,_P 0 7Y&WTS?a M P$O.O\63G5)1$Q% $CG@, P+P *#$ V8"82),WP,!+SK_YDYU241,a M10 !(YX# 80I,WP,!+SK_\$YU0.< ? < ,#H .F@ T/SP )DY.7(](>@"\ a M!$)G+P@_/ Q3D%"@$'X@@ 0* !X4 0* #!$ @#/ !@N& (\ &$a M('@!& RH241,1?_X9QYP I*!0?H &B)P& D