Uxn(8bit仮想スタックマシン実行環境)の利用メモ。

多分使い方そのものがわかんない人が殆どだと思うのでメモる。
結構こじんまりとした環境なので、弄ってて楽しいよ。

概要

Uxnの紹介

XXIIVV — uxn

簡単に言ってしまうと、オリジナルのCPUエミュレータであり、仮想的なコンピュータの実行環境と考えてもらえばいい。
スタックマシンにRomのデータを食わせて、プログラムを実行するという一連のコンピュータの処理が行える。

I/Oも最初から用意されているので、これだけで一通りのことはできる。
(サンプル見るとグラフィック・音・マウス処理が可能)

ビルド

手順はこちら。

uxn: Toolchain for the Uxn stack machine. (sr.ht)

Gitそのものに慣れてる人だとすぐだけど、これだけだとどうすりゃええの、というのもあるかと思う。
ということで、触りだけちょっと書いておく。

Windows環境でインストールしたい場合、MSYS2をインストールして、
書いてあるコマンドを入力してください。
(自分でmingw64インストールするのでも動く気がするけど、せっかくなので手順に従うことにする)

MSYSへのリンク。
MSYS2

MSYS2がインストールできたら、スタートから以下のメニュー起動する。

そしたらターミナルが起動するので、上記のUxnのページに記載されてるコマンドをコピペしてインストールする。

どうもパスは切られないので、お好みで常時起動が可能等の設定は追加しちゃってください。

アセンブル

以下のコマンドを入力してください。(ビルドファイルから引っこ抜いてきました)


./bin/uxnasm (アセンブルしたいファイル名).tal (出力先・ファイル名).rom

一例にすると下記の通り。(ビルドファイルに書き込まれてる内容です)
uxnのルートフォルダから起動してみてください。


./bin/uxnasm projects/examples/demos/piano.tal bin/piano.rom

これをuxnasmがあるフォルダ「./uxn/bin/」を指定してuxnasmを実行、第1引数はtalファイル、第2引数は出力先を指定する。

実行

以下のコマンドを入力する。

 ./bin/uxnemu (出力したRomイメージの名前).rom 

これまた入力例を記載します。(これもビルドファイルから引っこ抜いてきた)
上記と同様に、uxnのルートフォルダから起動してください。

./bin/uxnemu bin/piano.rom 

サンプルファイル起動すると、こんな画面になります。

あとは何しましょうか

お遊びください。

  • ソースコード記述する
  • ソースコードをアセンブル(今風にいうとコンパイル)する
  • Romイメージを実行する

というのが一連の流れになります。

参考資料

Tal言語の仕様

XXIIVV — uxntal

チュートリアル。ちょっくら見てみるか。

compudanzas — uxn tutorial

終わりに

自分も興味があってUbuntu上で起動して遊んでたんだけど、
今みたらWindowsで実行可能な方法が提示されていたので、せっかくだから俺はこの(赤くねえ)アプリをインストールするぜ!って感じで一気にメモを取ってみました。

こういうコンパクトに処理を見渡せる環境って今だとそれほど存在しない(Windowsアプリの時点ですでにカオス極まりないしな)ので、ちょっとしたアプリを作りたいときとかで有用かも。

あと音も出せたりマウスクリックも検出可能なので、小さいアプリを作るときとかもよさそうね。