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 領域を使えるようにした

・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」は 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で、工作魂さんから次のリクエストがありました。

もともと Type M に実装されていた機能ですが、Type PU 開発にあたり、実装を失念していたようで、さっそく取り込みました。ご指摘いただき、有難うございます。今後も、ユーザーの皆さんからこういったリクエストを下されば、嬉しいです。
ダブルバッファリング
Twitter の次のポストは、MachiKaniaのオーバークロックを実装する途中でケンケンさんが行った Type PU でのダブルバッファリングのテストです。

これはすごい、という事で、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)を追加。
https://github.com/machikania/phyllosoma/releases/tag/Ver1.5.2
今回のバージョンアップの目玉は、以下の通りです。
・Raspberry Pi Pico 2 W に対応した
・CPU のクロック速度を変更できるようにした
・Type PU で、横幅80文字モードで起動できるようにした
・Type PU で、描画用と表示用に、別々の RAM 領域を使えるようにした

・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で、工作魂さんから次のリクエストがありました。

もともと Type M に実装されていた機能ですが、Type PU 開発にあたり、実装を失念していたようで、さっそく取り込みました。ご指摘いただき、有難うございます。今後も、ユーザーの皆さんからこういったリクエストを下されば、嬉しいです。
ダブルバッファリング
Twitter の次のポストは、MachiKaniaのオーバークロックを実装する途中でケンケンさんが行った Type PU でのダブルバッファリングのテストです。

これはすごい、という事で、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)を追加。
コメント
Fastbeta ZX (2025年5月21日 10:59:59)
Hello. I ported my Fastbeta ZX Spectrum emulator to your Machikania Type PU board. Let me know if it works
Fastbeta ZX (2025年5月21日 11:03:23)
valid google drive ID 1nrHrRAsIaz69jgaUzA_eeUf4K1Bs02R9
Katsumi (2025年5月21日 12:50:30)
Hello,
Thank you for the comments. I didn't know anything about "Fastbeta", so will be grateful if you will show me a web site to explain it.
I got two uf2 files in the archive in Google Drive. I will try to install them to my MachiKania type PU in the weekend.
Sincerely,
Katsumi
Thank you for the comments. I didn't know anything about "Fastbeta", so will be grateful if you will show me a web site to explain it.
I got two uf2 files in the archive in Google Drive. I will try to install them to my MachiKania type PU in the weekend.
Sincerely,
Katsumi
Fastbeta ZX (2025年5月24日 12:36:03)
Hi, so far I have youtube channel with a few videos showing the main points of working with the Fastbeta ZX Spectrum emulator and Telegram group for discussion and download firmware updates
Katsumi (2025年5月24日 18:20:52)
Hi,
The both RP2040 and RP2350 versions seem working with USB keyboard.
I'm curious about the source code. Did you use some code(s) from our GitHub repository? Is your project open about the source code?
Sincerely,
Katsumi
The both RP2040 and RP2350 versions seem working with USB keyboard.
I'm curious about the source code. Did you use some code(s) from our GitHub repository? Is your project open about the source code?
Sincerely,
Katsumi