https://projects.preferred.jp/mn-core/ で MN-Core2 のエミュレータとアセンブラが公開されたということで、喜び勇んでゴルフ場に足そうと準備してたのですが、ゴルフ場 32bit やんけ!と気付いて悲しくなりました
まぁせっかく標準入出力をつなぐスクリプトを書いたので、 caddy というの経由でゴルフ場の問題を楽しめる手順を説明する gist です。環境は x86-64 の Linux を使ってください
caddy を取ってきます
$ git clone https://github.com/shinh/caddy.git
$ cd caddy
問題一覧をゴルフ場から取ってきます
$ caddy update
Installing config.rb into /home/i/.golf/config.rb
Initializing DB in /home/i/.golf
Enter your user name: <enter your name> # 名前を適当に入力
Downloading problem.db...
Downloading hello world.db...
...
# かなり時間がかかります
...
同梱の invert_case.vsm をローカルテストします。うまくいけば初回はエミュレータとアセンブラをダウンロードします
$ caddy -l invert_case.vsm
invert_case corresponds to
0: none of below
1: invert case (909)
2: Inverse Quine (5384)
3: UPPERCASE (5555)
4: Convert to hex (5714)
5: inverse matrix (5714)
Input 0-5 [1] ? : 1 # ここで 1 を入力
Loading testcases of 'invert case'
Test #1... 26 instructions
OK 0.669868782
Test #2... 26 instructions
OK 1.610155305
Test #3... 26 instructions
OK 1.009584558
...
標準入出力は $p0
という場所にヌル終端で置かれます
Hello, world! が既に若干苦労しました……