歓迎光臨
TAKEDA, toshiya's HOME PAGE

QEMU on Windows Operating system emulators: Old computer or game console emulators: Now working...
What's new (10/22/2019):
eX1/twin/turbo/turboZ are updated
What's new (10/28/2019):
eX1/twin/turbo/turboZ are updated
What's new (11/3/2019):
ePC-98XA/XL/RL are updated
Latest screenshots or pictures:

(11/3/2019 PC TRAINING DISK on ePC-98RL)



武田の総合謎WIPページ

連絡等は、メールまたはRetro PC Emulatorsさんの武田隔離スレッドまでお願いします。
2chの昔のPC板の各機種スレッドも覗いていますが、スレッドの趣旨に反しない範囲で。
(MZ-80B以降スレッドについては、私に関する話題はご遠慮ください)




中の人はこんな人です。

※ 漫画原作者の武田俊也氏とは同姓同名の別人です。
以前本気で間違われたことがありますので、念のため。



過去の更新履歴 [2004年] [2005年] [2006年] [2007年] [2008年] [2009年] [2010年] [2011年] [2012年] [2013年] [2014年] [2015年] [2016年] [2017年] [2018年]


2019/11/3
ePC-98XA, ePC-98XL, ePC-98RLを更新しました。
VRAMやCGウィンドウのアクセス周り、水平周波数周りの修正を行っています。

2019/10/28
eX1, eX1twin, eX1turbo, eX1turboZを更新しました。
HuBASICでテープのセーブができない問題を修正しました。
他のソフトで悪影響が出ていないか、テストにご協力お願いいたします。

2019/10/22
本業多忙につき、年末まで身動き取れそうにありません。
気になった部分だけプチ更新です。

eX1, eX1twin, eX1turbo, eX1turboZを更新しました。
CMTのTape End Signalの挙動を修正しました。
イナブキ X1ラボ様のRuinous XIIIが起動するようになっています。
他にも多段ロードのソフトで動くようになっているものがあるかもしれません。

MS-DOS Player for Win32-x64を更新しました。
INT 21h, AH=2Chにおいて、1/100秒の値が正しくない問題を修正しました。
藤田望様から頂いたパッチを取り込んでいます、対応が遅くなってしまい申し訳ございません。

2019/4/30
Common Source Code Projectを更新しました。
2019/2/19に一旦取り下げた、Z80の1命令実行中のイベント駆動の改良を復活させました。
SCSIホストについて、コマンド/メッセージフェーズ時にIRQを立てるようにしました。
X1シリーズでSASI-HDDが動作しなくなっていたのが修正されています。
8259のISRレジスタの読み込み時、マスクレジスタを反映しないようにしました。
PC-9801シリーズの三国志のサウンドが鳴らない問題が修正されています。

EmuZ-2500を更新しました。
紅茶羊羹さんから頂いた、CRTC周りのパッチを取り込みました。
対応が遅くなってしまい申し訳ございません。

ePC-8801/mkII/SRを更新しました。
CMDSING、PCG描画、スキャンライン毎のパレット変更を無効にできるようにしました。

日野電子 CEFUCOM-21の実装中です。
まだ暫く掛かりそうなので、スクリーンショットのみ出しておきます。

2019/2/19-2
Common Source Code Projectを更新しました。
先のイベント周りの修正ですが、幾つかのソフトで不具合が見つかったため一旦取り下げます。
後日修正の上で再取り込の予定です。

2019/2/19
Common Source Code Projectを更新しました。
プライマリCPUがZ80の場合、1命令の実行中、Read/Writeサイクル単位でイベントを駆動するようにしました。
命令の途中で表示期間に突入して、VRAMアクセスでCPUにウェイトが掛かるような場合の再現性が向上しています。
命令の途中でウェイトが掛かった場合、残りの実行時間はウェイト解除後に加算されます。

EmuZ-2500を更新しました。
表示期間中にPCGRAMにアクセスしたときに、CPUにウェイトを掛けるよう修正しています。

2019/2/16
Common Source Code Projectを更新しました。
デバッガの! deviceコマンドについて、デバッガに対応したデバイスのみ列挙するようにしました。
複数の理由でブレークした場合、すべての理由を表示するようにしました。
また、! deviceでCPUを選択した場合、そのブレークポイントでもブレークできるようにしました。
PC、メモリ、I/Oの全てのブレークポイントが、! deviceで選択したデバイスに対して機能します。

各DMAコントローラについて、デバッガを有効にしました。
! deviceでDMAコントローラを選択して、RBP/WBPでブレークポイントを掛けることによって、
DMAコントローラからのメモリアクセスでブレークするようになります。
Z80DMAについては、IBP/OBPによってI/Oアクセスでもブレークを掛けることが可能です。

TMS9918について、IBP/OBPによってレジスタR0-R7へのアクセスでブレークを掛けられるようにしました。
RBP/WBPは、VRAMに対するアクセスでブレークが掛かります。

なお、AY-3-891x, YM2151, YM2203については、RBP/WBPでレジスタアクセスにブレークを掛けます。
素直に考えればI/O扱いですが、256/512個もあると、Dコマンドでダンプしたくなりまして(苦笑)

MB8877で、シーク完了直後、read/writeするまで最低60msは待機する処理をオミットしました。
FM-Techknow p.180の記述を根拠とした実装でしたが、MB8877の内部処理のフローチャートを見る限り、
いまいち信憑性に欠けるようです。
この修正で、X1turboのイース2のオープニングの終わりのタイミングがいい感じになっています。

# 近々、デバッガの使い方のドキュメントを整備したいと思います。

2019/2/14
Common Source Code Projectを更新しました。
デバッガにおいて、CPU以外のデバイスのブレークポイントをサポートしました。
メモリ、I/Oのブレークポイントは、D/E/L/W等と同様、! deviceで選択したデバイスに対して機能します。
(! deviceで他のデバイスを選択するまでは、デバッグ対象のCPUに対して機能します)
また、デバッガが受け付けるコマンド長さを最大1024文字に拡張しました。

AY-3-891x, YM2151, YM2203について、デバッガからレジスタをメモリ空間として操作できるようにしました。
また、レジスタの読み書きでブレークできるようにしました。
TMS9918Aについて、デバッガからVRAMをメモリ空間として操作できるようにしました。
また、VRAMの読み書きでブレークできるようにしました。
MB8877において、シークコマンド直後の最初のシークに掛かる時間を調整しました。
Z80CTC, Z80DMAにおいて、リセットコマンド実行時に割り込み状態をリセットするように修正しました。

eX1, eX1twin, eX1turbo, eX1turboZを更新しました。
EMM, VRAMについて、デバッガからメモリ空間として操作できるようにしました。
また、VRAMの読み書きでブレークできるようにしました。

今回も、X1センターの佐藤様から頂いたレポートを反映しています。
いつもありがとうございます。

2019/2/9
Common Source Code Projectを更新しました。
MB887において、ドライブレジで現在選択されているのとは別のドライブのディスクを抜くと、
MB887で実行中のコマンドが誤って中断されてしまう問題を修正しました。
また、MB8877/uPD765Aのデバッグ情報として、現在のヘッドの位置と、現在のトラック中の
各セクタの情報、AM1、データがトラック中のどの位置にあるか表示するようにしました。

eX1turbo, eX1turboZを更新しました。
X1センターの佐藤様からレポートを頂いた不具合について対応を行いました。
いつもありがとうございます。

2019/2/8
Common Source Code Projectを更新しました。
昨日のデバッガの改良について、ソースの整理を行いました。
また、V9938Pなど一部のデバイスの描画処理についても改良をおこなっています。

eBUBCOM80を更新しました。
DMAC周りについて、最近のePC-8801MAの修正を反映しました。

eHC-80を更新しました。
サブCPUのコマンド 0x27, 0x29 を修正しました。
オペレーションモードが3の場合、XORで点または線を描くよう修正しています。
Stefano Bodrato様にご指摘いただきました、ありがとうございます。

2019/2/7
Common Source Code Projectを更新しました。
D88形式のブランクディスクを作成する処理を、winmainからemuクラスに移しました。
CPUのデバッグ中も画面を更新するようにしました。
VRAMやパレットなどを変更すると、すぐに画面に反映されるようになっています。

2019/1/29
EmuZ-80K, EmuZ-1200を更新しました。
吉喜工業のCOLOR GAL 5をサポートしました。
Suga様からご提供頂きましたソースを取り込みました、いつもありがとうございます。

ePC-8001/mkII/SRを更新しました。
カーソルが表示されなくなる不具合を修正しました。

2019/1/18
ePC-8001/mkII/SRを更新しました。
リセット時のRAM[0xff33]の初期値を0にしました。
PC-8001mkIIのGALAXIANが正常に起動するようになっています。

eSMC-70, eSMC-777を更新しました。
スキャンライン毎に画面の描画を行うように改良しました。
SMC-70のデモプログラムの、カラーバーがスクロールする場面が正しく表示されるようになりました。

2019/1/16
Common Source Code Projectを更新しました。
uPD765AのST3のTSビットを常に立てるように(暫定的に)修正しました。
ディップスイッチの状態が変更された場合、リセット時にVMクラスを再生成するようにしました。
ディップスイッチを、デバイスの有無の指定に使用することを念頭に入れた修正です。

ePC-8001/mkII/SR, ePC-8801/mkII/MAを更新しました。
PC-8001/8801について、GSX-8800をサポートしました。
また、各音源ボードの有効・無効を切り替えられるようにしました。
前回の更新で幾つかデグレしていたのを修正しました。
Nモードで片面だけ使っているディスクが起動しなくなっていたのを修正しました。

2019/1/11
ePC-8001/mkII, ePC-8801/mkIIをリリースしました。

2019/1/1
新年あけましておめでとうございます。
今年もよろしくお願いいたします。



2018年の総括

全ての国産PCのエミュレータを開発しようと始めたこの活動も、今年で15年目となりました。
娘たちも、小学1年と幼稚園の年少さんになりました。
アメリカから従弟が帰ってきて娘たちが大はしゃぎで、ちょっとどたばたな大晦日です。

今年は新ネタとして、BUBCOM80、PC-9801RA、PC-98XA/XL/RLをリリースしました。
単純に機種名でカウントして、遂に101機種となりました。
15年にして、ようやくの大台ですね。次の大台に向けて、また地道に頑張ります。

本業が多忙すぎて(ドイツに3回出張したりしてました)余り進捗がありませんでしたが、
トピックとしては、やっぱりBUBCOM80でしょうか。
昨年のYISに続いて、実機解析等で守谷さんに多大なご協力いただきました。
名前は知っていても見たことはない、この界隈のUMAをご紹介できてうれしく思います。

年末に駆け足で作業を進めたPC-8801関係も、ようやくCD-ROMのサポートができました。
後は、年末年始の休暇中にPC-PR201の作業をして、一段落したいと思います。
最近の作業でエンバグしてしまった部分の修正もしないといけませんね。
ぽっぷるめいるで問題が出ているみたいですが、状況をまだ把握できていません(苦笑)

技術的には、ステートセーブの実装の整理を行いました。
従来、セーブとロードの処理が分れていたため、セーブしたファイルをロードできない、
という問題が発生し得た(そして実際に発生していた)のですが、
同じ処理でセーブ、ロードを行うようにすることで、信頼性を向上することができました。
Arnate.さんにご提案いただきながら、結局は別の実装にしてしまって申し訳ないです。

2019年ですが、結局進んでいないFM-16βの作業を進めたいと思います。
ハイレゾ98の方も、起動するようになったところで作業が止まってしまっていますので、
Windows 3.1が起動するようになる辺りまでは進めたいです。

来年も頑張りますので、また次の一年もお付き合いいただけましたら幸いです。