2022年10月29日

TOWNSコア

やっとTOWNSのコアも何とかDOSまでは起動できるようになりました。
今まで書いてきたコアはすべてFDCはuPD765を使用してきましたのでそれなりに実績も付いてきていたのですが
TOWNSは初めて扱うMB8877A。データシートを読んでも理解できないことが多々あり。。。
何とかセクタリード等は機能するようになりました。今回は最初から、FDDのエミュレーションではなくFDCのエミュレーションです。
ですのでメモリにディスクイメージを展開してイメージに対し読み書きするようなことはしません。
回路規模が大きいので使い慣れたDE0やDE0-CVではなくDE10-nano、MiSTer上で動作します。
まだ画面関係は中途半端、スプライトもRAM以外は未実装ですがDOSは起動できるようになりましたのでとりあえず公開します。
DOSも何故かV3.1は起動せず、V6.2では起動できました。
FMR50モードのグラフィックスモードは実機とはメモリの使い方が異なっていますのでソフトによっては出鱈目な表示になってしまうかもしれません。実機ではCPUから見たVRAMイメージのみR50に見えるようになっていますが、このコアでは画面表示回路もR50モードを持っています。切り替えはCPUがアクセスしたアドレスで切り替えしていますので、R50モードで画像データを書き込み、CPUがVRAMアドレスを参照すると表示モードがTOWNSモードに切り替わってしまい画像が崩れます。
SCSIもドライブが繋がっていない状態を再現、CD-ROMもメディアが入っていない状態を再現するレベルまでです。
CD-ROMに関しては.isoフォーマットであれば単一ファイルなのでできそうな気がしますが、BIN+CUE/WAVでは複数ファイルを扱う必要があり、FPGA側だけでどう対処したらよいのか。。。ARM側でやる場合はそのソフトは何処に?よくわかりません。ISOファイルのみをまずはサポートするかもしれません。あとはSCSIのHDDのエミュレーションはどこかから探してくればあるかな?SASIのHDDは簡単だったのですが。

BIOS ROMのイメージはSDカードにTOWNSディレクトリを作成し、boot.romとして保存しておいてください。
ROMイメージはファイル先頭から下記の通りの順番に連結しておいてください。
1.DOS(512kB)
2.DIC(512kB)
3.FNT(256kB)
4.F20(512kB)
5.SYS(256kB)
の計2MBになります。NVRAM(SRAM)はコアを再ロードすると蒸発してしまいますので都度設定してください。
FDイメージのファイルフォーマットは例によって.D88です。
まだ本当に出来立てほやほや、明らかにおかしな動作をする部分も分かっています。まだ本当にDOSしか動かない状態だと思いますが優しい目で見守ってください。

release-TOWNS_221029.qar
release-TOWNS.rbf

TOWNSboot.png

TOWNSdos6.png

TOWNS_FD.png
【関連する記事】
posted by プー at 22:16| Comment(0) | TOWNS | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください