X68K EXPERT XSIMM10
目次
XSIMM10刺さってました
すっかり忘れていたのですが、自分はXSIMM10を購入していました。
背面を見るとMIDI I/Fはすぐに分かるのですが、メモリの増設スロットはIOカバーで覆われている為、存在に気が付かなかったです。てこの原理を利用してボードを刺す例の三角のプラスチックが付いてないし、外から目視では気が付きません。
ふとメモリ不足なブートイメージのautoexec.batをきっかけに、よーく当時を振り返ると、RAMDISKに1MBを設定してた記憶はあり(autoexec.batに記述あったし)、確かZMUSICでPCMバッファを多めに確保して、このRAMDISK上でZMSを書いてたなぁ(ZMUSICのMMLの事です)。と思ってまさかメモリ増設してた?私はそんなセレブだった?実は本マシンにXellent30sも載せてます。順番からしてXellentじゃなくてHDDの次はメモリでしょう?
XSIMM10のメモリ容量の調査作業
はたして、私は何MB増設したのでしょうか?買った記憶すら飛んでるのにサイズまで覚えてません。今からは考えられないですけど、実装メモリサイズは手で設定(switch.xを使ってSRAMに記憶させます)するので、所有者がメモリを増設したら実装サイズを設定しない限り少ないままでした。なんとか知る方法はないだろうかと。XSIMM10はSIMMスロットが4スロットあるそうです。
ここ参照。
写真は載せませんが、手前のスロットにSIMMが刺さってません。多分2/4使ってます。因みに刺さってるメモリの型番から容量を調べようとしましたが見つけられませんでした。こんな古いメモリのデータシートなんて公開してないよね。。。多分日立のマークです。KOREA製でした。
というわけでソフト的に調べるしかないです。メモリチェックプログラムなら分かるかもしれないので、メモリチェッカを探しました。chkramがありました。ここです。今でも公開されてる方に感謝です。
chkram.x
ダウンロードしたファイルをRaSCSIを動作させているラズパイのディスクにコピーして、RASDRV経由でchkram.xをシステムディスクのBIN dirへコピーします。そしてchkramを実行。SRAMに設定した容量までしかチェックしません(想定内)。
次にswitch.xで最大容量の12MBに設定して同様に実行します。実装されてない領域へアクセスしたら暴走するかな?と思いきや、以下の写真の様な白帯で済みました。(尚、本写真は撮りなおしてます)
暴走はせずに「バスエラーが発生しました」と出ます。赤字で写真に書きましたがAの位置でバスエラーが発生したようです。グラフがCまであるので、グラフの16進数の数値はおそらくメモリのチェック位置だと分かります。Aへアドレスが行ったときにエラーが出ることから実装量は10MBである気がします。この後、switch.xで10MBと設定して再度実行すると無事完走します。(再起動せずにメモリ容量を変えられることにちょっと驚きです。)
autoexec.batのコメントアウトしたGRAD(RAMDISKドライバ)とwcache(キャッシュドライバ)を元に戻し、再起動すると無事に動きました!。
メモリ増設してた事は想定外でよっしゃー!な感じであるわけですが、まだ問題が残っています。
Xellent30の環境を作れてないです。実は残っていたOS起動フロッピーのいくつかはXellent30のデバイスドライバが登録されてないので実行できませんの類のエラーが出ていたディスクもありました。Xellent30sの付属フロッピーにあるSRAMに登録するプログラムch30inst.xでch30.sysをインストールすると、SxSIのブートプログラムが飛んじゃうようで共存が出来ないようです。でも共存してた痕跡があるように見えるんですよね。ドキュメントにはSxSIでの動作は保証できないって記載はあるのですが、68030モードに切り替えて運用とかしてた記憶があるのです。同梱されているXellent30動作チェッカchk_xel.xは正常終了するのでボードが故障している可能性は低いですし。
また記憶が蘇るのを期待しつつ、昔のゲームでもやって暫く休憩します。マイコンソフトのJOYSTICK、XE-1STがあったのですが、ボタンの反応が悪いです。ドラゴンスピリットはAREA1で死にました。
dskbench.x
ふとRaSCSIによるDISK速度ってどの程度でるのだろうか?と思いやってみました。GIMONSさんのところに載っている写真を見るとシーケンシャルで1MB/sec程度出ているようです。但し機体はX68030の様です。
コマンドの使い方は以下です。
dskbench ID:
X680x0 DISK benchmark version 0.44 by bisco Original program: ASPI SCSI benchmark test V0.4 copyright(c) by TsuruZoh Tachibanaya, Sep.02,1994 Initiator is ID7 : SHARP X68000 0001 Other-Port Target device is ID0 : RaSCSI PRODRIVE LPS160S0145 SCSI2 512 Bytes per sector, capacity is 160 MBytes. ------------------------+-------------+-------+-------+-------+-------+-------+ Test mode : result | Poor | OK | Good | Great | Superb| ------------------------+-------------+-------+-------+-------+-------+-------+ Test unit ready command | 1.7[ms] :************* No motion seek command | 2.9[ms] :******* Average latency Time | 2.0[ms] :************************************ ------------------------+-------------+-------+-------+-------+-------+-------+ Sequential seek command | 4.1[ms] :************************ Random seek command | 4.1[ms] :************************************ ------------------------+-------------+-------+-------+-------+-------+-------+ Seq.Read/Start 512B/rd| 89.9[KB/s]:******** Seq.Read/Start 16384B/rd| 352.0[KB/s]:*** Seq.Read/Start 65536B/rd| 384.0[KB/s]:*** ------------------------+-------------+-------+-------+-------+-------+-------+ Seq.Read/ End 512B/rd| 89.8[KB/s]:******** Seq.Read/ End 16384B/rd| 352.0[KB/s]:*** Seq.Read/ End 65536B/rd| 384.0[KB/s]:*** ------------------------+-------------+-------+-------+-------+-------+-------+ Random Read 512B/rd| 41.6[KB/s]:**************************************** Random Read 16384B/rd| 307.2[KB/s]:************* Random Read 65536B/rd| 371.2[KB/s]:***** ------------------------+-------------+-------+-------+-------+-------+-------+
大分遅いです。68000の10MHzだからかなぁ。。。運用当時は17MHzへクロックアップしてたし10MHz時はこんなものかなぁ。私の使っているラズパイは3B+で性能はGIMONSさんと同じか早いはずなので、X68側がボトルネックだとは思うのですが。
NAS上に置いたイメージをRaSCSIドライブにする
次に興味本位でNAS上に置いたイメージをRaSCSIドライブに設定してベンチを測定してみました。(実はX68側がネックならNASに置いてあっても同じ速度じゃないか?と思ったのです。NASは割と高速でGIGA接続でシーケンシャルなら100Mbyte/sec出るものです)
シーケンシャルならSDカード上のイメージとあまり差はなく、ランダムが遅いですね。NASだからここは致し方がないです。
X680x0 DISK benchmark version 0.44 by bisco Original program: ASPI SCSI benchmark test V0.4 copyright(c) by TsuruZoh Tachibanaya, Sep.02,1994 Initiator is ID7 : SHARP X68000 0001 Other-Port Target device is ID4 : RaSCSI M2513A 0145 SCSI2 Removable 512 Bytes per sector, capacity is 217 MBytes. ------------------------+-------------+-------+-------+-------+-------+-------+ Test mode : result | Poor | OK | Good | Great | Superb| ------------------------+-------------+-------+-------+-------+-------+-------+ Test unit ready command | 1.7[ms] :************* No motion seek command | 2.9[ms] :******* Average latency Time | 2.0[ms] :************************************ ------------------------+-------------+-------+-------+-------+-------+-------+ Sequential seek command | 4.1[ms] :************************ Random seek command | 4.2[ms] :************************************ ------------------------+-------------+-------+-------+-------+-------+-------+ Seq.Read/Start 512B/rd| 87.8[KB/s]:******* Seq.Read/Start 16384B/rd| 316.8[KB/s]:*** Seq.Read/Start 65536B/rd| 384.0[KB/s]:*** ------------------------+-------------+-------+-------+-------+-------+-------+ Seq.Read/ End 512B/rd| 86.1[KB/s]:******* Seq.Read/ End 16384B/rd| 323.2[KB/s]:*** Seq.Read/ End 65536B/rd| 384.0[KB/s]:*** ------------------------+-------------+-------+-------+-------+-------+-------+ Random Read 512B/rd| 4.9[KB/s]:***** Random Read 16384B/rd| 60.8[KB/s]:*** Random Read 65536B/rd| 256.0[KB/s]:**** ------------------------+-------------+-------+-------+-------+-------+-------+
RaSCSIでNAS上のファイルをSCSIイメージとして自動起動させる方法
実は少し手間取りました。RaSCSIとは関係ないですが、備忘録として解決方法を記載しておきます。
ラズパイ起動後にmountコマンドでNASのマウントを行う事は簡単でした。しかしながら、ラズパイ起動時にNASの自動マウント及びサービス起動させているRaSCSIが起動に失敗するというものでした。
以下に方法を記載します。
rootになる $sudo su - $mkdir /mnt/landisk $cd /etc $vi fstab
fstabの中身
//192.168.0.11/disk1 /mnt/landisk cifs vers=1.0,username=kazuhiko,password=xxxx,uid=pi,gid=pi,file_mode=0755,dir_mode=0755 0 0
uid, gidのユーザーアカウントをpiとすることで、piユーザーのファイル権限としてNASが見える。
vers=1.0を付けないと
No dialect specified on mount. Default has changed to a more secure dialect, SMB2.1 or later (e.g. SMB3), from CIFS (SMB1). To use the less secure SMB1 dialect to access old servers which do not support SMB3 (or SMB2.1) specify vers=1.0 on mount.
と出てマウントできなかった。
RaSCSIの設定でrasmout.shにNAS上のdiskを指定したが、rascsi.serviceが起動に失敗する。
まだNASのマウントが終わってないからのようでした。なのでNASマウント後にサービスが起動されるよう以下のファイルを修正。
/etc/systemd/system/rascsi.service After=syslog.target → After=syslog.target network.target remote-fs.target
とネットワーク系を追加。これでマウント後にRaSCSIサービスが起動される。
参考URL:
https://qiita.com/a_yasui/items/f2d8b57aa616e523ede4
これらの事はdmesgコマンドでブートログを追えば原因は大体わかりますが対処方法はネット検索で探しました。
では、今日はココまでです。
また何か進捗がありましたら記事を書きます。