So-net無料ブログ作成
検索選択
メッセージを送る

新プロダクト進行中 [近況報告]

前回、アセンブラのバグのせいで苦労している話を書きましたが、バグを回避するために試行錯誤している中で新たなプランを思いつきました。


元々は、機種毎に Dash-80 / Dash-80mk2 / Dash-80SR / Dash-88… と、複数のプロダクトを開発しようと計画していました。 しかし、機種毎のバージョン管理が煩雑になる事と、アセンブラのバグのせいで開発が思うように進まない事から、「Dash-80 補完計画」で書いたように、一旦ディスク版の開発を停止して ROM 版の開発に移行しようと決意しました。




ところが、ROM 版作成のためにヘッダーファイルを書き直していた時に、あるアイディアが…
「おっ、これなら複数のプロダクトを管理しなくても良いじゃん!」
急遽ディスク版の IPL を作ってみると…うまく動いてる!!!

という訳で ROM 版の製作は後回しにして、先にワンプロダクトで複数の機種に対応できる「Dash-8X(仮称)」(どこかのエミュレータでも似たようなネーミングのモノがありましたが^^;)を製作することに決めました。
方針がころころ変わってスミマセンm(_~_)m
なぜこのアイディアを早く思いつかなかったんだろ…反省。

NEC の PC-8001 / PC-8801 シリーズ(PC-88VA シリーズに関しては未定)で「Dash-8X」をドライブに挿入して起動すれば、「Dash-80」と同じ機能がどの機種でも使用できる…。
これが実現すれば、みんなハッピーになれる…かもね^^




Dash の機能は、ほとんどの部分がインテリジェント型のディスクシステム側で動いてます。
PC-8001 / PC-8801 シリーズを通じてディスクシステムは、後期に 2HD がサポートされたことを除いては幸いなことにほとんど変更されていません。
そのため、ディスクシステム側がメインとなるような DOS システムを作成すれば、機種毎の差異を吸収する部分を用意するだけで、PC-8001 でも PC-8801 でも PC-8001mk2SR 動いてしまうのです。
まあ、本体側ルーチンは Dash システムの BIOS みたいなものですね。

ディスクシステム側に DOS の機能の大半を置いてしまう方法のもうひとつの利点は、BIOS 部分さえ用意すれば Disk-BASIC 下位互換の「Dash-80」に限らず、様々な DOS が一度に複数の機種に対応できるという事です。
まあ、そんなシステムを新たに構築しようなんて奇特な方はおられないでしょうが。




BIOS 部分の役割は BASIC の命令文を解析してディスクシステム側へリクエストを送る機能と、ディスクシステム側から送られてきたコマンドに従ってメッセージの表示やデータの転送を行う機能だけと言っても過言ではありません。
極端なことを言えば、PC-8001 / PC-8801 シリーズ用のインテリジェント型のディスクシステムを繋げる事ができるなら、どんな機種でも対応可能なはずです。

Z80 以外の CPU を使用している機種だと BIOS 部分を新たに書き起こさないといけませんがね(笑)

nice!(1)  コメント(11)  トラックバック(0) 

nice! 1

コメント 11

apaslothy

8001/8801全機種共通システムディスクですか。
使う側は便利そうですが,開発する方は構造が複雑になって大変そうな印象を受けました。
それとも,共通化できる部分が多いので複数のプログラムを開発するよりはこちらの方がメンテナンスが楽になるのかな。

> まあ、そんなシステムを新たに構築しようなんて奇特な方はおられないでしょうが。
この共通FDDシステムを使用して,フリーの8x01用CP/Mを作成する人などが出てくると面白いのですね。
by apaslothy (2010-05-11 03:16) 

Thunderbolt

apaslothyさん、コメントありがとうございます。

>それとも,共通化できる部分が多いので複数のプログラムを開発するよりはこちらの方がメンテナンスが楽になるのかな。
ご指摘の通りです。
似たようなシステムを3つ作ってのメンテナンスよりも楽になる予定ではあります^^;

N-BASIC/N80-NASIC用、N80SR-BASIC用、N88-BASIC用の3バージョンを作成予定ですが、本体側のROM内ルーチン/ワークエリアアドレスと本体側サポートルーチンのメモリ配置が違う程度で、全体では95%以上同じモノです。
「それなら、1枚にまとめてしまえよ」…という訳です(笑)

by Thunderbolt (2010-05-11 04:53) 

しおんパパ

どもヾ(*^~^*)ノ
なんか大変そうですが頑張ってくださいp(´∇`)q
私には難しすぎてo(;゚∇゚)ゞ

ROM吸い上げやら、イメージ化やら相変わらず難航してますw
最近わかったのですが、READROMなどはmkIISR以降とかorz
今はカセットデッキとmkIIが健在のうちにとTransT88で頑張ってます。これは快調ですヨ(*^v゚)v
by しおんパパ (2010-05-11 22:11) 

あやちだいち

こんにちは!

良いアイディアができたとか、分からないなりに
いつも読ませてもらってます、笑
しおんパパさんと同じく難しすぎ...汗
そのぶんThunderboltさんのすごさを感じます!

自分はOSX用の「quasi88」のコンパイルに挑戦中...
材料はそろってて、かなり前から挑戦してるんですが
まったくうまくいきません。
そもそもコンパイルができません...苦笑
難しいです。
おそらくUNIXとかの方なら、なんだ簡単じゃん...と
数分でできるんでしょうね。



by あやちだいち (2010-05-12 02:29) 

Thunderbolt

しおんパパさん、nice! & コメントありがとうございます。

>なんか大変そうですが頑張ってくださいp(´∇`)q
どうも、ありがとうございます。
コメントを書いて頂けるだけで、励みになります^^

>ROM吸い上げやら、イメージ化やら相変わらず難航してますw
MacだとWinより、さらに一段ハードルが高いみたいですね。
お手伝いできることがあれば、気軽に声を掛けてください。

by Thunderbolt (2010-05-13 14:47) 

Thunderbolt

あやちだいちさん、コメントありがとうございます。

>そのぶんThunderboltさんのすごさを感じます!
いやいや、何もすごい事はしてませんよ(笑)
当時のプログラマなら、この程度の事は誰でもできます。

>自分はOSX用の「quasi88」のコンパイルに挑戦中...
「quasi88」ですか…。
Mac用のえみゅはよく知らないんですがコンパイルとなると、OS の知識と開発/プログラミングの知識が、ある程度必要となりますからね。
よい結果が出たら教えてください^^

by Thunderbolt (2010-05-13 16:52) 

あやちだいち

「quasi88」の結果報告

>>>自分はOSX用の「quasi88」のコンパイルに挑戦中...
>よい結果が出たら教えてください^^

昨日やっと起動まで出来てしまいました。
毎日やっていた訳じゃないんですが、足かけ1年...笑
でも応用もきかず自己流なんでおそらく違ってる
やり方なんだと思います、笑



by あやちだいち (2010-05-13 18:55) 

Thunderbolt

>昨日やっと起動まで出来てしまいました。
それは、よかったですね^^
足かけ1年ですか…お疲れ様でした。
コンパイル時にエラー/ワーニングが出ていないなら問題ないと思います。
やはりコンパイルだけとは言っても、Makefile の設定変更とか色々とハードルが高いのが現実です。
UNIX 環境だと仕方がないのかもしれませんが、OSX 専用ならバイナリ配布で対応できないものなのか…。
Mac には詳しくないので、見当はずれな意見かもしれません。

by Thunderbolt (2010-05-13 22:36) 

あやちだいち

>コンパイル時にエラー/ワーニングが出ていないなら
>問題ないと思います。
おそらく出ていなかったと思います。

Makefileの設定は付いていたDocを読んでわりと
楽にできたんです。と、言うよりはコンパイルそのものが最初分からなかったですね...汗
そこから知る必要がありました...笑

>UNIX 環境だと仕方がないのかもしれませんが、
>OSX 専用ならバイナリ配布で対応できないものなのか…。
「quasi88」はUNIX版のエミュレータなんです。
それをOSXはUNIXベースなんで使えるみたいなんです。

すみません...
何度もコメント書いてしまって...笑
by あやちだいち (2010-05-13 22:53) 

Thunderbolt

>すみません...
>何度もコメント書いてしまって...笑
いえいえ、無問題です^^

>「quasi88」はUNIX版のエミュレータなんです。
そうですね。
UNIX という「大きなくくり」だとソースでの配布しか方法がないのは当然なのですが、OSXというUNIXの中の「小さなくくり」だとバイナリ配布は可能ではないかと言うことです。
Windows 版はバイナリが配布されていますから…。

例えば、Z80ベースのマシン全般に対応するならソース配布でコンパイルの必要があるが、8001/8801 シリーズ専用ならバイナリの配布も可能じゃないか…と言う意味です。

by Thunderbolt (2010-05-14 12:17) 

jh

こんにちは、THUNDERBOLTさんapaslothy さん

メーカーのハードの仕様に縛らなければゲーム
もCP/Mも共通のものを作るのは簡単ではないでしょうか。X1はX1BIOSしかなくあとDISKDEFしかなく
BOOT CCP BIOS BDOSそのものの定義とマップが有りませんそれは他も例外なく公開していないと言う
事です各社ハードに依存がありFDCが違う為コントロールは全く違ってきます。MDS800 CP/Mシステム原版
購入しましたからオーダーに応じて専用CP/Mを作る事が可能です、が1つシステム原版を購入するか持っていてください
であればパッチは購入された方にするので専用システム
を原版から構築して起動するようバックアップで差s区政します、しかしオリジナルが売っていない今原盤を
バックアップして新たなシステムを作って収めるのには
パッチ費ではできません。他シリアルベンダーロックも
かけるので他人にコピーして動作させるのは今でも著作権侵害でしょう。


by jh (2012-02-10 03:32) 

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この記事のトラックバックURL:
※ブログオーナーが承認したトラックバックのみ表示されます。
※言及リンクのないトラックバックは受信されません。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。