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 $B$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 Series          MSX Series
-------------------------------------------------------------------------------
        JIS Code                JIS Code
        2D21    $B-!(J              225D    $B"](J
        2D22    $B-"(J              225E    $B"^(J
        2D23    $B-#(J              225F    $B"_(J
        2D24    $B-$(J              2260    $B"`(J
        2D25    $B-%(J              2261    $B"a(J
        2D26    $B-&(J              2262    $B"b(J
        2D27    $B-'(J              2263    $B"c(J
        2D28    $B-((J              2264    $B"d(J
        2D29    $B-)(J              2265    $B"e(J
        2D2A    $B-*(J              2266    $B"f(J

        2D35    $B-5(J              2231    $B"1(J
        2D36    $B-6(J              2232    $B"2(J
        2D37    $B-7(J              2233    $B"3(J
        2D38    $B-8(J              2234    $B"4(J
        2D39    $B-9(J              2235    $B"5(J
        2D3A    $B-:(J              2236    $B"6(J
        2D3B    $B-;(J              2237    $B"7(J
        2D3C    $B-<(J              2238    $B"8(J
        2D3D    $B-=(J              2239    $B"9(J
        2D3E    $B->(J              223A    $B":(J

        2D40    $B-@(J              224F    $B"O(J
        2D41    $B-A(J              2254    $B"T(J
        2D42    $B-B(J              224E    $B"N(J
        2D43    $B-C(J              224D    $B"M(J
        2D44    $B-D(J              224C    $B"L(J
        2D45    $B-E(J              2253    $B"S(J
        2D46    $B-F(J              2251    $B"Q(J
        2D47    $B-G(J              2250    $B"P(J
        2D48    $B-H(J              2258    $B"X(J
        2D49    $B-I(J              2257    $B"W(J

        2D4B    $B-K(J              2252    $B"R(J

        2D4D    $B-M(J              2259    $B"Y(J

        2D4F    $B-O(J              225A    $B"Z(J

        2D50    $B-P(J              223E    $B">(J
        2D51    $B-Q(J              223D    $B"=(J
        2D52    $B-R(J              223F    $B"?(J
        2D53    $B-S(J              2243    $B"C(J
        2D54    $B-T(J              2244    $B"D(J

        2D56    $B-V(J              2241    $B"A(J

        2D62    $B-b(J              2249    $B"I(J
        2D63    $B-c(J              2247    $B"G(J
        2D64    $B-d(J              2248    $B"H(J
        2D65    $B-e(J              227D    $B"}(J ($BK\Mh$O(J$B>e(J$B$K(J$B!;(J$B$r=E$M$?J8;z(J)

        2D67    $B-g(J              227E    $B"~(J ($BK\Mh$O(J$B2<(J$B$K(J$B!;(J$B$r=E$M$?J8;z(J)
        2D68    $B-h(J              222B    $B"+(J ($BK\Mh$O(J$B:8(J$B$K(J$B!;(J$B$r=E$M$?J8;z(J)
        2D69    $B-i(J              222A    $B"*(J ($BK\Mh$O(J$B1&(J$B$K(J$B!;(J$B$r=E$M$?J8;z(J)
        2D6A    $B-j(J              222F    $B"/(J
        2D6B    $B-k(J              2230    $B"0(J
        2D6C    $B-l(J              2246    $B"F(J

        2D72    $B-r(J              226C    $B"l(J

        2D75    $B-u(J              226D    $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

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