電子ブロック工房:
Deprecated: Function strftime() is deprecated in /home/u109394186/domains/rad51.net/public_html/jeans/jeans/libs/blog.php on line 333
2025年 03月の記事

MachiKaniaの「auxcode」機能について [MachiKania]

2025年3月2日

MachiKania の ver 1.4 からは、「auxcode 機能」が使える。これは、C で書かれたコードを、MachiKania 本体に追加で取り込んで使うための機能である。

MachiKania では、BASIC で様々なことを行う機能を提供してきた:

1.液晶ディスプレイや NTSC ビデオに、(日本語を含む)文字やグラフィックスを容易に表示
2.キーボードを接続して、BASIC コードを編集しながら実行する、スタンドアローンPCとしての機能
3.SPI・I2C・UART などの I/O 機能を、BASIC コードから容易に使用する方法を提供
4.複雑な動作を行うコードを、容易に利用するためのクラスライブラリーを提供

ここで書いた3の部分は、MachiKania 本体で提供、4の部分はクラスで提供している。ほとんどのクラスが BASIC で書かれているが、いくつかは C で書かれたコードを BASIC から呼び出す形をとっている(方法1方法2)。

C で書かれたコードの中には、容易に MachiKania から呼び出すように修正できるものもあれば、そういったことが非常に難しいものがある。例えば、RP2040 の PIO 機能を使ったものは、BASIC で利用できるように実装するのは非常に難しい。

「auxcode 機能」は、そういった C のコードを MachiKania で実行できるようにするものだ。「auxcode 機能」を使うには MachiKania 本体のビルドが必要になるが、どうしても必要な機能を MachiKania に取り込むのには汎用性が高いと言える。