98$BJ8;z$KBP1~$7$^$;$&(J

PC-9800$B%7%j!<%:$N;}$D8GM-J8;z(J(98$BJ8;z(J)$B$O!"4pK\E*$K(JMSX$B$G$NI=<($O=PMh$^$;$s!#(J
$B$7$+$7!"(J98$BJ8;z$N0lIt$K$O(JMSX$B$GI=8=2DG=$JJ*$,$"$j!"%3!<%IJQ49$r9T$&;v$GI=<(2DG=$K$J$j$^$9!#(J
$B0J2<$K<($9$N$O(J98$BJ8;z$NFb!"(JMSX$B$N4A;z(JROM$B$K%U%)%s%H$,$"$kJ*$G$9!#(J

PC-9800 SeriesMSX Series
JIS codeCharacterJIS codeCharacter
2D21$B-!(J225D$B"](J
2D22$B-"(J225E$B"^(J
2D23$B-#(J225F$B"_(J
2D24$B-$(J2260$B"`(J
2D25$B-%(J2261$B"a(J
2D26$B-&(J2262$B"b(J
2D27$B-'(J2263$B"c(J
2D28$B-((J2264$B"d(J
2D29$B-)(J2265$B"e(J
2D2A$B-*(J2266$B"f(J
2D35$B-5(J2231$B"1(J
2D36$B-6(J2232$B"2(J
2D37$B-7(J2233$B"3(J
2D38$B-8(J2234$B"4(J
2D39$B-9(J2235$B"5(J
2D3A$B-:(J2236$B"6(J
2D3B$B-;(J2237$B"7(J
2D3C$B-<(J2238$B"8(J
2D3D$B-=(J2239$B"9(J
2D3E$B->(J223A$B":(J
2D40$B-@(J224F$B"O(J
2D41$B-A(J2254$B"T(J
2D42$B-B(J224E$B"N(J
2D43$B-C(J224D$B"M(J
2D44$B-D(J224C$B"L(J
2D45$B-E(J2253$B"S(J
2D46$B-F(J2251$B"Q(J
2D47$B-G(J2250$B"P(J
2D48$B-H(J2258$B"X(J
2D49$B-I(J2257$B"W(J
2D4B$B-K(J2252$B"R(J
2D4D$B-M(J2259$B"Y(J
2D4F$B-O(J225A$B"Z(J
2D50$B-P(J223E$B">(J
2D51$B-Q(J223D$B"=(J
2D52$B-R(J223F$B"?(J
2D53$B-S(J2243$B"C(J
2D54$B-T(J2244$B"D(J
2D56$B-V(J2241$B"A(J
2D62$B-b(J2249$B"I(J
2D63$B-c(J2247$B"G(J
2D64$B-d(J2248$B"H(J
2D65$B-e(J227D$B"}(J ($BK\Mh$O(J$B>e(J$B$K(J$B!;(J$B$r=E$M$?J8;z(J)
2D67$B-g(J227E$B"~(J ($BK\Mh$O(J$B2<(J$B$K(J$B!;(J$B$r=E$M$?J8;z(J)
2D68$B-h(J222B$B"+(J ($BK\Mh$O(J$B:8(J$B$K(J$B!;(J$B$r=E$M$?J8;z(J)
2D69$B-i(J222A$B"*(J ($BK\Mh$O(J$B1&(J$B$K(J$B!;(J$B$r=E$M$?(J $BJ8;z(J)
2D6A$B-j(J222F$B"/(J
2D6B$B-k(J2230$B"0(J
2D6C$B-l(J2246$B"F(J
2D72$B-r(J226C$B"l(J
2D75$B-u(J226D$B"m(J

$B%3!<%I$NJQ49$O!"(JJIS $BKt$O(J Shift-JIS $B$G9T$C$F2<$5$$!#4A;z%3!<%I$G$NJQ49$O=PMh$^$;$s(J($BM}M3$O(J JIS $B$N(J 2D21H($B-!(J) $B$H(J 3241H($B2A(J) $B$r4A;z%3!<%I$KJQ49$9$k$HJ,$+$j$^$9(J)$B!#(J
$B$R$g$C$H$9$k$H!">>2<0J30$N5!

$B%3!<%IJQ49$N%5%s%W%k%W%m%0%i%`$G$9!#(J

$BL>A0(JSJ_JIS
$B5!G=(JShift-JIS$B$NJ8;zNs$r4A;z%3!<%I$KJQ49$9$k(J
$BF~NO(JHL=$BJQ49J8;zNs$X$N%]%$%s%?(J
BC=$BH>3QJ8;z$N%Q%?!<%s%F!<%V%k$N@hF,%"%I%l%9(J
$B=PNO(JHL$B$G;XDj$5$l$?J8;z$,(J
$BH>3QJ8;z$N>l9g(JB=1
DE=HL+1
HL=$BH>3QJ8;z$N%Q%?!<%s%F!<%V%k$N%"%I%l%9(J
$BA43QJ8;z$N>l9g(JB=2
C=$B4A;z(JROM$B$N(JI/O$B%"%I%l%9(J
DE=HL+2
HL=$B4A;z%3!<%I(J
$BJQ2=(JAF
$B3d9~(J$BJQ2=$;$:(J
$BFC5-(JPC-9800$B%7%j!<%:$N8GM-J8;z$,$"$C$?>l9g!"(JMSX$B$N4A;z(JROM$B$K$"$kJ8;z$XJQ49$9$k(J
SJ_JIS:
        LD      A,(HL)          ;$BH>3Q!&A43Q$NH=Dj(J
        INC     HL
        OR      A
        JP      P,SJ_JIS4

        CP      0A1H
        JP      C,SJ_JIS6

        CP      0E0H
        JP      C,SJ_JIS4

        CP      0F0H
        JP      NC,SJ_JIS4

SJ_JIS5:
        SUB     71H+16          ;$B6h$r5a$a$k(J
        CP      0A0H-(071H+16)
        JR      C,SJ_JIS1

        SUB     0B1H-071H
        SCF

SJ_JIS1:
        ADC     A,A             ;8bit$B1i;;$G$O(JADD$B$b(JADC$B$bB.EY$OF1$8(J
        LD      B,A             ;B=$B6h(J
        LD      A,(HL)          ;$BE@$r5a$a$k(J

SJ_JIS8:
        INC     HL
        CP      07FH+1
        ADC     A,-(1FH+32+1)
        CP      9EH-1FH-32
        JR      C,SJ_JIS2

        INC     B
        SUB     7DH-1FH

SJ_JIS2:
        LD      C,A             ;C=$BE@(J

SJ_JIS9:
        LD      A,B             ;$BBh0l?e=`!&BhFs?e=`$NH=Dj(J
        CP      48
        JR      NC,SJ_JIS3

        ADD     A,A             ;$B4A;z%3!<%I$r5a$a$k(J
        ADD     A,B             ;A=A*3
        LD      E,A
        LD      D,0
        LD      B,D
        EX      DE,HL           ;DE=$BJ8;zNs$X$N%]%$%s%?(J
        ADD     HL,HL
        ADD     HL,HL
        ADD     HL,HL
        ADD     HL,HL
        ADD     HL,HL
        ADD     HL,BC           ;HL=$B4A;z%3!<%I(J
        LD      BC,02D8H        ;B=$BD9$5!?(JC=I/O$B%]!<%H(J
        CP      16*3            ;$B6h$,(J16$BL$K~$+H=Dj(J
        RET     C

        DEC     H               ;HL=HL-512 -> H=H-2
        DEC     H
        RET

SJ_JIS3:
        SUB     48              ;$BBhFs?e=`(J
        ADD     A,A
        LD      E,A
        ADD     A,A
        ADD     A,E
        LD      E,A
        LD      D,0
        LD      B,D
        EX      DE,HL           ;DE=$BJ8;zNs$X$N%]%$%s%?(J
        ADD     HL,HL
        ADD     HL,HL
        ADD     HL,HL
        ADD     HL,HL
        ADD     HL,BC           ;HL=$B4A;z%3!<%I(J
        LD      BC,02DAH        ;B=$BD9$5!?(JC=I/O$B%]!<%H(J
        RET

SJ_JIS4:
        LD      E,A
        LD      D,0
        EX      DE,HL           ;DE=$BJ8;zNs$X$N%]%$%s%?(J
        ADD     HL,HL
        ADD     HL,HL
        ADD     HL,HL
        ADD     HL,BC           ;HL=$BH>3Q%U%)%s%H$X$N%]%$%s%?(J
        LD      B,1             ;B=$BD9$5(J
        RET

SJ_JIS6:
        CP      87H             ;98$BJ8;z$+H=Dj(J
        JP      NZ,SJ_JIS5

        LD      B,0+(87H-71H)*2-32+1
        LD      A,(HL)
        CP      95H+1
        JP      NC,SJ_JIS8

        LD      E,A             ;98$BJ8;z$J$i%F!<%V%k$GE@$r0z$/(J
        LD      D,0
        EX      DE,HL
        LD      BC,CV98TB-40H
        ADD     HL,BC
        LD      C,(HL)          ;C=$BE@(J
        EX      DE,HL
        LD      B,2             ;$B6h$O8GDj(J(B=2)
        INC     HL
        JP      SJ_JIS9

CV98TB:
        DB          3DH,3EH,3FH,40H,41H,42H,43H
        DB      44H,45H,46H,4BH,4BH,4BH,4BH,4BH
        DB      4BH,4BH,4BH,4BH,4BH,11H,12H,13H
        DB      14H,15H,16H,17H,18H,19H,1AH,4BH
        DB      2FH,34H,2EH,2DH,2CH,33H,31H,30H
        DB      38H,37H,4BH,32H,4BH,39H,4BH,3AH
        DB      1EH,1DH,1FH,23H,24H,4BH,21H,4BH
        DB      4BH,4BH,4BH,4BH,4BH,4BH,4BH,4BH,4BH
        DB      4BH,4BH,29H,27H,28H,5DH,4BH,5EH
        DB      0BH,0AH,0FH,10H,26H,4BH,4BH,4BH
        DB      4BH,4BH,4CH,4BH,4BH,4DH

Web master: Nakayama Atsushi
E-mail: anaka@yo.rim.or.jp