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

2017年05月20日

YAMAHA YISのグラフィックコマンド

170520-1.png

実機のフォントROMを読み込むようにしました。
これまでは自作のダミーフォントROMで開発していましたが、大分雰囲気が変わりますね。

170520-2.png170520-3.png170520-4.png170520-5.png170520-6.png170520-7.png

PU-1-20のグラフィックコマンドをサポートしました。
YIS GRAFで、実際にグラフを表示することができるようになりました。

170520-8.png170520-9.png170520-10.png170520-11.png

YIS BASIC上で、実装したグラフィックコマンドをテストしました。
Microsoft系のBASICとは異なるコマンド体系ですね。
posted by 武田 at 00:25| Comment(3) | TrackBack(0) | 開発 | このブログの読者になる | 更新情報をチェックする

2017年05月15日

X1turboZ

170515-1.png170515-2.png170515-3.png

X1turboZの多色モード周りをサポートしました。
対応ソフトが少なすぎて、ちゃんと実装できているか些か不安なのですが(苦笑)
特に64色/4096色モードのテストにご協力いただけますと幸いです。

資料関係は、例によって、X1センターの佐藤様に大変お世話になりました。
多謝多謝です。

(2017/5/17 21:50追記)
170517-1.png

X1センターの佐藤様に多色モードの検証用プログラムを作成して頂きました。
4096色モードや、64色モード2画面の重ね合わせなどが修正できているかと思います。
posted by 武田 at 22:29| Comment(0) | TrackBack(0) | 開発 | このブログの読者になる | 更新情報をチェックする

2017年05月13日

Common Source Code Projectの100バイナリ到達と、YAMAHA YIS

Common Source Code Projectで配布する実行ファイルが100個に到達しました。
2割弱は、Artane.さん、tanamさん、umaibauxさん、Sugaさんに
実装して頂いたものですが、まあ何とも結構な数になったものですね。

170513-1.png

100機種、ではないのです、まだ。
CPU違いとか、オプションボードの有無とか、日本版と海外版とか、
MSX汎用と特定機種とか、別バイナリになっている機種もありまして(を

別機種とする基準が難しいのですが、単純に機種名でカウントすると、
(FMR-30/50のCPU違いは1つに纏めるけど、FMR-60/70/80は別とか)
今のところ93機種くらいでしょうか。

#X1turboZを近々リリースできそうなので、直に+1になりますが(を
#その次は、PC-98RLかFM-16β辺り?

来年辺りには、機種数でも100機種を到達できるといいなあと思います。

170513-2.png170513-3.png170513-4.png170513-5.png

という訳で、記念すべき100バイナリ目は、まさかのYAMAHA YISでした。
日本のレトロPC界隈でも極めつけのUMAですね。
ネット上では、守谷様のサイトが一番情報が纏まっているかと思います。
ヤフオクでジャンク品が出品されたときは、まだ実機が現存したのか、
とびっくりしたものです。

6502ベースのCP/M風マシンで、SHARP MZ-2500やEPSON QC-10のような
柔軟なメモリマッパーと128KBのRAM、グラフィック用のサブCPUにZ-8001、
更にFDC+DMAC、浮動小数点演算用にAM9511を搭載するなど、
とても1982年の機種とは思えない、非常にリッチな構成です。
価格の方も、810,000円とそれ相応に超リッチだった訳ですが(苦笑)

エミュレータを実装していても非常に興味深い、楽しい機種でした。
まだ最大の特徴であるグラフィック回りが実装できていないのですが、
今後も継続して解析、実装していきたいと思います。

まあ、その辺りの話は本サイトの方を見ていただくとして。

170513-6.jpg170513-7.jpg

実は、今回の開発では、ヤマハ株式会社様に、ディスクやマニュアルなど
貴重な資料をご提供いただくなど、多大なご協力をいただきました。

2000年にunofficial nesterの開発を始めて、ずっとエミュレータの開発を
続けてきましたが、メーカ様にご協力いただけるのは初めての経験です。

#社内の方に個人的なメールをいただいたことならあるんですが(を

ご対応いただいたのは、マネージャクラスの大変偉い方だったのですが、
社内に散逸した資料を掻き集めて頂いたり、資料をスキャンして頂いたり、
もうもう大変にお骨折りいただきました。
わがままな依頼にも快くご対応いただきまして、
本当にどうお礼を申し上げればいいものやら、申し訳ない限りです。

また、守谷様には、ハードウェアの調査をご担当いただいたり、
ヤマハ様との仲介をしていただきました。

おかげさまで、日本のコンピュータ史的にも、とても重要な仕事を
させていただくことができました、本当にありがとうございます。

※ ご注意

まだ詳細はご紹介できませんが、諸々の事情がありまして、
ヤマハ株式会社様には、特別なご配慮を頂いたと理解しております。

一般に、ここまでのご対応をいただける訳ではないということを、
よくよくご承知おきいただきたく、
また本件について、ヤマハ株式会社にお問い合わせ等なさらないよう、
深くお願い申し上げます。
posted by 武田 at 18:04| Comment(1) | TrackBack(0) | 開発 | このブログの読者になる | 更新情報をチェックする

2016年12月31日

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機を今度こそ何とかしたいと思いますが、
本業や私生活もありますので、無理せずぼちぼち活動を継続していければと。

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

2016年12月29日

SM-B-80TE

161229-1.png

ほぼOh!石さん向けネタです。
数年前に入手していたのですが、ROMの吸出しが面倒で放置してました(苦笑)

本業多忙でここ半年ばかり活動できていませんでしたが、年末年始の休暇で
リハビリがてら何か簡単なものでも実装しようということで。
結局帰省前にROMの吸出しができなかったので、ユーザーズマニュアルの
モニタROMのリストから手入力しています(を
posted by 武田 at 18:38| Comment(1) | TrackBack(0) | 開発 | このブログの読者になる | 更新情報をチェックする

2016年04月02日

湯浅教育システム ヤルキー

今年のエイプリルフールネタということで、起動画面が出るところまででリリースしたのですが、
思いの外に早くカセットの読み込みができるようになったので、動画をアップしてみました。

公開については、もう少し作業を進めてからと思います。
カセットの停止、再生はできるようになったのですが、巻き戻し、頭出しの処理についても
解析をしてからにしようかと。
技術的にも中々興味深い点がありますので、そちらも纏めて公開したいところです。





ヤルキーは、いわゆる教育用コンピュータの走り的なものです。
カセットテープの音声に従って操作、学習をします。
高額で中々販売が伸びず、普及のため学習塾(現在のヤルキー学園)まで展開したとか。

余りネット上でも情報がなく、実態が知られていない本機。
この動画でどんな感じの機種だったのか、追体験いただければと思います。

YUASA_PM-1001_front.jpg YUASA_PM-1001_back.jpg YUASA_PM-1001_top.jpg
posted by 武田 at 23:41| Comment(13) | TrackBack(0) | 開発 | このブログの読者になる | 更新情報をチェックする

2016年02月11日

MB8877とT3444Aのタイミング

MB8877とT3444Aのタイミングを再々修正しました。
今度こそ大丈夫な筈、です、多分。

X1turboのアルファにおいて、オープニングデモの銃声が2重に再生されたり、
ポリスロボットにつかまった後にCGが化ける問題が解決しています。
同じくX1turboのイース2のオープニングのタイミングは、もうちょっとかな?

MZ-80KのSP-6010の起動も高速化しています。
むしろ実機より高速っぽいですが、これはモータが回転し始めて、回転が安定して
READYが返るまでの時間が入ってないのが原因かと思います。
次はこの辺の改良を進めたいですね。

私のFDCの実装では、ヘッドの現在位置を意識してタイミングを取得しています。

具体的には、最後にDRQが立ったときのヘッドの位置と仮想マシン内の時間を控えておいて、
そこからの経過時間と、ディスクの回転数、トラック長から、現在のヘッド位置を算出します。
また、インデックスホールを先頭に、トラック全体のデータの並びを生成することで、
各セクタのIDやデータが、トラック上のどの位置にあるかを取得します。

例えばREAD/WRITE SECTORでは、現在のヘッド位置から、アクセスするセクタの位置までの
ヘッドの移動量を算出して、アクセス開始までの待ち時間を決定するという塩梅です。

ここまでは従来からやっていたのですが、じゃあ何が問題だったかと言いますと。
最後の最後で、セクタの位置の配列の引数が間違っていて、別のセクタまでの移動量を元に
タイミングを算出していたという体たらくでして(苦笑)


この方式、各セクタのIDやデータの、トラック上の位置を正確に取得できるかが重要ですが、
現在のディスクイメージでは完璧な実装にならないのが悩みの種です。

例えばD88フォーマットでは、トラック長やセクタ間のギャップ長の情報がありません。
標準的なフォーマットであれば、規定値を元に算出できるのですが、
モータの回転数を落としてフォーマットすることで、トラック長を大きくしてやって、
その分セクタを余分に突っ込んでいるようなものもあったりする訳で。

さらに2D形式などのベタイメージだと、セクターのIDの順番に格納されていますので、
セクターの並び順すら確実ではなかったりします。

将来的には、KryoFluxのRaw Stream形式をそのまま扱えるようにしたいのですが、
まずはKryoFluxを購入するところから始めないといけませんね(を
posted by 武田 at 01:26| Comment(8) | TrackBack(0) | 開発 | このブログの読者になる | 更新情報をチェックする

2016年01月04日

ブラボー!おお・・・ブラボー!!

http://www.geocities.jp/upd780c1/pc-8001/note_c80.html

ORANGE...だと?

マイナー専としても片思いのライバルとしても、これは負けてられん、
だったらこっちはMARVEL 20000だー、と在庫を引っ張り出してきました。

基板を改めてみてみたら、ROM-F8とかROM-F0とか…
どうみてもApple][クローンです、本当に(ry

#いや、そうらしいとは聞いてたんですが(苦笑)
posted by 武田 at 21:53| Comment(5) | TrackBack(0) | 開発 | このブログの読者になる | 更新情報をチェックする

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) | 開発 | このブログの読者になる | 更新情報をチェックする
まるくん、がんばれ、ちょうがんばれ