SHIROのIchigoJam日記

IchigoJamの電子工作とプログラミングをメインに

Loader64

Ichigo64環境(IchigoJam+IchigoDot)用のプログラムが貯まってきたので、Ichigo64 PortableにEEPROMを追加搭載して、実行プログラムを選択するローダーを作りました。

  • 起動するとタイトル画面を表示した後、2桁の数字が出ます。最初は10の位の入力です(数字が点滅します)。ボタンを長押しすると数字がカウントアップするので、希望の数字になった所でボタンを離すと次へ進みます。数字がそのままで良ければ、ボタンを短く押すと次へ進みます。
  • 次に1の位の入力です。同様にボタンを長押しすると数字がカウントアップするので、希望の数字になった所でボタンを離すと次へ進みます。数字がそのままで良ければ、ボタンを短く押すと次へ進みます。
  • 最後にプログラムを実行するかどうかの選択です。下の三角ボタンが点滅するので、実行する時はボタンを短く押してください。キャンセルしたい時は長押しすると、数字の入力へ戻ります。
  • 指定した数字「00」〜「99」から、EEPROMの100〜199番のスロットを読み込んで実行します。

これでたくさんのプログラムを持ち歩いて遊べます。
ホームメニューが付くと、Ichigo64 Portableが急に賢くなったように見えます(笑)

1 '*Loader64
2 IFBTN()GOTO2
3 WAIT60:UART1:CLS:?
4 CLV:?"MATLED SHOW F7D0D705007742F6":PLAY"G8E8C8D8E8":WAIT120:GSB37
5 LET [10],#1F,#11,#1F
6 LET [13],#00,#00,#1F
7 LET [16],#1D,#15,#17
8 LET [19],#15,#15,#1F
9 LET [22],#07,#04,#1F
10 LET [25],#17,#15,#1D
11 LET [28],#1F,#14,#1C
12 LET [31],#01,#01,#1F
13 LET [34],#1F,#15,#1F
14 LET [37],#07,#05,#1F
15 N=0:O=0:GSB33:O=5:GSB33:GSB35
16 IFBTN()GOTO16
17 O=0:GSB26:O=5:GSB26
18 GSB35:CLT
19 IFTICK()>30GSB35:CLT
20 IF!BTN()GOTO19
21 GSB36:CLT
22 IFTICK()>30BEEP:GOTO16
23 IFBTN()GOTO22
24 BEEP10,4:WAIT8:BEEP10,4:WAIT10
25 G=[90]*10+[95]:LRUN100+G
26 N=[90+O]:GSB33:CLT
27 IFTICK()>30GSB33:CLT
28 IF!BTN()GOTO27
29 GSB34:CLT
30 IFTICK()>30[90+O]=([90+O]+1)*([90+O]<9):N=[90+O]:GSB34:CLT
31 IFBTN()GOTO30
32 BEEP:RTN
33 FORX=0TO2:[O+X]=[O+X]^[10+N*3+X]:NEXT:GSB37:RTN
34 FORX=0TO2:[O+X]=[10+N*3+X]:NEXT:GSB37:RTN
35 [3]=[3]^#E0:[4]=[4]^#40:GSB37:RTN
36 [3]=#E0:[4]=#40:GSB37:RTN
37 ?"MATLED SHOW ";:FORB=0TO7:IF[B]<16?0;
38 ?HEX$([B]);:NEXT:?:RTN