SHARP電子辞書BrainでMSX!

f:id:PocketGriffon:20220213000330j:plain

前回のブログでは、SHARPの電子手帳BrainにLinuxをインストールし、その上でFM-7とCP/M80を動かしてみた。

 

それぞれを動かすのには意味を考えていて、

 FM-7フレームバッファ直描き

 CP/M80はコンソール表示

という2つを実験していた。

 

この2つに共通していたのは「Brainはメモリが多くない」という大前提から、なるべくメモリ的な負荷の低い方法で動かしてみようと思ったから。

はなからX-Windowを動かした状態でアプリを動かす事は出来ないんじゃないか…と思い込んでいたのだ(^^;

 

そして今回はX-Window上で動くfMSXを試してみた!

結論から先に書いてしまえば、全く問題なく動いちゃった!

スワップ領域の設定などをせずとも動いてしまったのだ(^^;

f:id:PocketGriffon:20220213094803j:plain

 

fMSXをビルドしてみる!

今回のエミュレータも自作ではなく、既存のものを動かした。最近、エミュレータ作ってないなぁ…ラクを覚えてきてしまったぞ!いかんいかん(T-T)

 

fMSX: Portable MSX Emulator

まずはfMSXのサイトからソース一式をダウンロードしてくる。

fMSX 6.0 source code and related files (core + Unix/X port) 

と書かれた行(一番上にある)をクリックすると、fMSX60.zipがダウンロードされる。

Macの場合、ダウンロードされると~/Download以下にフォルダ展開される。

 

これをなんらかの方法でBrainへコピーする。

私はネットワークを接続して、ssh経由でコピーした。

普段からRS-232C経由でレトロパソコンと通信していた私としては、ssh経由で接続できるのが便利で仕方ない(^^;

  scp -r ~/Download/fMSX60 user@BrainのIPアドレス:/home/user/src

 

Brainではサウンドが鳴らないので、ビルドする時のオプションを変更する。

fMSX60/EMULib/Rules.Unixを以下のように変更。

  DEFINES+= -DUNIX -DMITSHM -DBPS16 -DPULSE_AUDIO

  LIBS   += -lX11 -lXext -lpulse-simple
    ↓↓↓↓↓↓
  DEFINES+= -DUNIX -DMITSHM -DBPS16
  LIBS   += -lX11 -lXext

 

試しにこの状態でビルドをしてみたところ、z80エミュレータコンパイルしている付近でシステムごとクラッシュしてしまった!(TT)

もしかしたらメモリが足りないのかもな…と思い、スワップファイルの設定を行った。

Swap 領域 - Brain Hackers Wiki

私は書いてある通りの256MBをスワップファイルとして設定をした。

f:id:PocketGriffon:20220213103229j:plain

むかーしむかしは「スワップ容量の目安はメインメモリの3倍程度」とか言われていた気がする。そう考えると384MB以上にしておいた方が無難かも。

 

これでもう一度ビルドしてみよう!

  cd ~/src/fMSX60/fMSX/Unix

  make clean

  make

これだけ!(^^)

あとは気長〜に待つのみ!

f:id:PocketGriffon:20220213104206j:plain

f:id:PocketGriffon:20220213104227j:plain

実機でも約20分でビルド出来た!

難しい事をこねくり回さなくてもビルドが通る安心感!

こういうところでも電子辞書にLinuxが載ったという実感があるね!(^^)

 

MSX起動!

このfMSXはX-Window環境に依存しているので、まずは一旦ログアウト。その後、ウィンドウマネージャーを選択(私はJwmにした)してログインし直そう。

  cd ~/src/fMSX60/fMSX/Unix

  ./fmsx

問題がなければ、これで起動するはずだ!(^-^)

 

f:id:PocketGriffon:20220213104805j:plainf:id:PocketGriffon:20220213104915j:plain

f:id:PocketGriffon:20220213104945j:plainf:id:PocketGriffon:20220213105025j:plain

f:id:PocketGriffon:20220213105051j:plainf:id:PocketGriffon:20220213105109j:plain

実行速度はMSX実機に比べたら1/10くらいの速度しか出ない。サウンドも鳴らないので「MSXが動いた」と言って良いレベルかどうかすら考えてしまう(^^;

 

OTG対応のUSBハブ経由でキーボードとマウスを接続すれば、fMSX上でキー入力も出来る。BASICでプログラミングを楽しむ事だってできちゃう!

ただ上にも書いた通り、速度は激遅だ。

実用に使うというよりは、あくまでも「動いた!」を楽しめる人向け。

 

すっかり忘れていたのだが、この環境ではスワップファイルを設定していなかった。つまりオンメモリでX-Windowが立ち上がり、その上でfMSXが動いた事になる。

そうだよ、昔は16MBのメモリでLinux + X-Window + Emacs + gccで開発してたじゃん!(^^;

Brainのメインメモリは128MBあるので、余裕とは言わないが動作はするようだ。

 

おわりに

とりあえずX-Window上で何かを動かしてみたいという欲求は満たされた!(^^)

BrainでLinux、ものすごくちゃんと使えてる!

Linuxでソースが公開されているものは、基本的に動いちゃうんじゃないだろうか…。

 

そういえば本体を見てて思ったんだけど…

f:id:PocketGriffon:20220213110943j:plain

音量大小のボタンがあった!ハード的には音が出るのね!

この先、本体の解析が進んで行けば音も出せるようになりそうな予感!(^^)

まだまだ夢の広がるBrainuxだなぁ!(^O^)

 

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