Blink::init:
		lap	param[$0]
		bnt	code_01ca
		lsp	param[$2]
		ldi	$2
		div
		aTop	waitMin
		lsp	param[$2]
		pToa	waitMin
		add
		aTop	waitMax
		pushi	$70		; 112, 'p', init
		push1
		lsp	param[$1]
		super	Cycle, $6
		jmp	code_01d0

code_01ca:	pushi	$70		; 112, 'p', init
		push0
		super	Cycle, $4
code_01d0:	ret

Blink::doit:
		link	$1
		pToa	waitCount
		bnt	code_01eb
		lsg	global[$58]
		sub
		push
		ldi	$0
		gt?
		bnt	code_021c
		ldi	$0
		aTop	waitCount
		pushi	$70		; 112, 'p', init
		push0
		self	$4
		jmp	code_021c

code_01eb:	pushi	$fc		; 252, nextCel
		push0
		self	$4
		sat	temp[$0]
		push
		pushi	$101		; 257, lastCel
		push0
		pToa	client
		send	$4
		gt?
		bt	code_0204
		lst	temp[$0]
		ldi	$0
		lt?
code_0204:	bnt	code_0213
		pToa	cycleDir
		neg
		aTop	cycleDir
		pushi	$fd		; 253, cycleDone
		push0
		self	$4
		jmp	code_021c

code_0213:	pushi	$4		; cel
		push1
		lst	temp[$0]
		pToa	client
		send	$6
code_021c:	ret

Blink::cycleDone:
		pTos	cycleDir
		ldi	$ff		; 255, cycleSpeed
		eq?
		bnt	code_022b
		pushi	$70		; 112, 'p', init
		push0
		self	$4
		jmp	code_0239

code_022b:	push2
		pTos	waitMin
		pTos	waitMax
		callk	kernel_60, $4
		push
		lag	global[$58]
		add
		aTop	waitCount
code_0239:	ret

Narrator::init:
		link	$3


		; speech = 02, text = 01

; $23E
; 89 5a
; 35 02
; 12
; 31 55

		lsg	global[$5a]
		ldi	$2
		and
		bnt	code_0298



		; speech = fade music volume
		pushi	$188		; 392, masterVolume
		push0
		lag	global[$1]
		send	$4
		aTop	curVolume
		pTos	curVolume
		ldi	$4		; cel
		ge?
		bnt	code_0298
		pushi	$188		; 392, masterVolume
		push1
		pTos	curVolume
		lag	global[$1]
		send	$6
		pToa	curVolume
		sat	temp[$2]
		pToa	curVolume
		sat	temp[$0]
code_0266:	lst	temp[$0]
		push2
		pushi	$3		; loop
		pTos	curVolume
		ldi	$2
		div
		push
		calle	export999_3, $4
		ge?
		bnt	code_0298
		pushi	$188		; 392, masterVolume
		push1
		lst	temp[$0]
		lag	global[$1]
		send	$6
		ldi	$0
		sat	temp[$1]
code_0288:	lst	temp[$1]
		ldi	$190		; 400, east
		le?
		bnt	code_0294
		+at	temp[$1]
		jmp	code_0288

code_0294:	-at	temp[$0]
		jmp	code_0266





code_0298:
		; speech = 02, text = 01

; 89 5a
; 35 02
; 12
; 31 03

		lsg	global[$5a]
		ldi	$2
		and
		bnt	code_02a2


		pToa	modeless
		not


code_02a2:	bt	code_02a9
		push0
		callk	kernel_39, $0
		not
code_02a9:	bnt	code_02b8
		pushi	$cd		; 205, setCursor
		push2
		lsg	global[$15]
		push1
		lag	global[$1]
		send	$8
		aTop	saveCursor
code_02b8:	lsg	global[$56]
		push0
		callk	kernel_66, $0
		add
		sag	global[$58]
		ldi	$1
		aTop	initialized
		ret

Narrator::say:
		lag	global[$45]
		bnt	code_02d0
		pushi	$f2		; 242, disable
		push0
		send	$4
code_02d0:	pToa	initialized
		not
		bnt	code_02da
		pushi	$70		; 112, 'p', init
		push0
		self	$4
code_02da:	lsp	param[$0]
		ldi	$1
		gt?
		bnt	code_02e9
		lap	param[$2]
		bnt	code_02e9
		lap	param[$2]
		jmp	code_02eb

code_02e9:	ldi	$0
code_02eb:	aTop	caller


		; 01 = text, 02 = speech

; 89 5a
; 35 01
; 12
; 31 08

		lsg	global[$5a]
		ldi	$1
		and
		bnt	code_02fc


		pushi	$232		; 562, startText
		push1
		lsp	param[$1]
		self	$6


code_02fc:


; $2FE
; 89 5a
; 35 02
; 12
; 31 08

		lsg	global[$5a]
		ldi	$2
		and
		bnt	code_030b


		pushi	$234		; 564, startAudio
		push1
		lsp	param[$1]
		self	$6



code_030b:
		pToa	modeless
		bnt	code_032b

		pushi	$83		; 131, addToFront
		push1
		pushSelf
		lag	global[$49]
		send	$6
		pushi	$83		; 131, addToFront
		push1
		pushSelf
		lag	global[$48]
		send	$6
		pushi	$78		; 120, 'x', add
		push1
		pushSelf
		lag	global[$4e]
		send	$6
		jmp	code_0353

code_032b:	push1
		lsg	global[$54]
		callk	kernel_6, $2
		bnt	code_033d
		pushi	$78		; 120, 'x', add
		push1
		pushSelf
		lag	global[$54]
		send	$6
		jmp	code_0353

code_033d:	pushi	$14		; 20, name
		push1
		lofsa	string_0150	; "fastCast"
		push
		pushi	$78		; 120, 'x', add
		push1
		pushSelf
		pushi	$6f		; 111, 'o', new
		push0
		class	EventHandler
		send	$4
		sag	global[$54]
		send	$c
code_0353:	pTos	ticks
		ldi	$3c		; 60, '<', priority
		add
		push
		lag	global[$58]
		add
		aTop	ticks
		ldi	$1
		ret

Narrator::startText:
		link	$1


; 89 5a
; 35 02
; 12
; 18
; 31 1C

		lsg	global[$5a]
		ldi	$2
		and
		not
		bnt	code_0387


		push2
		pushi	$f0		; 240, advanceCurIcon
		lsg	global[$5e]
		ldi	$2
		mul
		push
		push1
		lsp	param[$1]
		callk	kernel_70, $2
		sat	temp[$0]
		mul
		push
		calle	export999_3, $4
		aTop	ticks


code_0387:
		lag	global[$19]
		bnt	code_0390
		pushi	$71		; 113, 'q', dispose
		push0
		send	$4
code_0390:	pushi	$233		; 563, display
		push1
		lsp	param[$1]
		self	$6
		lat	temp[$0]
		ret

Narrator::display:
		link	$2
		pTos	x
		pToa	talkWidth
		add
		push
		ldi	$13e		; 318, observeControl
		gt?
		bnt	code_03b3
		pushi	$13e		; 318, observeControl
		pToa	x
		sub
		sat	temp[$0]
		jmp	code_03b7

code_03b3:	pToa	talkWidth
		sat	temp[$0]
code_03b7:	pushi	$19		; 25, color
		push1
		pTos	color
		pushi	$1a		; 26, back
		push1
		pTos	back
		pushi	$6f		; 111, 'o', new
		push0
		lag	global[$26]
		send	$4
		sat	temp[$1]
		send	$c
		push0
		callk	kernel_39, $0
		not
		bnt	code_03ec
		lsg	global[$13]
		ldi	$3e4		; 996, BAD SELECTOR
		ne?
		bnt	code_03ec
		lag	global[$13]
		aTop	saveCursor
		pushi	$cd		; 205, setCursor
		push1
		pushi	$3e4		; 996, BAD SELECTOR
		lag	global[$1]
		send	$6
		jmp	code_03f0

code_03ec:	ldi	$0
		aTop	saveCursor
code_03f0:	pToa	showTitle
		bnt	code_03fe
		pushi	$d7		; 215, addTitle
		push1
		pTos	name
		class	Print
		send	$6
code_03fe:	pushi	$20		; 32, ' ', window
		push1
		lst	temp[$1]
		pushi	$9a		; 154, posn
		push2
		pTos	x
		pTos	y
		pushi	$1e		; 30, font
		push1
		pTos	font
		pushi	$43		; 67, 'C', width
		push1
		lst	temp[$0]
		pushi	$ce		; 206, addText
		push1
		lsp	param[$1]
		pushi	$d3		; 211, modeless
		push1
		push1
		pushi	$70		; 112, 'p', init
		push0
		class	Print
		send	$2a
		ret

Narrator::startAudio:
		link	$5
		push2
		lsp	param[$1]
		push0
		calle	export999_6, $4
		sat	temp[$0]
		push2
		lsp	param[$1]
		push1
		calle	export999_6, $4
		sat	temp[$1]
		push2
		lsp	param[$1]
		push2
		calle	export999_6, $4
		sat	temp[$2]
		push2
		lsp	param[$1]
		pushi	$3		; loop
		calle	export999_6, $4
		sat	temp[$3]
		push2
		lsp	param[$1]
		pushi	$4		; cel
		calle	export999_6, $4
		sat	temp[$4]
		pushi	$6		; nsTop
		push2
		lst	temp[$0]
		lst	temp[$1]
		lst	temp[$2]
		lst	temp[$3]
		push
		callk	kernel_117, $c
		aTop	ticks
		ret

Narrator::doit:
		pTos	ticks
		ldi	$ff		; 255, cycleSpeed
		ne?
		bnt	code_04b9
		lsg	global[$58]
		pToa	ticks
		sub
		push
		ldi	$0
		gt?
		bnt	code_04b9



; 89 5a
; 35 02
; 12
; 31 0C

		lsg	global[$5a]
		ldi	$2
		and
		bnt	code_049f


		push1
		pushi	$6		; nsTop
		callk	kernel_117, $2
		push
		ldi	$ff		; 255, cycleSpeed
		eq?
		jmp	code_04a1


code_049f:	ldi	$1
code_04a1:	bnt	code_04b9
		pToa	keepWindow
		not
		bt	code_04ad


; $4AA
; 89 5a
; 35 02 --> 35 03 (drop window when speech done)
; 12
; 31 0A

		lsg	global[$5a]
		ldi	$2
		and
code_04ad:
		bnt	code_04b9
		pushi	$71		; 113, 'q', dispose
		push1
		pTos	disposeWhenDone
		self	$6
		ldi	$0
		ret

code_04b9:	ldi	$1
		ret

Narrator::handleEvent:
		pushi	$49		; 73, 'I', claimed
		push0
		lap	param[$1]
		send	$4
		bnt	code_04c8
		jmp	code_0558

code_04c8:	pTos	ticks
		ldi	$ff		; 255, cycleSpeed
		eq?
		bnt	code_04d5
		ldi	$0
		ret

		jmp	code_0558

code_04d5:	pToa	cueVal
		not
		bnt	code_0518
		pushi	$1f		; 31, type
		push0
		lap	param[$1]
		send	$4
		push
		dup
		ldi	$100		; 256, cycler
		eq?
		bnt	code_04ef
		ldi	$0
		aTop	cueVal
		jmp	code_0517

code_04ef:	dup
		ldi	$1
		eq?
		bnt	code_0504
		pushi	$3d		; 61, '=', modifiers
		push0
		lap	param[$1]
		send	$4
		push
		ldi	$3		; loop
		and
		aTop	cueVal
		jmp	code_0517

code_0504:	dup
		ldi	$4		; cel
		eq?
		bnt	code_0517
		pushi	$25		; 37, '%', message
		push0
		lap	param[$1]
		send	$4
		push
		ldi	$1b		; 27, mode
		eq?
		aTop	cueVal
code_0517:	toss
code_0518:	pushi	$1f		; 31, type
		push0
		lap	param[$1]
		send	$4
		push
		ldi	$4101		; 16641
		and
		bt	code_0547
		pushi	$1f		; 31, type
		push0
		lap	param[$1]
		send	$4
		push
		ldi	$4		; cel
		and
		bnt	code_0558
		pushi	$3		; loop
		pushi	$25		; 37, '%', message
		push0
		lap	param[$1]
		send	$4
		push
		pushi	$d		; 13, lsRight
		pushi	$1b		; 27, mode
		calle	export999_5, $6
code_0547:	bnt	code_0558
		pushi	$49		; 73, 'I', claimed
		push1
		push1
		lap	param[$1]
		send	$6
		pushi	$71		; 113, 'q', dispose
		push1
		pTos	disposeWhenDone
		self	$6
code_0558:	ret

Narrator::dispose:
		link	$3
		ldi	$ff		; 255, cycleSpeed
		aTop	ticks
		lap	param[$0]
		not
		bt	code_0569
		lsp	param[$1]
		ldi	$1
		eq?
code_0569:	bnt	code_05c7
		pToa	modeless
		bnt	code_058a
		pushi	$51		; 81, 'Q', delete
		push1
		pushSelf
		lag	global[$48]
		send	$6
		pushi	$51		; 81, 'Q', delete
		push1
		pushSelf
		lag	global[$49]
		send	$6
		pushi	$51		; 81, 'Q', delete
		push1
		pushSelf
		lag	global[$4e]
		send	$6
		jmp	code_05b2

code_058a:	lag	global[$54]
		bnt	code_05b2
		pushi	$7c		; 124, '|', contains
		push1
		pushSelf
		send	$6
		bnt	code_05b2
		pushi	$51		; 81, 'Q', delete
		push1
		pushSelf
		lag	global[$54]
		send	$6
		pushi	$7d		; 125, '}', isEmpty
		push0
		lag	global[$54]
		send	$4
		bnt	code_05b2
		pushi	$71		; 113, 'q', dispose
		push0
		lag	global[$54]
		send	$4
		ldi	$0
		sag	global[$54]



code_05b2:	lsg	global[$5a]
		ldi	$2
		and
		bnt	code_05bf


		push1
		pushi	$3		; loop
		callk	kernel_117, $2
code_05bf:	ldi	$ff		; 255, cycleSpeed
		aTop	modNum
		ldi	$0
		aTop	initialized
code_05c7:	lag	global[$19]
		bnt	code_05d0
		pushi	$71		; 113, 'q', dispose
		push0
		send	$4




; music change

; 89 5a
; 35 02
; 12
; 31 2F

code_05d0:	lsg	global[$5a]
		ldi	$2
		and
		bnt	code_0606

		pushi	$188		; 392, masterVolume
		push0
		lag	global[$1]
		send	$4
		sat	temp[$0]
code_05e1:	lst	temp[$0]
		pToa	curVolume
		le?
		bnt	code_0606
		pushi	$188		; 392, masterVolume
		push1
		lst	temp[$0]
		lag	global[$1]
		send	$6
		ldi	$0
		sat	temp[$1]
code_05f6:	lst	temp[$1]
		ldi	$190		; 400, east
		le?
		bnt	code_0602
		+at	temp[$1]
		jmp	code_05f6

code_0602:	+at	temp[$0]
		jmp	code_05e1




; 89 5a
; 35 02
; 12
; 31 03

code_0606:	lsg	global[$5a]
		ldi	$2
		and
		bnt	code_0610

		pToa	modeless
		not

code_0610:	bt	code_0617
		push0
		callk	kernel_39, $0
		not
code_0617:	bnt	code_0623
		pushi	$cd		; 205, setCursor
		push1
		pTos	saveCursor
		lag	global[$1]
		send	$6
code_0623:	pToa	caller
		bnt	code_062e
		pushi	$6d		; 109, 'm', cue
		push1
		pTos	cueVal
		send	$6
code_062e:	ldi	$0
		aTop	cueVal
		push1
		pushSelf
		callk	kernel_5, $2
		ret

Talker::init:
		pToa	raving
		bnt	code_0646
		ldi	$0
		aTop	bust
		aTop	eyes
		aTop	mouth
		jmp	code_066a

code_0646:	lap	param[$0]
		bnt	code_0664
		lap	param[$1]
		aTop	bust
		lsp	param[$0]
		ldi	$1
		gt?
		bnt	code_0664
		lap	param[$2]
		aTop	eyes
		lsp	param[$0]
		ldi	$2
		gt?
		bnt	code_0664
		lap	param[$3]
		aTop	mouth
code_0664:	pushi	$bb		; 187, setSize
		push0
		self	$4
code_066a:	pushi	$70		; 112, 'p', init
		push0
		super	Narrator, $4
		ret

Talker::setSize:
		pToa	x
		aTop	nsLeft
		pToa	y
		aTop	nsTop
		pTos	nsLeft
		pushi	$4		; cel
		pToa	view
		bnt	code_068d
		pushi	$3		; loop
		push
		pTos	loop
		pTos	cel
		callk	kernel_15, $6
		jmp	code_068f

code_068d:	ldi	$0
code_068f:	push
		push1
		pTos	bust
		callk	kernel_6, $2
		bnt	code_06bd
		pushi	$7		; nsLeft
		push0
		pToa	bust
		send	$4
		push
		pushi	$3		; loop
		push2
		push0
		pToa	bust
		send	$4
		push
		pushi	$3		; loop
		push0
		pToa	bust
		send	$4
		push
		pushi	$4		; cel
		push0
		pToa	bust
		send	$4
		push
		callk	kernel_15, $6
		add
code_06bd:	push
		push1
		pTos	eyes
		callk	kernel_6, $2
		bnt	code_06eb
		pushi	$7		; nsLeft
		push0
		pToa	eyes
		send	$4
		push
		pushi	$3		; loop
		push2
		push0
		pToa	eyes
		send	$4
		push
		pushi	$3		; loop
		push0
		pToa	eyes
		send	$4
		push
		pushi	$4		; cel
		push0
		pToa	eyes
		send	$4
		push
		callk	kernel_15, $6
		add
code_06eb:	push
		push1
		pTos	mouth
		callk	kernel_6, $2
		bnt	code_0719
		pushi	$7		; nsLeft
		push0
		pToa	mouth
		send	$4
		push
		pushi	$3		; loop
		push2
		push0
		pToa	mouth
		send	$4
		push
		pushi	$3		; loop
		push0
		pToa	mouth
		send	$4
		push
		pushi	$4		; cel
		push0
		pToa	mouth
		send	$4
		push
		callk	kernel_15, $6
		add
code_0719:	push
		calle	export999_3, $8
		add
		aTop	nsRight
		pTos	nsTop
		pushi	$4		; cel
		pToa	view
		bnt	code_0737
		pushi	$3		; loop
		push
		pTos	loop
		pTos	cel
		callk	kernel_16, $6
		jmp	code_0739

code_0737:	ldi	$0
code_0739:	push
		push1
		pTos	bust
		callk	kernel_6, $2
		bnt	code_0767
		pushi	$6		; nsTop
		push0
		pToa	bust
		send	$4
		push
		pushi	$3		; loop
		push2
		push0
		pToa	bust
		send	$4
		push
		pushi	$3		; loop
		push0
		pToa	bust
		send	$4
		push
		pushi	$4		; cel
		push0
		pToa	bust
		send	$4
		push
		callk	kernel_16, $6
		add
code_0767:	push
		push1
		pTos	eyes
		callk	kernel_6, $2
		bnt	code_0795
		pushi	$6		; nsTop
		push0
		pToa	eyes
		send	$4
		push
		pushi	$3		; loop
		push2
		push0
		pToa	eyes
		send	$4
		push
		pushi	$3		; loop
		push0
		pToa	eyes
		send	$4
		push
		pushi	$4		; cel
		push0
		pToa	eyes
		send	$4
		push
		callk	kernel_16, $6
		add
code_0795:	push
		push1
		pTos	mouth
		callk	kernel_6, $2
		bnt	code_07c3
		pushi	$6		; nsTop
		push0
		pToa	mouth
		send	$4
		push
		pushi	$3		; loop
		push2
		push0
		pToa	mouth
		send	$4
		push
		pushi	$3		; loop
		push0
		pToa	mouth
		send	$4
		push
		pushi	$4		; cel
		push0
		pToa	mouth
		send	$4
		push
		callk	kernel_16, $6
		add
code_07c3:	push
		calle	export999_3, $8
		add
		aTop	nsBottom
		ret

Talker::show:
		link	$1
		pToa	underBits
		not
		bnt	code_07e8
		pushi	$6		; nsTop
		pushi	$7		; nsLeft
		pTos	nsTop
		pTos	nsLeft
		pTos	nsBottom
		pTos	nsRight
		pushi	$3		; loop
		callk	kernel_108, $c
		aTop	underBits
code_07e8:	push0
		callk	kernel_10, $0
		sat	temp[$0]
		push1
		push1
		callk	kernel_10, $2
		pToa	bust
		bnt	code_082c
		pushi	$6		; nsTop
		push2
		push0
		send	$4
		push
		pushi	$3		; loop
		push0
		pToa	bust
		send	$4
		push
		pushi	$4		; cel
		push0
		pToa	bust
		send	$4
		push
		pushi	$7		; nsLeft
		push0
		pToa	bust
		send	$4
		push
		pToa	nsLeft
		add
		push
		pushi	$6		; nsTop
		push0
		pToa	bust
		send	$4
		push
		pToa	nsTop
		add
		push
		pushi	$ff		; 255, cycleSpeed
		callk	kernel_17, $c
code_082c:	pToa	eyes
		bnt	code_0865
		pushi	$6		; nsTop
		push2
		push0
		send	$4
		push
		pushi	$3		; loop
		push0
		pToa	eyes
		send	$4
		push
		pushi	$4		; cel
		push0
		pToa	eyes
		send	$4
		push
		pushi	$7		; nsLeft
		push0
		pToa	eyes
		send	$4
		push
		pToa	nsLeft
		add
		push
		pushi	$6		; nsTop
		push0
		pToa	eyes
		send	$4
		push
		pToa	nsTop
		add
		push
		pushi	$ff		; 255, cycleSpeed
		callk	kernel_17, $c
code_0865:	pToa	mouth
		bnt	code_089e
		pushi	$6		; nsTop
		push2
		push0
		send	$4
		push
		pushi	$3		; loop
		push0
		pToa	mouth
		send	$4
		push
		pushi	$4		; cel
		push0
		pToa	mouth
		send	$4
		push
		pushi	$7		; nsLeft
		push0
		pToa	mouth
		send	$4
		push
		pToa	nsLeft
		add
		push
		pushi	$6		; nsTop
		push0
		pToa	mouth
		send	$4
		push
		pToa	nsTop
		add
		push
		pushi	$ff		; 255, cycleSpeed
		callk	kernel_17, $c
code_089e:	pushi	$6		; nsTop
		pTos	view
		pTos	loop
		pTos	cel
		pTos	nsLeft
		pTos	nsTop
		pushi	$ff		; 255, cycleSpeed
		callk	kernel_17, $c
		pushi	$6		; nsTop
		pushi	$c		; 12, lsBottom
		pTos	nsTop
		pTos	nsLeft
		pTos	nsBottom
		pTos	nsRight
		push1
		callk	kernel_108, $c
		push1
		lst	temp[$0]
		callk	kernel_10, $2
		ret

Talker::showRave:
		link	$1
		pToa	underBits
		not
		bnt	code_0917
		pushi	$5		; underBits
		pushi	$f		; 15, illegalBits
		pTos	y
		pTos	x
		pTos	y
		pushi	$3		; loop
		pushi	$5		; underBits
		push0
		push0
		callk	kernel_16, $6
		push
		ldi	$5		; underBits
		mul
		push
		ldi	$b		; 11, lsLeft
		div
		add
		push
		pTos	x
		pushi	$3		; loop
		pushi	$5		; underBits
		push0
		push0
		callk	kernel_15, $6
		push
		ldi	$2
		div
		add
		push
		callk	kernel_108, $a
		aTop	underBits
		pushi	$8		; nsBottom
		pushi	$5		; underBits
		push0
		push0
		push0
		push0
		pushi	$ff		; 255, cycleSpeed
		push0
		pTos	underBits
		callk	kernel_17, $10
		ldi	$0
		sat	temp[$0]
		jmp	code_091b

code_0917:	ldi	$1
		sat	temp[$0]
code_091b:	pushi	$a		; 10, lsTop
		push1
		pTos	raveName
		pTos	x
		ldi	$4		; cel
		add
		push
		pTos	y
		ldi	$7		; nsLeft
		sub
		push
		lsp	param[$1]
		lsp	param[$2]
		lsp	param[$3]
		lsp	param[$4]
		lsp	param[$5]
		lst	temp[$0]
		callk	kernel_38, $14
		push
		ldi	$2
		eq?
		bnt	code_0947
		ldi	$1b		; 27, mode
		aTop	cueVal
		jmp	code_094b

code_0947:	ldi	$0
		aTop	cueVal
code_094b:	ret

Talker::say:
		pTos	view
		ldi	$0
		gt?
		bnt	code_095d
		pToa	underBits
		not
		bnt	code_095d
		pushi	$70		; 112, 'p', init
		push0
		self	$4
code_095d:	pushi	$ab		; 171, say
		push0
		&rest	$1
		super	Narrator, $4
		ret

Talker::startText:
		link	$1
		pToa	viewInPrint
		not
		bnt	code_0974
		pushi	$e1		; 225, show
		push0
		self	$4
code_0974:	pushi	$232		; 562, startText
		push0
		&rest	$1
		super	Narrator, $4
		sat	temp[$0]
		pToa	mouth
		bnt	code_0997
		pushi	$a2		; 162, setCycle
		pushi	$4		; cel
		class	RandCycle
		push
		pushi	$4		; cel
		lat	temp[$0]
		mul
		push
		push0
		push1
		pToa	mouth
		send	$c
code_0997:	pToa	eyes
		bnt	code_09b1
		pushi	$100		; 256, cycler
		push0
		send	$4
		not
		bnt	code_09b1
		pushi	$a2		; 162, setCycle
		push2
		class	Blink
		push
		pTos	blinkSpeed
		pToa	eyes
		send	$8
code_09b1:	ret

Talker::display:
		link	$4
		pushi	$19		; 25, color
		push1
		pTos	color
		pushi	$1a		; 26, back
		push1
		pTos	back
		pushi	$6f		; 111, 'o', new
		push0
		lag	global[$26]
		send	$4
		sat	temp[$3]
		send	$c
		push0
		callk	kernel_39, $0
		not
		bnt	code_09e9
		lsg	global[$13]
		ldi	$3e4		; 996, BAD SELECTOR
		ne?
		bnt	code_09e9
		lag	global[$13]
		aTop	saveCursor
		pushi	$cd		; 205, setCursor
		push1
		pushi	$3e4		; 996, BAD SELECTOR
		lag	global[$1]
		send	$6
		jmp	code_09ed

code_09e9:	ldi	$0
		aTop	saveCursor
code_09ed:	pToa	viewInPrint
		bnt	code_0a45
		pToa	useFrame
		bnt	code_09fa
		pToa	loop
		jmp	code_0a01

code_09fa:	pushi	$3		; loop
		push0
		pToa	bust
		send	$4
code_0a01:	sat	temp[$0]
		pToa	showTitle
		bnt	code_0a11
		pushi	$d7		; 215, addTitle
		push1
		pTos	name
		class	Print
		send	$6
code_0a11:	pushi	$20		; 32, ' ', window
		push1
		lst	temp[$3]
		pushi	$9a		; 154, posn
		push2
		pTos	x
		pTos	y
		pushi	$d3		; 211, modeless
		push1
		push1
		pushi	$1e		; 30, font
		push1
		pTos	font
		pushi	$ce		; 206, addText
		push1
		lsp	param[$1]
		pushi	$d6		; 214, addIcon
		pushi	$5		; underBits
		pTos	view
		lst	temp[$0]
		pTos	cel
		push0
		push0
		pushi	$70		; 112, 'p', init
		push0
		class	Print
		send	$32
		jmp	code_0ab7

code_0a45:	pTos	textX
		pToa	textY
		add
		not
		bnt	code_0a58
		pTos	nsRight
		pToa	nsLeft
		sub
		push
		ldi	$5		; underBits
		add
		aTop	textX
code_0a58:	pTos	nsLeft
		pToa	textX
		add
		sat	temp[$2]
		push
		pToa	talkWidth
		add
		push
		ldi	$13e		; 318, observeControl
		gt?
		bnt	code_0a74
		pushi	$13e		; 318, observeControl
		lat	temp[$2]
		sub
		sat	temp[$1]
		jmp	code_0a78

code_0a74:	pToa	talkWidth
		sat	temp[$1]
code_0a78:	pToa	showTitle
		bnt	code_0a86
		pushi	$d7		; 215, addTitle
		push1
		pTos	name
		class	Print
		send	$6
code_0a86:	pushi	$20		; 32, ' ', window
		push1
		lst	temp[$3]
		pushi	$9a		; 154, posn
		push2
		pTos	x
		pToa	textX
		add
		push
		pTos	y
		pToa	textY
		add
		push
		pushi	$d3		; 211, modeless
		push1
		push1
		pushi	$1e		; 30, font
		push1
		pTos	font
		pushi	$43		; 67, 'C', width
		push1
		lst	temp[$1]
		pushi	$ce		; 206, addText
		push1
		lsp	param[$1]
		pushi	$70		; 112, 'p', init
		push0
		class	Print
		send	$2a
code_0ab7:	ret

Talker::startAudio:
		link	$13
		pToa	raving
		bt	code_0ac4
		not
		bnt	code_0b05
		pToa	mouth
code_0ac4:	bnt	code_0b05
		push2
		lsp	param[$1]
		push0
		calle	export999_6, $4
		sat	temp[$0]
		push2
		lsp	param[$1]
		push1
		calle	export999_6, $4
		sat	temp[$1]
		push2
		lsp	param[$1]
		push2
		calle	export999_6, $4
		sat	temp[$2]
		push2
		lsp	param[$1]
		pushi	$3		; loop
		calle	export999_6, $4
		sat	temp[$3]
		push2
		lsp	param[$1]
		pushi	$4		; cel
		calle	export999_6, $4
		sat	temp[$4]
code_0b05:	pToa	raving
		bnt	code_0b22
		pToa	raveName
		bnt	code_0b22
		pushi	$275		; 629, showRave
		pushi	$5		; underBits
		lst	temp[$0]
		lst	temp[$1]
		lst	temp[$2]
		lst	temp[$3]
		lst	temp[$4]
		self	$e
		jmp	code_0ba9

code_0b22:	pushi	$e1		; 225, show
		push0
		self	$4
		pToa	mouth
		bnt	code_0b85
		pushi	$6		; nsTop
		pushi	$93		; 147, setScript
		lst	temp[$0]
		lst	temp[$1]
		lst	temp[$2]
		lst	temp[$3]
		lst	temp[$4]
		callk	kernel_127, $c
		bnt	code_0b64
		pushi	$a2		; 162, setCycle
		pushi	$6		; nsTop
		class	MouthSync
		push
		lst	temp[$0]
		lst	temp[$1]
		lst	temp[$2]
		lst	temp[$3]
		lst	temp[$4]
		pToa	mouth
		send	$10
		pushi	$234		; 564, startAudio
		push1
		lsp	param[$1]
		super	Narrator, $6
		jmp	code_0b8e

code_0b64:	pushi	$234		; 564, startAudio
		push1
		lsp	param[$1]
		super	Narrator, $6
		sat	temp[$12]
		pushi	$a2		; 162, setCycle
		pushi	$4		; cel
		class	RandCycle
		push
		lst	temp[$12]
		ldi	$4		; cel
		mul
		push
		push0
		push1
		pToa	mouth
		send	$c
		jmp	code_0b8e

code_0b85:	pushi	$234		; 564, startAudio
		push1
		lsp	param[$1]
		super	Narrator, $6
code_0b8e:	pToa	eyes
		bnt	code_0ba9
		pushi	$100		; 256, cycler
		push0
		send	$4
		not
		bnt	code_0ba9
		pushi	$a2		; 162, setCycle
		push2
		class	Blink
		push
		pTos	blinkSpeed
		pToa	eyes
		send	$8
code_0ba9:	ret

Talker::cycle:
		link	$65
		lap	param[$1]
		bnt	code_0ca5
		pushi	$100		; 256, cycler
		push0
		send	$4
		bnt	code_0ca5
		pushi	$4		; cel
		push0
		lap	param[$1]
		send	$4
		sat	temp[$0]
		pushi	$39		; 57, '9', doit
		push0
		pushi	$100		; 256, cycler
		push0
		lap	param[$1]
		send	$4
		send	$4
		lst	temp[$0]
		pushi	$4		; cel
		push0
		lap	param[$1]
		send	$4
		ne?
		bnt	code_0ca5
		pushi	$6		; nsTop
		push2
		push0
		lap	param[$1]
		send	$4
		push
		pushi	$3		; loop
		push0
		lap	param[$1]
		send	$4
		push
		pushi	$4		; cel
		push0
		lap	param[$1]
		send	$4
		push
		pushi	$7		; nsLeft
		push0
		lap	param[$1]
		send	$4
		push
		pToa	nsLeft
		add
		push
		pushi	$6		; nsTop
		push0
		lap	param[$1]
		send	$4
		push
		pToa	nsTop
		add
		push
		pushi	$ff		; 255, cycleSpeed
		callk	kernel_17, $c
		pushi	$9		; nsRight
		push1
		pushi	$7		; nsLeft
		push0
		lap	param[$1]
		send	$4
		push
		pushi	$3		; loop
		push2
		push0
		lap	param[$1]
		send	$4
		push
		pushi	$3		; loop
		push0
		lap	param[$1]
		send	$4
		push
		pushi	$4		; cel
		push0
		lap	param[$1]
		send	$4
		push
		callk	kernel_15, $6
		add
		push
		lap	param[$1]
		send	$6
		pushi	$8		; nsBottom
		push1
		pushi	$6		; nsTop
		push0
		lap	param[$1]
		send	$4
		push
		pushi	$3		; loop
		push2
		push0
		lap	param[$1]
		send	$4
		push
		pushi	$3		; loop
		push0
		lap	param[$1]
		send	$4
		push
		pushi	$4		; cel
		push0
		lap	param[$1]
		send	$4
		push
		callk	kernel_16, $6
		add
		push
		lap	param[$1]
		send	$6
		pushi	$6		; nsTop
		pushi	$c		; 12, lsBottom
		pushi	$6		; nsTop
		push0
		lap	param[$1]
		send	$4
		push
		pToa	nsTop
		add
		push
		pushi	$7		; nsLeft
		push0
		lap	param[$1]
		send	$4
		push
		pToa	nsLeft
		add
		push
		pushi	$8		; nsBottom
		push0
		lap	param[$1]
		send	$4
		push
		pToa	nsTop
		add
		push
		pushi	$9		; nsRight
		push0
		lap	param[$1]
		send	$4
		push
		pToa	nsLeft
		add
		push
		push1
		callk	kernel_108, $c
code_0ca5:	ret

Talker::doit:
		pushi	$39		; 57, '9', doit
		push0
		super	Narrator, $4
		bnt	code_0cb9
		pToa	mouth
		bnt	code_0cb9
		pushi	$c1		; 193, cycle
		push1
		push
		self	$6
code_0cb9:	pToa	eyes
		bnt	code_0cc4
		pushi	$c1		; 193, cycle
		push1
		push
		self	$6
code_0cc4:	ret

Talker::hide:
		push2
		pushi	$8		; nsBottom
		pTos	underBits
		callk	kernel_108, $4
		ldi	$0
		aTop	underBits
		pushi	$5		; underBits
		pushi	$d		; 13, lsRight
		pTos	nsTop
		pTos	nsLeft
		pTos	nsBottom
		pTos	nsRight
		callk	kernel_108, $a
		lag	global[$45]
		bnt	code_0cea
		pushi	$b8		; 184, enable
		push0
		send	$4
code_0cea:	ret

Talker::dispose:
		pToa	mouth
		bnt	code_0d2c
		pToa	underBits
		bnt	code_0d2c
		pushi	$4		; cel
		push1
		push0
		pToa	mouth
		send	$6
		pushi	$6		; nsTop
		push2
		push0
		pToa	mouth
		send	$4
		push
		pushi	$3		; loop
		push0
		pToa	mouth
		send	$4
		push
		push0
		pushi	$7		; nsLeft
		push0
		pToa	mouth
		send	$4
		push
		pToa	nsLeft
		add
		push
		pushi	$6		; nsTop
		push0
		pToa	mouth
		send	$4
		push
		pToa	nsTop
		add
		push
		pushi	$ff		; 255, cycleSpeed
		callk	kernel_17, $c
code_0d2c:	pToa	mouth
		bnt	code_0d61
		pushi	$100		; 256, cycler
		push0
		send	$4
		bnt	code_0d61
		pushi	$76		; 118, 'v', respondsTo
		push1
		pushi	$6d		; 109, 'm', cue
		pushi	$100		; 256, cycler
		push0
		pToa	mouth
		send	$4
		send	$6
		bnt	code_0d58
		pushi	$6d		; 109, 'm', cue
		push0
		pushi	$100		; 256, cycler
		push0
		pToa	mouth
		send	$4
		send	$4
code_0d58:	pushi	$a2		; 162, setCycle
		push1
		push0
		pToa	mouth
		send	$6
code_0d61:	lap	param[$0]
		not
		bt	code_0d6b
		lsp	param[$1]
		ldi	$1
		eq?
code_0d6b:	bnt	code_0e23
		pToa	raving
		bnt	code_0dc8
		push2
		pushi	$8		; nsBottom
		pTos	underBits
		callk	kernel_108, $4
		pushi	$5		; underBits
		pushi	$d		; 13, lsRight
		pTos	y
		ldi	$a		; 10, lsTop
		sub
		push
		pTos	x
		ldi	$a		; 10, lsTop
		sub
		push
		pushi	$a		; 10, lsTop
		pTos	y
		ldi	$a		; 10, lsTop
		sub
		add
		push
		pushi	$3		; loop
		pushi	$5		; underBits
		push0
		push0
		callk	kernel_16, $6
		push
		ldi	$5		; underBits
		mul
		push
		ldi	$b		; 11, lsLeft
		div
		add
		push
		pushi	$a		; 10, lsTop
		pTos	x
		ldi	$a		; 10, lsTop
		sub
		add
		push
		pushi	$3		; loop
		pushi	$5		; underBits
		push0
		push0
		callk	kernel_15, $6
		push
		ldi	$2
		div
		add
		push
		callk	kernel_108, $a
		ldi	$0
		aTop	underBits
		aTop	raving
code_0dc8:	pToa	eyes
		bnt	code_0e0e
		pToa	underBits
		bnt	code_0e0e
		pushi	$a2		; 162, setCycle
		push1
		push0
		pushi	$4		; cel
		push1
		push0
		pToa	eyes
		send	$c
		pushi	$6		; nsTop
		push2
		push0
		pToa	eyes
		send	$4
		push
		pushi	$3		; loop
		push0
		pToa	eyes
		send	$4
		push
		push0
		pushi	$7		; nsLeft
		push0
		pToa	eyes
		send	$4
		push
		pToa	nsLeft
		add
		push
		pushi	$6		; nsTop
		push0
		pToa	eyes
		send	$4
		push
		pToa	nsTop
		add
		push
		pushi	$ff		; 255, cycleSpeed
		callk	kernel_17, $c
code_0e0e:	pToa	saveX
		bnt	code_0e18
		aTop	x
		pToa	saveY
		aTop	y
code_0e18:	ldi	$0
		aTop	saveX
		aTop	saveY
		pushi	$66		; 102, 'f', hide
		push0
		self	$4
code_0e23:	pushi	$71		; 113, 'q', dispose
		push1
		lsp	param[$1]
		super	Narrator, $6
		ret

