(tumblrに置いてた記事の転載になります。)
MSX2版FF1のディスクを書き換えて「Bボタン+SELECT」を押したときの動作を変更するプログラムのご紹介です。
1はオリジナル(マップ表示)
2はオープニングデモ
3はエンディングデモ
になります。
オープニングとエンディングを見るのが大変なので、それらを簡単に鑑賞できるようになっています。
(やってることはプログラムと、ディスクイメージの該当セクタを見てもらえば分かるかな)
雑誌の投稿プログラムかひとことコラム投稿を元にしたと記憶してますが、雑誌が見つからないので引用元不明です。
★ エンディング後はBGMテストがあり、これ目当てに使用しています。
★ BGMテスト:
エンディングで”The End”が表示されたらCAPSLOCKだったかCTRLで音が止まり、BGMテストに入りますので、カーソルの↑↓で曲選択します。
MSX版のファイナルファンタジーはFM音源版もPSG音源版もニコニコで投稿してる人がいたのでこのプログラムの需要は無い気もしますけども、自分でOPとEDを気軽に見たい人向けに。
★★★★★★★★★
★ 【注意事項】 ★
★★★★★★★★★
このプログラムでは書き込み前チェックをしていないので、書き換えは自己責任で。
自己複製の範囲でコピーしたディスクに使用することをお勧めします。
起動してから書き換えたディスクに差し替えればOKだったはず。
最近は何故かプレミアがついているし。
★ プログラムリスト
10 SCREEN 0: WIDTH 40: COLOR 15,0,0: COLOR =(15,0,0,0) 20 LOCATE 5,0: PRINT "- FINAL FANTASY I -" 30 LOCATE 0,2: PRINT "BボタンSELECT カクチョウ/シュウフク PROGRAM" 40 LOCATE 4,5: PRINT "1:DISK シュウフク" 50 LOCATE 4,7: PRINT "2:change to OPENNING DEMO" 60 LOCATE 4,9: PRINT "3:change to ENDING DEMO" 70 PLAY "T255V15L8O3AGFGFEDECEG4" 80 FOR I=0 TO 7: COLOR =(15,I,I,I): FOR J=0 TO 100: NEXT J,I 90 FOR I=-1 TO 0: I=PLAY (0): NEXT 100 POKE &HF351,0: POKE &HF352,&H00C0: GOSUB 500 110 LOCATE 4,11: PRINT "INPUT NUMBER="; 120 A$=INPUT $(1) 130 IF A$="3" THEN BEEP : GOTO 120 200 I$=DSKI$(1,10): POKE &HC0AC,&H0004: POKE &HC0AE,&H0005: DSKO$ 1,10 210 I$=DSKI$(1,292): POKE &HC001,&H0006: POKE &HC002,&H0080: DSKO$ 1,292 220 IF A$="1" THEN 999 300 I$=DSKI$(1,10): POKE &HC0AC,&H0024: POKE &HC0AE,&H0029: DSKO$ 1,10 310 IF A$="3" THEN I$=DSKI$(1,292): POKE &HC001,&H00E6: POKE &HC002,&H0081: DSKO$ 1,292 320 GOTO 999 500 I$=DSKI$(1,10): A$="OPENEND .COM" 510 FOR I=0 TO 11: IF PEEK (&HC0B0+I)=ASC (MID$(A$,I+1,1)) THEN NEXT : LOCATE 4,20: PRINT SPC(32): RETURN 520 BEEP : LOCATE 4,20: PRINT "SET FF I GAME DISK": A$=INPUT $(1): GOTO 500 999 LOCATE 4,20: PRINT "COMPLETE": A$=INPUT $(1): LOCATE 4,20: PRINT SPC(32): GOTO 110