MachiKania

MachiKania type P/PU ver 1.5.2を公開

2025年4月11日

MachiKania type P/PU ver 1.5.2 を公開しました。
https://github.com/machikania/phyllosoma/releases/tag/Ver1.5.2

今回のバージョンアップの目玉は、以下の通りです。

・Raspberry Pi Pico 2 W に対応した
・CPU のクロック速度を変更できるようにした
・Type PU で、横幅80文字モードで起動できるようにした
・Type PU で、描画用と表示用に、別々の RAM 領域を使えるようにした

polygon.png

GitHub リリースページはこちら
Type P 公式ホームページはこちら
Type PU 公式ホームページはこちら

Raspberry Pi Pico 2 W 対応

去年の11月に、Raspberry Pi Pico 2 W が公開されました。日本でも、今年の3月から販売が開始され、現在では多くの人が入手可能になっています。私も去年の12月に入手し、MachiKania で対応できるかどうかを調べていました。Raspberry Pi Pico 用の SDK ver 2.1.0 の段階で Type P が、SDK ver 2.1.1 では Type PU も対応できることが分かりましたので、今回の MachiKania ver 1.5.2 では正式対応してバイナリーも公開しました。使用方法は Raspberry Pi Pico W と同じです。環境によっては、ネット通信速度の改善も見られるようです。また、Pico W に比べて RAM 容量が2倍になりましたので、より大きな RAM 容量が必要な場合(クラスをたくさん読みこむなど)に、効力を発揮します。

オーバークロック

Pico-SDK の ver 2.1.1 のリリースノートに、以下のような表記があります。

RP2040 has now been certified to run at a system clock of 200 Mhz when using a regulator voltage of at least 1.15 volts
(RP2040 は、少なくとも 1.15 ボルトのレギュレータ電圧を使用する場合、200 MHz のシステム クロックで動作することが認定されました)


RP2040 (Raspberry Pi Pico や Pico W など) 対応の Machikania では、システムクロックは 125 MHz です。200 MHz で動かせば1.6倍の速度なので、対応させない手はありません。そこで、SYSTEM ステートメントにより、CPU のクロック周波数と使用電圧を変更できるようにしました。配布アーカイブの document フォルダーにある cpuclock.txt で、少し説明をしています。

例えば公証のように、1.15 V で 200 MHz のクロック周波数にしたいときは、次のようにします。
SYSTEM 51, 12
SYSTEM 50, 200000000

「SYSTEM 51,12」は CPU 電圧を変更するための、「SYSTEM 50,200000000」はCPUクロック周波数を変更するための命令です。使い方は、help.txt と cpuclock.txt を参照してください。

クロック周波数は、RP2040 (Pi Pico) の場合 300 MHz ぐらいまで、RP2350 (Pi Pico 2) の場合 400 MHz ぐらいまで上げられるようです。ただしどちらの場合も、CPU 電圧1.30 V (SYSTEM 51,15) でテストしています。また、どんな周波数でも使えるわけではないようで、cpuclock.txt に、使える周波数の一覧を載せました。CPU クロックは初期状態より遅い設定にすることもできます(消費電力を少なくできる)。ただし、20 MHz を切ると CPU が不安定になり、動かないようです。

Type PU の場合、NTSC ビデオシグナルを作成することが必要なため、使用できるクロック周波数は 157.5 MHz と315 MHz の2つだけです(デフォルトは、157.5 MHz)。従って、ほとんどの場合オーバークロックは RP2350 だけで可能という事になります。ただし、ビデオ出力をする必要がない場合は、Type P と同様、様々な周波数が使えます。

Raspberry Pi Pico W や Pico 2 W の場合は、オーバークロックには注意が必要で、速くしすぎると CPU は動くけれど、WiFi 接続ができなくなることがあります。今のところ、システムクロックを上げるのは、公証値の 200 MHz までにしておいた方が良さそうです。

横幅80文字モード

Twitterで、工作魂さんから次のリクエストがありました。
request.png
もともと Type M に実装されていた機能ですが、Type PU 開発にあたり、実装を失念していたようで、さっそく取り込みました。ご指摘いただき、有難うございます。今後も、ユーザーの皆さんからこういったリクエストを下されば、嬉しいです。

ダブルバッファリング

Twitter の次のポストは、MachiKaniaのオーバークロックを実装する途中でケンケンさんが行った Type PU でのダブルバッファリングのテストです。

dbuffer.png
これはすごい、という事で、ver 1.5.2 で使えるようにしました。サンプルプログラムの「POLYGON.BAS」がそれです。RP2040 でも RP2350 でも動きます。RP2350 の場合は、「POLYGON.BAS」の8-9行目の「REM」を外せば CPU が倍の 315 MHz で動きますので、より素早い描画を楽しめます。お試しあれ。

その他

その他、様々な修正と追加を行っています。以下、readme.txt と readme-pu.txt からです。

 ・「Break」キーだけでなく、「Ctrl + Alt + Del」キーでプログラムの実行を停止できるようにした。
 ・SYSTEM(40), SYSTEM(41), SYSTEM(42), SYSTEM(43)により、キーボードの状態を取得できるようにした。
 ・SYSTEM 50, SYSTEM 51により、CPUのクロック速度と電圧を変更できるようにした。
 ・システムクロック315MHz動作時に正常にビデオ信号出力できるように対応
 ・STARTボタンを押しながら起動することにより、起動時のMACHIKAP.BAS自動実行をスキップすることが可能に。
 ・USEGRAPHICステートメントの第二引数指定により、2つのグラフィックRAM領域を用いた描画と表示が可能に。
 ・MACHIKAP.INIで、WIDTH80を指定することにより、起動時に横80文字表示にすることが可能に。
 ・サンプルプログラムのRAYTRACE.BASを修正し、Type PUで表示できるようにした。
 ・クラスライブラリーにCPUCLOCKを追加。使用可能なCPUクロック周波数を調べることが可能に。
 ・Raspberry Pi Pico 2 Wに対応。
 ・Raspberry Pi Pico 2 使用時のLCD液晶転送速度を改善。
 ・SPI 使用時の転送速度を改善。
 ・サンプルプログラム(MAZE3D.BAS, STARTREK.BAS)を修正。
 ・サンプルプログラム(POLYGON.BAS)を追加。

コメント

コメントはありません

コメント送信