#68 Article 1038 Posted at 1992/10/19 22:25:35 by HIROKI-O (MAP2860) [6809]

Subject: Re:*5 ざべ /1037 ... /1028 /1025

スレッド関係
元スレッド #68/1025 — 「ざべ」 1992/10/18 02:56:54 · Mai · MAP2260
今月のざべの書評欄で、”8ビットCPUながら1MBのメモリ空間を持ち、 OS/9でマルチタスクを実現していたCPU...6809”とか 書いてあったんですが、09って、少なくともCPUだけでは16ビットしか アドレス空間無いですよね? ひょっとすると、専用MMUとか出てたのかもしれませんが(FM-11とか 77AV辺りは確かにMMUつかって1MB使えたし)私の記憶には、 6809ファミリーの中に、そういうものがあった覚えがないんですが。…
     参照 #68/1028 — 「Re: ざべ /1025」 1992/10/18 03:37:24 · MASAMI KUN · MAP1400
6809といえば 以前 わたしに OS-9の問い合わせをされたかたは どなたでしたっけ.... FM-8用にはごちゃごちゃ 付いていたのですが という件です 当時 星光電子から出ていたOS-9は高値(高根)の花 だったのですが 富士通が4万ぐらいでさばいてくれたおかげで究極の8ビットに まともなマルチタスキングが堪能できましたっけ MASAMI KUN ♪♪
         返信元 #68/1037 — 「Re:*4 ざべ /1036 ... /1028 /1025」 1992/10/19 13:20:16 · Mai · MAP2260
S1も一応1MBのアドレス空間は実現されてましたね。 ただ、S1にせよ、FM-11にせよ、CPUの機能として(ここが重要) 1MBのアドレス空間が開かれてるのではないので、6809に 1MBのアドレス空間がある、というのは絶対に大嘘ではないかと。 去年、学校の実習でNECの怪しげな制御用1チップを使ったんですが、 これにはMMUみたいなのがファミリーに用意されてて、それを使うための 命令もCPUに用意されてた、と思います。 こういうのな…
             現在 #68/1038 — 「Re:*5 ざべ /1037 ... /1028 /1025」 1992/10/19 22:25:35 · HIROKI-O · MAP2860
                 返信先 #68/1039 — 「Re:*6 ざべ /1038 ... /1028 /1025」 1992/10/20 08:44:21 · Brain · MAP999
6809 とは懐かしい話題が出てきたものですね。 6809 は MPU 本体だけだと 16bit アドレスでしたけど、確かモトローラ純正の ページング MMU である 6829 というヤツが存在していたように記憶しています。 これだと 1MB ではなく 2MB までのメモリ空間が確保されていました。だけど、 こいつをちゃんと使っているマシンは記憶にありません。セカンドソースがなかっ たせいでしょうかね? 値段的に高かったように記憶してい…
スレッド全体を見やすく表示
>1MBのアドレス空間がある、というのは絶対に大嘘ではないかと。

これは微妙な点ではないかと(^_^;

確かに6809のアドレスは16ビットなんですが、理論上のメモリ空間は
こんな感じです。

バンク0	64KB	BASIC及びシステム用ワーク・I/O領域
バンク1	64KB	
	:
	:
バンクF	64KB
	合計1MB

BASICでもマシン語(あ、なつかしい響き)でもアクセス出来るのはバンク0のみ
なんですがI/Oポートと蹴っとばすとバンク0の8KB単位の任意の位置に
バンク0~Fのやはり8KB単位の任意の空間を捕まえて使う事が出来ます。
つまり6809単独ではなくてS1のファームウェアがあって初めて1MBの空間を
使用出来るのです。(ほとんどI/Oバンク方式)

これの弱点は
1.メモリを捕まえるアドレスを間違えて自分の空間に出現させて暴走させる事が
  できる。
2.メモリを捕まえるアドレスを間違えてI/Oアドレス(09のI/Oポートは
  Z80や86系と違い、メモリと同一の扱いを受ける)領域に出現させて
  すべてのI/Oポートを殺す事が出来る。
3.よほどうまくプログラミングしないと相対アドレスジャンプ(及び参照)が
  使えない。特にアセンブラの人にはむずかしい。
があります。

あとメモリの取扱いですが、メモリボードがつながっていてもメモリはどの空間にも
属していません。(もちろん亜空間でもない(^_^;)
I/Oポートを蹴とばして特定バンクの特定アドレスを呼び出そうとしてはじめて
S1本体から該当位置にメモリが割り当てられます。


>P.S.S1ってそんなにひどいですか?

んなわけでハードの設計思想に限って言えばそんなに悪い機種ではありません。
ただし、ソフトの開発者から見ると
1.メモリ容量の問題
	全体で32KBのメモリはすべて8KB単位で確保されてしまうので
	BASICのプログラムなんかを組むと
		スタック及び数値変数で8KB
		文字変数領域で8KB
	でプログラムエリア(マシン語領域を含む)が16KBしか無い。
2.開発用ソフト(特にアセンブラ関係)が全く無い
3.2Dモデルに2HDドライブはつかない。また、2HDモデルにも2Dドライブ
  はつかない。そのため、2HDの開発(アセンブラ)は以下の手順しかなかった。
	・FM-7のアブソリュートアセンブラでマシン語を作る。
	・自作のファイルコンバータで5”2Dto2Dのファイルコンバートを
	 行う
	・S1の2Dモデルで一度読み込み、カセットにセーブ
	・S1の2HDモデルでカセットから読み込む
	・2HDのFDにセーブ
4.これだけの手間をかけて2D、2HD、カセット版を作っても総出荷数は
  雀の涙程度。

だった訳です。
唯一の開発のメリットは
「一作出すとハイソフトがお金(開発補助金名目で数百万)をくれる」
だけでした。これって売れても売れなくても当時の弱小ソフトハウス(年商3億程度)
にとっては確実に見込める売上でしたからねぇ・・・

ずいぶんひどいいいぐさですが、ゲームソフト業界から足を洗ったから書けるんだろう
としみじみと感じてしまいました。

		「喉元過ぎれば熱さ忘れる」 HIROKI-O(MAP2860)

PS.どんなソフトを移植したか?
   オープニングタイトルで馬が左から右へかけぬけるK社のアレだったりして(^_^;