作りたいものに妥協しないために、会社を興してまで完成させた作品です。うれろー、うれろー。

2014年05月26日

PC-6001/6601のサブCPU

http://homepage3.nifty.com/takeda-toshiya/00tmp/pc60_66_88.zip

PC-6001/6601のサブCPUを、ガチンコでエミュレーションしてみました。
土曜のP6オフのとき、一部筋の方にお話しした件のやつです。
キーボードは動いてますが、CMTは読み書きいずれもまだ機能していません。

別件で、PC-8801でCDOS-IIがブートしなくなっていたのを修正しました。

正式リリースは、また後日にでも。


>tanam様
PC-6001/6601の実装を、かなりもりっと書き換えてしまいました。

ソースが大幅に変わっている点は、
KEYBOARDクラスを、疑似サブCPUと、タイマ割り込み/割り込み管理に分離したのと、
SYSTEMクラスを、PC-66の内蔵フロッピーと、PC-6031に分離した辺りです。
また、サブCPUで、DATARECクラス由来の機能していないCMT関連コードを整理しています。

その他、CRTKILL信号をサポートしたり、表示期間中にCPUにBUSRQを投げるようにしたり、
PC-6601で、内蔵フロッピーと外部フロッピーを切り替えられるようにしたり、
タイマー割り込み関連を、VLINEイベント駆動から、CALLBACK駆動に書き換えたりしています。


(2014/5/27 1:20追記)
CMTの読み込みについては、ガチンコでサポートできました。
wavそのままでも読み込めますし、p6形式の場合は、内部的にwavの波形を合成して、
それをガチンコで読み込むようになっています。

CMTの書き込みは、まだまだです。
出力波形を見ると、1200Hz/2400Hzの個々のパルスはちゃんと生成できているのですが、
総体として、フォーマットに従った内容になってないみたいです。

仮に、従来の疑似サブCPUと同じレベルで、p6形式で保存できるようにしておきました。
拡張子にwavを指定すると、内部的にwavの波形を合成して、それを保存するようになっています。

仮バイナリのアップ先は、昨日と同じURLになります。
posted by 武田 at 04:17| Comment(1) | TrackBack(0) | 開発 | このブログの読者になる | 更新情報をチェックする
まるくん、がんばれ、ちょうがんばれ