IchigoJam 7 周年

IchigoJam 7 周年 RISC-V 版

2921年4月1日に公開した IchigoJam 7 周年 では
公開されたての RISC-V プロセッサの IchigoJam を活かして、

この処理速度だからこそできる表示にしてみました。

 

速度でいうと IchigoJam BASIC RPi も可能なのですが、

公開時点で 1.2 仕様(ベータ版でも 1.3)のため

DRAW がまだ入っていません。

LPC1114 プロセッサの IchigoJam や IchigoJam web では
遅すぎてまともに表示できません。

本当に RISC-V 仕様の IchigoJam 限定という仕上がりです。

 

 

IchigoJam officially logo - CC BY IchigoJam Licensed by jig.jp

 



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 に限り正常に表示できます。



IchigoJam 7 周年 LPC1114・web 版

IchigoJam 7 周年 RISC-V 版は DRAW で描いているのですが、
LPC1114 プロセッサの IchigoJam や IchigoJam web では

この DRAW で描いていく工程を見る事ができる速度なので、
これを活かして改良版を作ってみました。

 

プログラムは RISC-V 版にほぼ共通なので、
行番号も 1 ヶ所以外は共通させてあります。

 

IchigoJam web は速度が遅いため、
210 WAIT 1 にしてあります。

 

IchigoJam officially logo - CC BY IchigoJam Licensed by jig.jp

 



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



IchigoJam 5 周年

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 未満になると表示領域が破壊されます。

 

IchigoJam BASIC 1.2.0~

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


IchigoCake BASIC

MixJuice ダウンロード ?"MJ GET 15J.IN/796

MicJack ダウンロード ?"MJ SPW 30 → ?"MJ GKP 796

 

IchigoCake BASIC は IchigoJam BASIC と仮想メモリのプログラム領域が異なっているので、

#1000~#12FF にデータを入れています。


IchigoJam 4 周年

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 までにして、この行を省略しないで下さい。

この部分をプログラムで使用しています。

 

IchigoJam BASIC オリジナル版

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


IchigoJam BASIC 解析版

同じ動作で解析しやすくしたバージョンです。

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


IchigoCake BASIC オリジナル版

MixJuice ダウンロード ?"MJ GET 15J.IN/795

MicJack ダウンロード ?"MJ GKP 795

プログラム領域から参照している部分があるのですが、IchigoCake では仮想メモリのプログラム領域が異なるため、

これを変更しています。

 

プログラムの解説

解析版がオリジナル版とほぼ同様にしてあります。BASIC/はじめの一歩 も参照して下さい。

拡大表示を行っている VIDEO 5(横 8 文字×縦 6 文字表示)である事にご注意下さい。

  • 100 コメント(FILES で参照すると共に 330 でも参照。プログラムが入る仮想メモリは #C00=3072 から)
  • 110 画面と変数の初期化
  • 120~190 IchigoJam ロゴの定義(#E1~#E6 の PCG を生成。#E1×8=1800)
  • 200~210 IchigoJam ロゴの表示(VIDEO 5 でも画面左上の仮想メモリは #900=2304 から)
  • 220~310 4 の表示(「4」のキャラクターを取り出し、#80~#8F の仮想グラフィックに変換・表示。ASC("4")×8=416)
  • 320~340 th の表示(100 のコメントに記載している th の文字を取り出し・表示)
  • 350 キー入力待ち
  • 360 画面を初期状態へ戻す

1year

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

ORANGE pico 向け IchigoJam フォント

2 周年 (2016/04/01)

ORANGE pico が公開されたばかりで、
良い交流ができるきっかけになればと

IchigoJam・ORANGE pico 双方に許可を得て

作成・公開しました。

 

2016年4月1日のネタは ORANGE pico で
IchigoJam が動いた!と

IchigoJam フォントで ORANGE pico 混じりの
起動画面を公開していました。



IchigoJam 公式ロゴの扱い・ライセンスについて

IchigoJam 公式ロゴ(右画像)は

クリエイティブ・コモンズ・ライセンス(表示・CC BY)の扱いです。

そのためロゴの使用・配布、また改変も認められています。

 

クリエイティブ・コモンズ 表示 4.0 国際 (CC BY 4.0) 配布元 IchigoJam

 

よくあるご質問 | IchigoJam 公式サイト - 「ライセンスについて」内「ワークショップの告知にIchigoJamのロゴは使っていいですか?」

フリー素材 | IchigoJam 公式サイト - 公式ロゴの画像データ