作りたいものに妥協しないために、会社を興してまで完成させた作品です。うれろー、うれろー。

2015年12月31日

2015年の総括

※ 本サイトに掲載したものと同じ内容です。

全ての国産PCのエミュレータを開発しようと始めたこの活動も、今年で12年目となりました。
unofficial nesterの開発から数えると、丸15年はエミュレータの開発に関わっていることになります。
来年には40歳になるのですが、これまでの人生の内、もうかなりの割合になってきました。
今後もライフワークとして続けていけるといいですね。

上の娘が幼稚園に通い始めました。
お絵かきが大好きなのですが、ぐちゃぐちゃ〜、から、写実主義の萌芽が見られるようになったと思うと、
急速に抽象化、キャラクター化が進んで行って、1年間の絵の変遷を見てると、とても面白いです。
下の娘も1歳になって、随分と自己主張が強くなってきました。
ものすごい健啖家で、驚くこともしばしばです。

今年は新ネタとして、SMC-777, JR-100, BASIC Master Jr, MZ-3500, EX-80をリリースしました。
MZ-3500は、7年以上も開発中のままだったのですが、ようやくリリースに漕ぎ着けることができました。
MZ-40KはOh!石さんがシミュレータを公開されていますので、後はMZ-6550だけですね。
それ以外は小ネタばかりですが、いい息抜きにもなって、実装していて楽しかったです。
各デバイスの再現性向上の役にも立ちますので、今後も時々この手の小ネタをやってみたいと思います。

今年の技術的なトピックは、FDC周りの改良でしょうか。

MB8877/uPD765Aでは、タイミングの精度向上、物理フォーマットコマンドの対応を図りました。
Z80SIOのタイミングの精度向上とあわせて、MZ-2500の勝手移植のソーサリアンや、
イース3のユーザディスク作成モードが正常動作するようになりました。
ともに、MB8877のIRQ/DRQが立つタイミングにあわせて、その合間にFM音源を叩くことで、
BGMを鳴らしながらのディスクアクセスを、DMAなしで実現しています。
これをサポートするために、MB8877やZ80SIOのタイミングの精度向上には随分と苦労しました。

また、東芝の最初期のFDCであるT3444Mを実装して、MZ-80Kのフロッピードライブ対応をしました。
T3444Mのエミュレーションは、もしかしたら、この界隈では初かもしれません。

また、プリンターのサポートも、技術的には大きなトピックです。
プリンターの仮想マシン部と、ビットマップやフォントの操作などの環境依存部の分離に腐心しました。
現状はSHARP MZ-1P17のみですが、2016年にはNEC PC-PR201のサポートもしたいと思います。

今年も多くの方にご協力いただきました。

MB8877/uPD765A/Z80SIOの再現性向上については、X1センターの佐藤様にお世話になりました。
T3444Mの実装と、MZ-80Kのフロッピードライブ対応については、Oh!石様、Enri様にお世話になりました。

えむけい様、Jason Hood様、sava様には、MS-DOS Playerの修正パッチをご提供いただきました。
V-TEXT対応、DOSエクステンダー対応など、別物といっていい程に実用性を向上することができました。

PI.様は、拙作のePC-8801MAベースで、XM8を公開されました。
XM8での修正を、私の方にも取り込ませていただき、PC-8801の再現性を向上することができました。
PI.様は私にとってお師匠様でして、私のソースを使っていただけたのは大変光栄です。

Artane.様には、FM-7/77/AVのドライバをご提供いただきました。
また、Artane.様とのコードの統合を進める過程で、VM, EMUクラスとOS/環境依存の処理の分離、
VC++以外の開発環境の対応など、共通部分の改良を大幅に進めることができました。
この点も、技術的に大きなトピックですね。

不具合報告、ご要望を頂いた方々もあわせ、お世話になりました皆様方に厚くお礼申し上げます。

日頃、多くの方にお世話になっているご恩返しという訳ではありませんが、ご要望に応えられるよう
今年は色々頑張ってみました。
MZ-80Kのフロッピードライブ、グリーンモニタ、PCG、ソフトウェアキーボード対応、
MZ-1500の縦画面対応、MZ-2500の勝手移植のソーサリアン、イース3の対応、
SMC-777, EX-80の実装、PC-9801シリーズの14音源対応など、結構な成果になったかと思います。
今後も、出来るだけ対応していきたいと思いますので、ご要望のある方は是非お知らせください。

本業もプライベートも多忙な一年でしたが、こうして振り返ってみると、機種数的にも技術的にも、
非常に実りの多い1年になりました。

2016年ですが、本業の方が、今年に比べても、より多忙になる見込みです。
どこまで作業を進められるか不安ですが、今度こそ、FM-16β, B-16, N5200, J-3100などの積みネタを
消化していきたいと思います。
目先の作業としては、Artane.様とのソースの統合作業、MZ-1P17のMZ/X1シリーズへの横展開、
PC-PR201のサポートを予定しています。
今年で機種数も80機種を超えましたので、100機種を目指して、小ネタもぼちぼち進めたいですね。

来年も頑張りますので、また一年お付き合いいただけましたら幸いです。
posted by 武田 at 15:40| Comment(1) | TrackBack(0) | 開発 | このブログの読者になる | 更新情報をチェックする

2015年12月30日

MZ-1P17

SHARPの漢字サーマルプリンタMZ-1P17をサポートしました。
現状はMZ-2500のみですが、今後MZ/X1シリーズに横展界していく予定です。

MZ-2500のPersonal CP/Mのハードコピーを印刷した結果はこんな感じです。

151230-1.png

何年もやるやる詐欺になってましたが、この年末になって漸くサポートできて一安心です。
来年は、NECのPC-PR201など他のプリンタもサポートできればいいのですが。

(2015/12/31 15:45追記)
アンダーライン、半角ひらがなモード、カラーモードをサポートしました。

151231-1.png 151231-2.png

MZ-1500対応ですが、MZ-2モードの実装が必要なので、ちょっと時間が掛かるかもです。
MZ-700のプロッタも対応したいのですが、技術資料ってどこかないでしょうか?
posted by 武田 at 15:15| Comment(4) | TrackBack(0) | 開発 | このブログの読者になる | 更新情報をチェックする

2015年12月15日

EX-80とTK-80BS

151215-1.png 151215-2.png

EX-80/TK-85関連の資料を譲っていただいたのと、
EMUクラスとWin32依存処理の分離の作業の動作確認込みで、
最近はEX-80やTK-80BSなどのワンボードマイコン系を色々作業していました。

久々にやってみると、ワンボードマイコンも面白いです。
在庫も色々あるし、暫くこちらを中心に攻めてみるのもいいかもしれないです。


今年も残り僅かで、更に新機種をやる余裕があるかどうか分かりませんが、
目先でやりたい作業を順不同で書きなぐってみると、

FM16β, FM-11, B16/32, if800モデル10, N5200/05mkII, LKit-16, SM-B-80TE, X-07+X-720,
JR-200, JR-800, PASOPIA5, FX-9000P, CEFUCOM-21, MARVEL2000, QEMU/9821A

辺りでしょうか。年内は一先ずFM16βを優先的に。
N5200やB16/32なんかも、技術資料がありましたらご提供いただけると助かりますです。

#EX-80をリリースして、これで機種名の数だと81機種、バイナリ数だと87個になりました。
#もう数年で100機種に到達したら、何かお祝いしたいなーとか思ってます(を
posted by 武田 at 03:21| Comment(6) | TrackBack(0) | 開発 | このブログの読者になる | 更新情報をチェックする

2015年09月08日

MZ-80K+MZ-80FIO+MZ-80FDと、BASIC Master Jr

150908-1.png

ご要望いただいておりました、MZ-80K+MZ-80FIO+MZ-80FDを実装しました。

MZ-80FIOは、東芝のT3444MというFDCを使用しています。
これがネット上では中々技術資料が見つからなくて困っていたのですが、
Oh!石さんから資料をご提供いただくことができました。
また、MZ-80FIOそのものは、Enriさんのサイトに解析資料がありましたので、
思いのほか短期間で実装を完了することができました。多謝多謝>お二方。

150908-2.png

BASIC Master Jrも実装してみました。
取り敢えずブートして簡単なプログラムが動くところまでですが、
おいおい完成度を向上させていければと思っています。
posted by 武田 at 00:18| Comment(0) | TrackBack(0) | 開発 | このブログの読者になる | 更新情報をチェックする

2015年08月28日

JR-100

150828-1.png

何となく、小規模なマシンの新規実装をしたいなーと思っていたところに、
たまたまEnriさんのサイトを見てまして。
CPUとVIAとCRTCとメモリだけかー、シンプルな構成だなーと思ったら、
つい発作的に実装してしまいました(を

もう何機種か、こんな感じで実装するかもしれません。
いっそバイナリ100個でも目指してみるか。
posted by 武田 at 01:16| Comment(0) | TrackBack(0) | 開発 | このブログの読者になる | 更新情報をチェックする

2015年08月21日

SMC-777

一部筋からご要望がありまして、盆休みに実装してみました。

WinSMCという良く出来たエミュレータが既にあるのですが、
こちらはデバッガーが充実しててソフト開発に便利だよーということで。

実機付属のハードウェア解説書と回路図集を持ってたので、実装は割と楽でした。
回路図が小さすぎて、拡大鏡が手放せませんでしたが(苦笑)

将来的にはSMC-70の対応もしたいと思っています。
技術資料をお持ちの方がいらっしゃいましたら、ご協力いただけますと幸いです。
回路図が掲載されてる月刊I/Oは確か持ってたかな?

150821-1.png150821-2.png150821-3.png150821-4.png

Common Source Code Projectでリリースしているエミュレータの実行ファイルも、
いつの間にやら82個になっていました。
PC-6001/6601とかMSXとかFM-7/77/AVとか、他の方に実装して頂いた機種もありますし、
PASOPIA7のLCD付とか、PC-8201の海外版とか、細かい違いで複数バイナリとかありますけど、
いつの間にやら随分と増えたものです。
どうりで全ビルドするのに時間がかかる訳ですね(苦笑)

SasajiさんのBML3とか、韓国の方が実装されたGoldStar FC-100とか、
まだ統合できてないプロジェクトもありますが。
多くの方に使っていただけるのは、本当にうれしい限りです。
昔野望のページに書いた、エミュレータのスケルトンとして、漸く実用的になってきたのかなと。

そういえば、Common Source Code Projectという名前ですが。
本来は、それまで実装してきたエミュレータを、単一のソースに統合するというプロジェクトの
名前でしかなかったんですよ。
ガンダムの統合整備計画とかと同じのりで、ちょっと厨二病的な。

それが、どういう訳か、エミュレータのニュースサイトで、Common Source Code Projectが
エミュレータの名前として紹介されてしまいまして、まあそのままでいいやーと。

私には割と良くある話です。Unofficial nesterのときとか(笑)
posted by 武田 at 01:26| Comment(4) | TrackBack(0) | 開発 | このブログの読者になる | 更新情報をチェックする

2015年05月28日

MB-H70のVDP周辺の写真

MB-H70のVDP周辺の写真です。
遅くなってしまい申し訳ありません。

IMG_6116.JPG

元画像はこちらにアップしてあります。
http://homepage3.nifty.com/takeda-toshiya/00tmp/IMG_6116.zip

#板金を固定しているネジがなめちゃってて、ここまでしか分解できませんでした。
posted by 武田 at 21:19| Comment(4) | TrackBack(0) | 開発 | このブログの読者になる | 更新情報をチェックする

2014年12月23日

ステートセーブ対応

例年だと、年末年始に何か新ネタを仕込むところなのですが。
この年末年始は、ステートセーブ対応に終始しそうです。

今晩までのリリースで、MZ-80B/2500, PC-8001mkIISR/8801MA, PCエンジンに対応しました。
年内にはMZ-2200も対応する予定です。

色々不具合があるかと思います。
よろしければ、いじめテストにご協力ください。

#今年はそもそも新作が殆どありませんでしたね。
#98U/VFはifdefを弄った位だし、実質PX-7だけという(苦笑)
posted by 武田 at 02:30| Comment(23) | TrackBack(0) | 開発 | このブログの読者になる | 更新情報をチェックする

2014年11月07日

MS-DOS PlayerとVZエディタ

141107-1.png

VZエディタを入手できたので、MS-DOS Player上での動作確認をしてみました。
IMEから漢字を正しく入力できない件を除いて、そこそこ動作していたようですね。

漢字の問題は、キーボードBIOSでキー入力の検出とキーコードの取得をしているのに、
何故かマルチバイト文字の2バイト目はMS-DOSのシステムコールで行っているのが原因でした。

キーボードBIOSでキー入力を検出、MS-DOSのシステムコールでキーコードを取得するケースは
EXDEBのために修正していたのですが、このケースは想像できなかった(苦笑)

取り急ぎ、今晩のリリースで修正しています。
VTDOSで動かす方が快適だろうとは思いますが、まあネタ程度に。


(2014/11/19 0:20追記)
BUPDATEでファイルを更新した際に、タイムスタンプが正しく更新されない不具合を修正しました。
Twitterの方でご指摘いただいた方、多謝多謝です。


(2014/11/30 17:30追記)
141130-1.png

キーボードコントローラ経由でのA20ラインの制御をサポートしました。
「はじめて読む486」のサンプルプログラムが幾つか動くようになっています。
ついでに、今回から486版のバイナリもビルドするようにしました。

また、int21h ax=5800h/5801h/5802h/5803hの仮サポートを行いました。
ただしUMBは未サポートのため、これらのサービスを実行してもエラーを返さない程度です。

例によって、Twitterの投稿から更新ネタを拾っています(を
不具合情報もっともっとプリーズです。


(2014/12/4 21:30追記)
141204-1.png 141204-2.png 141204-3.png

「はじめて読む486」のサンプルプログラムが更に幾つか動くようになりました。
テキストVRAM、UMB、キーボード割り込みの対応、タイマ割り込みの改良など、
ソースをもりっと大幅に書き換えています。
一通りテストはしていますが、何か不具合がございましたらお知らせください。

141204-4.png

タイマ割り込みの改良ついでに、CPUBENCHをテストしてみました。
私の開発環境では、i286版で80486DXの257MHz相当、i386版で102MHz相当の速度です。
思ったより高速に動いている感じですね。


(2014/12/6 14:40追記)
141206-1.png

VZエディタのGEME.DEFマクロが動くようになりました。
0x3daにあるCRTCのステータスレジスタの垂直同期信号をチェックしていたようです。

141206-3.png

i386/i486版の高速化を図りました。
CPUBENCHでみた限りでは、26%程度の高速化になっているようです。
posted by 武田 at 22:09| Comment(10) | TrackBack(0) | 開発 | このブログの読者になる | 更新情報をチェックする

2014年10月20日

コレクション整理中、その11

ハンドヘルド機もろもろ、一部ポケコンもあり。

EPSON HC-20
EPSON_HC-20_front.JPG EPSON_HC-20_back.JPG EPSON_HC-20_top.JPG

EPSON HC-40
EPSON_HC-40_front.JPG EPSON_HC-40_back.JPG EPSON_HC-40_top.JPG

EPSON HC-88
EPSON_HC-88_front.JPG EPSON_HC-88_back.JPG EPSON_HC-88_top.JPG

カシオ FP-200
CASIO_FP-200_front.JPG CASIO_FP-200_back.JPG CASIO_FP-200_top.JPG

ソード IS-11
SORD_IS-11_front.JPG SORD_IS-11_back.JPG SORD_IS-11_top.JPG

シャープ PC-1600KDX
SHARP_PC-1600KDX_front.JPG SHARP_PC-1600KDX_top.JPG

キヤノン X-07
CANON_X-07_front.JPG CANON_X-07_back.JPG CANON_X-07_top.JPG

松下電器 JR-800
National_JR-800_front.JPG National_JR-800_back.JPG National_JR-800_top.JPG

東芝 PASOPIA mini
TOSHIBA_PASOPIA_mini_front.JPG TOSHIBA_PASOPIA_mini_back.JPG TOSHIBA_PASOPIA_mini_top.JPG

NEC PC-8201
NEC_PC-8201_front.JPG NEC_PC-8201_back.JPG NEC_PC-8201_top.JPG

NEC PI-ET1
NEC_PI-ET1_front.JPG NEC_PI-ET1_top.JPG NEC_PI-ET1_side.JPG

PC-2001も持ってる筈なんだけど、まだ倉庫から発掘できていません。
その他、シャープやカシオのメジャーなポケコンが幾つか残ってますが、それはまたいずれ。
posted by 武田 at 23:30| Comment(2) | TrackBack(0) | 開発 | このブログの読者になる | 更新情報をチェックする
まるくん、がんばれ、ちょうがんばれ