File:  [RetroPC.NET] / xmil / adv / patch / iocored.s
Revision 1.1: download - view: text, annotated - select for diffs
Fri Feb 4 15:42:09 2005 JST (20 years, 8 months ago) by yui
Branches: MAIN
CVS tags: HEAD
RetroPC CVS restarting 2005/02/04 (T.Yui)


	.include	"./agb/ramptr.inc"
	.include	"./patch/iocore.inc"
	.include	"./vram/makescrn.inc"

	.global	dummy_inp
	.global	dummy_out
	.global	iocore_out
	.global	iocore_inp

	.section	.text
	.code	32
	.align	0


dummy_inp:		mov		r0, #0xff
dummy_out:		mov		pc, lr


	.if 0
iocore_out:		mov		r2, #IWRAM_PTR
				add		r2, r2, #IWRAM_IOCORE
				and		r12, r0, #0xff00
				ldrb	r3, [r2, #IOCORE_MODE]
				cmp		r3, #0
				bne		20f
				subs	r3, r0, #0x4000
				bcs		10f
				ldrcc	r12, [r2, r12, lsr #6]
				str		lr, [sp, #-4]!
				mov		lr, pc
				mov		pc, r12
				mov		r12, r12
				ldr		pc, [sp], #4

10:				ldr		r0, [r2, #(IOCORE2CRTC + CRTCE_GRAMACC)]
				ldr		r12, [r2, #(IOCORE2CRTC + _CRTCE_UPDATEBIT)]
				strb	r1, [r0, r3]
				and		r3, r3, r12, lsr #16
				add		r0, r2, #IOCORE2VRAMUPD
				ldrb	r1, [r0, r3]
				orr		r1, r1, r12
				strb	r12, [r2, #(IOCORE2CRTC + CRTCE_SCRNFLASH)]
				strb	r1, [r0, r3]
				mov		pc, lr
20:				bic		r3, r0, #0xc000
				ldr		r12, [r2, #(IOCORE2CRTC + CRTCE_GRAMACC)]
				mov		r0, r0, lsr #14
				cmp		r0, #1
				strneb	r1, [r12, r3]
				add		r3, r3, #0x4000
				cmp		r0, #2
				strneb	r1, [r3, r12]
				add		r3, r3, #0x4000
				cmp		r0, #3
				strneb	r1, [r3, r12]
				ldr		r1, [r2, #(IOCORE2CRTC + _CRTCE_UPDATEBIT)]
				and		r12, r3, r1, lsr #16
				add		r3, r2, #IOCORE2VRAMUPD
				strb	r1, [r2, #(IOCORE2CRTC + CRTCE_SCRNFLASH)]
				ldrb	r0, [r3, r12]
				orr		r0, r0, r1
				strb	r0, [r3, r12]
				mov		pc, lr

iocore_inp:		mov		r2, #IWRAM_PTR
				add		r2, r2, #IWRAM_IOCORE
				and		r3, r0, #0xff00
				strb	r3, [r2, #IOCORE_MODE]
				subs	r3, r3, #0x4000
				bcs		30f
				ldr		r12, [r2, r3, asr #6]
				str		lr, [sp, #-4]!
				mov		lr, pc
				mov		pc, r12
				mov		r12, r12
				ldr		pc, [sp], #4
30:				sub		r12, r0, #0x4000
				ldr		r1, [r2, #(IOCORE2CRTC + CRTCE_GRAMACC)]
				ldrb	r0, [r1, r12]
				mov		pc, lr
	.endif


	.end


RetroPC.NET-CVS <cvs@retropc.net>