.include	"./nds/ramptr.inc"
	.include	"./patch/iocore.inc"
	.include	"./vram/makescrn.inc"
	.global	dummy_inp
	.global	dummy_out
	.section	.itcm
	.code	32
	.align	2
dummy_inp:		mov		r0, #0xff
dummy_out:
.if INTERWORK
				bx		lr
.else
				mov		pc, lr
.endif
	.if 0
	.global	iocore_out
	.global	iocore_inp
	.section	.text
	.code	32
	.align	2
iocore_out:		ldr		r2, _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		.word	iocore - 0x100
iocore_inp:		ldr		r2, _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>