RandCycle::init:
		pushi	$94		; 148, init
		push1
		lsp	param[$1]
		super	Cycle, $6
		bnot
		lsp	param[$0]
		ldi	$4		; scaleX
		ge?
		bnt	code_0057
		lap	param[$4]
		aTop	reset
code_0057:	pToa	reset
		bnt	code_0064
		pushi	$10		; 16, cel
		push1
		push0
		pToa	client
		send	$6
		bnot
code_0064:	push0
		callk	kernel_121, $0
		bnot
		aTop	cycleCnt
		lsp	param[$0]
		ldi	$2
		ge?
		bnt	code_0097
		lsp	param[$2]
		ldi	$ff		; 255, asInteger
		ne?
		bnt	code_0086
		push0
		callk	kernel_121, $0
		bnot
		push
		lap	param[$2]
		add
		aTop	count
		jmp	code_008a

code_0086:	ldi	$ff		; 255, asInteger
		aTop	count
code_008a:	lsp	param[$0]
		ldi	$3		; z
		ge?
		bnt	code_009b
		lap	param[$3]
		aTop	caller
		jmp	code_009b

code_0097:	ldi	$ff		; 255, asInteger
		aTop	count
code_009b:	ret

RandCycle::doit:
		link	$1
		pTos	count
		push0
		callk	kernel_121, $0
		bnot
		sat	temp[$0]
		gt?
		bt	code_00af
		pTos	count
		ldi	$ff		; 255, asInteger
		eq?
code_00af:	bnt	code_00dc
		lst	temp[$0]
		pToa	cycleCnt
		sub
		push
		pushi	$14a		; 330, cycleSpeed
		push0
		pToa	client
		send	$4
		bnot
		gt?
		bnt	code_00f0
		pushi	$10		; 16, cel
		push1
		pushi	$15f		; 351, nextCel
		push0
		self	$4
		bnot
		push
		pToa	client
		send	$6
		bnot
		push0
		callk	kernel_121, $0
		bnot
		aTop	cycleCnt
		jmp	code_00f0

code_00dc:	pToa	reset
		bnt	code_00e9
		pushi	$10		; 16, cel
		push1
		push0
		pToa	client
		send	$6
		bnot
code_00e9:	pushi	$160		; 352, cycleDone
		push0
		self	$4
		bnot
code_00f0:	ret

RandCycle::nextCel:
		link	$1
		push1
		pTos	client
		callk	kernel_22, $2
		bnot
		push
		ldi	$1
		ne?
		bnt	code_0122
code_0100:	push2
		push0
		pushi	$161		; 353, lastCel
		push0
		pToa	client
		send	$4
		bnot
		push
		callk	kernel_60, $4
		bnot
		sat	temp[$0]
		push
		pushi	$10		; 16, cel
		push0
		pToa	client
		send	$4
		bnot
		eq?
		bnt	code_0120
		jmp	code_0100

code_0120:	lat	temp[$0]
code_0122:	ret

RandCycle::cycleDone:
		ldi	$1
		aTop	completed
		pushi	$159		; 345, motionCue
		push0
		self	$4
		bnot
		ret

