X68000」カテゴリーアーカイブ

logibolt

拙作のUSBキーボードアダプタで、logibolt経由でキーボードが使える事を確認しました (MX MECHANICAL KX850LF) ただキー配列的にはあんまりX68000向けではないです。

あと正直言って高杉。

 

Unifyingキーボード同様事前にLogiboltレシーバとのペアリングを行う必要がありますが1、macでペアリングを行うとmacモード(?)に設定されると言う情報をどこかで見ました(未確認)

可能であればWindows上でペアリングしたほうが良いかもしれません(ペアリングは純正アプリの「LOGI OPTIONS+ 」を使って行います)

 

  1. X68000ではペアリング出来ませんのでご注意 []

内蔵シールドと外付SCSI機器の同時利用に関して

BOOTHからもメッセージさせて頂きましたが、内蔵シールドと外付SCSI機器の同時利用については原則として「同時利用は原則不可」で運用をお願いいたします。お買い上げ後の注意喚起で大変申し訳ございません。

 

以下に理由を述べます

 

SCSIターミネータを1か所に取り付けるとSCSI機器のコネクタにはピン1本あたり22mA程度流れます。一方で、RaspberryPiはIOピン1本あたり16mAまで、ardSCSinoで使っているマイコンはIOピン1本あたり25mAまで流してよいことになっています(※ピン1本あたりに流して良い電流値とは別に、ピン全体で流してよい電流値合計の上限もあるのですが今は割愛します)

RaSCSIはこの時点で既にRaspberryPiの仕様上の上限を超えているのですが、そこは元々ダイレクトリンクシールドが「ラズパイの実力値に期待」という方針のため、この問題は購入時点で承知済みであるとさせて頂きます。

参考)本家ページの接続方法(直結編)の警告 (Internet Archivesへのリンクです)
https://web.archive.org/web/20211219205857/http://retropc.net/gimons/rascsi/index.html

※本家ページでは「直結だとターミネータが無いので」とありますが正確には「ターミネータがSCSIバス上に1個しかないので」だと思います

 

問題はSCSIターミネータを2か所に取り付けた場合です。この場合SCSIバスのピン1本あたり45mAほど電流が流れます。

さすがにこれは許容上限(RaspberryPiの16mA、ardSCSinoの25mA)を大幅に超えすぎていて無視出来るものではないと考えます。

SCSIバス上にターミネータが1個しかなければよいので、外部SCSI端子にZIPやDVD-RAMを繋ぐ場合でも「極力短いケーブルを使用し、かつ外付けデバイスにターミネータを取り付けない」ような運用なら大丈夫かも知れません(ターミネータを1個省略している関係でバスが不安定になる可能性があるのでケーブルは極力短いほうが良いです)

なお「外付けデバイスにターミネータを取り付けたうえでデバイスの電源をOFFにしておく」はダメです。ターミネータにはX68本体から給電されるのでデバイスの電源がOFFでもターミネータは有効になります。

※他所様のダイレクトリンクシールドについても、以下のような「中間にSCSIターミネータを内蔵したMO」とかを配置すると同様の懸念が生じると思われます

 

内蔵シールドの開発意図が「SCSI-HDD(もどき)を内蔵させて取り回しをスッキリさせたい。本体のHDD-BUSYも光らせたい」で、その上でさらに外部SCSI端子にSCSIデバイスを追加するという所まで考慮が及んでいませんでした(実際、外部SCSI端子には特殊版シールドくらいしか繋いでいませんでした)

検討が不十分で大変申し訳ございません

 

USB変換アダプタ ファームウェア (20230429)

2023.05.11 追記
アダプタに2.4GHz無線レシーバ、本体ポートには何も繋がないと言う環境でマウスカーソルが飛ぶような挙動を示すというご報告を頂いています。0429版はまだちょっと練りこみが足りないようです

もし同様の挙動が見受けられる場合は一つ前の0421版をお試し下さい。こちらで不具合が解消したとの事です(ただし0421版は「アダプタに2.4GHz無線レシーバ+本体ポートにマウス」の同時運用は出来ません)

 

ファームウェアを少し修正しました

USB変換アダプタ ファームウェア 20230429

 

20230421版からの変更点

1) 2.4GHz無線レシーバと本体マウスポートの併用時動作を少し改善しました

20230421版だとSUPER機にて「① USBアダプタに2.4GHz無線レシーバ」+「② 本体マウスポートにマウス」の同時使用において、②のマウスの上下移動が出来ない場合がありました1

これをファーム側で対応して、本アダプタに2.4GHz無線レシーバを繋いだ場合でも、無線マウスの電源をOFFにしておけば(あるいは無線マウスをペアリングさせていなければ)本体マウスポートのマウスが正常動作するように対応しました

なお世の中の全ての2.4GHz無線レシーバで期待した動きになるかは不明です。とりあえず unifyingレシーバで期待する動作となる事を確認しています

 

2) X68000Z付属USBキーボードのLEDの明るさを変更出来るようにしました

明るさを変更する方法は次の2つのやり方があります

X68000で動く「LED明るさ変更ツール」を使う

そんなツールが存在しているのかどうか知りません(ぉ

一応アダプタのファームウェアとしては「X68000本体→キーボードへのLED明るさ設定コマンド」に対応したつもりですが、前述のようなツールは見つからず DB.X 上で直接ポートを叩いて確認したのみです

設定ファイルで明るさを指定する

設定ファイルの3byte目で明るさを指定出来るようにしました

00,A5
01,00
02,00
03,06       ; ここが設定部です
:

 

(アダプタ設定)

BRIGHT: X68000Z付属USBキーボードのLED明るさ設定
00 最も明るい
01 明るい
10 暗い
11 最も暗い

MS: アダプタのマウス機能の有効無効設定
0 マウス機能有効
1 マウス機能を強制無効化

例えば “03, 05” は 0x05 = 0b00000101 なので「LEDをやや暗くする。マウス機能は無効」という設定になります。

※ ただし今回の変更点1があるのでマウス機能の無効化が必要なケースはまずないんじゃあないかな、と思います

 

  1. この動き自体は 「純正キーボードのサイドポートに純正マウス+本体マウスポートに純正マウス」でも起きるのである意味正常ですが []

USB変換アダプタ ファームウェア

まだ実験版の位置づけですが新しいファームウェアを置いておきます。DL&解凍パスワードは “d” で始まるアレです。なお本ファームウェアはBOOTHで販売したアダプタ専用です。

USB変換アダプタ ファームウェア 20230421

 

2023.04.29追記
さらに新しいファームがあります

 

ファームウェアの更新手順はこちらを参照して下さい。更新の際はキーマップ定義ファイル(BINファイル)も必ず指定して下さい。ファームウェアの更新には磁石1個とUSB-Aのオス-オスケーブルというちょっと特殊なケーブルが必要です。また、Windows機にツールの導入も必要です。

ファームウェア更新手順

 

不具合報告大歓迎。問題がありましたらコメントにて指摘頂けますと幸いです

 

更新内容

変更点は次のとおりです。なお、まだ実験版ですので以下の変更点がささらない方、今のファームで特に不満を感じていない方は更新を見送って下さい

 

1) X68000 Z 付属のUSBキーボードに対応しました

繋がっているキーボードを判別して、X68000Z付属USBキーボードであれば専用のモードで動くようにしました。キーマップが独自にカスタマイズされていてもZ付属USBキーボードの場合はカスタマイズを無視して専用キーマップで動きます

Z付属ではない市販のキーボードを繋いだ場合はカスタマイズされたキーマップが有効になりますので、キーボードを入れ替えながら使うようなケースでもいちいち設定を書き換える必要がなくなりました。

LED制御にも対応しています。キーボード上の7つのLEDがオリジナルキーボード同様に動きます

 

2) 本体マウスポートとの併用に条件付で対応しました

旧ファームは「本アダプタ使用中に本体マウスポートの併用は厳禁」でしたが、ファーム修正によりこの問題を解消しました。

また、本アダプタにマウスを繋がなければ本アダプタのマウス機能を無効にするようにしました。その状態で本体マウスポートにマウスを繋いでいればそちらが使用可能になります。

ただし一般的な「2.4GHz無線レシーバ」は通常「キーボード+マウス」の複合デバイスとなっており、このようなレシーバをアダプタに繋いだ場合はマウス機能は無効になりません。キーボードの機能のみを有する有線キーボード1 を繋いだ場合にマウス機能が無効化される、位に考えて下さい

20230429版のファームウェアでこの制約を少し改善してみました

メモ

ちなみに本アダプタにマウス機能を有するデバイスを接続し、かつ本体マウスポートにもマウスを繋いだ場合にどういう挙動になるかは機種(というかROMのバージョン)によっても変わるような気がします

初代~SUPER、多分PRO系も?

本アダプタ側のマウスは無視されて一切操作出来ません。本体マウスポート側のマウスが機能しますが、なぜかマウスカーソルが縦方向(Y軸方向)に動きません

XVI compact 

本アダプタ側のマウスは無視されて一切操作出来ませんが、本体マウスポート側のマウスは正常に動くように見えます。

ただしこれは電源投入時にアダプタ+マウスデバイス、本体側マウスの両方が繋がっていた場合で、電源投入時にどちらか片方だけ繋いでおいて後からもう片方を繋いだ場合は先に繋いでいたマウスだけが使用可能になる、ような気がします。

XVIとか030とか030compact

試していません

 

この結果から判断するに、XVI compactであれば「本アダプタに2.4GHz無線レシーバ、かつ本体マウスポートにマウス」という運用でも特に問題なく本体ポート側マウスが動く気がします。

 

3) アダプタLEDの挙動を変更しました

通常OFF、USBデバイスを認識したらON、キーボードを操作したら一瞬だけOFF、アダプタからUSBデバイスを外したら再びOFF、という挙動に変更しました。

 

4) マウスカーソルの速度を少し落としました

今までは生のカウント値を 1/2 倍にしてからX68000に通知していましたが、これを 1/3 倍に変更しました(つまり従来の 2/3 倍くらいの速度になりました)。これじゃあ遅すぎる、って言う方がいましたらコメントで教えて下さい。

 

 

制限事項

USBハブを併用して「X68000Z付属のUSBキーボード+一般の市販キーボード」を両方繋いだ場合、市販キーボードのキーマップはZ付属USBキーボード向けの設定になります

キーボード毎の判定ではなく「アダプタにZ付属USBキーボードが繋がっているか?」でざっくり処理している為です。まあこんな運用はまずしないと思いますが念のため。

 

 

おまけ

以下の組み合わせで XVI compact 本体マウスポートに繋いだマウスが使用できる事を確認しています

キーボード端子:本アダプタ+X68000Z付属USBキーボード
マウス端子:純正トラックボールマウス

キーボード端子:本アダプタ+X68000Z付属USBキーボード
マウス端子:W3■1連合様のUSBマウスアダプタ MC6■U+X68000Z付属のトラックボールマウス

 

ただ 某USBマウスアダプタはマウスカーソルが速すぎてつらたん… 次のFWで解像度(マウスカウント)が変更出来るようになるらしいので早く来て欲しいかも。本アダプタもZ付属マウスについてはカーソル移動速度が速いので 1/3 モードとか 1/4 モード作ったほうがいいのかなぁ(現在は マウスカウントは固定で 1/2 にしています) 固定1/3倍速モードに変更しました。

 

  1. 存在するのかどうか分かりませんが、トラックポインタが付いた有線キーボード等も当然駄目です []

X68000 キーボードの初期化処理

俺メモ

純正キーボードには「通電開始後にキーボードから本体に向けてスキャンコード 0xFF を送出する」仕組みがあるらしい。1

本体がこのスキャンコードを受け取ると

000機:LED状態設定コマンドが本体から送信される
030機:LED状態設定コマンドと、キーのDelay&Repeat time設定が送信される

という動きをするもよう。

フロントスイッチがOFFの間にキーボードを接続しても本体MPUが動いてないので、上記の動作は「本体が起動中にキーボードを抜き差しした」場合にのみ意味がある。

まあ030機だとあるとちょっと嬉しい機能かな。000機だと起動中にキーボード抜き差しするとキーリピート間隔とかが初期設定に戻っちゃうから。

でもX68000って起動中にキーボード抜き差しするとキーボードのLEDがランダムに光って、キーボードがフリーズする事が多いような。原則は起動中の抜き差しは禁止だと思ってマス。

 

なお本体によるキーボードの初期設定(LED設定、キーの delay&repeat time設定)はフロントSW投入時にも必ず行われるので、通電中にキーボードを抜き差ししないのであれば一切関係ない話です

  1. 実測で通電から40ms後 []

RaSCSIとSASI運用に付いて

2022-02-14 速報
RaSCSIのバージョンアップ 1.52→1.52b で以下の不具合は解消されたかも知れないとの事です(当方はまだ未確認。週末に確認予定)

 

以下は当方環境における状況なので他の環境でも同様とは限りません。また、この記載内容に付いてRaSCSIの作者様に問い合わせを行うことは止めて下さい

先に環境を書いておきます

X68000 EXPERT2@10MHz (無改造)
RaSCSI 1.52 ベアメタル版
SASI-HDDイメージは40MBで、XM6gのoptionから作成

この環境でSHARP純正のHuman68k システムディスクから起動させたときに、どんなに頑張ってもSASI-HDDを2台までしか認識させることが出来ません(※しかも2台目はリセット時に時々見失う)最後まで3台以上のHDDを認識させることが出来ませんでした。

 

まず以下のような感じで rascsi.ini を記述します

HD0 sasi0.hdf
HD1 sasi1.hdf
HD2 sasi2.hdf

もちろん、X68000側もswitch.xでHDD台数を3にしておきます

この状態でX68000をシステムFDから起動させ、起動後にformat.xでHDDをフォーマットします

1台目のHDD(装置番号0)は装置初期化、領域確保とも正常に終了します。

2台目のHDD(装置番号1)については装置初期化の実行においてHD BUSYのLEDが付いたままになってマシンがフリーズする事が多々あります

そんなときは仕方ないのでマシンをリセットし、再度システムFDから起動後させて今度は何となく3台目のHDD(装置番号2)を初期化すると成功します。このまま装置を変更して2台目(装置番号1)のHDDの装置初期化を行うと、今度は成功したりします

こうやってなんかアレコレやってどうにか3台のHDDの初期化&領域確保が終わったらX68000をリセットさせてシステムFDから起動させてもHDDを2台までしか認識しません。

drive.x でドライブを表示させてもハードディスクは1台、あるいは2台し見えていない状態です。運がよいと2台のHDDが見えていますが、2台目だけ認識できずにHDDが1台しか見えていないことが多いです

 

RaSCSI の不具合なのか、何か手順のミスがあるのか環境の問題なのかは不明です。SASIは仕様によりHDD 1台につき40MBまでとなりますので、ドライブを増やすことでこの制限を回避しようと思ったのですが現状では出来ないようです。

X68000 をクロックアップすると逆にHDD認識が正常になる、という未確認情報もあります。また容量の問題に付いては SASIIOCS.SYS+RASDRV.SYS で運用するとか、SASIIOCS.SYS でSCSI-HDDをマウントするとか SxSI 環境を構築すると言った方法もありますが、この場合はクロックアップの悪影響を受けやすくなる点に注意が必要です(※ 10MHzなら当方環境では安定しています)

 

なおRaSCSI にbridgeを登録してSASIIOCS.SYS+RASDRV.SYSを使う場合は rascsi.ini は次のように記述します

HD0 sasi0.hdf
ID6 bridge

 

10MHz機においてSHARP純正ツールだけでSASI運用するのなら、現時点ではardSCSino-stm32の方が悩む箇所が少ない気がします(HDDイメージ4個でも6個でも問題なく認識されるので)