http://homepage3.nifty.com/takeda-toshiya/
昨日の時点でROM BASICが起動中にフリーズしていたのは、
GDCのステータスの、FIFO EMPTYの挙動の問題だったようです。
従来の実装では、実行中のコマンドに必要なパラメタが全て
入力されるまでEMPTYじゃない扱いにしていたのですが、
パラメタ数の多いコマンドなどにおいて、パラメタ転送中でも
EPTYになるまで待機するような場合に問題になってました。
取り敢えずEMPTY立ちっぱなしにしたところ、ROM BASICが
立ち上がって、操作ができるところまでいきました。
ディスクを読まずにROM BASICにいってしまう問題はありますが、
曲りなりにもブートしたのは目出度い限り。
FDC上で、SPECIFY+RECALIB+SENCE INTSTATコマンドを実行して、
4ドライブのディスクの存在チェックは出来ているのですが、
どうもDMAとの連携に問題があるっぽいです。
http://homepage3.nifty.com/takeda-toshiya/qemu/qemu-20090908-windows.zip
--
昨日の時点でROM BASICが起動中にフリーズしていたのは、
GDCのステータスの、FIFO EMPTYの挙動の問題だったようです。
従来の実装では、実行中のコマンドに必要なパラメタが全て
入力されるまでEMPTYじゃない扱いにしていたのですが、
パラメタ数の多いコマンドなどにおいて、パラメタ転送中でも
EPTYになるまで待機するような場合に問題になってました。
取り敢えずEMPTY立ちっぱなしにしたところ、ROM BASICが
立ち上がって、操作ができるところまでいきました。
ディスクを読まずにROM BASICにいってしまう問題はありますが、
曲りなりにもブートしたのは目出度い限り。
FDC上で、SPECIFY+RECALIB+SENCE INTSTATコマンドを実行して、
4ドライブのディスクの存在チェックは出来ているのですが、
どうもDMAとの連携に問題があるっぽいです。
http://homepage3.nifty.com/takeda-toshiya/qemu/qemu-20090908-windows.zip
--
All Comments