DevTermを使ってみる! その2

f:id:PocketGriffon:20211204142553j:plain

DevTermが我が家にやってきて以来、これでもか!というくらい遊んでる(^^)

実用的な使い方をしているとは言えないが、今のところは「これは出来る、これが苦手かも」みたいな感じで実験を繰り返してる。なーんとなくではあるが、得意不得意が見えてきた。

 

office互換ソフトのインストールなど、実用で使うには必須?のソフトを入れてないなど、使用目的の角度が違うかも(^^;;

実際、他の人は何をしたくてDevTermを手に入れたんだろうなぁ…(^-^)

 

X68000エミュレータを動かしたい!

ゲームを動かしたいというよりも開発環境を手元に作りたい希望から!

Linuxで動くX68000エミュレータはないかなぁ…と思って探していると、RetroArchという名前が検索に引っかかってきた!

MAMEという有名なエミュレータ環境があるのは知っていたけれど、RetroPieとかRetroArchというのが存在している事を知らなかった。

 

とにかく動けばいいや……そんな感覚でRetroArchをインストールしてみたが、残念ながらX68000エミュレータコアが見つからないという状態に(T-T)

どうやったらどうなるのかが分からず、これはここで中止。

 

次にソースが公開されているpx68kをインストールしてみる事に。

GitHub - hissorii/px68k: Portable SHARP X68000 Emulator for PSP, Android and other platforms

 

ソースが公開されているのならばビルドさえ通れば動くだろう…と思い、作業を始めたのだけれども…どうも完成したバイナリが動かない。

画面は真っ暗、マウスカーソルを動かすとデバッグメッセージのようにマウス座標が表示されるだけ…という状態だった(TT)

 

ネットで探してみるとDevTermでX68000エミュレータを動かしている方がいたので、なにか方法があるんだろうけれども…。ぐぬぬ、どなたかヒントください(T^T)

f:id:PocketGriffon:20211207000850j:plain

↑黒ウィンドウが表示されてマウスを動かすと座標が表示されるのみ…orz

 

MSXエミュレータを動かしたい!

ゲームを動かしたいというよりも開発環境を(以下略

 

MSXエミュレータといえば、1990年代にfMSXというのを動かした記憶がある。X-Windowで動くバージョンだったけれど、当時の環境(68030だったかRISCだったか記憶が曖昧…)でそれなりの速度で動く事に驚いた。

 

Z80の命令実装部分がswitch〜caseで書かれていて、最適化オプションを付けてコンパイルすると、えっらい時間がかかった記憶がある(^^;;

 

今はどうなってるんだろう…と思い調べてみると、今でもfMSXありますね!

それと同時に、他のエミュレータも見つかった。

そんな中で……今回はOpenMSXを動かしてみる!(ここまでのfMSXの流れはなんだったのかw)

 

パッケージの中にあるdoc/manual/compile.htmlを読みつつ必要なライブラリを揃え、ビルドしてやったら実行バイナリが出来た!出来たけど…ビルドが終わるのに3時間以上も掛かった(ToT)

なぜこんなに時間がかかるのか…(T^T)

f:id:PocketGriffon:20211207001341j:plain

意味ありげなキレイな絵が出てくると嬉しい!(^-^)

まだ実機からシステムROMを引っこ抜けてないので、今のところは互換ROMで動かす。

 

f:id:PocketGriffon:20211207001445j:plain

過去にfMSXを動かした際に読みだしたROMデータを読み込ませてみたら、無事に動いた!

この他にもカセットは何本?何十本か手元にあるけど、ROMデータ化してない…汗

 

MSXで吸い出しプログラムを書かねばなぁ…。過去に一度作ってるんだけど、当然そのソースは当時のフロッピーとともに失われてる。

確かスロット切り替えでデータ読んでフロッピーに書いて…とかした気がする(^^;;

 

FM-7エミュレータを動かしたい!

少し前にM5StackやRaspberryPi PicoでFM-7エミュレータを動かしている。

 

 

これは何年か前にLinux上で開発してあったソースを改造して動かしたものだ。

 

このFM-7エミュレータを開発した当時は「画面なんて確認程度に表示されればいいや…」的な発想しかなく、/dev/fb0をmmapして直接書き込む手法で画面表示を行っていた(^^;;

 

この機会にSDL対応をして、DevTermでも動かせるようにしてみた!

フレームバッファを生成するところまでは全く同じで、その結果をfb0へ出力するのか、SDLのバッファへ渡すかの違い程度の変更で、難なくMac上で動いてしまった。

 

そしてそのソースを何も考えずにDevTermへ転送→make、で動いた(^^;;

MacLinuxの移植性の高さをここにきて再認識する。すごいなぁ!(^-^)

 

ちなみにビルドに掛かる時間は、M1 Macだと1秒未満、DevTermでも5秒程度だ。

やっぱりそこまで遅くないよね、DevTerm。

なんで他のビルドにはあんなにも時間が掛かるんだろ…依存関係を調べるためのSDカードからの読み込みが遅いんじゃないか疑惑が…(^^;;

 

f:id:PocketGriffon:20211204142553j:plain

エミュレータを動かしてみて分かったのだが、動作速度がM1 MacよりもDevTermの方が速い。「あれ?速いね」という感じではなく、明らかな違いをはっきり感じるレベルで違う。

これまた不思議な現象…(TT)

 

レガシーな基板を動かしたい!

過去にV20-MBCという基板にドハマリし、壮大な大脱線をしながらも楽しんでいた!

この基板、Macでしか表示をさせてみたことがなかったけれど、当然Linuxマシンでも動くよね…と思って試してみた!

f:id:PocketGriffon:20211207004111j:plain

なんか……とっても良い!!(^o^)

PC-8201につなげてるような感覚に陥る!!(^^)

 

実際にこれで運用するかと聞かれれば多分しないんだろうけれども、それでも問題なくシリアルが繋がる実験にはなった!

こういう写真をたくさん残しておきたいね!(^^)b

 

PC-9801エミュレータを動かしたい!

ゲームを動かしたいというよりも開(以下略

英語圏内で作られたマシン上でPC-9801を動かすのはロマンだろう!(^^)

 

GitHub - AZO234/NP2kai: Neko Project II kai

↑今回はこちらのソースを使わせていただいた!

 

f:id:PocketGriffon:20211207072139j:plain

どのマシンをインストールする際にもそうだが、ライブラリの条件等を合わせつつ何度も何度もビルドを繰り返す。インストールしてあるはずのライブラリが無いと言われたり結構大変だ(T-T) このPC-9801もビルドを通すために散々苦労した…。

 

ようやく動いたPC-9801エミュレータ

ここまで動かしている過程で、そういえば漢字ROMを引っこ抜き忘れていた事に気がつく…。

どのマシンでも実機のROMを用意するのが面倒だ(T-T)

みんなよく頑張ってるなぁ…(そういうツールがついてるんでしょうねきっと)。

 

CPU動作環境の変更

DevTermのCPUは6コア入っていて、通常時、ビルド時、その他等でCPUの動作状況を変えながら動かしている。

デフォルト状態では4つのコアが動いてる状態らしい。

f:id:PocketGriffon:20211207073201j:plain

この状態を見たり設定したり出来るツールが存在する。

DevTerm/devterm-a06-gearbox at 0192f9dfa4500037ca52e0acf0b71aea1c580e8a · clockworkpi/DevTerm · GitHub

 

せっかくなのでCPUの動作状況を変更しつつ、ベンチマークを調べてみた!

このソフトはLinux環境でのパフォーマンスを計測するツールのようだ。良く使われているツールかどうかは分かっていないが、同じマシン同士の比較であれば問題ないだろう。

PassMark PerformanceTest Linux - Linux System Benchmark Software

 

まずは標準状態でのスコア。

f:id:PocketGriffon:20211207073916j:plain

[Number of Processes]が4(4コア)、そして大雑把に見るのであれば[CPU Mark]と[Memory Mark]の数値を見てみればよいだろう。細かい数値については興味があったら見てほしい。

標準状態ではCPU Markが333、Memory Markが405だ。

 

次にツールを使ってCPUの稼働状況をフルにしてみてからのベンチマーク

f:id:PocketGriffon:20211207074235j:plain

コア数が6となり、CPU Markが1105、Memory Markが851に跳ね上がった!

この状態であっても通常操作(shでコマンドを打つ、何かを動かす)で違いを感じる事はない。

 

そして次に最低速度に設定をしてみてのベンチマーク

f:id:PocketGriffon:20211207074714j:plain

コア数は1、CPU Markが45.4、Memory Markが196にまで下がった!

ここまで下がったとしても、通常の操作をしている時に違いは感じなかった。これはもうボトルネックがCPUの性能ではなく、SDカードなど別の要因があるからだろう。

 

せっかくなので、最高速の状態で今まで動かしてきたものを同時起動してみた!

f:id:PocketGriffon:20211207074958j:plain

PC-8801FM-7MSXPC-9801と4機種を同時に動かしてみたが、MSXの音楽がちょっと途切れるなぁ…という感じはあるものの、全部の機種がちゃんと動いた!(^^;;

 

ほとんどイジメのようなテストではあるけれども、メモリ的には余裕だろう!システムの安定性はさすがLinuxと言ったところか…(^-^)

さてさて、次は何をしてみようかね…(^m^)

 

ではまた次回!(^-^)/