2921年4月1日に公開した IchigoJam 7 周年 では
公開されたての RISC-V プロセッサの IchigoJam を活かして、
この処理速度だからこそできる表示にしてみました。
速度でいうと IchigoJam BASIC RPi も可能なのですが、
公開時点で 1.2 仕様(ベータ版でも 1.3)のため
DRAW がまだ入っていません。
LPC1114 プロセッサの IchigoJam や IchigoJam web では
遅すぎてまともに表示できません。
本当に RISC-V 仕様の IchigoJam 限定という仕上がりです。
POKE #F88,15,21,15,25,19,23,17,23
POKE #F90,17,23,17,25,17,25,19,25
POKE #F98,21,21,21,25,21,23,23,23
POKE #FA0,23,23,23,25,25,21,25,21
POKE #FA8,25,23,25,25,29,25,27,25
POKE #FB0,27,25,27,23,27,23,29,23
POKE #FB8,29,23,29,27,29,27,27,27
POKE #FC0,31,23,33,23,33,23,33,25
POKE #FC8,33,25,31,25,31,25,31,23
POKE #FD0,37,21,37,25,37,25,35,25
POKE #FD8,41,25,41,23,41,23,39,23
POKE #FE0,39,23,39,25,39,25,42,25
POKE #FE8,43,23,48,23,44,23,44,25
POKE #FF0,46,23,46,25,48,23,48,25
POKE #FF8,15,27,25,27,31,27,48,27
100 'IchigoJam 7th Aniversary!
110 S=50
120 FOR C=S*30 TO S STEP -10
130 CLS
140 FOR A=#F88 TO #FFC STEP 4
150 FOR B=0 TO 3
160 [B]=PEEK(A+B)
170 IF B%2 D=24 ELSE D=32
180 [B]=((D*(S-C))+([B]*C))/S
190 NEXT
195 IF[0]=[2]AND[1]=[3]GOTO 205
200 DRAW [0],[1],[2],[3]
201 GOTO 210
205 DRAW [0],[1]
210 NEXT
220 NEXT
230 LC 9,15:?"7th Aniversary!
MixJuice ダウンロード ?"MJ GET kidspod.club/mj/2063
MicJack ダウンロード ?"MJ SPW 30 → ?"MJ GKP 2063
2021年4月現在、RISC-V プロセッサの IchigoJam では
DRAW コマンドの線画に不具合が発生しています。
その不具合を回避するコードを
195・201・205 で追加しています。
似たような不具合は IchigoJam web でも発生しています。
LPC1114 プロセッサの IchigoJam に限り正常に表示できます。
POKE #F98,21,21,21,25,21,23,23,23
POKE #FA0,23,23,23,25,25,21,25,21
POKE #FA8,25,23,25,25,29,25,27,25
POKE #FB0,27,25,27,23,27,23,29,23
POKE #FB8,29,23,29,27,29,27,27,27
POKE #FC0,31,23,33,23,33,23,33,25
POKE #FC8,33,25,31,25,31,25,31,23
POKE #FD0,37,21,37,25,37,25,35,25
POKE #FD8,41,25,41,23,41,23,39,23
POKE #FE0,39,23,39,25,39,25,42,25
POKE #FE8,43,23,48,23,44,23,44,25
POKE #FF0,46,23,46,25,48,23,48,25
POKE #FF8,15,27,25,27,31,27,48,27
100 'IchigoJam 7th Aniversary!
130 CLS
140 FOR A=#F88 TO #FFC STEP 4
150 FOR B=0 TO 3
160 [B]=PEEK(A+B)
190 NEXT
195 IF[0]=[2]AND[1]=[3]GOTO 205
200 DRAW [0],[1],[2],[3]
201 GOTO 210
205 DRAW [0],[1]
210 WAIT 3
220 NEXT
230 LC 9,15:?"7th Aniversary!
IchigoJam web でプログラムを実行します。
このQRコードはアクセス解析のためにCookieを使用しています。
アクセス解析は匿名で収集されており、個人を特定するものではありません。
この機能はCookieを無効にすることで収集を拒否することができますので、
お使いのデバイスのブラウザの設定をご確認ください。
MixJuice ダウンロード ?"MJ GET kidspod.club/mj/2064
MicJack ダウンロード ?"MJ SPW 30 → ?"MJ GKP 2064
2019年 はいつもよりはやく
1 月から準備をはじめていたのですが、
作ってみたものが 4 周年と変わらない 1 画面表示だったので、
1 月にフライング公開してしまいました。
なお、福野さんの 2019年4月1日 投稿は MSX ネタでした。
IchigoJam for MSX!? はじめてパソコン CANON V-10 と IchigoJam 5th anniversary! | 福野泰介の一日一創
IchigoJam officially logo - CC BY IchigoJam Licensed by jig.jp
30 を次に変えると IchigoJam BASIC 1.0~1.1 でも動作します。
30 POKE #900+R,PEEK(#D00+R)
また、シリアル接続を使用している場合、次に変えるとモニタで動作します。
20 R=RND(767):C=PEEK(#D00+R)
30 LC R%32,R/32:?CHR$(C);
こちらのテクニックを使用しています。
ダイレクトモードで POKE を入れていますが、プログラム領域に入れているため、
SAVE して保存され、LOAD・LRUN で読み出して実行可能です。
IchigoJam BASIC で画面キャプチャ。| ふうせん🎈 FU-SEN
ぜひプログラムを改良して面白い表示方法にしてみて下さい。ただし ?FREE() が 768 未満になると表示領域が破壊されます。
POKE#D00,0,0,0,0,0,0,0,138,0,0,138,0,130,0,0,0
POKE#D10,0,0,138,0,0,0,0,0,0,0,0,0,0,0,0,0
POKE#D20,0,0,0,0,0,0,0,138,138,131,138,139,138,138,139,138
POKE#D30,139,0,138,138,139,130,135,135,133,0,0,0,0,0,0,0
POKE#D40,0,0,0,0,0,0,0,130,130,131,130,130,130,130,139,130
POKE#D50,131,130,131,130,131,129,129,129,129,0,0,0,0,0,0,0
POKE#D60,0,0,0,0,0,0,0,130,131,131,131,131,131,130,131,130
POKE#D70,131,131,131,131,131,131,131,131,129,0,0,0,0,0,0,0
POKE#D80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
POKE#D90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
POKE#DA0,0,0,0,0,0,143,143,143,143,143,143,143,143,143,143,0
POKE#DB0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
POKE#DC0,0,0,0,0,0,143,143,143,143,143,143,143,143,143,143,0
POKE#DD0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
POKE#DE0,0,0,0,0,0,143,143,0,0,0,0,0,0,0,0,0
POKE#DF0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
POKE#E00,0,0,0,0,0,143,143,0,0,0,0,0,0,0,0,0
POKE#E10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
POKE#E20,0,0,0,0,0,143,143,143,143,143,143,143,143,0,0,0
POKE#E30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
POKE#E40,0,0,0,0,0,143,143,143,143,143,143,143,143,0,0,0
POKE#E50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
POKE#E60,0,0,0,0,0,0,0,0,0,0,0,0,0,143,143,0
POKE#E70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
POKE#E80,0,0,0,0,0,0,0,0,0,0,0,0,0,143,143,0
POKE#E90,0,143,0,0,0,0,143,0,0,0,0,0,0,0,0,0
POKE#EA0,0,0,0,0,0,0,0,0,0,0,0,0,0,143,143,0
POKE#EB0,0,143,0,0,0,0,143,0,0,0,0,0,0,0,0,0
POKE#EC0,0,0,0,0,0,0,0,0,0,0,0,0,0,143,143,0
POKE#ED0,143,143,143,143,143,0,143,0,143,143,0,0,0,0,0,0
POKE#EE0,0,0,0,0,0,143,143,0,0,0,0,0,0,143,143,0
POKE#EF0,0,143,0,0,0,0,143,143,0,0,143,0,0,0,0,0
POKE#F00,0,0,0,0,0,143,143,0,0,0,0,0,0,143,143,0
POKE#F10,0,143,0,0,0,0,143,0,0,0,143,0,0,0,0,0
POKE#F20,0,0,0,0,0,0,0,143,143,143,143,143,143,0,0,0
POKE#F30,0,143,0,0,0,0,143,0,0,0,143,0,0,0,0,0
POKE#F40,0,0,0,0,0,0,0,143,143,143,143,143,143,0,0,0
POKE#F50,0,0,143,143,0,0,143,0,0,0,143,0,0,0,0,0
POKE#F60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
POKE#F70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
POKE#F80,134,131,132,0,0,0,0,0,0,130,0,0,0,0,0,0
POKE#F90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
POKE#FA0,133,0,133,135,131,132,135,131,132,139,0,133,0,133,134,131
POKE#FB0,132,141,131,132,134,131,129,130,131,132,138,134,137,138,0,138
POKE#FC0,135,131,133,133,0,133,133,0,133,138,0,138,138,0,135,131
POKE#FD0,129,133,0,0,130,131,132,134,131,133,138,0,0,0,133,133
POKE#FE0,129,0,129,129,0,129,129,0,129,130,0,0,129,0,130,131
POKE#FF0,0,129,0,0,131,131,0,130,131,130,130,0,0,136,134,0
10 '5th Anniversary
20 R=RND(768)
30 COPY#900+R,#D00+R,1
40 GOTO 20
IchigoJam web でプログラムを実行します。
このQRコードはアクセス解析のためにCookieを使用しています。
アクセス解析は匿名で収集されており、個人を特定するものではありません。
この機能はCookieを無効にすることで収集を拒否することができますので、
お使いのデバイスのブラウザの設定をご確認ください。
MixJuice ダウンロード ?"MJ GET kidspod.club/mj/728
MicJack ダウンロード ?"MJ SPW 30 → ?"MJ GKP 728
MixJuice ダウンロード ?"MJ GET 15J.IN/796
MicJack ダウンロード ?"MJ SPW 30 → ?"MJ GKP 796
IchigoCake BASIC は IchigoJam BASIC と仮想メモリのプログラム領域が異なっているので、
#1000~#12FF にデータを入れています。
2018年の 4 周年で何か行いたいなぁ~~~と考えていましたが、
ふとひらめいたのは 3月31日夜、寝ようとしていた時。
IchigoJam BASIC 1.2 で追加されている VIDEO の拡大機能を
使っているプログラムがまだ少なかったので、
これを使ったものを作ってみようと考えました。
他用があったため、着手が昼過ぎとなり、
トップページ変更させたのも夕方位になってからです。
VIDEO 5 を採用しつつ、PCG・疑似フラフィック・通常出力を
POKE・PEEK を用いて難しくさせています。
IchigoJam 公式ロゴを PCG で生成しているプログラムは珍しいです。
(CHR$(1) の ■ や CHR$(#80)~CHR$(#8F) の
仮想グラフィックを用いたプログラムはいくつか公開されています)
拡大表示によってこれが実用的となりました。
IchigoJam officially logo - CC BY IchigoJam Licensed by jig.jp
100 '4th Anniversary は記載の通りに入れて下さい。
省略する場合でも 100 '4th までにして、この行を省略しないで下さい。
この部分をプログラムで使用しています。
2018年4月1日に公開したバージョンです。
100 '4th Anniversary
110 VIDEO 5:CLS:CLV
120 POKE 1800,1,1,1,1,1,0,1,0,4
130 POKE 1809,4,119,69,117,0
140 POKE 1814,255,0,64,0,93,85
150 POKE 1820,93,4,221,0,4,4
160 POKE 1826,197,69,221,0,255
170 POKE 1831,0,0,0,223,74,234
180 POKE 1837,0,255,0,0,0,128
190 POKE 1843,128,128,0,128,0
200 FOR I=1 TO 6
210 POKE 2304+I,224+I:NEXT
220 FOR Y=0 TO 6 STEP 2
230 FOR X=3 TO 0 STEP -1
240 A=PEEK(416+Y)
250 B=PEEK(417+Y)
260 C=128+(A>>(X*2+1)&1)
270 C=C+2*(A>>(X*2)&1)
280 C=C+4*(B>>(X*2+1)&1)
290 C=C+8*(B>>(X*2)&1)
300 POKE 2314+Y*4+(3-X),C
310 NEXT:NEXT
320 FOR I=1 TO 2
330 POKE 2346+I,PEEK(3076+I)
340 NEXT
350 IF !INKEY() CONT
360 VIDEO 1
IchigoJam web でプログラムを実行します。
このQRコードはアクセス解析のためにCookieを使用しています。
アクセス解析は匿名で収集されており、個人を特定するものではありません。
この機能はCookieを無効にすることで収集を拒否することができますので、
お使いのデバイスのブラウザの設定をご確認ください。
MixJuice ダウンロード ?"MJ GET kidspod.club/mj/604
MicJack ダウンロード ?"MJ GKP 604
同じ動作で解析しやすくしたバージョンです。
100 '4th Anniversary
110 VIDEO 5:CLS:CLV
120 POKE #E1*8,1,1,1,1,1,0,1,0
130 POKE #E2*8,4,4,119,69,117,0,255,0
140 POKE #E3*8,64,0,93,85,93,4,221,0
150 POKE #E4*8,4,4,197,69,221,0,255,0
160 POKE #E5*8,0,0,223,74,234,0,255,0
170 POKE #E6*8,0,0,128,128,128,0,128,0
200 FOR I=1 TO 6
210 LC I,0:?CHR$(#E0+I);:NEXT
220 FOR Y=0 TO 6 STEP 2
230 FOR X=3 TO 0 STEP -1
240 A=PEEK(ASC("4")*8+Y)
250 B=PEEK(ASC("4")*8+1+Y)
260 C=#80+(A>>(X*2+1)&1)
270 C=C+2*(A>>(X*2)&1)
280 C=C+4*(B>>(X*2+1)&1)
290 C=C+8*(B>>(X*2)&1)
300 LC 2+(3-X),1+(Y/2):?CHR$(C);
310 NEXT:NEXT
320 FOR I=1 TO 2
330 LC 2+I,6:?CHR$(PEEK(#C04+I));
340 NEXT
350 IF !INKEY() CONT
360 VIDEO 1
IchigoJam web でプログラムを実行します。
このQRコードはアクセス解析のためにCookieを使用しています。
アクセス解析は匿名で収集されており、個人を特定するものではありません。
この機能はCookieを無効にすることで収集を拒否することができますので、
お使いのデバイスのブラウザの設定をご確認ください。
MixJuice ダウンロード ?"MJ GET kidspod.club/mj/605
MicJack ダウンロード ?"MJ GKP 605
MixJuice ダウンロード ?"MJ GET 15J.IN/795
MicJack ダウンロード ?"MJ GKP 795
プログラム領域から参照している部分があるのですが、IchigoCake では仮想メモリのプログラム領域が異なるため、
これを変更しています。
解析版がオリジナル版とほぼ同様にしてあります。BASIC/はじめの一歩 も参照して下さい。
拡大表示を行っている VIDEO 5(横 8 文字×縦 6 文字表示)である事にご注意下さい。
1 周年 (2015/04/01)
当時は通常の画面サイズが横幅 37 文字だったので、
IchigoJam ロゴを CHR$(1) の ■ で表現できました。
LET の連続表記が対応されたばかりで、一つ一つ入れています。
速度が遅くて少しでも高速処理できる記載をしています。
横幅 37 文字だったのは IchigoJam BASIC 0.9.8-RC までです。
現在のバージョンでは正常に動作しませんが
プログラムを公開しておきます。
1 '1year
10 LET [0],2178:LET [1],128
20 LET [2],2080:LET [3],2048
30 LET [4],-17920:LET [5],-28949
40 LET [6],-22546:LET [7],-21848
50 LET [8],21672:LET [9],-5446
60 LET [10],24302:LET [11],5
70 LET [12],8:LET [13],-4608
80 LET [14],-273:LET [15],-14593
90 LET [16],0:LET [17],24576
100 LET [18],-2452:LET [19],31987
110 LET [20],26310:LET [21],-9853
120 LET [22],-13204:LET [23],-1549
130 LET [24],-14723:LET [25],-31976
140 LET [26],3289:LET [27],-3682
150 LET [28],-12901:LET [29],6
160 LET I,0:LET B,0:PRINT
170 PRINT CHR$([I]&1);
180 LET [I],[I]>>1
190 LET B,B+1:IF B<>16 GOTO 170
200 LET I,I+1:LET B,0
210 IF I<>30 GOTO 170
220 PRINT:END
2 周年 (2016/04/01)
ORANGE pico が公開されたばかりで、
良い交流ができるきっかけになればと
IchigoJam・ORANGE pico 双方に許可を得て
作成・公開しました。
2016年4月1日のネタは ORANGE pico で
IchigoJam が動いた!と
IchigoJam フォントで ORANGE pico 混じりの
起動画面を公開していました。
IchigoJam 公式ロゴ(右画像)は
クリエイティブ・コモンズ・ライセンス(表示・CC BY)の扱いです。
そのためロゴの使用・配布、また改変も認められています。
クリエイティブ・コモンズ 表示 4.0 国際 (CC BY 4.0) 配布元 IchigoJam
よくあるご質問 | IchigoJam 公式サイト - 「ライセンスについて」内「ワークショップの告知にIchigoJamのロゴは使っていいですか?」
フリー素材 | IchigoJam 公式サイト - 公式ロゴの画像データ
SkyBerryJAM は 栃木県立栃木工業高等学校 が管理する登録商標であり、
SkyBerryJAM は 栃木県立栃木工業高等学校 の商標です。
Raspberry Pi は
Raspberry Pi 財団 の登録商標です。
Raspberry Pi is a registered trademark or
trademark of
the Raspberry Pi Foundation.
"RISC-V" の商品名は RISC-Vインターナショナル が管理する登録商標です。
The “RISC-V” trade name is a registered trade mark of
RISC-V International.