2019年10月20日

ADPCM修正

ADPCM対応ソフトが無く、シミュレーションで波形を送り込んで何となく動くことを確認だけしていたのですが、どうやらADPCM再生時にそもそもRAMにデータを取りに行っておらず、SDRAMコントローラもADPCMからのリード動作に異常があり異常動作になることが判明しました。
その修正版になります。とりあえず、音は出ます。喋ります。
release-de0cvdemu2.191020.qar
posted by プー at 21:50| Comment(0) | 日記 | 更新情報をチェックする

2019年10月16日

色々修正版

主にOPNA周辺の修正を行っています。
いつの間にか、4MHz/8MHz切替信号がCPUに伝わらなくなっていましたのでそれも修正しています。
OPNAはまだ完成度が高くないのでOPNを使用したい場合はS88DE0CVDEMU2.vhdのgeneric文の
USE_OPNA
の数値を0にすると従来のOPNに切り替わります。(0以外だとOPNA)
(OPNA対応に合わせ、OPNとOPNAのFM部分を共通にするためFM部分だけ共通の別componentにしましたのでもしかしたら従来と一部動作が異なるかもしれません)
release-de0cvdemu2.191016.qar
posted by プー at 23:37| Comment(0) | リリース | 更新情報をチェックする

2019年10月14日

BIOS、どうしようか

Zet/98ですが、ハードウェア側の設計はおそらく、ROM BASICが起動する程度まで書けています。
ただ、BIOSがありません。手持ちのPC-9821X...なんだっけ?486デスクトップとPC-9801N...なんだっけ?386ノート、共にV30非搭載機なので、どちらもIA-32でしか使用できない386で拡張された命令(EAXレジスタを叩いたり、プロテクトモード用セグメントを初期化したり。。。)を使用しているので該当部分を通ると暴走します。
巷には実機BIOSを持っていなくてもとりあえず起動するエミュレータがあるのでそこから拝借することも考えてみたのですが、
・Neko Project…比較的BIOSで処理しているが、ハードウェア初期化等をエミュレータ側で行っており該当部分コード無
・Anex86…ほぼエミュレータ側で処理しており、BIOSはほぼ空
・T-98 NEXT…こちらもBIOSはほぼ空
となっています。
Neko projectさんの方は、BIOS部分も含めソースが公開されておりますのでこのソースをベースにエミュレータ側処理もCPU側で書き換えるのが一番手っ取り早いと思うのですが、Z80ならともかく8086のアセンブラは、セグメントが絡むので苦手で。。。.com形式なら過去にアセンブラでプログラムを書いたことがありますが、.exe形式でもものの本を読めばわかると思うのですが、BIOSの方は。。。基本は.comベースで書いてセグメントは自分勝手に好きなように動かせばいい、という事でしょうが今まで書いたことが無いので難航しています。
Neko projectさんのBIOSはMASMで書かれたものとNASMで書かれたものが混在していますがセグメント部分の記述が両社だいぶ違うようで。。。
posted by プー at 09:03| Comment(0) | Zet/98 | 更新情報をチェックする

2019年10月04日

OPNA FM後半修正

OPNAの後半(CH4,5,6)への書き込みに異常がありました。
修正しています。
release-de0cvdemu2.191004.qar
posted by プー at 04:23| Comment(1) | リリース | 更新情報をチェックする