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

2018年05月24日

Common Source Code Projectの100機種到達と、システムズフォーミュレート BUBCOM80

Common Source Code Projectで遂に100機種目のリリースを達成しました、Ураааааааа!!
unofficial nesterの開発開始が2000年9月ですから、もうすぐ18年間ですか。
いやはや何でも続けてみるものですね。
次の目標は128機種ですか、一体何時になることやら。

という訳で、記念すべき100機種目はシステムズフォーミュレート BUBCOM80でした。
実体としては、PC-8001+バブルメモリといったところでしょうか。

180524-1.png

BASIC ROMから起動したところ。
テキスト画面はDMAC(uPD8257)でRAMからCRTC(uPD3301)に転送して表示します。
フォントはRAMに格納されており、パターンを書き換えることが可能です。

180524-2.png180524-3.png

標準グラフィックは160x100で、テキスト画面にセミグラフィックで表示します。
高解像度グラフィックは640x200で、テキスト画面とは独立したVRAMを持ちます。
VRAMはI/O空間の4000h-FFFFhに割り当てられています。

180524-4.png

Z80CTCのZC/TO #0を分周してスピーカに出力しており、BEEP命令やPLAY命令に使用しています。
また、1秒おきに割り込みを発生して、TIME$の値をインクリメントします。
フロッピードライブI/Fを搭載した場合、I/F上のRTC(MSM5832?)から日時・時刻を取得します。
データレコーダのCSAVE,CLOADはSIO(MB8863H)経由で行います。


180524-5.png180524-6.png

PC-9801VX/RA, PC-98XL/RLやX1turbo/ZなどでSASI I/FおよびSASI HDDのサポートを行いました。
BIOSフックでなく、ガチンコでハードウェアからサポートしています。
PC-98エミュレータで使用されるTHD/NHD/HDI形式およびベタイメージをマウント可能です。
posted by 武田 at 02:28| Comment(4) | 開発 | このブログの読者になる | 更新情報をチェックする

2018年03月29日

RFC: Common Source Code Projectのデバッガの改良

Common Source Code Projectのデバッガの改良中です。
趣旨としては、操作対象のデバイスやCPUを切り替えられるようにしよう、というものです。
以下に試作版をアップしています。
http://takeda-toshiya.my.coocan.jp/00tmp/debugger.zip

私のエミュレータのデバッガを開発に使ってくださっている方がいらっしゃいましたら、
ご意見ご要望をコメントに頂けますと助かります。

180329-1.png

! device
とすると、仮想マシンの全デバイスを列挙します。
! device (id)
とすると、操作対象のデバイスを切り替えます。

ただし、CPUを実行するG,T,Pコマンドおよびブレークポイント関係のコマンドは、
デバッグ対象のCPUに対して実行されます。
T,PコマンドでCPUをステップ実行すると、CPUのレジストリ情報とあわせて、
操作対象のデバイスの情報が緑色で表示されますので、
例えば、サブCPUを操作対象にして、TコマンドでメインCPUをステップ実行しながら、
メインCPUとサブCPUの実行中の命令やレジスタの状態を並べて確認したり、
(メインCPUで1ステップ進める間にサブCPUが複数ステップ進む、といことはありますが)
サブCPUのメモリやI/O空間を操作したり、といったことが可能です。

! device cpu
とすると、操作対象のデバイスを元のCPUに戻すことができます。

180329-2.png

CPU以外を操作対象にすることができます。
例えばMB8877やuPD765Aを指定すると、FDCのレジスタ状態や実行中のコマンド、
現在アクセスしているセクタの情報を確認することができます。

180329-3.png

また、TMS9918を指定すると、D,EコマンドでVRAMの内容を表示・編集したり、
N,L,WコマンドでVRAMの内容をファイルに読み書きすることができます。
(元々は、たなむさんのTweetを見て、これがやりたかったのが発端です)

180329-4.png

デバッグ対象のCPUを切り替えることも可能です。
! cpu
とすると、仮想マシン中の(デバッガが付いている)CPUを列挙します。
! cpu (id)
とすると、デバッグ対象のCPUを切り替えます。

例えば、最初はメインCPUをデバッグ対象としてデバッガを立ち上げて、
サブCPUにコマンドを送ったところでブレークを掛けて、
サブCPUにデバッグ対象を切り替えて、サブCPUをトレースすることが可能です。

また、これは従来からサポートしていますが、T,PコマンドでCPUをステップ実行して、
CPUのレジストリの情報を表示する際に、
CPUの消費クロック数(起動時から・前回のブレーク時から)、
現在のスキャンラインが始まってからのクロック数、
現在のスキャンライン番号が表示されるようになっています。
HBLANK/VBLANKの間にVRAMに転送する処理を詰め込むような場合に便利かもしれません。
posted by 武田 at 01:34| Comment(7) | 開発 | このブログの読者になる | 更新情報をチェックする

2018年01月09日

FM16β

昨年末から本格的に作業を進めています。
取り敢えずCP/MやF-BASIC86がブートするところまでは実装できました。

180102-1.png180103-1.png180103-2.png

180109-1.png180109-2.png180109-3.png

まだまだ未実装な部分が多いですが、最低限キーボードを実装して
操作できるようになったら一旦リリースしようかと思います。
その後は、BLOGにコメントして頂いた内容を順次対応していく予定です。
posted by 武田 at 01:21| Comment(6) | 開発 | このブログの読者になる | 更新情報をチェックする

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(6) | 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(1) | 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) | 開発 | このブログの読者になる | 更新情報をチェックする

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