2016年04月19日

PX-TBS6922のTBS-6922化

まず、今回の内容は改造になりますのでメーカの保証を受けられなくなります。
それを承知の上でお願いします。

PLEXから、海外衛星放送(DVB-S/-S2)対応のPCIeチューナーカードが販売されております。
型番はPX-TBS6922で、TBS Technology社のTBS6922という製品のOEM品のようです。
ですが、実はTBS社から販売されている物とPLEXから販売されている物は少し仕様が
変わっています。
それは、オリジナルのTBS6922は一般的なFTA等で用いられるLNBの電源電圧
(V(垂直偏波):14V / H(水平偏波):19V)に対し、PLEXのものはスカパー!プレミアム用
LNB(日本仕様)に合わせてV:11V / H:14Vに変更されています。
僕が使いたいのは通常のFTA用LNBですが、偏波切替が15V付近にある為チューナ設定を
水平偏波にしても、垂直偏波モードで動作してしまいます。
これでは都合が悪いので、購入したボードと、ネット上で探したTBS6922の写真とで
間違いさがしを行いました。結果、抵抗値が異なっていることを発見しました。
場所も、近くにコイルが並んでいるので昇圧レギュレータ周辺回路の物と思われます。
P_20160408_215547.jpg
これが購入したボードの写真ですが、ネット上の写真ではR87が「223」、R86が「71C」という
表示になっております。(購入した物はそれぞれ「273」「683])
はて、71Cって何Ω?と思ったのですが、E48系列の場合はこのような表示になるんだそうで、
53.6kΩなんだそうです。ただ、抵抗値が分かっても、こんな抵抗値普通のパーツ屋さんには
置いてないので51kΩ+2.7kΩ(いずれもF品)で、計53.7kΩにして試験してみました。
P_20160408_223231.jpg

結果を言うと、垂直・水平とも14V,19Vに上がり、偏波切替も正常に動作するようになりました。
posted by プー at 19:42| Comment(0) | 海外衛星放送 | 更新情報をチェックする

2016年04月14日

海外衛星受信、はじめました

久しぶりの更新、更にレガシーPCとは何の関係も無いのですが、
ひょんなことから海外衛星放送の受信を始めました。

現在のアンテナはこんな感じです。

海外衛星TVアンテナさんから購入したパラボラ本体・H-Hマウントと、コンテックさんから購入したCバンド LNBFの組み合わせです。
最初は海外で購入した75cm オフセットディッシュ+KuバンドLNBFの組み合わせでしたが、Kuバンドだと
日本から受信可能な面白そうな放送が無さそう、という事でCバンドLNBFを購入、
75cmオフセット+Cバンドの組み合わせでしたが、アンテナの向きを変えるのは面倒、という事で
H-Hマウントを購入しました。ただ、さすがにCバンドで75cmというのは小さすぎるので、
最後に1.5mのメッシュアンテナに載せ替えました。
H-Hマウントは一応、1.2mまでのアンテナ、という事になっていますが、海外衛星TVアンテナさんで
1.5mメッシュ+H-Hマウントのセット販売もされていたので(セット販売と同じ組み合わせになったので)
駆動出来るでしょう、という事で海外衛星TVアンテナさんのセット品の取り付け方法を参考に
(まんま、コピーですが)取り付けてあります。

現在、多チャンネル受信可能な衛星は
・Intelsat19
・Asiasat5
・Asiasat7
・Chinasat6B
です。ただ、Asiasat5と7はアンテナが自分の家の屋根に1/3程隠れてしまうので少し勿体ない
状態です。オフセット+Kuバンドの時には95°EのNSS6も同じ位置での取り付けで一部受信出来ていました。
ただ、これ以上西側にはあまり面白そうな衛星が多くないので、まぁいいかな、と思っています。
posted by プー at 18:01| Comment(0) | 海外衛星放送 | 更新情報をチェックする

2016年01月11日

微修正バージョン

新年あけましておめでとうございます。
本年も本ブログをよろしくお願いいたします。

ディスクエミュレータのFDDエミュレーション部を少し修正しました。
release-F68k_DE0CVDEMU.160111.qar
変更内容はディスクイメージのトラックイメージバッファへの展開タイミングです。
従来はヘッドシーク・ドライブセレクトの度に展開を行っていましたが、
ヘッドシークの3msecの間には到底完了しないため、ヘッドシークし始めで
展開を開始し、展開が終わった後最終トラックのデータを再度展開する
という無駄な展開時間が必要になっており、それだけ待ち時間になっていました。
それだけであれば待つだけで済むのですが、PC-88はFDCアクセスはサブCPUの
仕事であり、サブCPUが待っている間にタイムアウトが生じるのかイメージからの
bootができません。
少しでも待ち時間を少なくするために展開のタイミングをヘッドシーク時は
ヘッドが5msec以上動かなくなってからに限定し、前回アクセスした時と同じ
トラックのアクセスの時には再展開しないように変更しました。
これによって、Human68k 3.02の起動時間が1分2秒から50秒に短縮されています。
(ちなみに実FDD(300rpm)では30秒程度。実FDDと同じレートのFM/MFM信号に変換して
FDCに渡しているので実ドライブより早くはならないです)
でも、まだPC-88のbootはできませんが。
やはり、.d88ファイルをトラックイメージに展開するのに時間が掛かっており、
これ自体を早くするには.88ファイルではなく.d88ファイルを展開したトラックイメージ
を直接SDカードに保存するしかないのかもしれません。
posted by プー at 17:25| Comment(0) | 日記 | 更新情報をチェックする

2015年12月27日

FDエミュ書込み対応しました

案の定、FDエミュレーションにも沢山のバグがありました。
MPU側、RTL側それぞれにバグがありましたが正常に書込みできるようになったと
思います。
release-F68k_DE0CVDEMU.151227.qar

2015年の書込みはこれで最後になると思います。
よかったら正月休みにでも試してみてください。
では。よいお年を。
posted by プー at 22:14| Comment(0) | リリース/X68k | 更新情報をチェックする

2015年12月23日

修正版

ディスク未挿入エラーの解決が出来ましたので修正版をアップします。
release-F68k_DE0CVDEMU.151223.qar
原因は、実はよく分かっていませんがREADY信号の作り方に間違いがあったのではないかと
思われます。
ドライブエミュレーション追加時にIOコントローラのドライブセレクトとMOTOR信号で
指定ドライブのみモータを回す(実際には500ms後にREADY状態にする)ようにしていましたが
ドライブセレクトでの指定ドライブのみではなく、全ドライブをMOTOR ON状態
(READY状態)にすることで未挿入エラーは出なくなりました。
ただ、実機は持っていないのでこれが正しい方法なのかどうかはわかりません。

ディスクヘッドの移動は3ms間隔で、その度にディスクイメージファイルから
トラックバッファへの展開を行いますが、その展開時間が結構時間が掛かっているようで
移動時間内では到底追いついていないようです。それでも動作はするプログラムには
したつもりですが、シーク後FDCにデータを送られる状態になるまでに数百ms掛かっており
FDDアクセスは実機よりかなり遅くなってしまったように感じられます。
(SASI HDDも遅いですが)
SDカード+ソフトウェア処理がFDDより遅いというのは、にわかに信じがたいですが
ソフトウェアエミュレーションである以上、仕方がないのでしょうか。
posted by プー at 10:32| Comment(0) | リリース/X68k | 更新情報をチェックする

2015年12月14日

FDDエミュレーション追加版

やっとFDDエミュレーションが動くようになりましたので公開します。
release-F68k_DE0CVDEMU.151214.qar
じつはまだ一部おかしなところが有って、フロッピーからのboot時に
(実ドライブ・エミュレーション問わず)ディスクが入っていないというエラーが出ます。
その時は、実ドライブなら「R」を、エミュレーションならドライブ選択で
一度該当ドライブを選択し、[ESC]で抜ければ動作すると思います。

今回なかなか苦労したのがCRCで、FDCにも同じCRCが入っていますがこちらは
ハードウェアなので8クロックで終了。なのでFDDの500kbps程度なら
読み書きの途中で完了しますが、エミュレーションの場合はFDDに対し
ドライブセレクトがアサートされてから急いで1トラック分、SRAMに
データを展開し、展開が終わったらREADYを立てます。ですが、
なかなか処理の遅いCPUで、CRCを毎回bit単位で計算すると時間が掛かり、
タイムアウトになってしまうのでテーブル方式にしていますが、
wikipediaの情報だとシフトの方向が逆だったりするのでその実装に苦労しました。

尚、書き込みに関してはまだ未確認なので注意してください。
posted by プー at 12:45| Comment(0) | リリース/X68k | 更新情報をチェックする

2015年12月03日

ディスクエミュレーション機能追加版

前回のリリースまでの物はSDカードに保存された設定ファイルを読み込んで
各ドライブに割り当てるファイルの設定を変更していましたが、
実は初期バージョンから、ディスクエミュレータ自体がCUIを持っており、
画面上で設定を変更する構造になっております。
今回、CUIを表示するためのテキスト(キャラクタ)画面、キーボードとの
インターフェイスを追加し、CUIでの操作が出来るようになりましたので
リリースします。
release-F68k_DE0CVDEMU.151203.qar
使用方法に関しては、Docディレクトリにあるdiskemu.txtを参照してください。
FDDエミュレーションはハード・ソフト共だいたい完成していると思いますが、
まだ動作確認していない為機能させていません。

ディスクエミュレーションは機種共通で使えるように設計している為、PC-88やZet/98にも
移植していく予定です。(Zet/98は本体自体がまだまだ全然な状態ですが。)

FDDのエミュレーションに関しては、現時点では.d88フォーマットで読み書きするような
ソフトウエアを考えていますが、トラック内でバイト/セクタが変わるような
変態フォーマットに対応させるとなると特に書き込みに対する処理が複雑になったり
そもそも各ギャップが.d88フォーマット自体には書かれていないがgap3は可変だったり
する為どのように変換するか等、適当に決め打ちしています。それよりも、
FMなりMFMのビット列をそのままファイルに落とすようにした方が処理は簡単に
なります。(シリアル⇔パラレル変換だけで済みます)
ただ、その場合は1バイトのデータを表すのに現状は1バイト+1bit(ミッシングクロックフラグ)
だけで表せているのが、2バイト必要になる為RAMの容量が倍、必要になります。
現在の構成では1トラック分のRAMを持っていますがそれが約倍の容量が必要になり、
SignalTapIIに使える容量が殆ど無くなってしまいます。
posted by プー at 19:31| Comment(0) | リリース/X68k | 更新情報をチェックする

2015年11月18日

SRAM保存追加

SDカードにSASI HDDエミュレーションだけでなくSRAM内容も保存する機能を追加しました。
release-F68k_DE0CVDEMU.151118.qar
使用方法は、起動後SDカードに作成される「.config.x68」ファイルの17行目
(初期では空白行が有ります)にファイル名を記載します。
ファイル自体は無くても構いません。
その状態でマイクロSDカードコネクタに挿入し、電源投入し、
プッシュスイッチの3番目(KEY2)を押すとそのファイルを作成し、保存します。
次回、電源投入時に自動でロードします。
posted by プー at 12:48| Comment(0) | リリース/X68k | 更新情報をチェックする