create every day - 福野泰介の一日一創

IchigoJam、キーバッファのメモリ領域公開!フルアセンブラでゲーム開発可能に!?

2015/10/15 23:55:00
#IchigoJam 

30年前、マイコン少年の誰もが憧れたフルアセンブラでのゲームづくり。 マシン語で画面描画(アウトプット)のやり方が分かれば、後は、キー入力(インプット)を押さえればマシン語を使った高速ゲームづくりの準備が整います!

BASICやCなどの便利な言語に頼らず、マシン語に直接対応するアセンブリ言語だけで全部つくるという意味の「フルアセンブラ」、2015年でも現役のようです。
ゲハを斬る!! フルアセンブラで作られた3DSゲーム「IRONFALL Invasion」がついに海外で発売!!

IchigoJamの入力周りを整理して、一部のキー状態とキーバッファをマシン語や、PEEK文で取得可能に変更しました。

IchigoJam メモリマップ (ver1.1 beta 8)

仮想アドレス機能
#000-#6FFキャラクターパターン #00〜#DF (読み取り専用)
#700-#7FF書換可能キャラクターパターン(PCG) #E0〜#FF
#800-#8FF2byte符号付き整数の変数(配列0〜101、変数A〜Z)
#900-#BFF画面キャラクターコード(VRAM) 32x24
#C00-#1001プログラム(行番号(2byte)※0で終了、サイズ(1byte)、テキスト)
#1002キーが押されたビットが1(上のビットからスペース、下、上、右、左)
#1003キーバッファ格納数(最大14)
#1004-#100Fキーバッファ(INKEY()で先頭から読み出されシフトする)

メモリマップは、IchigoJamのHELPコマンドで概要を見ることができます。

こちらBASICのPEEK文を使ったサンプルです。


上下左右とスペースキー、BTNコマンドで取得もできるキー状態をPEEKコマンドで直接取得して2進数で表示


キーバッファに溜まっている数と中身を表示するプログラム

IchigoJamをターゲットにした、ARM Cortex-M0用、やさしいマシン語入門本、小中学生向けにあるといいかも!

近日リリース予定の IchigoJam ver 1.1
開発途中版は「IchigoJam-FAN - Facebookグループ」でダウンロード可能です

IchigoJam、東京での体験会、開催決定です!お近くの方、ぜひどうぞ!
Hana道場 こどもプログラミングスクール in Tokyo<体験会> | Peatix
主催:NPO法人エル・コミュニティ
協力:SAPジャパン株式会社株式会社フジテレビキッズPCN(プログラミング クラブ ネットワーク)株式会社jig.jp

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / high-res profile image