誤記訂正(案) #以降ははせりんによる補足です。 36ページ 下から8行目、下から3行目、下から1行目 EXEC ロードアドレス,書き込みアドレス,書き込みデータ EXEC ロードアドレス,ファイル名,セーブ開始アドレス,終了アドレス,実行開始アドレス EXEC ロードアドレス,ファイル名[,[オフセット][,R]] ↓ EXEC ロードアドレス 書き込みアドレス,書き込みデータ EXEC ロードアドレス ファイル名,セーブ開始アドレス,終了アドレス,実行開始アドレス EXEC ロードアドレス ファイル名[,[オフセット][,R]] # ロードアドレスの直後は","(カンマ)ではなく、" "(半角スペース)にします。 # 各引数は、絶対値(&Hxxxx等)でも、変数でも、計算式でも構いません。 # 尚、ここで紹介されている裏RAMへのPOKEは、F-BASIC V3.02 ROM 専用となっており、 # V3.00、V3.01ではうまく動きません。動かし方は、補足の方で。 45ページ 図2.7 定数の中間言語、下から5行目 ┌──┬──┬───────┬──┐ 文字定数 │$22 │ │アスキーコード│$22 │ └──┴──┴───────┴──┘ ↓ ┌──┬───────┬──┐ 文字定数 │$22 │アスキーコード│$22 │ └──┴───────┴──┘ # 文字定数とか8進/16進定数は、中間言語というよりはアスキーコードでベタに # 入ってるだけと思うのですが... 86ページ 上から8〜9行目 なお、拡張コマンドテーブルと割り込みフックテーブルは、V3.3のときのみ存在します。 ↓ なお、拡張コマンドテーブルと割り込みフックテーブルは、サブシステムタイプA,Bのときのみ存在します。 89ページ 図4-3 メイン・サブインタフェース +-----------------+ HALT +-----------------+ | |<------------------------->| | | | BUSY | | | |<------------------------->| | | | CANCEL | | | メインシステム |<------------------------->| サブシステム | | | ATTENTION | | | |<------------------------->| | ↓ +-----------------+ HALT +-----------------+ | |-------------------------->| | | | BUSY | | | |<--------------------------| | | | CANCEL | | | メインシステム |-------------------------->| サブシステム | | | ATTENTION | | | |<--------------------------| | # 双方向矢印に違和感がありましたので。 # 確か富士通のマニュアルにもこう書いてあったように思います。 96ページ 図4-7D その他コマンド一覧 表の下から2行目 +----------+-----+-------- |DIZITIZE | $43 |デジタイズを行う +----------+-----+-------- ↓ +----------+-----+-------- |DIGITIZE | $43 |デジタイズを行う +----------+-----+-------- 144ページ 図5-22 SET TIMERのコマンド形式 の左上の表における、オフセット3の記号 +----------+------+-------- | 3 | RC |設定レジスタ選択フラグ +----------+------+-------- ↓ +----------+------+-------- | 3 | RS |設定レジスタ選択フラグ +----------+------+-------- # 152ページには正しい表記で掲載されていますので、単純誤記でしょう。 158ページ 上から1〜4行目 "0"のビット …… 2400Hz1波形 "1"のビット …… 1200Hz1波形 スタートビット …… "0"のビット1波形 ストップビット …… "1"のビット2波形 ↓ "0"のビット …… 2400Hz x 1波形 "1"のビット …… 1200Hz x 1波形 スタートビット …… "0"のビット x 1波形 ストップビット …… "1"のビット x 2波形 # 見易さを向上させました。 図7-2 カセットファイルのデータ波形 (右端) +---+ +---+ | | | | -+ +---+ +---- 0 0 <---------------> ストップビット ↓ +---+ +---+ | | | | -+ +---+ +---- 1 1 <---------------> ストップビット 下から2〜3行目 SAVEM "MDATA",&H5000,&H501E,&HH5010 として ↓ SAVEM "MDATA",&H5000,&H501E,&H5010 として 169ページ 図8-4 アロケーションマップ(V3.0) トラック0 (右端) セクタ 14 15 16 - - - - - +--+--+--+ 表面 リザーブ | - - - - - +--+--+--+ ↓ セクタ 14 15 16 - - - - - +--+--+--+ 表面 リザーブ |●|●|●| - - - - - +│+│+│+ │ │ └ DISKコード(初期化用) │ └─- PFDEF, DISKコード(初期化用、一部$FC00〜$FC28に転送される) └─── CONFIG (DISK版F-BASIC V3.0 L2.0以降) # 表面(SIDE=0)のセクタ15,16はIPLにより$6E00〜$6FFFにロードされ、 # 続いて裏面(SIDE=1)の全16セクタが$7000〜$7FFFにロードされ、 # まずは$6E00番地に飛んで来ます。DISK BASICの初期化後、F-BASIC ROMに戻ります。 # その際、$71D4 までのメモリを開放します。ただし、DISK版F-BASIC V3.0 L2.0以降では、 # $6EB9からの41バイトが$FC00以降に転送され常駐します。このため、$FC00〜$FC28の領域は # 他の用途に使えません。『重要』 # $6E03〜6EA2 までは PFKEY のデータが格納されています。 # $6EA3番地からの6バイトにDISKBASICのリリース日付が格納されています。 # 次の3種類が存在を確認されています。 # 821001 (DISK版F-BASIC V3.0 L0.0) # 830311 (DISK版F-BASIC V3.0 L1.0) # 840505 (DISK版F-BASIC V3.0 L2.0/L2.1) # CONFIGについては、補足説明の項で。 170ページ 図8-5 アロケーションマップ(V3.3) トラック0 (右端) セクタ 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 - - +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ トラック0 | DISKコード(F-BASIC V3.3用) | - - +-----------------------------------------------+ ↓ セクタ 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 - - +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ トラック0 | リザーブ | - - +-----------------------------------------------+ # 実際にはF-BASIC V3.0用のDISKコードの一部が格納されていますが、 # F-BASIC V3.0用のシステムDISKを作る際にはこのデータは使われず、 # v3.0sys として別ファイルに格納されているものを使います。 # v3.0sys は22レコードのランダムアクセスファイルになっており、 # 先頭の3レコードがトラック0セクタ1〜3、残りがセクタ14以降に # 格納されます。 # F-BASIC V3.3 L20については、補足説明の項で。 176ページ 図8-14 セクタシーケンス(V3.0) "SYSDSK"によって作られるセクタシーケンス +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16| +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ ↓ F-BASIC V3.0 L0.0/L1.0 の"SYSDSK"によって作られるセクタシーケンス +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16| +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ F-BASIC V3.0 L2.0 の"SYSDSK"によって作られるセクタシーケンス +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | 1|12| 7| 2|13| 8| 3|14| 9| 4|15|10| 5|16|11| 6| +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ # F-BASIC V3.0 L2.0のセクターシーケンスはF-BASIC V3.3のものと # 同じです。 178ページ 上から5行目 イニシェータROM ↓ イニシエータROM 197ページ 上から4行目 $7FE0〜$7FFF(V3.00)あるいは$FC29〜$FC48(V3.02)の領域を使用 ↓ $7FE0〜$7FFF(DISK版F-BASIC V3.0 L0.0)あるいは$FC29〜$FC48(DISK版F-BASIC V3.0 L2.0) の領域を使用 # V3.00 とか V3.02 は ROM版F-BASIC のバージョン表記ですので... # DISK版F-BASIC V3.0 にはいくつかマイナーバージョンが存在します。 # F-BASICバージョン 日付 $7FE0〜$7FFF $FC00〜$FC28 # DISK版F-BASIC V3.0 L0.0 821001 空き 空き # DISK版F-BASIC V3.0 L1.0 830311 空き 空き # DISK版F-BASIC V3.0 L2.0/L2.1 840505 使用 使用 # リスト8-7のプログラムでは、上記のうち 830311 の日付のバージョンに # 対応していないので注意が必要です。 229ページ 上から4行目 一方、FM77AVでは、従来のFM-7シリーズでオプションだったFM音源が標準実装となり、 ↓ 一方、FM77AVでは、従来のFM-7シリーズでオプション(FM-77L2を除く)だったFM音源が 標準実装となり、 244ページ 上から5行目 大好評だったFM音源カードは、FM77AVで標準実装となり、 ↓ 大好評だったFM音源カードは、FM-77L2及び、FM77AVシリーズで標準実装となり、 # マザーボード上に組み込まれたのは確かに FM77AV 以降ですが、... 250ページ 下から12,13行目 @コマンドレジスタ($FD0D)にステータスリードコマンド($04)を書き込む。 Aデータレジスタ($FD0E)からステータスを読む。 ↓ @コマンドレジスタ($FD15)にステータスリードコマンド($04)を書き込む。 Aデータレジスタ($FD16)からステータスを読む。 313ページ 上から6行目 なお、FM-7ではパレット番号0に対して黒のカラーコードしか設定できませんでしたが、 ↓ なお、F-BASIC V3.0ではパレット番号0に対して黒のカラーコードしか設定できませんでしたが、 # F-BASIC V3.0 の COLOR=(*,*) では指定できませんが、$FD38を書き換えれば # FM-7でもパレット番号0の色を自由に変更できます。 # 例:POKE -712,4 365ページ 上から1行目 V3.00では何と1回になっていました。V3.02、V3.3では、17回 ↓ DISK版F-BASIC V3.0 L0.0では何と1回になっていました。DISK版F-BASIC V3.0 L1.0 及びL2.0、F-BASIC V3.3以降では、17回 # V3.00 とか V3.02 は ROM版F-BASIC のバージョン表記ですので... # DISK版F-BASIC V3.0 にはいくつかマイナーバージョンが存在します。 # F-BASICバージョン 日付 FATセーブレート # DISK版F-BASIC V3.0 L0.0 821001 1 # DISK版F-BASIC V3.0 L1.0 830311 17 # DISK版F-BASIC V3.0 L2.0/L2.1 840505 17 # F-BASIC V3.3以降 - 17 # リスト14-10のプログラムでは、上記のうち 830311 の日付のバージョンに # 対応していないので注意が必要です。 375ページ 縦書きで2箇所あるうちの左側 SUB ADDRESS BUS ↓ SUB DATA BUS 中程の箱 GENARATOR ↓ GENERATOR 下の方の箱(TTL) PALLFTTE ↓ PALLETTE 385ページ 8. MMR/WINDOW etc. (右側中程) | LS367 | +-------+ |\_RD5___|1A 1Y|____MAB17__ |\___4___|6A 6Y|__ |\___3___|2A 2Y|__|_MAB15__ |\___2___|4A 4Y|__|_MAB14__ |\___1___|3A 3Y|__|_MAB13__ |\_______|5A 5Y|__|_MAB12__ | | M58 | | +-------○|G1 | | +-------○|G2 | | | +-------+ | ↓ | LS367 | +-------+ |\_RD5___|1A 1Y|____MAB17__ |\___4___|6A 6Y|__ |\___3___|2A 2Y|__|_MAB15__ |\___2___|4A 4Y|__|_MAB14__ |\___1___|3A 3Y|__|_MAB13__ \___0___|5A 5Y|__|_MAB12__ | M58 | | +-------○|G1 | | +-------○|G2 | | | +-------+ | 8. MMR/WINDOW etc. (右側下) LS139 | +-------+ | ----------|A Y0|○--------|----> *MCS0K(7-E2) ----------|B 1|○--------|----> *MCSI0K(M-F2) | M31 2|○--------|----> *MCS20K(32-C10) --------○|G 3|○--------|----> *MCS30K(3-H2) +-------+ | (7-E2) | -----------------------------|----> \ ----------------------------------> ↓ LS139 | +-------+ | ----------|A Y0|○--------|----> *MCS0K(7-E2) ----------|B 1|○--------|----> *MCS10K(17-F2) | M31 2|○--------|----> *MCS20K(32-C10) --------○|G 3|○--------|----> *MCS30K(3-H2) +-------+ | (7-E2) | -----------------------------|----> *WINDSEL(3-F2) \ ----------------------------------> MADDRBUS(1-C10)(2-C2) (3-C2)(4-A2)(5-B2) (8-H2)(13-C2)(17-A2) (30-C2)(32-A7)(35-A10) 414ページ 23. サブデコーダー (左側) LS244 +--------+ --MAB8---2|1A1 1Y1|18--MAB8-- | M147 | ↓ LS244 +--------+ --MAB8---2|1A1 1Y1|18--SAB8-- | M147 | 416ページ 24. サブROM/RAM (左側) (17-F10) SPADDRBUS >--- ↓ (17-F10) SRADDRBUS >--- 417ページ 24. サブROM/RAM (右側) MB83256 +--------+ --SDB0--10|A0 O1|11--SDB0-- | M171 | ↓ MB83256 +--------+ --SAB0--10|A0 O1|11--SDB0-- | M171 | LS245 +--------+ --MDB0---2|A1 B1|18--SDB0-- | M154 | ↓ LS245 +--------+ --SDB0---2|A1 B1|18--MDB0-- | M154 | 444ページ 38. I/O, RAMコネクタ (CON 1-2 I/O CONNECTOR) (省略) ↓ /-----------------------------------/------< EADDRBUS(13-A10) | /--------------------------------|--/--<> EDATABUS(13-C10) | | | | +--+ | | +--+ | | | 1|--EAB0--/ | |19|--EAB1--/ | | 2|-----2--/ | |20|-----3--/ | | 3|-----4--/ | |21|-----5--/ | | 4|-----6--/ | |22|-----7--/ | | 5|-----EDB0--/ |23|-----EDB1--/ | 6|--------2--/ |24|--------3--/ | 7|--------4--/ |25|--------5--/ | 8|--------6--/ |26|--------7--/ | 9|--------------< EQ(13-E10) |27|--------------< EE(13-F10) |10|--------------< *EIOS(13-F10) |28|--------------< *ERESETB(13-F10) |11|--------------< ERWB(13-G10) |29|-- |12|--------------> *EIRQ(13-G1) |30|--------------< 2.5MHz(6-A5) |13|-- |31|--------------< EXBUSDIR(5-E10) |14|-- |32|-----+ |15|-----+ |33|-----+ |16|-- | |34|-----|--------< +5V |17|-----+ |35|-- | |18|-----|--------< +5V |36|-- | +--+ | +--+ | --- --- /// /// # 著者の方の誤記ではなくて、富士通から提供された回路図がそもそも # おかしかったのだと思われます。 # ちなみにこのコネクタは外部にI/O拡張ボックスやFMミュージックボックス # を接続する際に使用します。FM-77、FM77AV20/40以降とはコネクタの信号線 # 仕様が異なっており、ケーブルに互換性がないので要注意です。 446ページ 39. I/Oコネクタ (左端の縦書き部分、90度左回転して最下行) CON 1-6(I/ONNECTOR) CON 1-6(I/ONNECTOR) ↓ CON 1-6(I/O CONNECTOR) CON 1-7(I/O CONNECTOR) # これも富士通から提供された回路図がおかしかったのだと思われます。 477ページ FD13 サブバンクレジスタの W の中の表 SE2 SB1 ↓ SB2 SB1 # ついでに。以下は誤記ではありませんが、Oh! FMのI/Oマップと表記を # 合わせた方がわかりやすいと思います。 旧サブモニタ 新サブモニタ3 (640x200モード用) 新サブモニタ3 (320x200モード用) ↓ 旧サブモニタ(タイプC) (640x200) 新サブモニタ(タイプA) (640x200) 新サブモニタ(タイプB) (320x200) 478ページ FD18 320KBフロッピーの W の中の表 Seek | 0000 1V10 ↓ Seek | 0001 1V10 # TYPE 1コマンドの下位2bitがどれも10になっていますが、 # 00 で問題ありません。(遭えて訂正はしませんが) 484ページ D410 論理演算の D2 D1 D0 の表 1 1 0 | TILB PAINT 1 1 1 | COMPERE ↓ 1 1 0 | TILE PAINT 1 1 1 | COMPARE 486ページ 上から12行目 7422〜 | EATイニシャライズ処理 ↓ 7422〜 | FATイニシャライズ処理 上から17行目 75FB〜 | EAT書き込み ↓ 75FB〜 | FAT書き込み 489ページ 上から19行目 9EA5〜9ECB | H 定数エントリ ↓ 9EA5〜9ECB | &H 定数エントリ 490ページ 下から5行目 BAF7〜BB35 | べき乗(Λ)エントリ ↓ BAF7〜BB35 | べき乗(^)エントリ 492ページ 上から10行目 C923〜C929 | CSRLIN 文エントリ ↓ C923〜C929 | CSRLIN 関数エントリ 501ページ 下から16行目 A4B3〜 | べき乗(Λ) ↓ A4B3〜 | べき乗(^) 504ページ 下から5行目 D3D3〜D4C5 | BASIM メインループ ↓ D3D3〜D4C5 | BASIC メインループ 505ページ 上から7行目 D65E〜 | ↓ D65E〜 | サブシステム初期化用RCBデータ 上から10行目 D6EA〜D6F0 | CSRLIN 文エントリ ↓ D6EA〜D6F0 | CSRLIN 関数エントリ 下から14行目 D8D9〜DA1C | FILE 文エントリ ↓ D8D9〜DA1C | FILES 文エントリ 506ページ 上から13〜14行目 E0F2〜E154 | COMI バイト出力処理 E158〜E1A0 | COMI バイト入力処理 ↓ E0F2〜E154 | COM 1バイト出力処理 E158〜E1A0 | COM 1バイト入力処理
補足説明(案) 主にFM77AV20/40シリーズ以降で拡張された点など。 16ページ 図1-7 RAM空間のメモリマップ (左下の部分) # 日本語カードに合わせてリリースされたF-BASIC V3.3 L20以降、および # F-BASIC V3.4ではメモリマップに変更があります。(テキスト領域が4KB # 減少してます。) ・・・・ | | | テキスト領域 | | | $0F000+--------------+ | 非常駐I | | (FM音源用) | $0FFFF+--------------+ ↓ ・・・・ | | | テキスト領域 | | | $0E000+--------------+ | 非常駐A | | (日本語処理) | $0F000+--------------+ | 非常駐I | | (FM音源用) | $0FFFF+--------------+ 23ページ 図1-11 イニシエータROMのメモリマップ # FM77AV20/40以降ではイニシエータROMの仕様変更があります。 $6000+--------------+ |イニシエータ域| $6200+--------------+ | あき | $6C00+--------------+ | 音色データ | ・・・・ | | $7800+--------------+ | BASIC BOOT | $7A00+--------------+ |320KB DOS BOOT| $7C00+--------------+ | あき | $7FFF+--------------+ ↓ $6000+--------------+ |イニシエータ域| $6200+--------------+ | あき | $6B00+--------------+ |機種判別コード| $6B00〜$6B13 の20バイト $6C00+--------------+ | 音色データ | ・・・・ | | $7800+--------------+ | BASIC BOOT | $FE00-$FFDFに転送される。 $7A00+--------------+ |320KB DOS BOOT| $FE00-$FFDFに転送される。 $7C00+--------------+ | NEW BOOT | $5000-$52FFに転送される。(AV20/40以降) $7F00+--------------+ | あきorナゾ | $FE00-$FFFFに転送される。(AV20EX/40EX/AV40SX) $7FFF+--------------+ # 機種判別コードは各機種で次のようになっています。 # 機種判別を行っているIPLでは、$6B0E〜$6B10の3バイトを参照している # ようです。(■の部分は$FFです。) # 0123456789ABCDEF0123 # FM77AV I-ROM111851002■■■ # FM77AV20 I-ROM210860926200Ma. # FM77AV20EX I-ROM220870821201Ma. # FM77AV40 I-ROM210860926400Ma. # FM77AV40EX,SX I-ROM220870821401Ma. AV20EX/40EX/AV40SX のイニシエータROMのNEW BOOTには、ナゾのブートデバイス からブートするコードがひっそりと格納されています。 上の図で、「ナゾ」の部分は通常は転送されず、ある条件が成立した時のみ 転送されます。 詳細については、いずれ時と場所を改めて解説したいと考えています。 34ページ 上から7〜8行目 イニシエータROMの中のBOOT ROMと同じ内容のものを$FE00番地以降に転送して、 $FE00番地にジャンプするのです。 ↓ イニシエータROMの中のBOOT ROMと同じ内容のものを$FE00番地以降に転送します。 FM77AVではその後$FE00にジャンプします。FM77AV20/40以降はその後$7C00以降に 配置されているNEW BOOTプログラムを$5000番地以降に転送して、$5000番地に ジャンプします。このNEW BOOTプログラムはBOOTモードによらず共通になっています。 すなわちDOSモードでもIPLが$100番地にロードされるため、ポジションインディ ペンデントに書かれていないIPLでは起動できません。(例:F-BASIC V2.0 5インチ版) # $FE00以降のBOOT ROM領域にはBOOTモードスイッチに従い常に正しいものが # 格納されますが、FM77AV20/40以降はそこにはジャンプしてきません。 # FM77AV20/40以降のNEW BOOTプログラムでは、どのドライブからでも起動 # できたり、物理ドライブ番号と論理ドライブ番号の対応付けを行ったり # する機能が追加されています。 上から17〜18行目 DOSモードの場合、ドライブ0、トラック0、セクタ1および2の内容(IPL)が、 $300番地以降に読み込まれます。そして、IPLが正常に読み込まれると、 $300番地のIPLにジャンプします。 ↓ FM-7/77およびFM77AVのDOSモードの場合、ドライブ0、トラック0、セクタ1および2の内容(IPL)が、 $300番地以降に読み込まれます。そして、IPLが正常に読み込まれると、 $300番地のIPLにジャンプします。FM77AV20/40以降はBASICモードと同じになります。 # FM77AV20/40以降は、BOOTプログラムの仕様が変更になっています。 36ページ リスト 1-14-1 7100 BD 99 F9 1A 50 F7 FD 0F E7 84 F5 FD 0F 1C AF 39 : 2C 7110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : 00 ↓ 7100 BD 99 F9 9E 4B 1A 50 F7 FD 0F E7 84 F5 FD 0F 1C : 2D 7110 AF 39 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : E8 # 元のリストは、F-BASIC V3.02 の ROM でのみ正しく動作します。 # これを、F-BASIC V3.0x ROM の全てのバージョン(V3.00/V3.01/V3.02) # で動くように修正したものです。 # 尚、実はこんなことをしなくとも、普通の POKE文で書き込みアドレス # として &H8000〜&HFBFF を指定すれば、裏RAMに書き込む事が出来ます。 52ページ 図2-13 V3.3のメモリマップ (右側のRAM空間のマップ) # 日本語カードに合わせてリリースされたF-BASIC V3.3 L20以降、および # F-BASIC V3.4ではメモリマップに変更があります。(テキスト領域が4KB # 減少してます。) ・・・・ | | $07C00+----------------+ ---- | テキスト領域 | ↑ |(ウィンドウ領域 | | | にマッピングさ | | | れて使用される)| ↓ $0F000+----------------+ ---- | BASIC領域 | |($D000〜$DFFFに | | マッピングされ | | て使用される) | $0FFFF+----------------+ ↓ ・・・・ | | $07C00+----------------+ ---- | テキスト領域 | ↑ |(ウィンドウ領域 | | | にマッピングさ | | | れて使用される)| ↓ $0E000+----------------+ ---- | BASIC非常駐A | (日本語処理) |($8000〜$8FFFに | F-BASIC V3.3 L20以降および F-BASIC V3.4のみ | マッピングされ | | て使用される) | $0F000+----------------+ | BASIC非常駐I | (FM音源用) |($D000〜$DFFFに | F-BASIC V3.3 L1x では $0F600-$0FFFFのみ使用 | マッピングされ | | て使用される) | $0FFFF+----------------+ # 追加です。 拡張RAM空間(日本語処理空間) マップ先 $20000+--------------------+ |日本語処理コード0/1 | ($8000〜$9FFF) $22000+--------------------+ |日本語処理コード2/3 | ($8000〜$9FFF) $24000+--------------------+ |日本語処理コード4 | ($7000〜$7FFF) $25000+--------------------+ |日本語処理コード5 | ($5000〜$5FFF) $26000+--------------------+ |日本語処理コード6/7 | ($5000〜$6FFF) $28000+--------------------+ - +--------------+ |日本語処理コード8/9 | | 辞書学習RAM | ($1000〜$2FFF) バッテリーバック $2A000+--------------------+ - +--------------+ アップされています。 |日本語処理コードA〜D| ($A000〜$DFFF) $2E000+--------------------+ - +--------------+ - - - - - - - - +--------------+ | あき | | 辞書ROM | ($3000〜$3FFF) | 拡張サブROM | $2F000+--------------------+ - +--------------+ - - - - - - - - +--------------+ | あき | $2FFFF+--------------------+ 拡張メモリカード 日本語カード FM77AV40EX/SX (日本語カード) 85ページ 上から5〜9行目 FM77AVのサブシステムには、次のような3つの動作タイプがあります。 @タイプC - - - 8色1画面(640x200ドット), FM-7完全互換 AタイプA - - - 8色2画面(640x200ドット) BタイプB - - - 4096色1画面(320x200ドット) それぞれのタイプにおけるメモリマップを、図4-1A、図4-1B、図4-1Cに示します。 ↓ FM77AVシリーズのサブシステムには、次のようないくつかの動作タイプがあります。 @タイプC - - - 8色1画面(640x200ドット), FM-7完全互換 AタイプA - - - 8色2画面(640x200ドット) ... FM77AV40EX/SXでは4画面 BタイプB - - - 4096色1画面(320x200ドット) ... FM77AV40EX/SXでは2画面 CタイプD - - - 8色1画面(640x400ドット) ... FM77AV40の場合。FM77AV40EX/SXでは2画面 DタイプE - - - 26万色1画面(320x200ドット) ... FM77AV40/EX/SXのみ それぞれのタイプにおけるメモリマップを、図4-1A、図4-1B、図4-1C、図4-1D、図4-1Eに 示します。 86ページ 図4-1A タイプAのメモリマップ ページ0 ページ1 $0000+------------+------------+ | VRAM(青) | VRAM(青) | $4000+------------+------------+ | VRAM(赤) | VRAM(赤) | $8000+------------+------------+ | VRAM(緑) | VRAM(緑) | $C000+------------+------------+ | | ↓ FM77AV40EX/SXのみ使用可能 ← ブロック0 → ← ブロック1 → ページ0 ページ1 ページ0 ページ1 $0000+------------+------------+ +------------+------------+ | VRAM(青) | VRAM(青) | | VRAM(青) | VRAM(青) | $4000+------------+------------+ +------------+------------+ | VRAM(赤) | VRAM(赤) | | VRAM(赤) | VRAM(赤) | $8000+------------+------------+ +------------+------------+ | VRAM(緑) | VRAM(緑) | | VRAM(緑) | VRAM(緑) | $C000+------------+------------+ +------------+------------+ | | 87ページ 図4-1B タイプBのメモリマップ ページ0 ページ1 $0000+---------------+---------------+ |VRAM(青)バンク3|VRAM(青)バンク1| $2000+---------------+---------------+ |VRAM(青)バンク2|VRAM(青)バンク0| $4000+---------------+---------------+ |VRAM(赤)バンク3|VRAM(赤)バンク1| $6000+---------------+---------------+ |VRAM(赤)バンク2|VRAM(赤)バンク0| $8000+---------------+---------------+ |VRAM(緑)バンク3|VRAM(緑)バンク1| $A000+---------------+---------------+ |VRAM(緑)バンク2|VRAM(緑)バンク0| $C000+---------------+---------------+ | | ↓ FM77AV40EX/SXのみ使用可能 ← ブロック0 → ← ブロック1 → ページ0 ページ1 ページ0 ページ1 $0000+---------------+---------------+ +---------------+---------------+ |VRAM(青)バンク3|VRAM(青)バンク1| |VRAM(青)バンク3|VRAM(青)バンク1| $2000+---------------+---------------+ +---------------+---------------+ |VRAM(青)バンク2|VRAM(青)バンク0| |VRAM(青)バンク2|VRAM(青)バンク0| $4000+---------------+---------------+ +---------------+---------------+ |VRAM(赤)バンク3|VRAM(赤)バンク1| |VRAM(赤)バンク3|VRAM(赤)バンク1| $6000+---------------+---------------+ +---------------+---------------+ |VRAM(赤)バンク2|VRAM(赤)バンク0| |VRAM(赤)バンク2|VRAM(赤)バンク0| $8000+---------------+---------------+ +---------------+---------------+ |VRAM(緑)バンク3|VRAM(緑)バンク1| |VRAM(緑)バンク3|VRAM(緑)バンク1| $A000+---------------+---------------+ +---------------+---------------+ |VRAM(緑)バンク2|VRAM(緑)バンク0| |VRAM(緑)バンク2|VRAM(緑)バンク0| $C000+---------------+---------------+ +---------------+---------------+ | | # 追加です。 図4-1D タイプDのメモリマップ (FM77AV40/EX/SX) FM77AV40EX/SXのみ使用可能 ← ブロック0 → ← ブロック1 → バンク0 バンク1 バンク2 バンク0 バンク1 バンク2 $0000+--------+--------+--------+ +--------+--------+--------+ | | | | | | | | |VRAM(青)|VRAM(赤)|VRAM(緑)| |VRAM(青)|VRAM(赤)|VRAM(緑)| | | | | | | | | $8000+--------+--------+--------+ +--------+--------+--------+ |使用禁止| $C000+--------+--------+--------+ |ワーク |ワーク |ワーク | | RAM0| RAM1| RAM2| $D000+--------+--------+--------+ |ワーク | $D380+--------+ |共有RAM | $D400+--------+ |I/O | $D500+--------+ |ワーク | $D800+--------+--------+--------+--------+--------+--------+--------+--------+ |CG/SUB |CG/SUB |CG/SUB |CG/SUB |CG/SUB |CG/SUB |CG/SUB |CG/SUB | | RAM0| RAM1| RAM2| RAM3| RAM4| RAM5| RAM6| RAM7| $E000+--------+--------+--------+--------+--------+--------+--------+--------+ | | |SUB8A | | (RAM)| $FFFF+--------+ 図4-1E タイプEのメモリマップ (FM77AV40/EX/SX) バンク0 バンク1 バンク2 $0000+---------------+---------------+---------------+ |VRAM(青)バンク5|VRAM(青)バンク3|VRAM(青)バンク1| $2000+---------------+---------------+---------------+ |VRAM(青)バンク4|VRAM(青)バンク2|VRAM(青)バンク0| $4000+---------------+---------------+---------------+ |VRAM(赤)バンク5|VRAM(赤)バンク3|VRAM(赤)バンク1| $6000+---------------+---------------+---------------+ |VRAM(赤)バンク4|VRAM(赤)バンク2|VRAM(赤)バンク0| $8000+---------------+---------------+---------------+ |VRAM(緑)バンク5|VRAM(緑)バンク3|VRAM(緑)バンク1| $A000+---------------+---------------+---------------+ |VRAM(緑)バンク4|VRAM(緑)バンク2|VRAM(緑)バンク0| $C000+---------------+---------------+---------------+ |ワーク RAM0 |ワーク RAM1 |ワーク RAM2 | $D000+---------------+---------------+---------------+ |ワーク | $D380+---------------+ |共有RAM | $D400+---------------+ |I/O | $D500+---------------+ |ワーク | $D800+---------------+--------+--------+--------+-----+-----+-----+-----+ |CG/SUB RAM0 |CG/SUB |CG/SUB |CG/SUB |空き |空き |空き |空き | | | RAM1| RAM2| RAM3| RAM4| RAM5| RAM6| RAM7| $E000+---------------+--------+--------+--------+-----+-----+-----+-----+ | | |SUB8B (RAM) | | | $FFFF+---------------+ 88ページ # FM77AV40/EX/SXのサブシステムに関する追加です。 FM77AV40/EX/SXでは、サブシステムモニタ及びキャラクタROM領域において、 RAMモードが追加されます。メインCPU側のサブバンクレジスタ($FD13)のビット2で 制御します。(リセット時はROMモード) ROMモード RAMモード ← → ← (FM77AV40/EX/SXのみ使用可) → $C000+-------+ $C000+-------+------+------+ |ワーク | |ワーク |ワーク|ワーク| | RAM| | RAM0| RAM1| RAM2| $D000+-------+ $D000+-------+------+------+ |ワーク | |ワーク | $D380+-------+ $D380+-------+ |共有RAM| |共有RAM| $D400+-------+ $D400+-------+ |I/O | |I/O | $D500+-------+ $D500+-------+ |ワーク | |ワーク | $D800+-------+------+------+----+ $D800+-------+----+----+----+----+----+----+----+ |カナCG |かなCG|SUB |SUB | |SUB |SUB |SUB |SUB |SUB |SUB |SUB |SUB | | ROM| ROM| ROM1|ROM2| | RAM0|RAM1|RAM2|RAM3|RAM4|RAM5|RAM6|RAM7| $E000+-------+------+------+----+ $E000+-------+----+----+----+----+----+----+----+ | | | | | | |SUB7A |SUB7B |旧SUB | |SUB RAM| | ROM| ROM| ROM| | | $FFFF+-------+------+------+ $FFFF+-------+ # SUB ROMに関する追加です。 上記の通り、CG ROMやSUB ROM1/2 はサブシステム側で切り替え、 サブシステムタイプA, B, C のROMはメインCPU側で切り替えますが、 その実体は1つのROM(MB83256 or M5M23256)に格納されています。 SUBSYS/CG ROM アドレスマップ 0 +--------+ |カナCG | $800 +--------+ |かなCG | $1000 +--------+ |SUB ROM1| サブシステムタイプA/B共通ROM1 $1800 +--------+ |SUB ROM2| サブシステムタイプA/B共通ROM2 $2000 +--------+ |SUB7B | サブシステムタイプB $4000 +--------+ |SUB7A | サブシステムタイプA $6000 +--------+ |SUB_C | サブシステムタイプC $7FFF +--------+ # ↑この情報は本邦初公開と思います! サブシステムタイプD, E については上記のRAMモードにおける SUBRAM 領域($D800〜$FFFF)に格納されて実行されます。 FM77AV40 では、F-BASIC V3.4、OS-9 Level 2 等のシステムディスクに 格納されているメモリイメージを SUBRAM 領域に転送します。 FM77AV40EX/SX では、拡張ROMと言うか統合ROM(MB834200)内に格納されて いるメモリイメージを SUBRAM 領域に転送します。 拡張ROM(統合ROM) アドレスマップ 0 +--------+ |辞書ROM | 256KB $40000 +--------+ |漢字ROM | 128KB JIS78 第一水準漢字ROM(FM77AV40EX/SXでは未使用) $60000 +--------+ |SUB8A | 24KB サブシステムタイプD (400ラインサブ) $66000 +--------+ |SUB8B | 24KB サブシステムタイプE (26万色サブ) $6C000 +--------+ |空き | $78000 +--------+ |FBASIC | 32KB F-BASIC V3.02 $7FFFF +--------+ # 尚、この拡張ROM(統合ROM)は日本語通信カードで使用されているのと同じ物です。 169ページ 図8-4 アロケーションマップ(V3.0) トラック0 (右端) セクタ 14 15 16 - - - - - +--+--+--+ 表面 リザーブ | - - - - - +--+--+--+ ↓ セクタ 14 15 16 - - - - - +--+--+--+ 表面 リザーブ |●|●|●| - - - - - +│+│+│+ │ │ └ DISKコード(初期化用) │ └─- PFDEF, DISKコード(初期化用) └─── CONFIG (DISK版F-BASIC V3.0 L2.0以降) CONFIGのセクタは富士通のマニュアルでは「システム定数テーブル」と 呼ばれています。SYSUTYという恐ろしく使い勝手の悪いプログラムで設定 させられます。(F-BASIC V3.3 L20以降ではいくらかマシになってますが) F-BASIC V3.0 L2.x ではセクタ14がCONFIGのセクタですが、F-BASIC V3.5 以降(V3.3, V3.4)はセクタ5に移動しています。 仕組みとしては、(DISK版)F-BASIC初期化作業中にCONFIGセクタを読み込み、 設定アドレスと設定値のペアを指定通りに書き込みます。通常はF-BASIC のワークエリアに書き込みますが、アドレスや設定値のチェックは一切行われ ないので、BASICのパッチ当てにも使用可能だと思います。 CONFIGのセクタのデータ構造は、各機種共通になっています。 相対番地 内容 0 設定数(0〜85) 1-$55 設定値(1バイト) $56-$FF 設定アドレス(2バイト単位) +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F 00: 07 00 00 00 00 0D 00 00 00 00 00 00 00 00 00 00 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 50: 00 00 00 00 00 00 FF EA FF EB FF EC FF ED 01 E3 60: 05 BD 05 DC 00 00 00 00 00 00 00 00 00 00 00 00 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <省略> F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 F-BASIC V3.0 L2.x のCONFIGセクタ(トラック0、セクタ14) F-BASIC V3.0 L2.x 設定可能項目 (7項目) 各ドライブのステップレート(FM-NEW7の初期ロットのBOOT ROMのみ有効) プリンタに改行コードを送る際マスクするコード ターミナルモードのブレーク信号送出時間 ターミナルモードでSHIFT-INコードを付加するか否か アドレス 設定値 $FFEA $00=薄型ドライブ(Step rate=6ms), $02=厚型ドライブ(Step rate=20ms) $FFEB 同上 $FFEC 同上 $FFED 同上 $01E3 $0D=CRコードをマスク、$0A=LFコードをマスク、$00=マスクしない $05BD $00=100msec 〜 $80=12900msec $05DC $00=付加する、$FF=付加しない # FM-7で設定可能な項目は非常に少ないので、このCONFIG機能はほとんど # 忘れさられていると思います。 F-BASIC V3.3 L1x 設定可能項目 (22項目) 各ドライブのステップレート 論理ドライブと物理ドライブの対応付け プリンタに改行コードを送る際マスクするコード ハードコピー印字色(黒色/灰色/白色) ターミナルモードのブレーク信号送出時間 ターミナルモードでSHIFT-INコードを付加するか否か コントロールコード系の切り替え(F-BASIC or ADM-3A) TERMコマンドのデバイス(COM0:〜COM4:) ハードコピー印字色(黒色/白色) XON/XOFF のコード ハードコピー後の行位置調整(ドット補正)有り/無し プリンタの種類 グラフィックカラー省略時の色 アドレス 設定値 $FFEA $00=薄型ドライブ(Step rate=6ms), $02=厚型ドライブ(Step rate=20ms) $FFEB 同上 $FFEC 同上 $FFED 同上 $FC30 $F0=物理ドライブ0 〜 $F3=物理ドライブ3 $FC31 同上 $FC32 同上 $FC33 同上 $FC00 $0D=CRコードをマスク、$0A=LFコードをマスク、$00=マスクしない $FC05 $96=黒印字色(bit76543210=白黄水緑紫赤青黒) $FC06 $68=灰印字色(bit76543210=白黄水緑紫赤青黒) $FC08 $00=100msec 〜 $80=12900msec $FC09 $00=付加する、$FF=付加しない $FC0A $00=ADM-3A、$FF=F-BASIC $FC0B $00=COM0: 〜 $04=COM4: $FC0E $FE=黒印字色(bit76543210=白黄水緑紫赤青黒) $FC0F $11=XONコード $FC10 $13=XOFFコード $FC11 $01=ドット補正あり、$81=ドット補正なし $FC12 $17=シリアル-1/漢字、$0D=シリアル-2、$0F=熱転写/ビジネス $FC13 $00=前回COLOR設定値、$FF=テキスト色と同じ $FC14 $01=シリアル-1/シリアル-2、$00=熱転写/ビジネス、$02=漢字 $FC12 $FC14 シリアル-1 $17 $01 シリアル-2 $0D $01 熱転写/ビジネス $0F $00 漢字プリンタ $17 $02 F-BASIC V3.3 L20 / V3.4 L10 設定可能項目 (23項目) F-BASIC V3.3 L1x 設定可能項目に加えて、 ハードコピー 重ね打ち回数 アドレス 設定値 $FC1A $00〜$03 F-BASIC V3.3 L30 / V3.4 L2x 設定可能項目 (26項目) F-BASIC V3.3 L20 設定可能項目に加えて、 CIRCLE文の比率省略値 アドレス 設定値 $FC1D $75=640x200時の比率 ($75=0.449、$80=0.5、$FF=0.999) $FC1E $E6=320x200時の比率 ($E6=0.899、$C0=0.75、$FF=0.999) $FC1F $E6=640x400時の比率 ($E6=0.899、$E0=0.875、$FF=0.999) ... V3.4のみ 尚、$FC12,14の設定値が若干追加されています。 $FC12 $FC14 シリアル-1 $17 $01 シリアル-2 $0D $01 熱転写/ビジネス $0F $00 漢字プリンタ-1 $17 $02 漢字プリンタ-2 $17 $04 (モノクロとカラーで設定値は同じ) F-BASIC V3.5 設定可能項目 (30項目) F-BASIC V3.3 L1x 設定可能項目に加えて、 論理ドライブと物理ドライブの対応付け(1MBドライブ、RAMディスク対応) ビジネスプリンタ漢字出力詳細設定(先送り/後送りスペース、桁ピッチ) アドレス 設定値 $FC30 $F0=物理ドライブ0 〜 $F7=物理ドライブ7、$FE=RAMディスク $FC31 同上 $FC32 同上 $FC33 同上 $FC34 同上 $FC35 同上 $FC36 同上 $FC37 同上 $FC38 同上 $FC17 $04=一文字印字前の先送りドット数 $FC18 $04=一文字印字後の後送りドット数 $FC19 $24=桁ピッチ(ドット数) プリンタの選択($FC12,14)は少ないです。 SYSUTYプログラム上では、$$FC12=Printer Type、$FC14=Printer Kind と呼んで区別しています。前者はHARD COPYに関係するパラメタ、後者は 漢字出力に関するパラメタのようです。(F-BASIC V3.5添付のSYSUTYプロ グラムでは別々に設定するようになっています。) $FC12 $FC14 シリアル $17 $01 ビジネス $0F $00 漢字プリンタ $17 $02 170ページ 図8-5 アロケーションマップ(V3.3) # 図8-5 では F-BASIC V3.3 L1x のマップが示されています。日本語カード # に合わせてリリースされた F-BASIC V3.3 L20 では下記の通り若干変更・ # 追加があります。 セクタ 1 2 3 4 5 6 7 8 9 1011121314151617181920212223242526272829303132 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ トラック5 | 非常駐3 BASICコード | 非常駐2 | 非常駐I(OPN-BIOS) | +-------------------------------+-----------+-------------------+ ↓ セクタ 1 2 3 4 5 6 7 8 9 1011121314151617181920212223242526272829303132 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ トラック5 | 非常駐3 BASICコード | 非常駐2 BASICコード | +-------------------------------+-------------------------------+ セクタ 1 1617 32 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ トラック10 | 非常駐A BASICコード | 非常駐I(OPN-BIOS) | +-------------------------------+-------------------------------+ セクタ 1 1617 32 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ トラック11 | 日本語処理コード0 | 日本語処理コード1 | +-------------------------------+-------------------------------+ セクタ 1 1617 32 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ トラック12 | 日本語処理コード2 | 日本語処理コード3 | +-------------------------------+-------------------------------+ セクタ 1 1617 32 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ トラック13 | 日本語処理コード4 | 日本語処理コード5 | +-------------------------------+-------------------------------+ セクタ 1 1617 32 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ トラック14 | 日本語処理コード6 | 日本語処理コード7 | +-------------------------------+-------------------------------+ セクタ 1 1617 32 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ トラック15 | 日本語処理コード8 | 日本語処理コード9 | +-------------------------------+-------------------------------+ セクタ 1 1617 32 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ トラック16 | 日本語処理コードA | 日本語処理コードB | +-------------------------------+-------------------------------+ セクタ 1 1617 32 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ トラック17 | 日本語処理コードC | 日本語処理コードD | +-------------------------------+-------------------------------+ # ごらんの通り日本語処理コードによりユーザーエリアがかなり圧迫されて # います。2DDディスクが必要となる訳です。 # 非常駐A BASICコードと非常駐I(OPN-BIOS)は、それぞれ物理アドレスの # $0E000〜、$0F000〜 に格納されます。新しく非常駐A BASICコードが # 追加された分、BASICのテキスト領域が 4KB 減少します。 # 日本語処理コード'*' は、それぞれ物理アドレス$2'*'000〜に格納されます。 8-1-4 IDセクタ 下から4行目 システムが参照しているのは、最初の1文字("S")だけで、次の2文字("YS")は、 ユーティリティなどで使用されています。 ↓ F-BASICが参照しているのは、最初の1文字("S"または"E")だけで、次の2文字 ("YS"または"SY")は、IPLやユーティリティなどが参照しています。 "S " 2Dまたは2HDのユーザーディスク、F-BASIC V1.0/V3.0のシステムディスク "E " 2DDのユーザーディスク "SYS" 2Dまたは2HDのシステムディスク(F-BASIC V2.0〜V5.0) "ESY" 2DDのシステムディスク(F-BASIC V3.3L20/L30、V3.4L10/L2x) システムディスクはDISKコードやサブシステムコード等が格納されている ためユーザー領域が少なくなっています。 下から1行目 これらは、AUTOUTYを使用すると書き込まれます。 ↓ これらは、AUTOUTYあるいはSETUPユーティリティを使用して変更します。 6バイト目は、F-BASIC V3.0 L21、V3.3 L20以降 及び V3.4システムディスク においてのみ有効で、FM77AV20/40以降で起動時にRS-232Cの設定を行います。 次のビットが意味を持ちます。 bit 765 通信クロック:000=内蔵CLK、001=ST2端子、010=RT端子、 011={TX=内蔵CLK,RX=RT端子}、100={TX=ST2端子,RX=RT端子} bit 432 ボーレート(bps):000=300/1200、001=600/2400、010=1200/4800、 011=2400/9600、100=4800/19200 bit 1 RS-232C: 0=使用しない、1=使用する bit 0 0=リザーブ 7バイト目は、F-BASIC V3.4 のシステムディスクにおいてのみ有効で、 起動時の画面モードやRAMディスクの有無、サブシステム常駐を切り替えます。 次のビットが意味を持ちます。 bit 7 サブシステムタイプD,Eの拡張RAM内常駐: 0=しない、1=する ... AV40のみ bit 6 RAMディスクの利用: 0=しない、1=する bit 2345 リザーブ bit 0 起動時の画面モード: 0=400ラインモード、1=200ラインモード 8バイト目は、F-BASIC V3.3 L20以降 及び V3.4 のシステムディスクにおいて のみ有効で、起動時のキーボードモードを切り替えます。 $00 小文字 $01 大文字
いきなり誤記訂正から入る書評も珍しいと思います。 (というか、大変失礼?) この書籍は最近入手して読み始めたのですが、ちょっともの足りない内容でした。 永らく入手できなかったので期待しすぎていたのかもしれませんが。 (作者の方ごめんなさい) このページは発展途上であり、随時追加していく予定です。 追伸: この書籍の、初版以外をお持ちの方は、はせりんの見つけた誤記が 修正されているかどうか知りたいので、ぜひご連絡をお願いします。参考文献
誤記訂正(案) 9ページ 下から4行目 $39(=DTS)が入って ↓ $39(=RTS)が入って 45ページ リスト中のコード $00D4 26 02 BNE *+3 ↓ $00D4 26 02 BNE *+4 $C766 26 02 BNE *+3 ↓ $C766 26 02 BNE *+4 77ページ 上から11行目 "LOAD"という中間コード(=$)の後ろに ↓ "LOAD"という中間コード(=$AB)の後ろに 87ページ 上から11行目 このBASICインタプリタが主動しているときは、 ↓ このBASICインタプリタが起動しているときは、 上から17行目 128Kバイトの領域 ↓ 128バイトの領域 129ページ 中ほどのタイトル ブザー音ストップルーチン(BEEOF) ↓ ブザー音ストップルーチン(BEEPOF) 184ページ 上から7行目 DISKモードのBASICであればDISK ROMを使うので ↓ DISKモードのBASICであればBASIC ROMを使うので 上から9行目 それ以外のBASICではすべてをロード ↓ それ以外の各種OSではすべてをロード 185ページ 下から16行目 I/Oアドレスの$FD18〜$FD1Aを ↓ I/Oアドレスの$FD18〜$FD1Bを 下から11行目 ディスクドライバの状態を示します。 ↓ ディスクドライブの状態を示します。 187ページ リスト中のコメント 00013 FE17 26 05 FE1E BNE $FE1E 押されていなければ$FEIEへ ↓ 押されていなければ$FE1Eへ 189ページ フローチャート中、上から2つ目の◇(分岐条件の記載漏れ) ↓ | NO/\  ̄ ̄\/ |YES 190ページ リスト中のコメント 00227 FFAE C5 40 BITB #$40 ディスクライトプロテクテクティッド? ↓ ディスクライトプロテクティッド? 191ページ フローチャート中のコメント(左下の◇) PRQ ↓ DRQ 193ページ リスト中のコメント 00089 FEA1 86 06 LDA #$06 カウンド値を612セット ↓ カウント値を6にセット 00090 FEA3 4A DECA タイムオバーー? ↓ タイムオーバー? 198ページ 下から4行目 $A00回ループで ↓ $A000回ループで 200ページ リスト中のコメント(右下) RESTOE ↓ RESTORE 203ページ フローチャート中のコメント(右下から2つ目の□) BEEPI(ブザーON) ↓ BEEP1(ブザーON) 207ページ 下から12行目 20mμcタイマールーチン ↓ 20msecタイマールーチン 下から11行目 NEW7ではCPUのクロックを調べずに2MHz動作時のカウンタ値に固定されています。 したがって1.2MHzで動作させている場合には、このタイマは1.7倍長くなります。 しかし、多少長い分には何ら支障もありません。 1.2MHzで動作させることは滅多にありませんから、これでもよいのではないでしょうか。 ↓ NEW7の初期ロットのROMではCPUのクロックを調べずに1.2MHz動作時のカウンタ値に固定されています。 したがって2MHzで動作させている場合には、このタイマは0.6倍に短縮されます。 これは1msec/20msec/1secの全てのタイマーに影響します。 213ページ 上から8行目 IPLのスタート番地は$00番地 ↓ IPLのスタート番地は$100番地 215ページ 下から7行目 セクタ1から6までの計4Kバイト ↓ セクタ1から16までの計4Kバイト 303ページ 下から7行目 メインI/Oの$FD03(IPQの場合)〜 ↓ メインI/Oの$FD03(IRQの場合)〜 305ページ 上から3行目(タイトル含めて) 要求先を答えず、 ↓ 要求先を問わず、
補足説明(案) 93ページ 下から5行目 リクエストは残っていますが、現在富士通ではFM-7用のバブルはサポート していません。 ↓ F-BASIC V3.00、V3.01 ではこのリクエストは残っていますが、V3.02 から はリザーブ扱いに変更になっています。また富士通ではFM-7シリーズ用の 32KBバブルはサポートしていません。 179ページ 下から3行目 (また、第3章でも述べますが、バブル用のブートROMも残っています。) ↓ ... 第3章では一言も触れられていません。残念。 FM-7のユーザーズマニュアルには、DIPスイッチの1番と2番でブート ローダーの切り替えである旨説明されていますが、2bitですから本来 4つ選択できるはずなのに、次の2つしか記載されていません。 1234 ON □□■■ F-BASICモード(ROM or DISK) OFF■■□□ 1234 ON □■■■ DOSモード OFF■□□□ では、残りの2つはどうなのかというと、中身は格納されているのですが、 実際には使えません。 1234 ON ■□■■ 32KBバブルカセットからのブート OFF□■□□ 1234 ON ■■■■ (永久ループ) OFF□□□□ DIPスイッチと、ブートROMのバンク切り替えの関係は次の通りです。 選択されたブートROM領域が、メインメモリ空間の$FE00〜$FFFFにマッピング されます。($FFE0〜$FFFDを除く) $000+---------+ | BANK0 | ROM or DISK BASIC Boot $200+---------+ | BANK1 | 32KB Bubble Boot with 320KB FDD $400+---------+ | BANK2 | 320KB DOS Boot $600+---------+ | BANK3 | (永久ループ) $7FF+---------+ BANK1には、FM-8用の32KBバブルカセットホルダーを何らかの手段でFM-7に 接続できた場合に、バブルカセットから起動するコードと、320KBフロッピー ディスクのアクセスルーチン(DOSモードと同等のもの)が格納されています。 FM-8用のブートROMのBANK1にもバブルカセットからのブートコードが書かれて いますので、その名残なのか、あるいはFM-7用にバブルメモリカセットを提供 する計画があったのか、今となっては謎です。 # 本サイトの番外編7、6. ブートROMの項にも書いてますが、FM-77のブートROMには、 # さらに128KBバブルカセットからのブートコードがこっそりと格納されています。 180ページ 下から2行目 注)FM-77 では、バブル関係の〜 ↓ 注)F-BASIC V3.02 では、バブル関係の〜 186ページ 下から1行目 注) ブートプログラム中では、この信号線を単なるI/O信号として使っています。 ↓ ... ブートROM内のリード/ライトルーチンでは割り込み処理を使わずに フロッピーディスクドライブとのデータ転送を行っています。 IRQ、DRQ信号は$FD1F番地のビット6,7にマッピングされており、 シフト命令と条件分岐を駆使して効率よくプログラム転送を実現しています。 この何気ないビット配置も、ソフト屋さんとハード屋さんが協力して決定した 結果であると想像されます。 この方式のデメリットとしては、データ転送中は割り込み禁止にする必要があることです。尚、IRQ信号はCPUのIRQ端子にも接続されており、FlexやOS-9では割り込み処理を用いてデータ転送を行っています。205ページ 下から1行目 FM-7のROMとは取り替えてはくれません。 ↓ FM-7のROMを改良ROMとは取り替えてはくれません。 306ページ 下から2行目 PSG(AY-3-8913) ↓ PSG(AY-3-8910 もしくは AY-3-8913)
いきなり誤記訂正から入る書評も珍しいと思います。 (というか、大変失礼?) この書籍は、補足の最後にある「改良ROM」に関して、FM-NEW7の初期ロット が入手難である現在、ほぼ唯一の入手手段となっているだけに、大変貴重 な書籍であると言えます。 内容としては、 1. F-BASICの内部動作 2. BIOSの動作 3. ブートROMの動作 4. DISK BASICのIPLの動作 5. サブシステムの動作 6. 割り込み処理 が書かれていて、半分位が逆アセンブルリストの解説になっています。 あとは理解を深めるための実際に動作するサンプルプログラムもいくつか 掲載されています。 この手の解析本としては、秀和の解析マニュアルシリーズが有名ですが、 この書籍も(誤記がたくさんある点を除いて)かなりお勧めだと思います。 追伸: この書籍の、初版第1刷以外をお持ちの方は、はせりんの見つけた誤記が 修正されているかどうか知りたいので、ぜひご連絡をお願いします。
誤記訂正(案) 47ページ 下から14行目 EXEC_&EC72_"mml-string" ↓ EXEC_&HEC72_"mml-string" 82ページ 下から9行目 (12) 16進2桁出力 (M$H20) ↓ (12) 16進2桁出力 (M$H2O) 83ページ 上から3行目 (13) 16進4桁出力 (M$H40) ↓ (13) 16進4桁出力 (M$H4O) 156ページ 下から7行目 $05E5に1が設定されていますので、 ↓ $05E5に$01または$11が設定されていますので、 #DISK BASICのバージョンにより初期値が異なります。 #詳細はこちらのページを参照ください。 314〜315ページ BASICプログラム上の行数で表示 10280行の末尾 ... ELSE 1030 ↓ ... ELSE 10330 10300行の末尾 ... ELSE 1030 ↓ ... ELSE 10330 10530行の末尾 ... " "+ID$(FIN$(I),9,3) ↓ ... " "+MID$(FIN$(I),9,3) 10690行の末尾 ... Pleas.";I ↓ ... Please.";I 10870行の末尾 ... (CHR$&H30+DRVTO)+":"+FI1$):GOTO 10900 ↓ ... (CHR$(&H30+DRVTO)+":"+FI1$):GOTO 10900 10880行の末尾 ... (CHR$(&H3+DRVTO)+":"+FI1$+"."+MID$(FI2$,1,LEN(FI2$))) ↓ ... (CHR$(&H30+DRVTO)+":"+FI1$+"."+MID$(FI2$,1,LEN(FI2$))) 10980行の末尾 ... COD=";ERR:END ↓ ... CODE=";ERR:END #長い行を改行する際に1文字抜けているようです。
いきなり誤記訂正から入る書評も珍しいと思います。 (というか、大変失礼?) この書籍も最近入手して読み始めたのですが、ちょっと期待したものと違い がっかりしました。表紙に77L4と書いてあるため、400ラインセット系の解析 があると期待したのですが、そうしたハード解析は全くありませんでした。 永らく入手できなかったので期待しすぎていたのかもしれませんが。 (作者の方ごめんなさい) 内容としては、 1. コマンド拡張方法 2. メモリマネージメントシステム(MMS) 3. 拡張DISK-BASIC(edb2) 4. アセンブラ(ASM9) の4章に分かれており、それぞれ別の方が執筆されています。 1章はF-BASICにおけるコマンドの拡張方法の解説、2〜4章は比較的大きなソフト ウェアの解説とアセンブルリストになっています。 本書は誤記も少ないようですし、せっかくですのでもう少し詳しく紹介します。 (やっと書評らしくなった?) 1. コマンド拡張方法 前半はコマンド拡張方法の一般的な解説と、DPOKE、DPEEK、FIND、CHANGE コマンドの拡張例が説明されています。 後半は、EXECコマンドの解析ルーチンの手抜きを活用した、EXEC命令で実行 するプログラムへのパラメタの受け渡し方法が解説されています。 これにより、(見易さは別として)実はコマンドは拡張しない方がよいこと が示されています。この方法については初出だと思います。同じ方法の解説 は、FM-Techknowにもあります。 2. メモリマネージメントシステム(MMS) あえて一言で説明するならば、F-BASICのファイルシステムとBASIC-ROMを活用 した、シングルタスクのOS-9もどき、です。 裏RAMを活用したプログラムのモジュール化とトランジェントコマンド化、 標準入出力のサポートとI/Oのリダイレクト等が特長です。 似たようなものとしては、Oh!FM誌に掲載されていたRunserがあります。 # メモリマップやコマンド等については別ページにまとめてみました。 # 同じページにRunserも載せています。 3. 拡張DISK-BASIC(edb2) 次のような点について、DISK-BASICを改良しています。 ・ファイル名に拡張子を使用できる ・タイムスタンプを記録する ・ランダムファイルのレコード長を任意とする ・ランダムファイルのレコードデータの読み書きの際、CVI/CVS/CVD/MKI$/ MKS$/MKD$/LSET/RSET といった関数やコマンドを使用しなくてすみ、 プログラムがきれいになる ・DSKI$/DSKO$の拡張 1、2点目はよくあるやつです。 3点目については、マイクロソフトの8ビット系BASICとしてはCP/M-80版の MBASIC-80 V5.xのみが対応しており、うらやましく思っていました。一度 任意長レコードでプログラムを書いてしまうと256バイトの固定長はやって られなくなります。16ビット系のF-BASIC86では確か任意長が使えるように なっていたと記憶しています。 4点目は便利な拡張ですが、そのため既存のプログラムとの互換性は失われ ています。 このように数々の拡張を行っているにもかかわらず、メモリ上の占有領域が オリジナルのDISK-BASICと同じに抑えられており、かつ重要なエントリアド レスも保存されている点も特筆すべきでしょう。 # 注意点として、本拡張は特定のバージョンのDISK-BASICに対してパッチを # 当てる形で構成されているため、そうでないバージョンを用いてシステム # を生成した場合にはうまく動作しません。はせりんのチェックでは次のよ # うになりました。(この点は恐らくディスクサービスでは対応版が提供さ # れているのではないかと期待してます。) # # F-BASIC V3.0 L0.0 82/10/01版 ○ # F-BASIC V3.0 L1.0 83/03/11版 ○ # F-BASIC V3.0 L2.0 84/05/05版 × # F-BASIC V3.0 L2.1 84/05/05版 ×
4. アセンブラ(ASM9) 大規模プログラム開発用のアセンブラです。 裏RAMにアセンブラ本体やラベルテーブルを配置しています。 マクロやリンケージエディタはありませんが、ソースコードをファイルから 必要な部分だけ読み込み、かつLIB命令で複数ファイルを参照することで 大規模ソースコードを処理します。 (もちろんオンメモリでもアセンブルできます。) # メモリマップについては別ページにまとめてみました。 2〜4章のプログラムに関して、フロッピーディスクに格納して配布して いたようです。(各2000円+送料300円)
誤記訂正(案) # 表の部分は修正前と後を併記すると煩わしいので、色分けしています。 # 赤=修正、青=追記 ●機能比較表 14ページ 表内 CPU メモリ ─────────────────────────────────────── メイン ROM ─────────────────────────────────────── FM-8MBL6809(MC6809相当品)MC68A09 or HD68A09 Z80A(オプションZ80カード) i8088-2(オプション8088カード) ─────────────────────────────────────── FM-77 BASICインタプリタ 32Kバイトブートローダ 2Kバイトブートローダ 4Kバイト サブモニタ 8Kバイト キャラクタジェネレータ 2Kバイト 400ラインセット(オプション)装着時 サブモニタ 20Kバイト キャラクタジェネレータ 4Kバイト ─────────────────────────────────────── FM-77L4 BASICインタプリタ 32Kバイトブートローダ 2Kバイトブートローダ 4Kバイト 200ライン表示用 サブモニタ 8Kバイト キャラクタジェネレータ 2Kバイト 400ライン表示用 サブモニタ 20Kバイト キャラクタジェネレータ 4Kバイト ─────────────────────────────────────── FM-11AD2 ブートローダ 4Kバイト サブモニタ 20Kバイト キャラクタジェネレータ 8Kバイト ─────────────────────────────────────── FM-11AD2+ ブートローダ 4Kバイト サブモニタ 20Kバイト キャラクタジェネレータ 8Kバイト ─────────────────────────────────────── 15ページ 表内 補助記憶装置 ─────────────────────────────────────── バブルカセット ─────────────────────────────────────── FM-11AD2 インタフェースはオプション 128Kバイト×2 さらに128Kバイトのバブルメモリ モジュールを2枚搭載可能 ─────────────────────────────────────── FM-11AD2+ インタフェースはオプション 128Kバイト×2 さらに128Kバイトのバブルメモリ モジュールを2枚搭載可能 ─────────────────────────────────────── 16ページ 表内 補助記憶装置 ─────────────────────────────────────── フロッピィディスク(320Kバイト) フロッピィディスク(1Mバイト) ─────────────────────────────────────── FM-8 ミニフロッピィアダプタ(オプション) 標準フロッピィアダプタ(オプション) もしくは もしくは システム拡張ユニット(オプション) システム拡張ユニット(オプション) にて接続 にて接続 ─────────────────────────────────────── FM-11AD2 ミニフロッピィコントロール 5インチフロッピィディスクユニット カード(オプション)にて外部 本体内に1基標準実装 に接続 本体内に2基まで搭載可能 ─────────────────────────────────────── FM-11AD2+ ミニフロッピィコントロール 5インチフロッピィディスクユニット カード(オプション)にて外部 本体内に2基標準実装 に接続 ─────────────────────────────────────── 17ページ 表内 CRT表示 ─────────────────────────────────────── グラフィック表示 カラー表示 ─────────────────────────────────────── FM-77 640x200ドット 8色(グラフィクス/テキスト) カラー1画面 モノクロ3画面 400ラインセット(オプション) 400ラインセット(オプション) で400ラインサブシステム使用時 で400ラインサブシステム使用時 640x400ドット 16色中2色表示可能(グラフィクス) モノクロ1画面 16色(テキスト) ─────────────────────────────────────── FM-77L4 400ラインサブシステム使用時 400ラインサブシステム使用時 640x400ドット 16色中2色表示可能(グラフィクス) モノクロ1画面 16色(テキスト) 400ラインセットIIを 標準添付┌400ラインカードを┐│外し200ラインCRT │└使用すれば8色 ┘200ラインサブシステム使用時 200ラインサブシステム使用時 640x200ドット 8色(グラフィクス/テキスト) カラー1画面 モノクロ3画面 ─────────────────────────────────────── # 400ラインセット装着時でも、デフォルトは200ライン(8色)表示になっています。 # 400ラインのモニタでそのまま200ラインの表示もできますので、わざわざ取り外したり # 200ラインのモニタを用意する必要はありません。 19ページ 表内 BASIC ─────────────────────────────────────── FM-8 F-BASIC V1.0 F-BASIC V2.0 (5/8インチフロッピーディスク) F-BASIC V2.2 (128KBバブルカセット) ─────────────────────────────────────── FM-7 F-BASIC V3.0 F-BASIC V3.0J (日本語通信カード) ─────────────────────────────────────── FM-NEW7 F-BASIC V3.0 F-BASIC V3.0J (日本語通信カード) ─────────────────────────────────────── FM-77 F-BASIC V3.0 F-BASIC V3.0J (日本語通信カード) F-BASIC V3.1 (1MBフロッピーディスク) ---------------------- (400ライン) F-BASIC V3.5 ─────────────────────────────────────── FM-77L4 F-BASIC V3.0 F-BASIC V3.0J (日本語通信カード) F-BASIC V3.1 (1MBフロッピーディスク) ---------------------- (400ライン) F-BASIC V3.5 ─────────────────────────────────────── FM-11AD2 F-BASIC V4.0 F-BASIC V4.2 (128KBバブルカセット) F-BASIC V4.3 (ハードディスク) F-BASIC V5.0 ─────────────────────────────────────── FM-11AD2+ F-BASIC V4.0 F-BASIC V4.2 (128KBバブルカセット) F-BASIC V4.3 (ハードディスク) F-BASIC V5.0 ─────────────────────────────────────── ●フロッピーディスクユニット 23ページ 上から8行 FM-11AD2/AD2+では、1Mバイトの5インチフロッピィディスクユニットが標準実装と なっています。 FM-77/77L4では、3.5インチフロッピィディスクユニットが標準実装となっています。 ↓ FM-11AD2/AD2+では、1Mバイトの5インチフロッピィディスクドライブが標準実装と なっています。 FM-77/77L4では、3.5インチフロッピィディスクドライブが標準実装となっています。 # 「ドライブ」は単体、「ユニット」はケースに入ったものという定義のはずが、 # ごっちゃになっていました。 23ページ 下から3行 FM-8/7/NEW7は1Mバイトのフロッピィディスクユニットをサポートしていませんので、 8インチ標準フロッピィディスク、1Mバイトの5インチフロッピィディスクを 利用するときには、I/O拡張ユニットを使う必要があります。 ↓ FM-8で8インチ標準フロッピィディスクを利用するときには、標準フロッピィ アダプタもしくはシステム拡張ユニット経由で8インチ標準フロッピィディスク ユニットを接続します。 FM-7/NEW7は1Mバイトのフロッピィディスクをサポートしていません。 (サードパーティ製のインタフェースカードでサポートしているものがありますが、 動作保証および互換性の保証はされません。) # どうやら、I/O拡張ユニットは何でも解決してくれるものと思われているようです。 ─────────────────────────────────────── ●FM-77L4・FM-11AD2+の紹介 24ページ 下から11行 外見からは、フロッピィディスクユニットが2基、標準実装されていることが 目立ちます。 ↓ 外見からは、フロッピィディスクドライブが2基、標準実装されていることが 目立ちます。 ─────────────────────────────────────── Q-8 裏RAMとは何ですか? 38ページ 上から4行 FMシリーズにはメインCPUの $8000〜$FC7F番地に裏RAMと呼ばれるエリアが あります。 ↓ FM-8/7シリーズにはメインCPUの $8000〜$FC7F番地に裏RAMと呼ばれるエリアが あります。 ─────────────────────────────────────── Q-23 FM-7/NEW7/77にソフトの互換性はありますか? 53ページ 下から5行 FM-77はファームウェアの改良によりグラフィクスの速度が向上したため ↓ FM-77はハードウェアの改良によりグラフィクスの速度が向上したため # 回答した人はわかってんたんですかね...orz # もちろん、サイクルスチールモードのことです。 ─────────────────────────────────────── Q-43 FM-11AD2のグラフィック表示で16色中、8色しか使用できないのはなぜですか? 74ページ 上から5行 ●1つの色にノーマル、インテンシティのどちらかしか指定できないからです。 ↓ ●グラフィックの情報は、R,G,Bの3プレーンに格納されており、2の3剰、すなわち 8種類の状態しか保持できないからです。 74ページ 下から5行 なぜなら、1つの色には、基本色表示、高輝度表示どちらか一方しか指定できない からです。具体的にいえば、青の基本色表示と、赤の高輝度表色(ママ)の混在は 可能なのですが、青の基本色表示と青の高輝度表示を同時に表示することはでき ません。 ↓ なぜなら、グラフィックの情報は、R,G,Bの3プレーンに格納されており、2の3剰、 すなわち8種類の状態しか保持できないからです。この8種類の状態を、16色の中 からパレット機能を利用して任意の組み合わせで表示することが可能です。 尚、テキスト表示については、16色同時発色可能です。 これは、各文字毎にR,G,Bの色情報の他にアトリビュートとしてインテンシティの 情報も持っているからです。 # これは酷い間違いと思いました。いいかげんな回答するな、と怒りたい。 # 暗い色とそれの明るい色の混在表示は可能です。 ─────────────────────────────────────── Q-46 CP/M-80とはどんなOSですか? CP/M-86とはどんなOSですか? またどの機種で使えますか? 79ページ 上から7行 基本的には、8080やZ80などの80系のCPUを持つコンピュータはすべてCP/Mを 走らせることができます。 # うーむ、ここまで言い切れる自信はどこから来てるのですかね。 # 削除してしまいたい文面ですが、敢えて残すとすればこんな感じかと。 ↓ 基本的には、8080やZ80などの80系のCPUを持つコンピュータのうち、フロッピー ディスクドライブを持ち、かつメモリマップの要件を満たすものはBIOS(基本I/O 制御プログラム)を用意することにより、CP/M-80を走らせることができます。 79ページ 上から12行 Z80カードにはCP/M-80が付属していますのでZ80カードを購入すれば、CP/M-80 が使用できます。 ↓ FM-8用を除き、Z80カードにはCP/M-80が付属していますのでZ80カードを購入すれば、 CP/M-80が使用できます。FM-8の場合はZ80カードに加えて別売りのCP/M-80ソフトウェア の購入が必要です。 79ページ 下から2行 FMシリーズでは、FM-11BSで使用できます。また、FM-8でも8088カード(オプション) を装着することによって使用できます。 ↓ FMシリーズでは、FM-11EX、FM-11BSでCP/M-86が標準添付されています。 また、FM-8及びFM-11ST/AD/AD2/AD2+では、オプションの8088カード(CP/M-86付属)を 装着することによって使用できます。 ─────────────────────────────────────── Q-48 FM-11AD2でCP/Mは使用できますか? 80ページ 下から7行 ●使用できません ↓ ●使用できます 80ページ 下から3行 また、ほかのメーカーからもAD2用の8088、Z80カードは販売されていないようです。 したがって現在のところ、AD2では、CP/Mに限らず80系のOSは全て使用できません。 ↓ 富士通から発売されている8088、Z80カードは、ハードウェア的にはAD2/AD2+でも そのままで利用可能です。ソフトウェアは5インチ2D版、8インチ版しかありません ので、5インチ2Dの外付けドライブを用意するか、8インチ版ソフトウェアを5インチ 2HDのメディアに変換することが必要です。 サードパーティからは、マンハッタンシステムのようなOS-9と一緒に使うZ80カード とCP/Mソフトウェアも発売されており、AD2/AD2+でも利用可能です。 # この本が発売される以前にマンハッタンシステムは発売されてましたから、上記の # ような回答ができたはずです。 ─────────────────────────────────────── Q-68 FM-7用のI/OカードはFM-77にも使えますか? 99ページ 上から6行 FM-7の上部スロットに装着できるオプションカードはすべてFM-77にそのまま使え ます。 ↓ FM-7の上部スロットに装着できるオプションカードは一部を除きFM-77にそのまま 使えます。 99ページ 下から13行 カラーCRTケーブルは、DIN 8ピンコネクタが使われていますが、ノイズ対策のため コネクタの形状が異なっています。 ↓ カラーCRTケーブルは、FM-7/NEW7ではDIN 8ピンコネクタが使われていますが、FM-77 ではノイズ対策のためコネクタの形状が異なっています。(モノクロCRT用と兼用の DSUB 9ピンコネクタが採用されています。) # これもかなり雑な説明ですね。言いたい事は間違ってないのですが。 ─────────────────────────────────────── Q-110 FM-7に1Mバイトのフロッピーディスクを接続することができますか? 145ページ 下から6行 したがってI/O拡張ユニットを使わない限り、 ↓ (削除) # どうやら、I/O拡張ユニットは何でも解決してくれるものと思われているようです。 # ちなみにここで紹介されているマクロシステム社製のMACRO7-5では、8インチドライブ # の接続は可能ですが、単密度のみの保証ですので、1Mバイトのメディアは使用不可です。
いきなり誤記訂正から入る書評も珍しいと思います。 (というか、大変失礼?) この書籍は富士通の方が監修されているので、内容は割としっかりしていますが、 いくつか酷い誤りがありました。 あまりメジャーではない書籍ですが、この本でしか一般公開されてない内容も 散見されますので、入手されてみてはいかがでしょうか。 本書は冒頭の概要と巻末の製品一覧表を除いて、タイトルの通りQ&A集です。 「富士通マイコンスカイラブの質問箱に寄せられた各種の質問を分析、整理し、 最も重要と思われるポイントを中心に回答を出したものです。」 だそうです。 対象は、FM-8/7/NEW7/77/77L4/11AD2/11AD2+ の7機種です。(なぜだか、FM-11ST /AD/EXが含まれていません。11BSは対象外としても。) 次のような構成になっています。 ■概要 FMシリーズのCPU/互換性/機能比較表 F-BASIC/CRTディスプレイ/ディスプレイ表示 フロッピーディスクドライブ ■本体 Q1〜Q19 ■BASIC Q20〜Q44 ■OS Q45〜Q53 ■言語 Q54〜Q65 ■周辺装置 Q66〜Q85 ■CRT Q86〜Q95 ■プリンタ Q96〜Q107 ■補助記憶装置 Q108〜Q120 ■ソフトウェア Q121〜Q134 ■付録 FMシリーズハードウェア価格表(富士通製) FMシリーズソフトウェア価格表(富士通製、サードパーティ製) はせりん的には最後の付録が一番役立ちました。(笑)
Copyright (C) 2019 by Haserin