2023年の総括

全ての国産PCのエミュレータを開発しようと始めたこの活動も、今年で20年目となりました。
…しまった、記念の年だったのか(汗)
本業が超多忙だったのに加えて自治会の仕事があって、本当に時間が取れませんでしたが、
20周年と気付いていれば、もう少しなんとかしたかったですね。
ちなみに本業も自治会も、来年は「これからが本当の地獄だ」という状況になる予定の模様です。

何とか駆け込みで、大みそかに新ネタとしてT-250をリリースすることができました。
これで112機種目ですね。
東芝製ながら、海外展開のみで国内ではほぼ無名のCP/Mマシン、なのですが。
活動の趣旨的に、こういうネタもちゃんと拾っていくスタイルで続けていきたいと思います。

Z80コアとイベントマネージャを改良して、M1/M2/M3サイクル単位で仮想マシンを駆動する処理が、
ようやく実用的になってきたのが技術的には収穫でした。
あとは、PC-8801/9801を中心に、FDC/GDC/EGCの改良をしたりと、色々細かい改良ができました。
乏しい作業時間なりに、そこそこ作業は進められてよかったと思います。

来年は、今年以上に作業時間を取れなさそうですが、活動を継続できれば御の字ということで。
一応、あっと驚く新ネタを披露できる予定なのですが、はてさて(苦笑)



2023/12/31
Common Source Code Projectを更新しました。
i8257のデバッグログを追加しました。

東芝T-250エミュレータ、eT-250をリリースしました。
何とか新ネタなしだけは回避できました(苦笑)

2023/12/16
eX1/twin/turbo/Zを更新しました。
テキストの縦倍表示が壊れていたのを修正しました。

2023/12/14
MS-DOS Playerを更新しました。
INT 10h AH=08hについて、漢字の文字コードを取得できるよう修正しました。

2023/11/29
廃墟を更新しました。
12月中旬あたりから作業を再開できると思います。

2023/6/11
Common Source Code Projectを更新しました。
i8257をサポートしました。次の開発ネタの準備です。

eBUBCOM80, ePC-8001/mkII/SR, ePC-8801/mkII/MA, ePC098DOを更新しました。
DMACのステータスのUPDATEビットを操作するようにしました。

eQC-10を更新しました。
起動時にビープが鳴りっぱなしになる問題を修正しました。

2023/6/7
Common Source Code Projectを更新しました。
uPD765Aについて、READY信号を強制的にオンにして、ディスクの挿入していないドライブに対して
SENCE DEVSTATを実行したときのリザルトを改良しました。
SDI88で、ディスクが挿入されていないドライブのRECALIBが失敗しなくなっているかと思います。

Emu23を更新しました。
前回の更新と同様に、別ページのメモリにジャンプする設定になっている間についても、
CPU側で割込みが発生しないようにしました。

2023/6/4
Common Source Code Projectを更新しました。
イベントマネージャで、垂直同期イベントを通常のイベントと同様に駆動するようにしたことで、
Z80の命令実行中に該イベントが発生できるようにしました。
Z80で、WAIT信号が立ち下がってから割り込みが発生するようにしました。
Z80ファミリーで、子デバイスの割込み発生中に親デバイスが割込みを要求したときに、
子デバイスの割り込み終了後、親デバイスの割り込みが発生しない場合がある問題を修正しました。

Emu23を更新しました。
次の1バイトの読み書きだけ、別ページのメモリにアクセスする設定になっている間、
CPU側で割込みが発生しないようにしました。

EmuZ-2500を更新しました。
Z80のM1/R/Wの各サイクルを実行するときに、仮想マシンを駆動する処理が有効になっていると、
勝手移植のソーサリアンが起動しなくなる問題が解決しました。

2023/5/30
EmuZ-2500を更新しました。
星くずばこがメニュー表示前のところで動かなくなっていたのを修正しました。

2023/5/29
本業繁忙のため暫くお休みしていましたが、溜まっていた修正を吐き出しておきます。

Common Source Code Projectを更新しました。
MB8877/T3444A/uPD765Aについて、単・倍密度のセクタが混在したトラックに対応しました。
uPD7220のQC-10向け特別処理を削除しました。
2023/1/24の改良の結果、特別処理によって却って画面が崩れていたのが解決しています。

Emu23を更新しました。
記録密度を指定するI/Oポートを修正しました。
その他のMB8877を使用している各機種で、記録密度を指定するI/Oポートをサポートしました。

EmuZ-700/800/1500を更新しました。
クイックディスクのシーク音の再生を停止しないようにしました。

ePC-8001/mkII/SR, ePC-8801/mkII/MA, ePC098DOを更新しました。
PDDOSの画面が表示されるようになりました。
DMAの転送長が0の場合、テキストのアトリビュートに白色が指定されているものとして、
モノクログラフィック画面を描画するようにしました。

eSMC-70を更新しました。
ディスクのサイドを指定するI/Oポートを実装しました。

eX1/twin/turbo/Zを更新しました。
テキスト画面を水平同期毎に描画するように改良しました。

2023/1/28
eHANDY98を更新しました。
ドッキングステーションが動くようになりました。

2023/1/24
Common Source Code Projectを更新しました。
uPD7220周りの実装を色々修正しました。

ePC-9801/E/U/VF/VM/VX/RA, ePC-98XA/XL/RL/DOを更新しました。
EGCアクセスモードに応じて、uPD7220の処理を切り替えるようにしました。

2023/1/22
Common Source Code Projectを更新しました。
NP21/WのI386コアを、ver0.86 rev88 beta5相当に更新しました。
uPD7220のPSETの処理において、REPLACEモードを修正しました。(多謝です>drachen6jp様)

ePC-98LT, eHANDY98を更新しました。
シリアルポートにMIDI音源を接続できるようにしました。
フロッピードライブ周りのI/Oを修正しました。
2DD/2HDの切り替えが、疑似BIOSに頼らなくても動作するようになっています。
フロッピードライブ周りのI/Oを修正しました。
その他、BEEP音の周波数を、実機の音に合わせて修正しました。

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