10 SCREEN 0,,0:CLS:WIDTH 38:KEY OFF:COLOR 15,0,0:CLEAR 200,&HBFFF:BA=&HC000
20 F$="YAKYU":FI$=F$+".TXT":PRINT"Load File Name (";FI$;")=";:INPUT FI$
30 CLS:GOSUB 2010:PRINT:PRINT:PRINT
40 FO$=F$+".MES":PRINT"Save File Name (";FO$;")=";:INPUT FO$
50 BSAVE FO$, BA, AD
60 END
2000 '
2010 OPEN FI$ FOR INPUT AS #1:PRINT "Please Wait..":LOCATE 0,2
2020 INPUT #1,A$:IF A$="." THEN PRINT ".";
2030 IF A$="[END]" THEN CLOSE #1 ELSE 2020
2040 '
2050 TA=BA:FOR I=0 TO 511:POKE TA+I,&H0:NEXT:AD=TA+512:OPEN FI$ FOR INPUT AS #1:GOSUB 2210:LOCATE 0,2
2060 INPUT #1,A$:B$=LEFT$(A$,1):IF B$=";" THEN 2060
2070 IF B$="#" THEN TA=BA+VAL(MID$(A$,2,LEN(A$)))*2:GOSUB 2210:FG=1:GOTO 2060
2080 IF B$="*" THEN POKE AD,&H1:POKE AD+1,VAL(MID$(A$,2,LEN(A$))):AD=AD+2:GOTO 2060
2090 IF A$="." THEN PRINT "o";:POKE AD,&H0:AD=AD+1:FG=0:GOTO 2060
2100 IF A$="[END]" THEN CLOSE #1:RETURN
2110 IF FG=0 THEN 2060
2120 IF A$="" THEN POKE AD,&HD:AD=AD+1:GOTO 2060
2130 '
2140 FOR I=1 TO LEN(A$)/2
2150 S1=ASC(MID$(A$,(I-1)*2+1,1)):S2=ASC(MID$(A$,(I-1)*2+2,1))
2160 IF S1<=&H9F THEN S1=S1-&H71 ELSE S1=S1-&HB1
2170 S1=S1*2+1:IF S2>=&H7F THEN S2=S2-1
2180 IF S2>=&H9E THEN S2=S2-&H7D:S1=S1+1 ELSE S2=S2-&H1F
2190 POKE AD,S1:POKE AD+1,S2:AD=AD+2:NEXT I:POKE AD,&HD:AD=AD+1:GOTO 2060
2200 '
2210 POKE TA,AD AND &HFF:POKE TA+1,((AD AND &HFF00)/256) AND &HFF:RETURN
3000 '
3010 A$=STR$(C):A$=GF$+RIGHT$("00"+RIGHT$(A$,LEN(A$)-1),3)+".SC"+RIGHT$(STR$(SC),1)
3020 SET PAGE 0,1:BLOAD A$,S:COLOR=RESTORE
3030 FOR I=0 TO 210 STEP 2:J=211-I:COPY(0,I)-(W,I),1TO(0,I),0:COPY(0,J)-(W,J),1TO(0,J),0:NEXT I
3040 IF INKEY$<>CHR$(13) THEN 3040 ELSE SET PAGE 0,0:CLS:RETURN