@ 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>