100 INIT:CLS
110 LIMIT &HD000
120 MEM$(&HD000,16)=HEXCHR$("FE03204B78FE052046EB5E235623E53E")
130 MEM$(&HD010,16)=HEXCHR$("0632DDFA3E0032DEFA3E102100E0019D")
140 MEM$(&HD020,16)=HEXCHR$("73DFE15E23562301000FEDA3AF3253D0")
150 MEM$(&HD030,16)=HEXCHR$("D92100E00100107ED9CD54D0380B13D9")
160 MEM$(&HD040,16)=HEXCHR$("230B78B1C237D0D9C93EA03253D0C93E")
170 MEM$(&HD050,16)=HEXCHR$("0DDDE9006F3CC80E013E55ED790CED79")
180 MEM$(&HD060,16)=HEXCHR$("0C2FED790E01ED790CED790C2FED790E")
190 MEM$(&HD070,16)=HEXCHR$("01ED790CED790C3EA0ED797DCD86D0D0")
200 MEM$(&HD080,16)=HEXCHR$("3EA03253D0C90E01ED510CED590CED79")
210 MEM$(&HD090,16)=HEXCHR$("E6806FED78ADF0E620CA93D0ED78ADF0")
220 MEM$(&HD0A0,16)=HEXCHR$("37C93E80CDCDD03E10CDCDD0CDB6D0D0")
230 MEM$(&HD0B0,16)=HEXCHR$("3E103253D0C9ED78ED68ADE640C87DE6")
240 MEM$(&HD0C0,16)=HEXCHR$("207DCAB8D0ED68ADE640C837C96F060E")
250 MEM$(&HD0D0,16)=HEXCHR$("1155553EAACDE2D011AA2A2FCDE2D05F")
260 MEM$(&HD0E0,16)=HEXCHR$("537D0E01ED510CED590CED79C9")
270 '
280 '
290 DEFUSR0=&HD000:ERFLAG=&HD053
300 CHIPERASE=&HD0A2
310 ROMSIZ=512          'Flashメモリのサイズ(KByte)
320 PSIZE=4             '一回の処理で 4KByte
330 PG=ROMSIZ/PSIZE     '処理回数
340 REC=0:HIGH=0:ADDR=0
350 '
360 PRINT"消去中...";:TIME=0
370 CALL CHIPERASE      'Chip Erase
380 IF PEEK(ERFLAG)=0 THEN PRINT"完了:";TIME ELSE PRINT"失敗":END
390 '
400 PRINT"書き込み開始":TIME=0
410 FOR A=1 TO PG
420 S$=MKI$(REC)+MKI$(ADDR)+CHR$(HIGH)
430 PRINTUSING"REC:####";REC;
440 PRINT" / ADDR:";HEX$(HIGH);RIGHT$("000"+HEX$(ADDR),4);:POKE &HFADF,0
450 S$=USR0(S$)
460 IF PEEK(ERFLAG)<>0 THEN PRINT:PRINT"書き込みエラ-":END
470 REC=REC+16
480 ADDR=ADDR+4096:IF 65536!<=ADDR THEN ADDR=ADDR-65536!:HIGH=HIGH+1
490 NEXT
500 PRINT:PRINT"終了:";TIME