
;  GNU C 2.7.2 [AL 1.1, MM 40] RISC NEWS-OS compiled by CC

;  Cc1 defaults:
;  -mmemcpy

;  Cc1 arguments (-G value = 0, Cpu = 3000, ISA = 1):
;  -quiet -dumpbase -O2 -Wall -o

gcc2_compiled.:
__gnu_compiled_c:
	.code
	.align	1
	.global	svvideo_reset
svvideo_reset:
;	.frame	%sp,12,$31		# vars= 0, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	ld.w	%r1,%r12
	ext	svvideo+0x0@h	; 	xld.w	%r0,svvideo
	ext	svvideo+0x0@m
	ld.w	%r0,svvideo+0x0@l
	ld.w	%r12,%r0
	ld.w	%r13,0x0
	ld.w	%r14,0x4	; 	xld.w	%r14,0x00000004		; 4
	ext	memset@rm	; 	xcall	memset
	call	memset@rl
	ld.w	[%r0],%r1	; 	xld.w	[%r0],%r1
	popn	%r1
	ret
	.align	1
	.global	svvideo_write
svvideo_write:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ext	svvideo+0x0@ah	; 	xld.w	%r10,[svvideo]
	ext	svvideo+0x0@al
	ld.w	%r10,[%r8]
	add	%r10,%r12
	ld.b	[%r10],%r13	; 	xld.b	[%r10],%r13
	ret
	.align	1
	.global	svsound_reset
svsound_reset:
;	.frame	%sp,16,$31		# vars= 0, regs= 4/0, args= 0, extra= 0
;	.mask	0x80070000,-4
;	.fmask	0x00000000,0
	pushn	%r2
	ld.w	%r1,%r12
	ld.w	%r2,%r13
	ext	svsound+0x0@h	; 	xld.w	%r0,svsound
	ext	svsound+0x0@m
	ld.w	%r0,svsound+0x0@l
	ld.w	%r12,%r0
	ld.w	%r13,0x0
	ext	0x0		; 	xld.w	%r14,0x0000003c		; 60
	ld.w	%r14,0x3c
	ext	memset@rm	; 	xcall	memset
	call	memset@rl
	ld.w	[%r0],%r1	; 	xld.w	[%r0],%r1
	ext	svsound+0x4@ah	; 	xld.w	[svsound+4],%r2
	ext	svsound+0x4@al
	ld.w	[%r8],%r2
	ld.w	%r10,0x1	; 	xld.w	%r10,0x00000001		; 1
	ext	svsound+0x34@ah	; 	xld.w	[svsound+52],%r10
	ext	svsound+0x34@al
	ld.w	[%r8],%r10
	popn	%r2
	ret
	.align	1
	.global	svsound_write
svsound_write:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ext	svsound+0x0@h	; 	xld.w	%r11,svsound
	ext	svsound+0x0@m
	ld.w	%r11,svsound+0x0@l
	ld.w	%r15,[%r11]	; 	xld.w	%r15,[%r11]
	ld.w	%r10,%r15
	add	%r10,%r12
	ld.b	[%r10],%r13	; 	xld.b	[%r10],%r13
	ext	0x1		; 	xsub	%r10,%r12,8208
	ext	0x10
	sub	%r10,%r12
	cmp	%r10,0x1a	; 	xcmp	%r10,26
	ext	__L73@rm	; 	xjrugt	__L73
	jrugt	__L73@rl
	sll	%r10,0x2	; 	xsll	%r10,2
	ext	__L87+0x0@h	; 	xld.w	%r10,[%r10+__L87]
	ext	__L87+0x0@m
	ld.w	%r9,__L87+0x0@l
	add	%r9,%r10
	ld.w	%r10,[%r9]
	jp	%r10
	.code
	.align	2
__L87:
	.word	__L76
	.word	__L80
	.word	__L84
	.word	__L73
	.word	__L76
	.word	__L80
	.word	__L84
	.word	__L73
	.word	__L73
	.word	__L73
	.word	__L73
	.word	__L73
	.word	__L73
	.word	__L73
	.word	__L73
	.word	__L73
	.word	__L73
	.word	__L73
	.word	__L73
	.word	__L73
	.word	__L73
	.word	__L73
	.word	__L73
	.word	__L73
	.word	__L85
	.word	__L73
	.word	__L86
	.code
__L76:
	ld.w	%r10,%r12
	sll	%r10,0x2	; 	xsll	%r10,2
	and	%r10,0x10	; 	xand	%r10,%r10,0x00000010
	add	%r10,0x8	; 	xadd	%r10,%r10,8
	ld.w	%r14,%r11
	add	%r14,%r10
	ld.w	%r10,%r12
	add	%r10,%r15
	ext	0x1		; 	xld.ub	%r10,[%r10+1]
	ld.ub	%r10,[%r10]
	and	%r10,0x7	; 	xand	%r10,%r10,0x00000007
	sll	%r10,0x8	; 	xsll	%r10,8
	or	%r13,%r10
	ld.w	%r10,%r13
	ext	0x4		; 	xld.w	[%r14+4],%r10
	ld.w	[%r14],%r10
	cmp	%r10,0x6	; 	xcmp	%r10,6
	jrgt	__LX89		; 	xjrgt	__L89
	jp	__LX81		; 	xjp	__L81
__L80:
	ld.w	%r10,%r12
	sll	%r10,0x2	; 	xsll	%r10,2
	and	%r10,0x10	; 	xand	%r10,%r10,0x00000010
	add	%r10,0x8	; 	xadd	%r10,%r10,8
	ld.w	%r14,%r11
	add	%r14,%r10
	ld.w	%r10,%r12
	add	%r10,%r15
	sub	%r10,0x1	; 	xsub	%r10,%r10,1
	ld.ub	%r11,[%r10]	; 	xld.ub	%r11,[%r10]
	ld.w	%r10,%r13
	and	%r10,0x7	; 	xand	%r10,%r10,0x00000007
	sll	%r10,0x8	; 	xsll	%r10,8
	or	%r11,%r10
	ld.w	%r10,%r11
	ext	0x4		; 	xld.w	[%r14+4],%r10
	ld.w	[%r14],%r10
	cmp	%r10,0x6	; 	xcmp	%r10,6
	jrle	__LX81		; 	xjrle	__L81
__LX89:				; __L89:
	sll	%r10,0x5	; 	xsll	%r10,5
	ext	0x4		; 	xld.w	[%r14+4],%r10
	ld.w	[%r14],%r10
	jp	__L73		; 	xjp	__L73
__LX81:				; __L81:
	ld.w	%r4,0x0
	ext	0x4		; 	xld.w	[%r14+4],%r4
	ld.w	[%r14],%r4
	jp	__L73		; 	xjp	__L73
__L84:
	ld.w	%r10,%r12
	sll	%r10,0x2	; 	xsll	%r10,2
	and	%r10,0x10	; 	xand	%r10,%r10,0x00000010
	add	%r10,0x8	; 	xadd	%r10,%r10,8
	ld.w	%r14,%r11
	add	%r14,%r10
	ld.w	%r10,%r13
	and	%r10,0xf	; 	xand	%r10,%r10,0x0000000f
	ld.w	[%r14],%r10	; 	xld.w	[%r14],%r10
	jp	__L73		; 	xjp	__L73
__L85:
	ld.w	%r10,%r13
	and	%r10,0xf	; 	xand	%r10,%r10,0x0000000f
	ext	0x2c		; 	xld.w	[%r11+44],%r10
	ld.w	[%r11],%r10
	ld.w	%r10,%r13
	sra	%r10,0x4	; 	xsra	%r10,4
	ext	0x30		; 	xld.w	[%r11+48],%r10
	ld.w	[%r11],%r10
	jp	__L73		; 	xjp	__L73
__L86:
	ld.w	%r10,%r13
	sra	%r10,0x4	; 	xsra	%r10,4
	and	%r10,0x1	; 	xand	%r10,%r10,0x00000001
	ext	0x28		; 	xld.w	[%r11+40],%r10
	ld.w	[%r11],%r10
__L73:
	ret
	.align	1
	.global	svsound_mix
svsound_mix:
;	.frame	%sp,12,$31		# vars= 0, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	ld.w	%r0,%r12
	ext	svsound+0x0@h	; 	xld.w	%r1,svsound
	ext	svsound+0x0@m
	ld.w	%r1,svsound+0x0@l
	ld.w	%r13,0x0
	ext	0xa		; 	xld.w	%r14,0x00000280		; 640
	ld.w	%r14,0x0
	ext	memset@rm	; 	xcall	memset
	call	memset@rl
	ext	0x8		; 	xadd	%r12,%r1,8
	add	%r12,%r1
	ld.w	%r13,%r0
	ext	svsound_tone_mix@rm	; 	xcall	svsound_tone_mix
	call	svsound_tone_mix@rl
	ext	0x18		; 	xadd	%r12,%r1,24
	add	%r12,%r1
	ld.w	%r13,%r0
	ext	svsound_tone_mix@rm	; 	xcall	svsound_tone_mix
	call	svsound_tone_mix@rl
	ext	0x28		; 	xadd	%r12,%r1,40
	add	%r12,%r1
	ld.w	%r13,%r0
	ext	svsound_noise_mix@rm	; 	xcall	svsound_noise_mix
	call	svsound_noise_mix@rl
	ld.w	%r12,%r0
	ext	svsound_volume_shift@rm	; 	xcall	svsound_volume_shift
	call	svsound_volume_shift@rl
	popn	%r1
	ret

	.comm	svvideo 4

	.comm	svsound 60
