[comp.sources.mac] Interlace INIT

mkb@rover.ri.cmu.edu (Mike Blackwell) (03/29/88)

[Interlace INIT]

Interlace is an INIT which sets interlace mode on a Mac II video card at
system startup. Useful if you have a normal RGB color monitor sitting
around, and you'd like to look at pretty color pictures...  This is the
MPW source code.

		Mike Blackwell		mkb@rover.ri.cmu.edu
		The Robotics Institute
		Carnegie-Mellon University
		Pittsburgh, PA, 15213

[Moderator's Note: The binary has been posted to comp.binaries.mac]

---
#! /bin/sh
# This is a shell archive, meaning:
# 1. Remove everything above the #! /bin/sh line.
# 2. Save the resulting text in a file.
# 3. Execute the file with /bin/sh (not csh) to create the files:
#	interlace.c
#	interlace.r
# This archive created: Mon Mar 28 08:01:45 1988
export PATH; PATH=/bin:$PATH
if test -f 'interlace.c'
then
	echo shar: will not over-write existing file "'interlace.c'"
else
cat << \SHAR_EOF > 'interlace.c'
/* Set interlace mode for slot 2 */

main()
{
	SetInterlace(2);
}

/* Set to Interlace Video */
SetInterlace(Slot)
int Slot;
{	
    int Dummy;
    long ll, *CardPtr;

	Slot += 8;
    ll = (long)Slot;
    CardPtr = (long *) ((ll << 20) + 0x80000L);
    
    CardPtr[0] = 0xff;
    CardPtr[1] = 0x48;
    CardPtr[2] = 0xff;
    CardPtr[3] = 0xf7;
    CardPtr[4] = 0x9f;
    CardPtr[5] = 0x1a;
    CardPtr[6] = 0xc4;
    CardPtr[7] = 0xe6;
    CardPtr[8] = 0xfa;
    CardPtr[9] = 0xf7;
    CardPtr[10] = 0xe5;
    CardPtr[11] = 0xF1;
    CardPtr[12] = 0x7b;
    CardPtr[13] = 0xf1;
    CardPtr[14] = 0xd1;
    CardPtr[15] = 0x06;
    
    ll = (long) Slot;
    CardPtr = (long *)((ll <<20) + 0xC0000) ;
    Dummy = *CardPtr ;   /* Must be a Longint reference */
}
SHAR_EOF
fi # end of overwriting check
if test -f 'interlace.r'
then
	echo shar: will not over-write existing file "'interlace.r'"
else
cat << \SHAR_EOF > 'interlace.r'
resource 'ICN#' (128, "INIT Icon") {
	{
		$"FFFF FFFF FFFF FFFF E000 0007 C000 0003"
		$"EAAA AAAB C000 0003 C000 0003 EAAA AAAB"
		$"C000 0003 C000 0003 EAAA AAAB C000 0003"
		$"C000 0003 EAAA AAAB C000 0003 C000 0003"
		$"EAAA AAAB C000 0003 C000 0003 EAAA AAAB"
		$"C000 0003 C000 0003 EAAA AAAB C000 0003"
		$"E000 0007 FFFF FFFF FFFF FFFF E000 0007"
		$"E000 0187 E000 0007 FFFF FFFF FFFF FFFF",

		$"0000 0000 7FFF FFFE 7FFF FFFE 7FFF FFFE"
		$"7FFF FFFE 7FFF FFFE 7FFF FFFE 7FFF FFFE"
		$"7FFF FFFE 7FFF FFFE 7FFF FFFE 7FFF FFFE"
		$"7FFF FFFE 7FFF FFFE 7FFF FFFE 7FFF FFFE"
		$"7FFF FFFE 7FFF FFFE 7FFF FFFE 7FFF FFFE"
		$"7FFF FFFE 7FFF FFFE 7FFF FFFE 7FFF FFFE"
		$"7FFF FFFE 7FFF FFFE 7FFF FFFE 7FFF FFFE"
		$"7FFF FFFE 7FFF FFFE 7FFF FFFE 0000 0000"
	}
};

resource 'BNDL' (128, purgeable) {
	'mkb0', 0, {
		'ICN#', {
			0, 128
		},
		'FREF', {
			0, 128
		}
	}
};

resource 'FREF' (128) {
	'INIT', 0, ""
};

type 'mkb0' as 'STR ';

resource 'mkb0' (0) {
	"Video Interlace Mode - slot 2"
};

include "interlace.code";

data 'INIT' (128, "ShowINIT", purgeable) {
	$"4E56 FEFA 2F08 A029 2F17 486E FFFA 486E"
	$"FFFC 486E FEFA A9A8 3F2E FFFA 3F3C FFFF"
	$"4EBA 000A 205F A02A 4E5E 4E75 4E56 0000"
	$"2F0B 42A7 2F3C 4943 4E23 3F2E 000A A9A0"
	$"201F 6720 2040 A029 2648 2F10 3F2E 0008"
	$"4EBA 0014 204B A02A 2F08 A9A3 265F 4E5E"
	$"2E9F 4E75 60F6 4E56 FEAC 48E7 3F1C 2F38"
	$"0904 4BEE FFFC 21CD 0904 486E FFF8 A86E"
	$"486E FEAC A86F 3038 092C E358 0A40 1021"
	$"B078 092E 6718 0CB8 5061 756C 0A78 6708"
	$"31FC 0008 092C 6006 31F8 0A7E 092C 41EE"
	$"FEAC 3028 000C 0440 0028 4840 3038 092C"
	$"2D40 FF26 2D40 FF2A 066E 0020 FF2C 066E"
	$"0020 FF2A 266E 000A 6134 3038 092C 322E"
	$"0008 6A04 323C 0028 D041 31C0 092C E358"
	$"0A40 1021 31C0 092E 486E FEAC A87D 21DF"
	$"0904 4CDF 38FC 4E5E 205F 5C8F 4ED0 49EE"
	$"FF18 288B 0694 0000 0080 397C 0004 0004"
	$"42AC 0006 297C 0020 0020 000A 2F0C 45EE"
	$"FEAC 486A 0002 487A 002C 486E FF26 3F3C"
	$"0003 42A7 A8EC 0494 0000 0080 2F0C 486A"
	$"0002 487A 0010 486E FF26 3F3C 0001 42A7"
	$"A8EC 4E75 0000 0000 0020 0020"
};
SHAR_EOF
fi # end of overwriting check
#	End of shell archive
exit 0
---