電子趣味の部屋

電子系のガジェットやアプリ開発等の趣味の話題を書いてます

Raspberry pi 400で遊ぶ MSX編

Raspberry pi 400 (日本語キーボード)を手に入れました。

キーボード一体型なので、サーバにしてssh接続で使うにはスペースを取りすぎて無駄なので、普通のデスクトップPCとして使うことにしました。
普段は最新のRaspbberry Pi OSで使用しているんのですが、キーボード一体型と言えばMSXということで、MSX専用環境を作って遊んでみました。

Raspberry Pi OS Lite

MSXに特化して最小構成にしたいので、Raspberry Pi OS Liteを使用しました。
最新のBullseyeでは起動時に失敗して何回試してもうまく動作しなかったので、前バージョンのBusterを使用しました。
Raspberry Pi Imagerからは、Raspberry Pi OS (Other) から Raspberry Pi OS Lite (Legacy) を選択してインストールします。

初期設定

作業は一通りユーザ「pi」で進めていきます。

raspi-configで設定

raspi-config起動
sudo raspi-config
Wifi設定

[1 System Options] - [Wireless LAN] からWifiを設定

SSH有効化

[2 Interface Options] - [P2 SSH] から を選択してsshを有効化

キーボード設定 (日本語キーボードの場合)

[5 Location Options] - [L3 Keyboard]-[Generic 105-key PC (intl.)] から [Japanese - Japanese (OADG 109A)] を選択

自動ログイン

[1 System Options] - [Boot/Auto Login] から [B2 Console AutoLogin] を選択して自動ログイン

OpenMSXをインストール

aptでインストールできました。

sudo apt install openmsx

OpenMSX起動

openmsx

これだけで起動できます。

日本語レイアウトのキーボードでは、メニューキーでOpenMSXのメニューを開くことができます。
ここからOpenMSXを終了させることができます。

ただこの状態では、FullHDのデイスプレイでは写真のように右上だけに表示されてしまいました。

openmsxの設定ではフルスクリーンにできず、Raspberry Piの設定で変更しました。

画面解像度の設定

/bootにあるconfig.txtを編集します

sudo vi /boot/config.txt

編集するコマンドはnanoでも慣れてるもので大丈夫です。

下の定義の部分のコメント"#"を削除します。

#hdmi_group=1
#hdmi_mode=1

hdmi_group=1
hdmi_mode=1

詳細な意味は省略しますが、これでVGA(640x480)表示になります。
設定後はリブート

sudo reboot

これでopenmsxを実行すると画面いっぱいに表示されました。

ここで画面中央に小さく表示される場合は、一旦openmsxを終了し、設定ファイルを修正します。

vi ~/.openMSX/share/settings.xml

下の設定があると思うので、1を2に変更します。

<setting id="scale_factor">1</setting>

<setting id="scale_factor">2</setting>

これで起動するとちょうど良いサイズになります。

自動起動

実機のMSXと同様に電源を入れたらOpenMSXの起動まで自動で行えるようにします。
.bashrcの最後にopenmsxを追加します。

.bashrc編集

vi ~/.bashrc

最後の行に追加

openmsx

raspi-configの設定で自動ログインも有効化してるので、これで電源オンの後は自動でログインしてopenmsxを起動されるようになります。

OpenMSXの各種操作

日本語レイアウトのキーボードでは、メニューキーでOpenMSXのメニューを開くことができます。
ここでROMファイルを開いたりディスクファイル(ディレクトリ)を開いたりできます。
またBIOSを用意すれば特定の機種をエミュレートし、BASICも扱えるようになります。

BIOSファイルは下のディレトリに入れてください。
/home/pi/.openMSX/share/machines

BIOSの吸出し方法はここでは説明しませんが、FS-A1STの場合は http://bluemsx.msxblue.com/resource.html にある Panasonic dump tools で行いました。
何年か前のファイルを使いまわしてるので、手順は覚えてません。


ゲームコントローラ(ゲームパッド)について

ゲームコントローラはPS4用のものをのUSB接続でそのまま使用できました。
他のUSB接続のものなら使用できそうです。

最後に

Raspberry Pi 用のMSXエミュレータは他にも blueberrymsx 等ありますが、XウィンドウではなくSDLライブラリでの場合は、メニューが表示されないので、操作方法がわかりませんでした。
OpenMSXは独自でメニューを表示してキーボードだけで操作できるので、今回はこちらを選択しました。

今回は特に行わなかったですが、必要のないサービスは起動しないようにし、電源を入れてからのMSX起動までの高速化も行いたいと思います。

GB ゲームボーイ セーブデータのFRAM化

ゲームボーイのセーブデータは電池から電気を供給したSRAMに保存されるバッテリーバックアップ方式ですが、電源がいらないFRAMに交換しました。

今回は『ドラゴンクエスト モンスターズ』で試してみます。

ケースから基板を取り出すとこんな感じです。

左下のチップがSRAMで、これをFRAMに交換します。

FRAMは『FM1808-70-SG』を使用しました。

元のSRAMの型番は薄くなってちょっと判別できませんでしたが、ドラクエモンスターズのSRAMはそのままこのFRAMと置き換えることができるようです。
国内では1個1,000円ほどで販売されてますが、Aliexpressで10個3,200円で購入しました。価格差を考えると再生品ということも考えられます。

まず、SRAMと電池を外します。

チップの取り外しはヒートガンではんだを溶かして取る方法がありますが、そんなものは持ってないので低温はんだで追いはんだをして取りました。
強引に外すとパターンまではがれてしまうので注意が必要です。

元々SRAMがあった場所にそのままFRAMを付けます。

動作確認をしてみます。
まず初めは何もデータが無い状態です。

初めにセーブできるところまで進めて保存し、一度電源を消して10分ほど放置して再度起動してみます。

保存は成功してます。

2日遊んでこの記事を書くまで1週間ほど放置してましたがデータが消えることも無く安定してます。

全てのゲームボーイのソフトがFM1808-70-SGに置き換えられるかわかりませんが、ドラクエモンスターズの他にドラクエ1・2とドラクエ3は成功しました。

(2023年5月24日追記)
ウィザードリィ外伝シリーズ等FM1808では正常に動作しないものがありまして、ピン配置と容量が同じMB85R256を試してみたら正常に動作しました。


MSX自作ゲーム NU PICK UP GOLD INGOTS (NU君の金塊拾い) 配布します

過去の記事『今でもできるMSXの開発メモ 2020年版』でも少し触れた自作のゲームを色々修正し安定したので、公開します。

タイトルは『NU PICK UP GOLD INGOTS』です。
PC98版はベクター等で「NU君の金塊拾い」と検索すれば出てくると思います。
NU PICK UP GOLD INGOTSは全角を扱えない(扱いにくい)機種用や海外の人にも見てほしいなと思った時の英語名です。

ダウンロードはこちらです。
https://www.uosoft.net/nu/download/msx/nu_msx.zip (直リンク)

zipファイル中のファイルで、"nu.com"はMSX-DOS用の実行ファイルで、"nu.rom"はROMイメージファイルです。

緑のキャラクタを操作し、すべての金塊を取るとゲームクリアです。
金塊を取ると壁に代わるので通ることができなくなります。一筆書きのイメージで上手く全部取ってください。
ステージは自動生成で毎回変わります。

操作方法はキーボードの場合はカーソルキーで移動、ESCキーでギブアップしてタイトル画面へ戻ります。
コントローラの場合は、十字キーで移動、Aボタンでギブアップです。

エミュレータで試したところ、メインRAMが16KB以上の機種で動作したので、動作環境はRAM16KB以上のMSX/2/2+/turboRとします。

MSXのROMカートリッジ基板を入手したので、自作カートリッジを作りました。
外装はネットで拾ったモデル(URLは失念)を3Dプリンタで金塊をイメージして金色のフィラメントで出力しました。

久しぶりにMSXが面白くなってきたので、他に何か作ろうと計画中です。

デジタル顕微鏡を買いました これは面白い

動画で基板へのはんだ付け作業にデジタル顕微鏡を使っているのを見て、これは便利そうだと思い買ってみました。
実際に購入したのは、デジタル顕微鏡G1000です。
Aliexpressで金属プレートの方を選択し、送料無料で約6,500円でした。

はんだ付けの際にプラスティックのプレートでは溶けないか心配で金属プレートの方を選択しました。
AmazonではKoolertron デジタル USB 顕微鏡 4.3インチLCDマイクロスコープが同型だと思われます。ただこちらはプラスティックのプレートのようです。

この機種を選択したのは常備して普段から使うわけではないので小型の方が良いと思い4.3インチにしました。同サイズの中ではこの機種が一番画素数が多く(公称8Mピクセル)金属プレートが選べたところです。

MicroSDのスロットもあり、画像や動画として保存できます。画像サイズは1280x720で、動画は720pで録画されます。
また、USBでPCに接続でき、0.9MP,720pのUSB CAMERAとして認識されました。

倍率は1000倍と書いてありますが、金属の定規で試したところ、1mmのメモリが本体の画面上では2.5cmで25倍ほどでした。デジタルズーム機能で4.5cmになりました。

このファイルをPC上で等倍で表示すると、23.8インチ1920x1080のモニタで9cmでした。

倍率を上げるほどカメラを被写体に近づけることになるのですが、はんだ付け作業はそんなに倍率はいらないので、十分作業空間を確保することができました。
プレートから8cmほど上げた場合の作業イメージです。

ここでちょっと面白いものを見ることができました。
液晶画面の構造がわかるくらいに見ることができたので、載せておきます。
全て画面上の白の部分です。

Nintendo Switchの液晶モデル

Nintendo Switchの有機ELモデル

iPhone13 Pro

Nintendo Switchはよく見る液晶画面の仕組みそのままの配置ですが、有機ELはSwitchとiPhone13で違うことがわかりました。

安いモデルでもここまで実用的に使えて色々遊べるので、良い買い物だと思いました。

chromebookに手を出しました

小学校の子供がGIGAスクール構想の一環で夏休み前にChromebookが配布されました。
そこで今まであまり興味がなかったChromebookが気になり色々と調べてたところ自分も欲しくなってきました。

お試しの感覚で安い方から物色したところ、Lenovo IdeaPad Duet Chromebook の128GBのモデルにしました。

2022年8月6日現在で34,560円だったのですが、Amazon発送の付属品一通り揃って状態の良さそうな中古品が25,000円くらいであったので、そちらで購入しました。

実際に使用したところ、ウィンドウ表示で扱えるAndroidといった印象を受けました。
ブラウザもウィンドウ表示できるため、PCと同じ感覚で扱えます。
いくつかのAndroidアプリも使用でき、スマホ前提の画面サイズ固定のアプリがそのまま表示されるのは不思議な間隔です。

今回欲しいと思った一番のポイントはLinux環境としても使用できることです。
support.google.com
正体はDebianの仮想環境ですが、元々Androidには無いデスクトップアプリもaptコマンド等でインストールできます。
インストールしたアプリはアイコン化されChromeOSの方のランチャーに登録されるため、直接起動することができます。
Androidには無いVisual Studio CodeやArduino IDEをインストールしてみました。
また仮想環境内のユーザディレクトリはChromeOSからアクセスできるため、ChromeOSのテキストエディタで書いたPythonコードをLinuxのコンソールで実行するという使い方もできます。

今回購入したLenovo IdeaPad Duet Chromebook はキーボードが分離できるタイプでタブレットとしても使用できます。
キーボードを分離すると、ウィンドウ表示はできなくなり、ただのAndroidタブレットみたいになります。

ChromeOS自体の動作も軽量で、J4125のPCでWindowsやUbuntuを使用した時よりも快適に使用できました。

ChromeOSはセットアップ直後でシステム自体が28GBもディスクを占有してました。今回購入した機種は128GBもあるので大して問題ではないのですが、小学校で配布される機種はNEC Chromebook Y2 (Y3だったかも?)でディスクが32GBしかないようです。
カスタマイズでもっと最適化されてもっと余裕があるかもしれませんが、余計なアプリはインストールせずにWebベースのアプリを使用してデータの保存もGoogleDriveに保存といった使い方をすると思われます。
多分ゲームを入れたら怒られますね。GooglePlay自体も使用できないようにしていると予想されます。

全体的な印象として、AndsoidとChromeOSの関係はiOSとMacOSの関係と近いものがあると思いました。
思った以上に自由度があり、色々と使えるものだと思いました。

Chroombookは自動更新の有効期限がありこの期間内はOSの更新がサポートされます。
2020年以降発売の機種は最長8年の期間があり、Lenovo IdeaPad Duet Chromebook は2028年6月までです。
たぶん飽きずに来年まで使い続けていたら、来年にはもっと上位の機種に買い替えると思います。

いまさらPS3を入手

メガドライブミニ2が発表されて以来、アフターバーナー2を無性にやりたくなって、メガドライブ実機で遊んでました。
同時期に良くゲームセンターで遊んでたデイトナUSAもやりたくなり、セガサターンを入手することも考えたのですが、セガサターンは2年ほど前に入手して半年ほどで処分したので、今更また入手するのをためらってました。
そこで、ふとPS3でダウンロード版を購入したことを思い出して、PS3を中古で入手しました。
消費電力やコンパクトさを考慮し、後期型(スライド式のもの)を選択しました。

届いたら早速SSDに換装しました。
当時はホーム画面の動作が重くて面倒なイメージがあったのですが、SSDに変えると思ったより快適で特に気になる引っ掛かりも少なく今でも遊べると思いました。
電源内蔵でモニタとの接続もHDMIなので、PS2よりも気軽に遊べます。

結構PS PLUSのフリープレイやダウンロードで購入してたものが多く、目ぼしいものをまとめてダウンロードしたら200GB近く埋まってしまいました。
忘れていたアフターバーナークライマックスとスーパーハングオンも買ってあったのがうれしかったです。
あと、PSアーカイブスで結構買ってあるので、結構な本数が遊べて改めて有能な機種だと思いました。

PlayStation3 チャコール・ブラック 500GB (CECH4300C)

PlayStation3 チャコール・ブラック 500GB (CECH4300C)

  • ソニー・インタラクティブエンタテインメント
Amazon

BenQ EW2880U リモコン付属で音質も普通のテレビ並みに良い4Kモニタ

リビングとは別の部屋に12年前のレグザを置いてたのですが、リモコンが壊れてしまいまして。
本体は大丈夫なのですが、結構古いものなので買い替えました。
こちらの部屋ではテレビはあまり見ないし、見たい時はNASNEがあるのでこれでいいやと思いました。
どうせ買い替えるなら4Kにしたいと思いまして、初めはテレビで良いものが無いかと探してたのですが、30インチ以下では4Kどころか意外とFullHDも無かったりします。
4K以外の条件として、27インチ前後、やっぱりIPSが良い、ちょっと離れて使いたいのでリモコン付属、一般のPC用モニタは音質が悪いので、せめて一般のテレビと同等の音質で探しました。
ここで、特に音質の部分で選択肢が狭くなり、BenQ EW2880U一択でした。

現在は30インチ以下の4Kは探せば結構あるのですが、どうしても音質が信用できなくて。
たまたまかもしれませんが、今まで使用したことのあるモニタは全て一般のテレビにも劣る音質で、EX-LDGC243HDBも結局は外部スピーカを接続しています。
今回はスピーカを別にするとコンセント的にも場所的にも煩わしいしいので、音質にこだわってるものを探しました。
BenQ EW2880Uは3Wx2の高音質treVoloスピーカー搭載であることを宣伝していて、実際の音質は期待通りでした。
あくまでも普通のテレビ並みの音質で、特段良いものではありませんが、自分にとって今までのテレビと同等に使用する分には期待した通りでした。

肝心の画質はさすが4Kといいますか、フルHDよりさらに一見してわかるくらいに細かくシャープに見えます。
リフレッシュレートが60MHzまでしか対応してませんが、XBOXやPS5の120MHz対応したEX-LDGC243HDBとも比較したところ、120MHzと4Kのどちらを優先するか聞かれたら個人的には4Kを優先します。

Amazon Fire TV Stickも Fire TV Stick 4K Maxに買い替えました

色味に関しては初めはよくわからず、画面モードを選びながら設定してたところ設定項目が少なくなかなか満足のいく設定ができませんでした。
色々いじってるとカスタム設定を発見し、これを選択すると設定できる項目が増えて前のテレビに近い感じに設定することができました。

HDRに関してはゲームをしたりしてると暗いところでは本当に暗くなり、そこを明るくしようとすると明るい場面では明るすぎるくらいになって調整が難しいです。
これはEX-LDGC243HDBでも共通する問題で、映画を見るときに気まぐれでONにすることがありますが、ゲームを含めて普段はOFFにしてます。
BenQ EW2880UはボタンでワンタッチでHDRの選択ができるところも良いポイントです。

価格的に少し高価なモデルですが、満足できるモニタでまた10年は使うつもりです。