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


@ r5 = r0
@ r4 = makescrn
@ r7 = src mask
@ r6 = work
@ r12 = next pc

_txt8_nor:		mov		r3, #0							@ ノーマル
1:				ldr		r6, [r3, r2]
				add		r3, r3, #4
				str		r6, [r5]
				add		r5, r5, #4
				and		r3, r7
				cmp		r5, r1
				bcc		1b
_draw_nop:		bx		r12

_txt8_x2left:	mov		r3, #0							@ 横倍角左
				add		r4, #MAKESCRN_PATX2
1:				ldrb	r6, [r3, r2]
				lsr		r6, r6, #4
				add		r3, r3, #1
				ldrb	r6, [r6, r4]
				and		r3, r7
				strb	r6, [r5]
				add		r5, r5, #1
				cmp		r5, r1
				bcc		1b
				sub		r4, #MAKESCRN_PATX2
				bx		r12

_txt8_x2right:	mov		r3, #0							@ 横倍角右
				add		r4, #MAKESCRN_PATX2
1:				ldrb	r6, [r3, r2]
				add		r3, r3, #1
				ldrb	r6, [r6, r4]
				and		r3, r7
				strb	r6, [r5]
				add		r5, r5, #1
				cmp		r5, r1
				bcc		1b
				sub		r4, #MAKESCRN_PATX2
				bx		r12

_txt8_Yx2:		ldr		r3, [r4, #MAKESCRN_FONTYCNT]	@ 縦倍角上
				lsr		r3, r3, #1
1:				ldr		r6, [r3, r2]
				add		r3, r3, #1
				strb	r6, [r5, #0]
				strb	r6, [r5, #1]
				add		r5, r5, #2
				and		r3, r7
				cmp		r5, r1
				bcc		1b
				bx		r12

_txt8_x4left:	ldr		r3, [r4, #MAKESCRN_FONTYCNT]	@ 4倍角左
				add		r4, #MAKESCRN_PATX2
				lsr		r3, r3, #1
1:				ldrb	r6, [r3, r2]
				lsr		r6, r6, #4
				add		r3, r3, #1
				ldrb	r6, [r6, r4]
				and		r3, r7
				strb	r6, [r5, #0]
				strb	r6, [r5, #1]
				add		r5, r5, #2
				cmp		r5, r1
				bcc		1b
				sub		r4, #MAKESCRN_PATX2
				bx		r12

_txt8_x4right:	ldr		r3, [r4, #MAKESCRN_FONTYCNT]	@ 4倍角右
				add		r4, #MAKESCRN_PATX2
				lsr		r3, r3, #1
1:				ldrb	r6, [r3, r2]
				add		r3, r3, #1
				ldrb	r6, [r6, r4]
				and		r3, r7
				strb	r6, [r5, #0]
				strb	r6, [r5, #1]
				add		r5, r5, #2
				cmp		r5, r1
				bcc		1b
				sub		r4, #MAKESCRN_PATX2
				bx		r12

_txt8_right4dot:mov		r3, #0							@ 右4ドット
1:				ldrb	r6, [r3, r2]
				add		r3, r3, #1
				lsl		r6, r6, #4
				strb	r6, [r5]
				and		r3, r7
				add		r5, r5, #1
				cmp		r5, r1
				bcc		1b
				bx		r12

_txt8_right4half:										@ 潰れ右4ドット
				ldr		r3, [r4, #MAKESCRN_FONTYCNT]
				lsr		r3, r3, #1
				beq		1f
				ldrb	r6, [r3, r2]
				mov		r3, #0
				b		2f
1:				ldrb	r6, [r3, r2]
				add		r3, r3, #1
				and		r3, r7
2:				lsl		r6, r6, #4
				strb	r6, [r5, #0]
				strb	r6, [r5, #1]
				add		r5, r5, #2
				cmp		r5, r1
				bcc		1b
				bx		r12

_txt8_right4x2:	ldr		r3, [r4, #MAKESCRN_FONTYCNT]	@ 右4ドット縦倍角上
				lsr		r3, r3, #1
1:				ldrb	r6, [r3, r2]
				add		r3, r3, #1
				lsl		r6, r6, #4
				strb	r6, [r5, #0]
				strb	r6, [r5, #1]
				add		r5, r5, #2
				and		r3, r7
				cmp		r5, r1
				bcc		1b
				bx		r12

_txt8_halfx2:	ldr		r3, [r4, #MAKESCRN_FONTYCNT]	@ 潰して縦倍角
				lsr		r3, r3, #1
				beq		1f
				ldrb	r6, [r3, r2]
				mov		r3, #0
				b		2f
1:				ldrb	r6, [r3, r2]
				add		r3, r3, #2
				and		r3, r7
2:				strb	r6, [r5, #0]
				strb	r6, [r5, #1]
				add		r5, r5, #2
				cmp		r5, r1
				bcc		1b
				bx		r12

_txt8_halfx4left:										@ 潰して4倍角左
				ldr		r3, [r4, #MAKESCRN_FONTYCNT]
				add		r4, #MAKESCRN_PATX2
				lsr		r3, r3, #1
				beq		1f
				ldrb	r6, [r3, r2]
				mov		r3, #0
				b		2f
1:				ldrb	r6, [r3, r2]
				add		r3, r3, #2
2:				lsr		r6, r6, #4
				ldrb	r6, [r6, r4]
				and		r3, r7
				strb	r6, [r5, #0]
				strb	r6, [r5, #1]
				add		r5, r5, #2
				cmp		r5, r1
				bcc		1b
				sub		r4, #MAKESCRN_PATX2
				bx		r12

_txt8_halfx4right:										@ 潰して4倍角右
				ldr		r3, [r4, #MAKESCRN_FONTYCNT]
				add		r4, #MAKESCRN_PATX2
				lsr		r3, r3, #1
				beq		1f
				ldrb	r6, [r3, r2]
				mov		r3, #0
				b		2f
1:				ldrb	r6, [r3, r2]
				add		r3, r3, #2
2:				ldrb	r6, [r6, r4]
				and		r3, r7
				strb	r6, [r5, #0]
				strb	r6, [r5, #1]
				add		r5, r5, #2
				cmp		r5, r1
				bcc		1b
				sub		r4, #MAKESCRN_PATX2
				bx		r12


; @ ----

_knj8_nor:		mov		r3, #0							@ ノーマル
1:				ldrb	r6, [r3, r2]
				add		r3, r3, #2
				strb	r6, [r5]
				add		r5, r5, #1
				and		r3, r7
				cmp		r5, r1
				bcc		1b
				bx		r12

_knj8_x2left:	mov		r3, #0							@ 横倍角左
				add		r4, #MAKESCRN_PATX2
1:				ldrb	r6, [r3, r2]
				lsr		r6, r6, #4
				add		r3, r3, #2
				ldrb	r6, [r6, r4]
				and		r3, r7
				strb	r6, [r5]
				add		r5, r5, #1
				cmp		r5, r1
				bcc		1b
				sub		r4, #MAKESCRN_PATX2
				bx		r12

_knj8_x2right:	mov		r3, #0							@ 横倍角右
				add		r4, #MAKESCRN_PATX2
1:				ldrb	r6, [r3, r2]
				add		r3, r3, #2
				ldrb	r6, [r6, r4]
				and		r3, r7
				strb	r6, [r5]
				add		r5, r5, #1
				cmp		r5, r1
				bcc		1b
				sub		r4, #MAKESCRN_PATX2
				bx		r12

_knj8_Yx2:		ldr		r3, [r4, #MAKESCRN_FONTYCNT]	@ 縦倍角上
1:				ldr		r6, [r3, r2]
				add		r3, r3, #1
				strb	r6, [r5]
				add		r5, r5, #1
				and		r3, r7
				cmp		r5, r1
				bcc		1b
				bx		r12

_knj8_x4left:	ldr		r3, [r4, #MAKESCRN_FONTYCNT]	@ 4倍角左
				add		r4, #MAKESCRN_PATX2
1:				ldrb	r6, [r3, r2]
				lsr		r6, r6, #4
				add		r3, r3, #1
				ldrb	r6, [r6, r4]
				and		r3, r7
				strb	r6, [r5]
				add		r5, r5, #1
				cmp		r5, r1
				bcc		1b
				sub		r4, #MAKESCRN_PATX2
				bx		r12

_knj8_x4right:	ldr		r3, [r4, #MAKESCRN_FONTYCNT]	@ 4倍角右
				add		r4, #MAKESCRN_PATX2
1:				ldrb	r6, [r3, r2]
				add		r3, r3, #1
				ldrb	r6, [r6, r4]
				and		r3, r7
				strb	r6, [r5]
				add		r5, r5, #1
				cmp		r5, r1
				bcc		1b
				sub		r4, #MAKESCRN_PATX2
				bx		r12

_knj8_right4dot:mov		r3, #0							@ 右4ドット
1:				ldrb	r6, [r3, r2]
				add		r3, r3, #2
				lsl		r6, r6, #4
				strb	r6, [r5]
				and		r3, r7
				add		r5, r5, #1
				cmp		r5, r1
				bcc		1b
				bx		r12

_knj8_right4half:										@ 潰れ右4ドット
				ldr		r3, [r4, #MAKESCRN_FONTYCNT]
				cmp		r3, #0
				beq		1f
				ldrb	r6, [r3, r2]
				mov		r3, #0
				b		2f
1:				ldrb	r6, [r3, r2]
				add		r3, r3, #2
				and		r3, r7
2:				lsl		r6, r6, #4
				strb	r6, [r5, #0]
				strb	r6, [r5, #1]
				add		r5, r5, #2
				cmp		r5, r1
				bcc		1b
				bx		r12

_knj8_right4x2:	ldr		r3, [r4, #MAKESCRN_FONTYCNT]	@ 右4ドット縦倍角上
1:				ldrb	r6, [r3, r2]
				add		r3, r3, #1
				lsl		r6, r6, #4
				strb	r6, [r5, #0]
				add		r5, r5, #1
				and		r3, r7
				cmp		r5, r1
				bcc		1b
				bx		r12

_knj8_halfx2:	ldr		r3, [r4, #MAKESCRN_FONTYCNT]	@ 潰して縦倍角
				cmp		r3, #0
				beq		1f
				ldrb	r6, [r3, r2]
				mov		r3, #0
				b		2f
1:				ldrb	r6, [r3, r2]
				add		r3, r3, #4
				and		r3, r7
2:				strb	r6, [r5, #0]
				strb	r6, [r5, #1]
				add		r5, r5, #2
				cmp		r5, r1
				bcc		1b
				bx		r12

_knj8_halfx4left:										@ 潰して4倍角左
				ldr		r3, [r4, #MAKESCRN_FONTYCNT]
				add		r4, #MAKESCRN_PATX2
				cmp		r3, #0
				beq		1f
				ldrb	r6, [r3, r2]
				mov		r3, #0
				b		2f
1:				ldrb	r6, [r3, r2]
				add		r3, r3, #4
2:				lsr		r6, r6, #4
				ldrb	r6, [r6, r4]
				and		r3, r7
				strb	r6, [r5, #0]
				strb	r6, [r5, #1]
				add		r5, r5, #2
				cmp		r5, r1
				bcc		1b
				sub		r4, #MAKESCRN_PATX2
				bx		r12

_knj8_halfx4right:										@ 潰して4倍角右
				ldr		r3, [r4, #MAKESCRN_FONTYCNT]
				add		r4, #MAKESCRN_PATX2
				cmp		r3, #0
				beq		1f
				ldrb	r6, [r3, r2]
				mov		r3, #0
				b		2f
1:				ldrb	r6, [r3, r2]
				add		r3, r3, #4
2:				ldrb	r6, [r6, r4]
				and		r3, r7
				strb	r6, [r5, #0]
				strb	r6, [r5, #1]
				add		r5, r5, #2
				cmp		r5, r1
				bcc		1b
				sub		r4, #MAKESCRN_PATX2
				bx		r12


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