2020年03月29日

基板を作ってもらいました

前の記事にコメントを頂いたkunichiko様が、X68k用にI/O基板を起こされたとのことで、サンプルを一枚頂きましたので早速、取り付けてみました。
実機の様に黒く、ということで、かなり格好良く出来ています。僕の感光基板バージョンとは月と鼈です。(画面の手前にあるのが僕の感光基板バージョン)
X68k_PCB.jpg
ユニバーサルに使用できる領域が確保されていますので、僕はI2C接続のRTCを(従来通り)接続しています。
この基板、DE0-CVの上に乗っかる設計のため、DiskEmulation切り替えスイッチの切り替えが困難になるためI/O基板上にも専用スイッチを準備してくれてありますのでそちらも使用できるよう、RTLの修正を行いました。どちらのスイッチでも切り替え可能です。スイッチの出力は手配線で好きなところにつなげてください、というスタンスのようで、kunichiko様はGPIO 0の40番ピンに接続されたようですが、僕はGPIO1の9番ピンが中途半端に開いており、もったいない(貧乏性)のでそちらに接続しました。
また、FPGAマガジンNo.1の第5章の記事に合わせ、HDMI関係のIO属性を従来LVDSにしていましたが、LVDS_E_3Rにしたほうが電圧レベルが高い?とのことで、kunichiko様から頂いた基板では確かにLVDS_E_3Rにしないと正常に画面表示が出来ませんでしたのでIO設定をLVDS_E_3Rに変更しています。従来回路ではどちらの設定でも表示は出来るようです。
release-F68k_DE0CVDEMU.200329.qar
posted by プー at 11:11| Comment(0) | リリース/X68k | 更新情報をチェックする

2020年03月08日

実メディアリード関係修正

PC-88の実メディアリード関係で、メディアからのリードが失敗する問題が発覚しました。
ディスクエミュレータ・実メディアのリード/ライトにSDRAMのクロックを使用していましたが、クロック周波数が高く、FDDからのパルス周期フィードバック分解能が高すぎることでフィードバックがかかるまでの時間がかかりすぎていたことが原因ではないかと思われます。
X68kと同様、システムクロック(20MHz)で動作するように修正しています。(SDRAMのFDエミュレータ関係処理もクロックが変わったことで修正)

release-de0cvdemu2.200308.qar

ついでに、FDD用新規メディア作成時の処理をバイト単位からSDカードのセクタサイズと同じ512Bのブロック単位で処理することで高速化を行っています。

ちなみにd88ファイルのフォーマットですが、他のエミュレータ用に作られたファイルの読み書きには互換性がありますが、本機で新規作成したフォーマットでは、トラック領域の実際の長さを計算することなく、最大容量で確保してしまいます。余った領域には適当なデータを詰め込んでいますので、他のエミュレータでは読み書きできないものもあるようです。
posted by プー at 09:42| Comment(0) | リリース | 更新情報をチェックする

2020年03月03日

実メディアコピー対応(PC88)

PC-88版も、同様に実メディアコピー対応しています。
使用方法等はX68k版と同じなのでそちらを参照してください。
なお、PC-88の2HDは0シリンダは単密度(FM)フォーマットらしいですが、読み出しはすべて倍密度(MFM)フォーマットとして処理していますので読み込みはできないのではないかと思われます。(FDCからはFMフォーマットの書き込み、d88からの変換もFMフォーマットに対応しています。メディアへの書き込みもFMに対応しています。)

ついでに、一時期DE0バージョン(DE0-CVではなくCyclone3を積んだ旧バージョン)でもOPNAに対応させられないか検討しており、でバグ用の不要な回路を削ったり、BlockRAMやDSPブロックに置き換えたりしましたが、どうやっても収まりきらないので諦めています。ですがその時の変更は有効になっていますので、若干回路が変更になっています。

release-de0cvdemu2.200303.qar
posted by プー at 23:14| Comment(0) | リリース | 更新情報をチェックする

実メディアコピー対応

ソフトウェアが入った実FDを持っているんだけど、寿命もあるのでイメージ化して使いたい、という場合は一昔前ならDitt系ソフトを用いるのが一般的だったと思います。
ですが、Ditt系ソフトはPC内FDCを直接アクセスしており、USB-FDDでは使用できません。

ということで、ディスクエミュレータに実メディアからd88に変換する機能、およびd88から実メディアに書き戻す機能を追加しました。
SDRAMに展開される、FDイメージを介して読み書きしますので、下記のような手順になります。

実メディアからd88への変換:
使用する論理FDドライブを選択→NEW→ファイル名入力→読み込み元ドライブ選択(Blankを選ぶと従来の空きイメージ作成)
内部動作としては空きイメージを作成し、メディアからSDRAMにコピーし、SDRAMからファイルに書き込む、という動作をします。
d88から実メディアへの変換:
使用する論理ドライブを選択→FILE→書き込むファイルを選択→WRITE(WRITEは該当論理ドライブがディスクエミュレーションモードになっていないと表示されません)
内部動作はSDRAM内イメージをそのままメディアに書き戻します。

release-F68k_DE0CVDEMU.200303.qar
posted by プー at 21:24| Comment(0) | リリース/X68k | 更新情報をチェックする