2016年の総括

全ての国産PCのエミュレータを開発しようと始めたこの活動も、今年で13年目となりました。
unofficial nesterを開発していた当時は24歳だった私も、とうとう40歳です。
みんなでMZ-700で盛り上がっていたのも2008年ですか、年を取ったなーとしみじみ感じてます。

2歳になった下の娘が絶賛イヤイヤ期で、最近は中々大変です。
5歳になった上の娘は余りお肉が好きじゃなくて、下の娘はお肉しか食べたがらなくって。
二人とも、お魚さんは結構よく食べてくれるから助かります。
年賀状の印刷業者を変えたのですが、インクジェットプリンタ用のテカテカなやつでなくて、
普通の官製はがきだったので、写真の印刷品質がいまいちだったのが残念。
来年は元の業者に戻そうかなあと思案中ですが、デザインがマンネリでしてねえ。

今年は新ネタとして、PC-2001、SMC-70、ヤルキー、SM-B-80TEをリリースしました。
また、Artane.様の実装されたFM-8、たなむ様の実装されたColecoVisionを取り込みました。
これでやっと85機種ですね。
ヤルキーについては、殆ど反響がありませんでしたが、ただでさえWeb上に情報のないこの機種、
どのような代物だったのかの記録を残すことができて良かったと思います。
この界隈での立ち位置というか、自分に期待されているのは何かを再確認できました(を

今年の技術的なトピックは、SCSIバスの実装が進んだことでしょうか。
主にFMR-30/50/60のハードディスク用なのですが、疑似BIOSを経由せず、がちんこでドライブ類を
サポート出来たのは嬉しかったです。
また、副産物として、PC EngineのCD-ROM^2のサポートもあわせて出来たのは幸いでした。
The Manholeは中学時代に遊んだ思い出のソフトだったので、自分の実装したエミュレータで
遊べるようになったのは感無量でした。

今年は、どちらかと言うと、MS-DOS Playerの方が作業が進みました。
EMS/XMS、マウス、シリアルポートをサポートした他、コマンドファイルをmsdos.exeに埋め込んで
単体バイナリ化する機能をサポートしました。
新機能以外にも、細かい挙動の改良も色々と進みました。
海外の有名なIT系ニュースサイトで紹介されたため、海外でもにわかに注目を受けたみたいですね。

今年は本当に忙しい1年でした。
本業がとにかく忙しくて、休日(しかも40歳の誕生日)の夜に、海外支社からの連絡で呼び出されて、
お酒飲んでたから運転代行で出社して、そのままほぼ2徹とか(苦笑)
去年の総括で、「ご要望のある方は是非お知らせください」なんて書いておいて、メールの返事すら
全然出来ていませんでした、本当に申し訳ございません。m(_ _)m
来年も本業が忙しいのが確定しているのですが、昨今の社会情勢から、残業規制が厳しくなったため、
プライベートな作業時間はそこそこ取れるといいなあと思います。

2017年ですが、毎年やるやる詐欺になっている16bit機を今度こそ何とかしたいと思いますが、
本業や私生活もありますので、無理せずぼちぼち活動を継続していければと。

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



2016/12/31
yaCOLECOVISIONを更新しました。
ジョイスティックの入力時にINTが掛かっていたのを修正しました。
また、ジョイスティックやテンキーの入力値を修正しました。

eSC-3000を更新しました。
多分、ホーム麻雀やロレッタの肖像が動くようになったんじゃないかと思います。

MS-DOS Playerを更新しました。
Windows 3.1のインストーラが使っているサービスを中心に実装しています。
ただし、Windows 3.1が動くようになる予定はありません(を

2016/12/30
たなむ様に実装していただいた、yaCOLECOVISIONを取り込みました。

2016/12/29
コモンソースコードプロジェクトを更新しました。
デバッガで、ステップオーバでトレースする機能を追加しました。
(こんな感じで如何でしょうか?>紅茶羊羹さん)

EmuZ-80K/1200/80AおよびEmuPIAを更新しました。
以前からご提供いただいておりましたパッチを取り込んでいます。

eSM-B-80TEをリリースしました。
リハビリがてら、年末の追い込みです(苦笑)

2016/9/3
niftyの@homepageのサービス終了に伴い、ホームページを移転しました。

2016/7/30
MS-DOS Playerを更新しました。
雑多な改良色々です。
int 2fh, ah=12hのDOS internalなサービス群のサポートが目玉?

2016/6/24
MS-DOS Playerを更新しました。
16bitのコマンドファイルをmsdos.exeに埋め込む処理を改良しました。
その他、エラー処理関係の改良、仮想環境のPATHの処理の改良などをしています。

2016/6/22
MS-DOS Playerを更新しました。
16bitのコマンドファイルをmsdos.exeに埋め込んで、単体で動作する32bit/64bitの実行ファイルを
生成する仕組みをサポートしました。
また、EXDEB起動時に、Machineの表示が乱れる問題を修正しました。

2016/6/21
MS-DOS Playerを更新しました。
CTRL-Cを押したときの処理を修正しました。
また、シリアルポートやタイマーの改良を行いました。

MS-DOS Playerは、そろそろ一段落、かな。
次にまとまった時間が取れた時に、Common Source Code Projectの方に戻ります。
2016/6/17
MS-DOS Playerを更新しました。
シリアルポートのサポートや、NLSFUNC.COM関係のサービスを追加しています。

2016/6/10
MS-DOS Playerを更新しました。
マウスのサポートや、COMMAND.CO/DOSSHELLM絡みの修正をしました。

2016/6/8
MS-DOS Playerを更新しました。
FreeDOSのCOMMAND.COM/MORE.EXE向けの修正をしています。

2016/6/7
MS-DOS Playerを更新しました。
PITの動作精度を改良しました。
int 21h, ah=44h(IOCTRL)やint 21h, ax=71aah(SUBST)をサポートしました。
その他、雑多なサービスの実装や、デバッグ用のコード整理を行っています。
(追加したサービスの大半は、単に未サポートとのエラーを返すだけのものです)

2016/6/3
MS-DOS Playerを更新しました。
EMS/XMSのサポートの強化や、COMMAND.COM上でのTYPEの不具合修正など。
システムファイルテーブルの取得関係の実装も進めています。

2016/6/2
MS-DOS Playerを更新しました。
EMSのサポートの強化や、COMMAND.COM上でのリダイレクトやパイプのサポートなど。

2016/5/29
MS-DOS Playerを更新しました。
EMSとXMSのサポートなどをしています。

2016/5/24
MS-DOS Playerを更新しました。
内蔵タイマーや、ドライブのRAWアクセス周りの修正をしています。

2016/4/13
ePC-2001, eYALKYを更新しました。
それぞれ、一通り動作するようになっています。

コモンソースコードプロジェクトを更新しました。
専ら、PC-2001とヤルキーのための修正をしました。
また、デバッガのUコマンドで、無限ループに陥る場合がある不具合を修正しています。

2016/4/1
ePC-2001, eSMC-70, eYALKYをリリースしました。
まだSMC-70以外はちゃんと動いていません。
PC-2001は、PockEmulの実装を参考にさせて頂いております。
ヤルキーは、今年のエイプリルフールネタです(を

コモンソースコードプロジェクトを更新しました。
PC-2001で使用しているデバイスを追加しました。

2016/3/23
コモンソースコードプロジェクトを更新しました。
fmgenのPSGのインスタンスが複数生成された場合のボリューム調整の問題を修正しました。
ご指摘および修正ありがとうございました>umaiboux様およびArtane.様
また、uPD7801のHOLD/HDLA信号をサポートしました。
こちらはSCVでもFP-1100でも使っていないので、現状は意味はありません(苦笑)

eFM8/7/77/AV/AV40/AV40EXを更新しました。
Artane.様の2016/3/20のコミットを取り込んでいます。

EmuZ-80A/80K/1200を更新しました。
Suga様からご提供頂いておりました、ドットインパクトプリンタ MZ-80P3/P4の実装を取り込みました。
また、やはりSuga様からご指摘頂いておりました、SHIFTキーが効かなくなっていた不具合を修正しました。

EmuZ-2800を更新しました。
ダミープリンタのインスタンスの初期化が正しくされていなかった問題を修正しました。

2016/3/17
ePCEngineを更新しました。
ePCEngineについて、イースIIIのADPCMの再生の問題を修正しました。
また、サウンドのサンプルレートに44100/22050/11025Hzを指定した場合に特化して、
CD-DAの再生の処理の負荷を軽減しました。

コモンソースコードプロジェクトを更新しました。
ePCEngine絡みの修正の他、Artane.様の2016/3/11までのコミットの取り込みました。
(但し、FM7/77/77AV周りのコードを除く)
Artane.様のコードとの統合も、これで随分と進んだかと思います。

2016/3/16
ePCEngineを更新しました。
折角SCSIインタフェースをサポートしましたので、ついでにCD-ROM^2を実装してみました。
基本的には、MAME/MESSのTG16ドライバをベースに、一部Ootakeの実装を参照させて頂いています。

コモンソースコードプロジェクトを更新しました。
CD-ROM^2向けの、SCSI絡みの修正や、MSM5205のサポートを行っています。

2016/3/5
コモンソースコードプロジェクトを更新しました。
SCSIホストアダプタとデバイスのベースクラス、およびSCSIハードディスクドライブを実装しました。
まだ、FMR-30/50のために、i8237, MB8877, uPD71071を修正しました。

eFMR-30, eFMR-50/60/70を更新しました。
SCSIインタフェースと、SCSIハードディスクドライブをガチンコでサポートできました。
それに伴い、実機IPLを使用時は、疑似BIOSによらないディスクアクセスを実現しています。
実機IPLがない場合は、従来通り疑似BIOSが有効となります。

2016/3/1
コモンソースコードプロジェクトを更新しました。
専ら、ソースコードの整理を行いました。
また、Artane.様の2016/2/27のコミットの取り込んでいます。

eFM7/77/AV/AV40/AV40EXを更新しました。
また、eFM8をリリースしました。
Artane.様の2016/2/27のコミットを取り込んでいます。

2016/2/26
コモンソースコードプロジェクトを更新しました。
Win32側で、OSのバージョン判定の処理の修正をしました。
DirectInputで右シフトの取得の例外処理が有効になっていませんでした。
また、新しめのDirectX 9.0 SDKで、dinput.libが無い環境向けに、DirectInput8のコードを追加しました。
DirectShowからスクリーンバッファにコピーする際に、整数倍に拡大してからStretchBltするようにしました。

HD46505で、水平周波数だけでなく、ドットクロックも指定できるようにしました。
FP-1100, X1turboなど一部の機種で、正確なドットクロックを指定するように修正しています。

YM-2203で、リセット時に外部I/Oの値も初期化するようにしました。
EmuZ-2500で、 レイドックを起動してからIPLリセットすると、ディスクからブートしなくなる不具合を修正しました。

2016/2/21
コモンソースコードプロジェクトを更新しました。
MB8877について、レイドックなど異常なフォーマットのときのアクセス速度を調整しました。

EmuZ-2500を更新しました。
レイドックがブートしなくなっていた不具合を修正しました。

2016/2/19
コモンソースコードプロジェクトを更新しました。
主にソースコードの整理を行いました。
自動キー入力やジョイスティック関係の、機種非依存処理をOSDクラスからEMUクラスに移動したり、
Pulicなメソッド名を、一定の命名規則に沿って修正したりしています。
また、MZ-1P17のフォントROMが、MZ-80B/2200で正しく読み込まれない不具合を修正しました。

今回から、Visual C++2013でビルドするようにしました。
必要に応じて、適宜ランタイムをインストールしてください。
プラットフォームツールセットにv120_xpをしているので、XPでも動作するんじゃないかと思います。

EmuZ-2200を更新しました。
グリーンモニタの色が青色になる不具合を修正しました。
動作確認後に、ちょっとコードの整理をしようとしてエンバグしてたみたいです。

2016/2/17
コモンソースコードプロジェクトを更新しました。
YM2151, YM2203について、左右の音量を調整できるようにしました。
画面のアスペクト比4:3を指定できるようにしました。
ウィンドウモード、フルスクリーンモードそれぞれで別途指定します。
Z80DMAのバスリクエスト、バス開放に掛かるクロック数を修正しました。

EmuZ-2200を更新しました。
グリーンモニタ時、テキストカラーやバックカラーを反映しないように修正しました。
カラーモニタとグリーンモニタの同時接続時、左右を入れ替えられるようにしました。

2016/2/13
コモンソースコードプロジェクトを更新しました。
MZ-2500の九玉伝のような、不正?なフォーマットのタイミングの処理を修正しました。

また、MZ-1P17およびダミープリンタのリセット信号の処理を修正しました。
MZ-2200でプリンタが動作しなくなっていたのが修正されています。

EmuZ-2200を更新しました。
カラーモニタとグリーンモニタの同時接続をサポートしました。

2016/2/11
コモンソースコードプロジェクトを更新しました。
MB8877, T3444Aについて、Read/Write Sectorのタイミングを再度修正しました。
今度こそ大丈夫、の筈です。多分、きっと。

2016/2/10
コモンソースコードプロジェクトを更新しました。
ジョイスティックの設定をサポートしました。
また、先日実装したボリューム周りのコードを整理しました。

2016/2/7
コモンソースコードプロジェクトを更新しました。
各機種の音源について、左右の音量を調整できるようにしました。

EmuLTI 8を更新しました。
ビープ音をサポートしました。

2016/2/4
コモンソースコードプロジェクトを更新しました。
TMS9995のデバッガをサポートしました。
これに合わせて、ePyuTaでデバッガがサポートされています。

2016/1/16
もうちょっとだけ廃墟を更新しました。

2016/1/13
2日ぶりに廃墟を更新しました。

2016/1/11
7年ぶりに廃墟を更新しました。

2016/1/10
コモンソースコードプロジェクトを更新しました。
MZ-2/3モードやX1モード、BUSY/ACK信号の他デバイスへの接続をサポートしました。
主に、MZ-1P17やダミープリンタをMZ/X1シリーズに横展開するための修正です。

EmuZ-80B/2200, EmuZ-1500, EmuZ-2500, EmuZ-2800, EmuZ-3500, EmuZ-5500/6500, eX1/twin/turboを更新しました。
漢字サーマルプリンタ MZ-1P17をサポートしました。
また、出力したデータをそのままバイナリファイルに出力するダミープリンタをサポートしました。

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