2018-01-01から1年間の記事一覧

CD-ROM2 の読み込み時間の厳密な再現の必要性 / その3

David Shadoff さんの実測と再現ルーチンのおかげで、問題となっていた多数のソフトの動作の改善がみられました. 用語の規定 この文章内では下記といたします. SEEK TIME: 読み込みコマンドを受けてから光学ヘッドが移動する時間. READ TIME: 1 frame を読み…

自分で作った潜在的なバグ

最近他人が作った潜在的なバグに言及しておりますが、upergrafx のソースコードにも本来ならすぐに起きるはずのバグが起きずに放置、その後の謎の現象となり、調査したら稚拙なバグが2件も見つかってお恥ずかしい限りです. write strobe の正負の論理を間違…

CD-ROM2 の読み込み時間の厳密な再現の必要性 / その2

CD-ROM の 1 sector のロード時間を規格通り 1/75 秒に設定したところ、ロード時間が早いために問題になっていたソフトが結構直りました. 一方直らなかったソフトの傾向を見ると下記のようでした. ロード時間の前後の処理時間を要求するもの 1 sector のロー…

CD-ROM2 の読み込み時間の厳密な再現の必要性 / その1

現在の不具合報告に登録してあるソフトの不具合の原因が読み込み時間が実機と違うのでちゃんと動かないというのがある程度わかっています. 別件で mednafen の document を読んでいたら pce_fast module で CD-ROM の読み込み時間を設定で変えられることをし…

9821 のハードディスク相当を復旧する / その4 (終)

Filesystem 関連 前回細かく書いていたのは LBA=0 を PC-98 用, AT 用に調整すれば現行のパソコンから普通にファイルシステムにアクセスできるだろうという考えでした.結論からいいまして下記でした. NEC 5.0 の FAT header のフォーマットが謎で RCF-X 64MB…

PC-9821 のハードディスク相当を復旧する / その2

手元にある Compact Flash は昔デジカメで使っていた RCF-X 64MB です. これは website に http://buffalo.jp/php/lqa.php?id=BUF9612 [コンパクトフラッシュを起動ディスクとして ご利用いただくことはできません。]とありましたので別のメディアも買いまし…

PC-9821 のハードディスク相当を復旧する / その3

(その2はあとでかく) ひとまず Compact Flash で MS-DOS が BOOT できるようになりましたので現行のパソコンから dd で dump してみました. 筆者は開発環境として msys2 を常用していますので dd なり /dev/sdx というデバイスは普段から利用できます. 実デ…

PC-9821 のハードディスク相当を復旧する / その1

やることはよくある IDE コネクタに Compact Flash を接続するやつです.2000年ぐらいにハードオフで本体が 500 円だったから買った PC-9821V16, 周辺機器を買いそろえたら結果としてえらい値段になりました. それからも時々 PC-98 ならではの性能で活躍して…

PCE の入力デバイス用ポートの仕様調査

毎度のごとく公式文書をみたわけではなく、インターネット上に転がっている信憑性の低い情報を元にしていますのでこの情報も信憑性は低いです. 実ソフトの逆アセンブルと分析もいまのところしてません. pinout +5V, GND, D3:0, Q1:0software からの仕様は ad…

じゅうべえくえすとの敵が出る数の解析

メガトンコインRTAという動画でキノコングという敵が1匹でるべきである場面でそれが2匹でる, その原因は5つもバージョン違いだろう. という考察が書かれていました. 5つは多すぎでおかしいと思ったのでそれを調べました. バージョン違いはあるが... 5個の根…

Super System Card の仕様

address は全て21bit絶対表記です. 0x000000-0x03ffff R- ROM (A) 0x040000-0x07ffff R- ROM (A, mirror) 0x080000-0x08ffff -- 未定義 (B) 0x090000-0x0bffff R- RAM (C, mirror, read only) 0x0c0000-0x0cffff -- 未定義 (D) 0x0d0000-0x0fffff RW RAM (C)…

CD Graphics 対応のための調査その3

Subchannel の並びの対応は PC ソフト側 HDL 側共に完了しました. いくつか問題があります. 問題1:回路数限界 HDL のコード上、利用回路数はたいしたことがないはずでしたが、 FIFO を追加したところで EP2C5 に収まらないとエラーが出てしまいました. FIFO …

CD Graphics 対応のための調査その2

データの並びは仕様書通りに channel R からW (bit5:0) を利用します. ここで command と instruction があり、instruction は 6 通り定義されているのに規定外のそれが大量に出てきて解釈に困りました.これはどういうわけか仕様書に書いてないことで, chann…

CD Graphics 対応のための調査その1

CD Graphics (別名 CDG, CD-G, CD+G) を実験として対応してみようかと思います. とりあえず medfenam のソースコードや CD Graphics の仕様書などを見てます. 調べたことを書いていきます. CD-ROM2 fifo CDDA 再生中(CD-ROM read 中でも入りそうですが..?) …

CD-ROM2 の ADPCM 用(にもつかえる) RAM の転送その3

別件の修正です.主に CD-ROM コントローラから ADPCM 用 RAM を書いてしまえる DMA と呼ばれているやつです. 等幅に書いてある部分の左端の数値は 6280 からの絶対address 0x1ff80x の略記,その次がそこに書かれる data で並ぶ場合は連続で書かれます. bios,…

続 CD-ROM2 の ADPCM 用(にもつかえる) RAM の転送

コブラIIとロードス島(1作目)の停止理由をみたところ原因は下記でした. READ(6) コマンドの転送先を題名の RAM に設定 その初期化の一部を BIOS を使わずに直接制御 ADPCM 用(にもつかえる) RAMというまどろこっしい表現はこの RAM へ ADPCM 用の data をい…