Article View: comp.sys.atari.st
Article #38414Re: Screen Saver
From: Moshe Braner
Date: Tue, 02 May 1989 17:49
Date: Tue, 02 May 1989 17:49
63 lines
3643 bytes
3643 bytes
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<J#$ 68.,#H .!' a
M@@/@2!' @@%!^() 0_H +G '(-E1R/_\0GD %V(_K^F 7A&WTYU a
M 1E a
M !(>@ T/SP )DY.7(](>@"</SP "4Y!7(]R"G#_4<C__E')__A!^O_:D>\ a
M!$)G+P@_/ Q3D%"@$'X@@ 0* !X4 0* #!$ @#/ !@N& (\ &$a
M('@!& RH241,1?_X9QYP I*!0?H &B)P& D<!@,)G 8&"21(HM8@5'(_^Q.a
M=0 +0 $8 !% /X $@ # 0( $D $ T*"4E$3$4Za
M('1H92!#4E0@<')O=&5C=&]R#0H)(" @(&)Y($UO<VAE($)R86YE<@T*"79Ea
M<G-I;VX@,2XR("T@:6YS=&%L;&5D#0H* #X&"A0R#C@("'P(A@@^! 0$a
#! 0 a
a
end
Technical Details
Message-ID:
<7871@batcomputer.tn.cornell.edu>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cornell!batcomputer!branerReferences:
<1040@gmdzi.UUCP>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!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