@ maketxt8_make / makepcg8_make eXg
	.include	"./vram/makescrn.inc"
	.global	maketxt8_make
	.global	makepcg8_make
	.extern	makescrn
	.extern	maketxt8fn
	.section	.text
	.code	32
	.align	0
_makescrn:		.word	makescrn
_maketxt8fn:	.word	maketxt8fn
maketxt8_make:	stmdb	sp!, {r4 - r7, lr}
				ldr		r5, _maketxt8fn
				ldr		r4, _makescrn
				tst		r3, #0x10
				movne	r7, #0x07
				moveq	r7, #0x0f
				ldr		r6, [r5, r3, lsl #2]
				ldr		r12, [sp, #20]
				add		r3, r5, #(32*4)
				and		r12, r12, #15
				mov		r5, r0					@ for atr
				ldr		r12, [r3, r12, lsl #2]
				mov		lr, pc
				bx		r6
				ldmia	sp!, {r4 - r7, pc}
makepcg8_make:	stmdb	sp!, {r4 - r8, lr}
				ldr		r4, _makescrn
				ldr		lr, _maketxt8fn
				tst		r3, #0x10
				movne	r7, #0x07
				moveq	r7, #0x0f
				ldr		lr, [lr, r3, lsl #2]	@ proc!
				ldr		r8, [sp, #24]			@ atr
				mov		r5, r0					@ dst
				tst		r8, #1
				adr		r12, 1f
				bxne	lr
				b		_cls8
1:				add		r5, r0, #MAKETEXT_ROW
				add		r1, r1, #MAKETEXT_ROW
				add		r2, r2, #0x800
				tst		r8, #2
				adr		r12, 2f
				bxne	lr
				b		_cls8
2:				add		r5, r0, #(MAKETEXT_ROW * 2)
				add		r1, r1, #MAKETEXT_ROW
				add		r2, r2, #0x800
				tst		r8, #4
				adr		r12, 3f
				bxne	lr
				b		_cls8
3:
				@ ]`
				ldmia	sp!, {r4 - r8, pc}
_cls8:			mov		r3, #0
1:				str		r3, [r5]
				add		r5, r5, #4
				cmp		r5, r1
				bcc		1b
				mov		pc, r12
	.end
RetroPC.NET-CVS <cvs@retropc.net>