[comp.sources.amiga] v91i044: SetSpeed 1.0 - set speed of Fatter Agnus chip, Part01/01

amiga-request@ab20.larc.nasa.gov (Amiga Sources/Binaries Moderator) (03/04/91)

Submitted-by: simpsonc@project4.computer-science.manchester.ac.uk
Posting-number: Volume 91, Issue 044
Archive-name: utilities/setspeed-1.0/part01

[ includes uuencoded executable  ...tad ]

  Newer versions of the Amiga are fitted with the Fatter Agnus chip which,
amongst other things, allows you to specify whether to run your machine at
50 or 60Hz. On PAL machines with a good quality display, this causes the
screen to strech so that only the top 200 lines can be seen on the screen,
but the machine runs faster. With a poorer quality display, the screen
flickers badly, but the increase in speed still occurs. As NTSC machines
already run at 60Hz (I think!) no speed increase can be obtained, but 
somebody somewhere might find a use for the 50Hz mode.

  SetSpeed works from the CLI only. Typing "SetSpeed" without any command
line parameters will cause a brief help message to appear telling you what
to do. To set the speed, use "SetSpeed x" where x is either an "S" or "F"
to select slow (50Hz) or fast (60Hz) mode. The value of x can be either
upper or lower case. To change the speed at a later time, just run the
program again, but supply the opposite speed as a value of x.

#!/bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 1 (of 1)."
# Contents:  SetSpeed.Doc SetSpeed.S SetSpeed.uu
# Wrapped by tadguy@ab20 on Sun Mar  3 18:24:16 1991
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'SetSpeed.Doc' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'SetSpeed.Doc'\"
else
echo shar: Extracting \"'SetSpeed.Doc'\" \(1362 characters\)
sed "s/^X//" >'SetSpeed.Doc' <<'END_OF_FILE'
XSetSpeed v1.0
X-------------
X
XDISTRIBUTION:
X
X  This program is copyright 1990 Chris Simpson, but can be freely
Xdistributed by any means as long as the source code and this file are
Xincluded in the distribution.
X
XINTRODUCTION:
X
X  Newer versions of the Amiga are fitted with the Fatter Agnus chip which,
Xamongst other things, allows you to specify whether to run your machine at
X50 or 60Hz. On PAL machines with a good quality display, this causes the
Xscreen to strech so that only the top 200 lines can be seen on the screen,
Xbut the machine runs faster. With a poorer quality display, the screen
Xflickers badly, but the increase in speed still occurs. As NTSC machines
Xalready run at 60Hz (I think!) no speed increase can be obtained, but 
Xsomebody somewhere might find a use for the 50Hz mode.
X
XUSAGE:
X
X  SetSpeed works from the CLI only. Typing "SetSpeed" without any command
Xline parameters will cause a brief help message to appear telling you what
Xto do. To set the speed, use "SetSpeed x" where x is either an "S" or "F"
Xto select slow (50Hz) or fast (60Hz) mode. The value of x can be either
Xupper or lower case. To change the speed at a later time, just run the
Xprogram again, but supply the opposite speed as a value of x.
X
XCOMMENTS:
X
X  Mail any comments, bug reports or suggestions to me at the following 
Xe-mail address : 
X			simpsonc@uk.ac.man.cs.p4
X
END_OF_FILE
if test 1362 -ne `wc -c <'SetSpeed.Doc'`; then
    echo shar: \"'SetSpeed.Doc'\" unpacked with wrong size!
fi
# end of 'SetSpeed.Doc'
fi
if test -f 'SetSpeed.S' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'SetSpeed.S'\"
else
echo shar: Extracting \"'SetSpeed.S'\" \(1074 characters\)
sed "s/^X//" >'SetSpeed.S' <<'END_OF_FILE'
X*** INCLUDES ***
X
X		incdir	include:
X
X		include	exec/exec_lib.i
X		include	libraries/dos_lib.i
X
X*** CODE ***
X		move.b	(a0),CmdLineChar	
X
X		lea	DOSName,a1
X		clr.l	d0
X		CALLEXEC OpenLibrary
X		tst.l	d0
X		beq	NoDOSLib
X		move.l	d0,_DOSBase
X
X		move.b	CmdLineChar,d0
X
X		cmp.b	#"f",d0
X		beq	Mode60Hz
X		cmp.b	#"F",d0
X		beq	Mode60Hz
X		cmp.b	#"s",d0
X		beq	Mode50Hz
X		cmp.b	#"S",d0
X		beq	Mode50Hz
X
X		CALLDOS Output
X		move.l	d0,d1
X		move.l	#ErrorText,d2
X		move.l	#ErrorTextLength,d3
X		CALLDOS Write
X		bra	CloseUp
X
XMode50Hz	move.w	#$20,$dff1dc
X		bra	CloseUp
X
XMode60Hz	move.w	#$00,$dff1dc
X
XCloseUp		move.l	_DOSBase,a1
X		CALLEXEC CloseLibrary
XNoDOSLib	rts
X
X*** DATA ***
X
XDOSName		dc.b	"dos.library",0
X		even
X_DOSBase	dc.l	0
X
XCmdLineChar	dc.b	0
X		even
X
XErrorText	dc.b	"SetSpeed v1.0   (c) 1990 Chris Simpson",10,13,10,13
X		dc.b    "USAGE: SetSpeed x where x = S or s for 50Hz mode",13,10
X		dc.b	"                        x = F or f for 60Hz mode",13,10,13,10
X		dc.b	"Note that your Amiga must have a Fatter Agnus for this program to work!",13,10,13,10
XErrorTextLength	equ	*-ErrorText
X		even
X
X 
END_OF_FILE
if test 1074 -ne `wc -c <'SetSpeed.S'`; then
    echo shar: \"'SetSpeed.S'\" unpacked with wrong size!
fi
# end of 'SetSpeed.S'
fi
if test -f 'SetSpeed.uu' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'SetSpeed.uu'\"
else
echo shar: Extracting \"'SetSpeed.uu'\" \(692 characters\)
sed "s/^X//" >'SetSpeed.uu' <<'END_OF_FILE'
Xbegin 644 SetSpeed
XM```#\P`````````!``````````````!@```#Z0```&`3T````*)#^0```))"X
XM@"QX``1.KOW82H!G``!V(\````">$#D```"BL#P`9F<``$RP/`!&9P``1+`\:
XM`'-G```PL#P`4V<``"@L>0```)Y.KO_$(@`D/````*0F/````-DL>0```)Y.,
XMKO_08```%C/\`"``W_'<8```"C/\````W_'<(GD```">+'@`!$ZN_F).=61O&
XM<RYL:6)R87)Y`````````%-E=%-P965D('8Q+C`@(""I(#$Y.3`@0VAR:7,@-
XM4VEM<'-O;@H-"@U54T%'13H@4V5T4W!E960@>"!W:&5R92!X(#T@4R!O<B!S2
XM(&9O<B`U,$AZ(&UO9&4-"B`@("`@("`@("`@("`@("`@("`@("`@('@@/2!&%
XM(&]R(&8@9F]R(#8P2'H@;6]D90T*#0I.;W1E('1H870@>6]U<B!!;6EG82!M+
XM=7-T(&AA=F4@82!&871T97(@06=N=7,@9F]R('1H:7,@<')O9W)A;2!T;R!WV
XM;W)K(0T*#0H```````/L````"``````````"````"````!X````D````2@``H
X2`%8```!B````A`````````/RQ
X``
Xend
Xsize 468
END_OF_FILE
if test 692 -ne `wc -c <'SetSpeed.uu'`; then
    echo shar: \"'SetSpeed.uu'\" unpacked with wrong size!
fi
# end of 'SetSpeed.uu'
fi
echo shar: End of archive 1 \(of 1\).
cp /dev/null ark1isdone
MISSING=""
for I in 1 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have the archive.
    rm -f ark[1-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0
-- 
Mail submissions (sources or binaries) to <amiga@uunet.uu.net>.
Mail comments to the moderator at <amiga-request@uunet.uu.net>.
Post requests for sources, and general discussion to comp.sys.amiga.misc.