2020年の総括

全ての国産PCのエミュレータを開発しようと始めたこの活動も、今年で17年目となりました。
エミュレータ開発としては、unofficial nesterから始めて、これで丸20年です。

家族サービスでスケート中に転んで右足首を骨折したり、コロナと関係なく本業が超多忙だったり、
とにかくドタバタしっぱなしの1年間でした。
今年は帰省せずに年越しを迎えることになりましたが、久しぶりにゆっくり過ごしています。

今年リリースしたのは、マイコン麻雀、TV BOY、SVI-3x8…
全部GORRY先生とたなむ様からご提供いただいたソースを取り込んだだけですね。
去年から持ち越しのCEFUCOM-21も、今年から始めたBX-1も、結局リリースするには至らず。
自前の新ネタが0というのは、幾ら多忙だったとは言え、これは反省しないといけません。

技術的なトピックとしては、NP21/Wの386コアを取り込んだことでしょうか。
PC-98RLでWindows 3.1がブートするようになり、実用的なハイレゾ98エミュレータになったかなと。
V30コアに8080エミュレーション機能を組み込んだのも、地味に界隈初だったかもしれません。

また、PC-8801も、色々とバグを潰したり、CD-ROM^2の再現性向上を図ることができました。
M88よりお手軽にCD-ROM^2をエミュレーションできるのは1つのウリになりましたね。
8インチFDDのサポートもできましたし、PC-9801初代/E/F/Mの320KB-FDDのサポートのように、
他のメジャーなエミュレータの隙間を埋められたのは、活動の趣旨的にも良かったと思います。

MZ-1500/2500やX1も、ご提供いただいたパッチを取り込み、より再現性や利便性が向上しました。
MS-DOS Playerもちょこちょこ不具合修正や改良ができましたし、自前の新ネタには乏しいものの、
まあまあ実りもあった1年だったのかなと思います。

2021年ですが、とにかく本業がもうちょっと落ち着いてくれるといいなあ、です。
今年売り込みを掛ける予定だった機能が、コロナの影響で出張できずに塩漬けになってるので、
来年こそは、ということで落ち着いちゃったら困るんですけどね。
今年は別件でほぼ毎週末休日出勤してましたから、流石にそれは勘弁して欲しいです(苦笑)

時間が取れたら、まずはBX-1とFM16β辺りから作業を進めたいなと思います。
N5200とB16の基板の解析も進めたいですね。

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



2020/12/31
ePC-8001/mkII/mkIISR, ePC-8801/mkII/MA, ePC-98DOを更新しました。
PC-8801mkIISR付属デモのCARIGRAPHの画面が反転されない問題を修正しました。

2020/12/25
MS-DOS Playerを更新しました。
INT10h, INT 21h AH=02h/06h/40h, INT 29hのそれぞれについて、制御文字をシンボルとして表示するか、
制御文字として扱うか、処理を分けるようにしました。
また、CtrlやAltを押しながら文字以外のキーを押したときのスキャンコードを修正しました。

2020/12/24
MS-DOS Playerを更新しました。
終了時にコードページを元に戻す処理が正しく動作していなかったのを修正しました。
また、コマンドプロンプトやPower Shellから起動したことを判定する処理を修正しました。
INT 16h, AH=51hをサポートしました。

2020/12/21
Common Source Code Projectを更新しました。
トラック番号を指定して再生するとき、プリギャップを含まないようにしました。
ePC-EngineのYs3で、前のトラックの音が一瞬流れていたのが直っているかと思います。

ePC-Engineを更新しました。
ADPCMのループ再生の判定処理を修正しました。
マンホールのピアノが1音ずつ正しく再生されるようになっています。

2020/12/19
Common Source Code Projectを更新しました。
CD-ROM^2で、最初のトラックがオーディオの場合のプリギャップの値を修正しました。
ePC-8801MAで、提督の決断のオープニング曲の頭が切れる問題が直っているかと思います。

2020/12/18-2
18:40にCommon Source Code Projectのアーカイブを更新しました。
ePC-8001mkII/mkIISRで8インチFDDを有効にできなくなっていたのを修正しています。
必要な方は再ダウンロードをお願いいたします。

2020/12/18
Common Source Code Projectを更新しました。
CD-ROM^2のCD-DA再生周り、特に開始・終了位置の取得の処理を改良しました。
CDたから箱のホームステイの英会話が正しく再生されるようになっています。
ePC-Engineの方でも、The Manholeの音声が正しく再生されるようになりました。

ePC-8001mkII/mkIISRを更新しました。
PC-8001mkII/SRにおいて、8インチFDDをサポートしました。

ePC-9801VX/RA, ePC-98XL/RLを更新しました。
PC-9801VX/RA, PC-98XL/RLにおいて、drachen6jp様のEGC周りの改良を取り込ませていただきました。

2020/12/16
ePC-8001/mkII/mkIISR, ePC-8801/mkII/MA, ePC-98DOを更新しました。
8インチFDDについて、DRQ信号のマスク解除と、PC-98で言うところのFORCE READY信号をサポートしました。
PC-8801mkIISRのひらがなフォントの実装を修正しました。
DiskDrvで絶対パスを指定しない場合、起動時のカレントディレクトリ内のファイルと見做すよう修正しました。

2020/12/15
ePC-8001/mkII/mkIISR, ePC-8801/mkII/MA, ePC-98DOを更新しました。
8インチFDDと、内蔵でない5インチFDDを、個々に切り離せるようにしました。
PC-8001mkIISRのひらがなフォントに対応しました。要HIRAFONT.ROMです。
バスマウスが接続されていて、位置がラッチされていないときの読み取り値を修正しました。
ePC-8801MAで、自動的にスキャンライン有効・無効を設定する動作を抑制するオプションを追加しました。
M88のDiskDrv相当の機能をサポートしました。
Nモード、またはPC-8001シリーズの場合、DiskDrv80相当になります。

2020/12/14
ePC-8801/mkII/MAを更新しました。
PC-8801シリーズで、DMAタイプの8インチフロッピードライブをサポートしました。

2020/12/13
Common Source Code Projectを更新しました。
MC6843をMAMEベースで実装しました。
CD-ROM^2の論理ブロックサイズを変更したあと、Test Unit Readyコマンドで元のサイズに戻すようにしました。

CANON BX-1エミュレータ eBX-1のページを追加しました。
まだ動作するようになるまでは時間が掛かりそうです。

EmuZ-1500を更新しました。
Motochan1500様からご提供いただいた、BSDレコードの修正を取り込ませていただきました。

ePC-8801MAを更新しました。
CDたから箱の、BURAIのオートデモが起動しない問題を修正しました。
また、200ラインのグラフィック画面で、テキスト画面のアトリビュートで色を指定するモードにおいて、
ハイレゾモニタでスキャンライン無効の設定のとき、スキャンラインを描画しないようにしました。

2020/12/12
ePC-8801MAを更新しました。
テキストVRAMのアトリビュートの処理を修正しました。
今度こそミスティーブルーのテキストマスクの問題が修正されている、と思います。
また、2枚目のOPNAのステータス(0xAC, 0xAD)が正しく読めていなかったのを修正しました。

2:30頃にCommon Source Code Projectのアーカイブを更新しています。
必要な方はダウンロートお願いいたします。

2020/12/11
ePC-8801MAを更新しました。
CDたから箱で、ミュージック再生時に止まる問題を修正しました。。
またミスティーブルーのオープニングでテキストマスクが表示されない問題を修正しました。
どちらもDMA絡みの問題を修正しています。

2020/12/8
Common Source Code Projectを更新しました。
VC++2019でのビルドエラーを修正しました。
Z80CTCで、ソフトウェアリセット時に割り込み受付中ステータスをクリアしないようにしました。
Z80DMAで、バイトモードでBUSACKが有効になった時のストールサイクルを修正しました。

eX1turboZを更新しました。
64色2画面モードでのパレットの取り扱いが修正されています。

どちらも、佐藤様から頂いていたパッチを取り込みました、多謝多謝です。
9月にいただいていたパッチの取り込み漏れでした(苦笑)

2020/12/6-2
23:45頃にCommon Source Code Projectのアーカイブを更新しています。
必要な方はダウンロートお願いいたします。
MZ-1500およびX1turboZのぷち修正をしています。

EmuZ-1500を更新しました。
kitahei88様からご指摘のあった、入力ポート0xE8のbit4が0を返すように修正しました。
bit4が1の場合、ボイスボードがあると誤認識されてしまうようです。

eX1turboZを更新しました。
佐藤様からご指摘のあった、Zパレットの更新タイミングを変更しました。
VBLANK中に変更されたパレットを、表示期間の開始時に反映するようにしました。

2020/12/6
Common Source Code Projectを更新しました。
uPD765Aで、Nに8以上を指定した時の転送サイズを修正しました。
また、NP21/WのI386コアを、ver0.86 rev79 beta4に更新しました。

EmuZ-1500を更新しました。
クイックディスク周りを修正いたしました。
kitahei88様および有志様からいただいた修正を取り込ませていただきました。

eX1/twin/turbo/turboZを更新しました。
Meister氏からご提供いただいた、CZ-8RBの実装を取り込ませていただきました。

MS-DOS Playerを更新しました。
Windows 10のコンソール上でフォントを切り替える処理を修正しました。
INT 21h, AH=41hで開いているファイルを削除しようとしたときにエラーを返さないように修正しました。
また、NP21/WのI386コアを、ver0.86 rev79 beta4に更新しました。

2020/8/16
Common Source Code Projectを更新しました。
SASIハードディスクのタイミング周りを修正しました。
また、READ6/WRITE6コマンドで転送長に0を指定した場合、256と見做すよう修正しました。
Z80DMAの割り込みを、エッジでなくレベルで判定するよう修正しました。

EmuZ-2500を更新しました。
640x200 16色モード時の、サブプレーンのアドレスを修正しました。

SPECTRAVIDEO SVI-3x8エミュレータ yaSVI-3x8をリリースしました。

eX1/twin/turbo/turboZを更新しました。
高速PCG定義の処理を修正しました。
turboZでVBLANK中にパレットを更新した場合に、画面に反映するタイミングを修正しました。

X1センターの佐藤様、856様, YAT様にご指摘いただいた修正を反映いたしました。
また、たなむ様からいただいたソースを取り込ませていただきました。
多謝多謝です>各位

2020/8/14
Common Source Code Projectを更新しました。
x64ビルドをサポートしました。(多謝多謝>まるくん)
Direct2Dをサポートしました。
これらのため、Visual C++ 2017用のプロジェクトファイルを追加しました。
Visual C++ 2013用のプロジェクトファイルは残していますが、メンテナンスはしません。

学研 TV BOYエミュレータ yaTVBOYをリリースしました。
日本メールサービス マイコン麻雀エミュレータ eMuCom Mahjongをリリースしました。
たなむ様、GORRY先生からいただいたソースを取り込ませていただきました、多謝多謝です。

2020/5/10
MS-DOS Playerを更新しました。
Windows10のコマンドプロンプトで半角の罫線が正しく表示できない問題について、再修正しました。

2020/4/18
MS-DOS Playerを更新しました。
Windows10のコマンドプロンプトで半角の罫線が正しく表示できない問題について、暫定的に対策しました。

2020/4/16
MS-DOS Playerを更新しました。
XMSが有効な状態でも、BorlandのTLinkが動くようになりました。
INT 15h, AH=88hで100000H以降のメモリ容量を取得する際に、XMSが有効な場合は0を返すように修正しています。
INT 15h, AH=89hの実装も、最新版のDOSBoxに合わせる形で修正しました。

2020/4/15
MS-DOS Playerを更新しました。
BorlandのTLinkが動くようになりました。
INT 2Fh, AX=FB42h/FB43h(Borland C++ DPMILOAD.EXEの存在チェック)に何も返さないように修正しています。

2020/4/11
MS-DOS Playerを更新しました。
昨日の版で、Windows98のCOMMAND.COMが動かなくなっていたのを修正しました。

2020/4/10
MS-DOS Playerを更新しました。
cracyc様のforkから、多数の修正を取り込ませていただきました。

2020/4/9
MS-DOS Playerを更新しました。
内蔵デバッガを改良しました。
UT, N, L, Wコマンドをサポートした他、プロテクトモード時のアドレス表示および指定を改良しています。

2020/4/6
Common Source Code Projectを更新しました。
I386コアを、Neko Project 21/W ver0.86 rev72ベースに更新しました。

MS-DOS Playerを更新しました。
Neko Project 21/W ver0.86 rev72ベースのI386コアを組み込んでみました。
また、V30コアに8080エミュレーション機能を組み込みました。

2020/3/21
廃墟を更新しました。

2020/2/21
Common Source Code Projectを更新しました。
I386コアを、Neko Project 21/W ver0.86 rev71 beta4ベースに更新しました。
今のところ、386/486としか使用していないので、あまり意味はありません(を

ePC-9801VX, ePC-9801RAを更新しました。
PC-9801VX/RAについて、80286/80386に加えてV30も搭載しました。
また、ポート00F0hで有効なCPUを動的に切り替える処理も実装済みです。

2020/2/18
V30のAAM命令を修正しました。
大した修正でもないので、昨日付けの更新内容に混ぜておきます。
AM 1:50頃にファイルを差し替えましたので、再ダウンロードお願いいたします。

2020/2/17
Common Source Code Projectを更新しました。
MAMEベースのI286クラスから、8086/8088/80186/V30をI86クラスに分離しました。
V30については、8080エミュレーション機能をサポートしました。
また、各x86コアに込みこまれていたMAMEベースのディスアセンブラについて、
I386用とV30用に分けて、それぞれ単体モジュール化しました。

ePC-9801, ePC-9801Eを更新しました。
1MB/640KB/320KBのFDD I/Fを個々に切り離せるようにしました。

2020/2/1
Common Source Code Projectを更新しました。
Neko Project 21/Wのi386コアを組み込んでみました。(多謝多謝です>NP2関係各位)
その他、uPD7220のSTOPコマンドを修正したり、メモリバスの16bit/32bitアクセスを改良したり、
また、ハードディスクのブランクイメージを作ってマウントする機能を追加しました。

ePC-9801RA, ePC-98XA/XL/RAを更新しました。
PC-98RLでWindows 3.1が起動するようになりました。
SASIのIRQ/DRQ信号の生成処理を改良したり、ハイレゾ機のマウスのIRQ番号を修正したり、
PC-9801-86のPCM音源部を追加したりと、何だか色々修正が入っています。

eX1/twin/turbo/turboZを更新しました。
リセット時にVRAMをクリアしないように修正しました。
その他、eFMR-50/70/80, EmuZ-2500, EmuZ-2800などに変更を横展開しています。

2020/1/23
Common Source Code Projectを更新しました。
Z80DMAを修正しました。
Read Mask Followsコマンドで、バイトカウンタの値を-1して読むように修正しています。
佐藤様の調査結果を参考にさせていただきました、多謝です。

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