番外編その6:FM-77用拡張メモリ他について(by はせりん)
本ページは、FM-77用の拡張メモリカードの話題をメインに、FM-77関係の重箱の隅をつつく
ようなネタをいくつか記載しています。
FM-77用拡張メモリカード
富士通からは、FM-77用の拡張メモリカードが2種類提供されています。
単品売りはされておらず、次のいずれかで入手することになります。
@400ラインセット(I) に含まれている 192KB拡張RAMカード \99,800
A400ラインセット(II) に含まれている 64KB拡張RAMカード \49,800
BFM-77L4 に標準実装されている 64KB拡張RAMカード \238,000
AとBは同じものです。
- @192KB拡張RAMカードです。
- 4層基板の上半分に、64Kbit DRAM が8x3=24個整然と並んでいます。
- AB64KB拡張RAMカードです。
- @の基板から128KB分のDRAMを引っこ抜いたのではなく、
回路やレイアウトの異なる専用設計となっているようです。
またコストダウンのためか、2層基板となっています。
- もっと気になるのは、64Kbit DRAM 8個は右隅に押しやられ、ロジック回路が増えている点です。
3rdパーティからは、32Pスロットに挿すタイプの拡張メモリが数種類発売されてましたが、
40Pスロット(+8Pスロット)に挿すタイプは、はせりんの知る限りこれだけです。
CRZ192 日本コムネット社製 \39,800
192KB RAMとZ80が1枚のボードに搭載されている優れものです。
Z80側からも 256KB アクセスできるようになっている点が、富士通製のZ80カードとの違いです。
- CRZ192です。
- ABのカードと似てDRAMが基板の右側にちょこんと8個搭載されています。
ただし使われているのは 256K Bit DRAM ですので、64K Byte分は使用不可の設計です。
(もったいない仕様です。RAMDISKとして使用可能であれば良かったのに。)
- このカードを使うと純正の192KB/64KB RAMカードや、Z80カードが無駄になって
しまうので、購入の際にはかなり勇気が必要だと思います。
FM-77の物理メモリマップ
$00000-+-------------+
| (拡張0) |
$10000-+-------------+
| (拡張1) |
$20000-+-------------+
| (拡張2) | : TEXT WINDOW対象領域
$30000-+-------------+
| RAM |
$38000-+-------------+ - +-------------+
| RAM | | F-BASIC ROM |
$3FC00-+-------------+ - +-------------+
| RAM |
$3FC80-+-------------+
| 共有RAM |
$3FD00-+-------------+
| I/O |
$3FE00-+-------------+ - +-------------+
| BOOT ROM | | RAM |
$3FFFF-+-------------+ - +-------------+
FM-77L4を除くFM-77シリーズの出荷状態では、$30000以降にメモリが搭載されており、
$00000〜$2FFFFの領域(図の拡張0/1/2の部分)に、上記@〜Cの拡張メモリカードを
挿入することで、メモリを拡張します。余談ですが、TEXT WINDOWは $20000〜$2FFFFの
領域(図の拡張2の部分)だけが対象です。(FM-11では1MBの全空間が対象なのですが...)
- 容量が192KBである、@及びCのカードは、そのまま$00000〜$2FFFFの領域
(図の拡張0/1/2の部分)を占有します。
- 容量が64KBである、ABのカードは、デフォルト状態では、$20000〜$2FFFFの領域
(図の拡張2の部分)を占有します。このカードはバンク切り替え回路を内蔵しており、
占有領域の変更が可能です。次のレジスタで設定します。
アドレス |
内容 |
リードライト |
機種 |
ビット構成 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
FD2F |
拡張RAM バンクセレクト |
R/W |
FM-77 64KB 拡張 RAM カード |
|
|
|
|
|
|
BK1 |
BK0 |
rst |
|
|
|
|
|
|
"1" |
"0" |
BK1 |
BK0 |
占有領域 |
"0" |
"0" |
$00000〜$0FFFF(拡張0) |
"0" |
"1" |
$10000〜$1FFFF(拡張1) |
"1" |
"0" |
$20000〜$2FFFF(拡張2) |
"1" |
"1" |
$30000〜$3FFFF(設定禁止) |
上記のレジスタは、64KB拡張RAMカードを装着した時のみ見えます。
なぜだか、このバンク切り替えの仕様についてはドキュメント化されていないようです。
富士通製のマニュアルや、Oh!FM誌1989年5月号掲載のI/Oマップには掲載されていません。
# Oh!FM誌1986年4月号に、青島千兵衛氏による「FM-77用64KB RAMカードの再拡張他」
# という記事が掲載されており、上記と同じ調査結果が得られています。(私よりも
# 27年も前に調査されています。LEDを点灯させて調査する等、かなり苦労されたようです。)
拡張メモリの利用
F-BASIC V3.5 では、$20000〜$2FFFFの領域(図の拡張2の部分)に拡張メモリが実装され
ていることが必須です。$00000〜$1FFFFの領域(図の拡張0/1の部分)にメモリが実装され
ている場合には、そこをRAMディスクとして使用します。(デフォルトのドライブ番号は8)
- 192KB拡張RAMカード搭載時には、128KBの容量のRAM DISKが使用可能です。
- 64KB拡張RAMカード搭載時には、FILES"8: とすると Device Unavailable !
とエラーになります。
本来動作保証対象外ですが、F-BASIC V3.3 L1x系は、FM-77でも起動します。(当然、
Type-A/BサブシステムやFM音源は使用できませんが。)
FM77AVとFM-77では物理メモリマップが異なるのですが、その辺の違いはF-BASIC V3.3 L1x系の
内部で吸収して、起動可能にしているようです。F-BASIC V3.3 L20/L30では起動しません。
FM-77用OS-9 Level 2では、$00000〜$0FFFFの領域(図の拡張0の部分)にメモリが実装され
ていることが必須のようです。従って、IPL中で$FD2Fのレジスタを設定しています。
(192KB拡張RAMカード実装時には、このレジスタ設定は影響しません。)
- 192KB拡張RAMカード搭載状態で FM-77用OS-9 Level 2を起動して、
mfree コマンドを実行してみました。
- $00000〜$0DFFFが使用されています。
$00000-+-------------+--
| | Used
$0E000-+ +--
| | ↑
$10000-+ 拡張RAM + |
| (192KB) | |
$20000-+ + Free 196KB
| | |
$30000-+-------------+ |
| RAM | ↓
$3F000-+-------------+--
| 共有RAM,I/O | Used
$3FFFF-+-------------+--
- 64KB拡張RAMカード搭載状態で FM-77用OS-9 Level 2を起動して、
mfree コマンドを実行してみました。
- やはり、$00000〜$0DFFFが使用されています。
ということは、$FD2Fのレジスタを使用している証拠です。
$00000-+-------------+--
| | Used
$0E000-+ 拡張RAM +-- ... リセット時の$20000〜$2FFFFではなく、
| (64KB) | Free 8KB こちらに拡張RAMが存在している。
$10000-+-------------+--
| (未実装) |
$20000-+-------------+ 使用不可
| (未実装) | ... リセット時にはこちらに拡張RAMが存在している。
$30000-+-------------+--
| RAM | Free 60KB
$3F000-+-------------+--
| 共有RAM,I/O | Used
$3FFFF-+-------------+--
- このように、OS-9 ではメモリが分断されていても正しく扱うことができます。
- 今回、久し振りに実機を起動してみました。
400ラインモニタがすぐに出てこなかったので、
400ラインカードを引っこ抜いて200ラインのモニタで表示しています。
- XM7のFM77AVモードで、FM-77用OS-9 Level 2を起動して、
mfree コマンドを実行してみました。
- FM77AVでは標準で$00000〜$0FFFFにメモリ実装されているので、
上のFM-77 + 64KB拡張RAMカードと同じ結果になります。
FM77AV用OS-9 Level 2も、$00000〜$0FFFFの領域(図の拡張0の部分)にメモリが実装され
ていることが必須ですが、FM77AVではこの領域のメモリは標準実装されてますから、特に
問題ありません。FM-77でFM77AV用OS-9 Level 2を使用する際には192をKB拡張RAMカード
用意する(ただし$10000〜$1FFFFの領域は非RAM扱いとなる)か、64KB拡張RAMカードしか
ない場合は後述のような細工をして$00000〜$0FFFFの領域にメモリを割り当てることが
必要です。
この辺りをまとめると、次のような表になります。
■=メモリ実装。□=メモリ非実装。◆=サブシステム。
◎=起動可能で制限なし。○=起動可能だが制限あり。△=起動時に細工必要。
|
┌ |
─ |
─ |
─ |
─ |
─ |
FM-7/77素状態 |
|
│ |
┌ |
─ |
─ |
─ |
─ |
FM-77 +64KBメモリカード(標準状態) |
|
│ |
│ |
┌ |
─ |
─ |
─ |
FM-77 +64KBメモリカード(切り替え時) |
|
│ |
│ |
│ |
┌ |
─ |
─ |
FM-77 +192KBメモリカード |
|
│ |
│ |
│ |
│ |
┌ |
─ |
FM77AV素状態 |
|
│ |
│ |
│ |
│ |
│ |
┌ |
FM77AV +64KBメモリカード/日本語カード |
$00000〜$0FFFF(Bank 0) |
□ |
□ |
■ |
■ |
■ |
■ |
|
$10000〜$1FFFF(Bank 1) |
□ |
□ |
□ |
■ |
◆ |
◆ |
|
$20000〜$2FFFF(Bank 2) |
□ |
■ |
□ |
■ |
□ |
■ |
|
$30000〜$3FFFF(Bank 3) |
■ |
■ |
■ |
■ |
■ |
■ |
|
======================= |
== |
== |
== |
== |
== |
== |
================================== |
F-BASIC V3.0 |
◎ |
◎ |
|
◎ |
◎ |
◎ |
|
F-BASIC V3.5 |
|
◎ |
|
◎ |
|
|
400Line Card必須 |
F-BASIC V3.3 L1x系 |
|
○ |
|
○ |
◎ |
◎ |
Type A Sub-Systemなくても起動 |
F-BASIC V3.3 L20/30 |
|
|
|
|
◎ |
◎ |
|
OS-9 Level 1 for FM-77 |
◎ |
◎ |
|
◎ |
◎ |
◎ |
|
OS-9 Level 2 for FM-77 |
|
|
◎ |
◎ |
○ |
○ |
400Line Cardなくても起動 |
OS-9 Level 2 for FM77AV |
|
|
△ |
○ |
◎ |
◎ |
Type A Sub-Systemなくても起動 |
参考:
64KBメモリカード付きのFM-77(FM-77+400ラインセットU、FM-77L4)で
FM77AV用OS-9 Level 2を起動するためのおまじない:
・一旦、ROM BASICで起動する。(ディスクを入れない)
・OS-9システムディスクをドライブ0にセットする。
・次のコマンドを入力する。
POKE &HFD2F,0 : EXEC -512
オマケコーナー
拡張RAMのみ装着し、400ラインカードを挿さない時の反応です。
- F-BASIC V3.5 は、左のようなメッセージを出して起動しません。
- FM-77用OS-9 Level 2 は、400ラインカードが装着していない旨アラームが出ますが、
そのまま200ラインモードで起動します。(再掲)
オマケコーナー2
上記Oh!FM誌1989年5月号掲載のI/Oマップですが、他にも誤記が見つかっています
ので紹介しておきます。ピンク色の部分が修正箇所です。
アドレス |
内容 |
リードライト |
機種 |
ビット構成 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
FD04 |
サブインタフェース、1MB FDC |
R |
|
|
|
|
|
|
|
BREAKキー |
ATTENTION |
|
|
|
|
|
|
|
0:オン 1:オフ |
0:あり 1:なし |
R |
L4 |
|
FDC切り換え |
漢字ROM切り替え |
400ラインカード |
400ラインモード |
|
|
|
|
0:1MB 1:320KB |
0:サブ 1:メイン |
0:接続 1:非接続 |
0:400ライン 1:200ライン |
|
|
|
W |
|
|
割込み切り替え |
|
|
|
|
0:SFDC 1:ノーマル |
|
|
rst |
|
"1" |
"1" |
|
"1" |
"1" |
|
|
W |
AV40 |
|
|
漢字ROM切り替え |
26万色 |
400ラインモード |
サブROMプロテクト |
|
|
|
|
0:サブ 1:メイン |
1:26万色 |
0:400ライン 1:200ライン |
0:プロテクト |
|
|
rst |
|
|
"1" |
"0" |
"1" |
"0" |
|
|
また、同じ内容の誤記が、富士通発行の下記ユーザーマニュアルにも存在しています。
なので、上記の誤記はOh!FM編集部の責任ではなく、元ネタが不正確であったのだと思います。
・82HM-001010-1 FM-77 ユーザーズマニュアル ハードウェア解説 1984年5月(富士通)
・82HM-001140-1 FM-77L2 ユーザーズマニュアル ハードウェア解説 1985年3月(富士通)
・82HM-001120-1 FM-77L4 取扱説明書(F-BASIC V3.5説明書) 1985年1月(富士通)
・82HM-001040-1 FM-77 400ラインセット取扱説明書(F-BASIC V3.5説明書) 1984年5月(富士通)
オマケコーナー3
今回も、64KB拡張RAMカードについて(途中までですが)解析を行いました。記録として残しておきます。
プリント板配線図(未完成)
- 途中まで回路を追っかけたのですが、$FD2F というアドレスが判明した時点で息切れして終了しています。orz
回路図(抜粋)
尚、本ページの各表の作成にはThinkさんのCSV→Table変換サイトのお世話になりました。
ありがとうございました。
参考文献
Oh! FM 1986年4月号 1986年4月1日(ソフトバンク)
Oh! FM 1989年5月号 1989年5月1日(ソフトバンク)
I/O別冊 FM-7/11活用研究[第2集] 1985年3月15日 (工学社)
82HM-001010-1 FM-77 ユーザーズマニュアル ハードウェア解説 1984年5月(富士通)
82HM-001140-1 FM-77L2 ユーザーズマニュアル ハードウェア解説 1985年3月(富士通)
82HM-001120-1 FM-77L4 取扱説明書(F-BASIC V3.5説明書) 1985年1月(富士通)
82HM-001040-1 FM-77 400ラインセット取扱説明書(F-BASIC V3.5説明書) 1984年5月(富士通)
F-BASIC起動画面集
F-BASIC詳細編
F-BASIC詳細編(その2:デモ画面集)
FM-11用F-BASIC
FM77AVシリーズ システムディスク編
FM77AVシリーズ デモ・入門ディスク編
CP/M-80編
CP/M-80 アプリケーション編
OS-9編を覗いてみる
FLEX編
FLEX アプリケーション編
F-BASIC ファイルシステム(およびその上位互換)上に構築されたOS、開発システム
FM-7/8シリーズ用プログラミング言語とその処理系
番外編(その2:勝手に誤記修正編)を覗いてみる
番外編(その3:6809用MMU考察)を覗いてみる
番外編(その5:FM-7,8シリーズのROM一覧)を覗いてみる
番外編(その6:FM-77用拡張メモリ他について)を覗いてみる
番外編(その7:FM-8/7/77/77AVシリーズの微妙な非互換性)を覗いてみる
番外編(その8:FM-7/8シリーズ用アドオンCPUカード)を覗いてみる
番外編(その11:FM-11,16シリーズのROM一覧)を覗いてみる
緊急特集:MB22603の秘密 を覗いてみる
FM-8改造 備忘録
--------
レベル3BASICとF-BASIC を覗いてみる
テクノポリス誌ナウシカベンチマークとミンキーモモベンチマーク
ASCIIART(マンデルブロ集合)ベンチマーク
漢字ROM博物館(情報募集中)
--------
電子工作のページ
各種電子デバイス関連
--------
入り口ページに戻る
ご意見、ご要望はこちらまで(笑)