番外編その2:勝手に誤記修正編(by はせりん)


このページは、出版社や著者に断りなく勝手に誤記修正や技術補足をするページです。
気に障ったらごめんなさい。

次の書籍について書評を述べています。
FM-Techknow (FM-7シリーズテクニカルノウハウ) (BNN)
 (Laverさまの許可をいただき表紙画像を掲載しています。)
FM-7 FAN BOOKS 5 初めての内部解析入門 (技術評論社)
FM-7/NEW7/77/77L4 解析マニュアル エクストラ (秀和システムトレーディング)
実践パソコンQ&A集4 FM-110番 (ラジオ技術社)

FM-Techknow (FM-7シリーズテクニカルノウハウ)

昭和61年9月10日初版発行
ISBN4-89369-006-10 C3055 \3900E
出版元:BNN
FM-Techknow
誤記訂正(案)  #以降ははせりんによる補足です。

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 大文字

書評:

いきなり誤記訂正から入る書評も珍しいと思います。
(というか、大変失礼?)

この書籍は最近入手して読み始めたのですが、ちょっともの足りない内容でした。
永らく入手できなかったので期待しすぎていたのかもしれませんが。
(作者の方ごめんなさい)
このページは発展途上であり、随時追加していく予定です。

追伸:
この書籍の、初版以外をお持ちの方は、はせりんの見つけた誤記が
修正されているかどうか知りたいので、ぜひご連絡をお願いします。
参考文献
82HS-6700-1 FM77AV40 ハードウェア解説書 1987年2月(富士通)
82HS-0710-1 FM77AV40EX/20EX ハードウェア解説書 1988年1月(富士通)


FM-7 FAN BOOKS 5 初めての内部解析入門

昭和59年9月10日初版第1刷発行
ISBN4-87408-269-6 C3055 \2500E
出版元:技術評論社
GIHYO01

誤記訂正(案)

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タイマールーチン

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用にバブルメモリカセットを提供
    する計画があったのか、今となっては謎です。

# 本サイトの番外編4に書いてますが、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刷以外をお持ちの方は、はせりんの見つけた誤記が
修正されているかどうか知りたいので、ぜひご連絡をお願いします。


FM-7/NEW7/77/77L4 解析マニュアル エクストラ

1985年4月22日発行
ISBN4-87966-044-2 C0000 \2500E
出版元:秀和システムトレーディング
SHUWA09

誤記訂正(案)

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版 ×
edb2-0
4. アセンブラ(ASM9)

大規模プログラム開発用のアセンブラです。
裏RAMにアセンブラ本体やラベルテーブルを配置しています。
マクロやリンケージエディタはありませんが、ソースコードをファイルから
必要な部分だけ読み込み、かつLIB命令で複数ファイルを参照することで
大規模ソースコードを処理します。
(もちろんオンメモリでもアセンブルできます。)

# メモリマップについては別ページにまとめてみました。

2〜4章のプログラムに関して、フロッピーディスクに格納して配布して
いたようです。(各2000円+送料300円)


実践パソコンQ&A集4 FM-110番

1985年4月30日発行
ISBN4-8443-0509-3 C2055 \1700E
出版元:ラジオ技術社
監修:富士通マイコンスカイラブ
FM-110BAN

誤記訂正(案)

# 表の部分は修正前と後を併記すると煩わしいので、色分けしています。
# 赤=修正、青=追記

●機能比較表

14ページ 表内
     CPU             メモリ
 ───────────────────────────────────────
     メイン           ROM
 ───────────────────────────────────────
 FM-8  MBL6809(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バイト
                   キャラクタジェネレータ 4Kバイト
 ───────────────────────────────────────
 FM-11AD2+              ブートローダ      4Kバイト
                   サブモニタ      20Kバイト
                   キャラクタジェネレータ 4Kバイト
 ───────────────────────────────────────

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シリーズソフトウェア価格表(富士通製、サードパーティ製)

はせりん的には最後の付録が一番役立ちました。(笑)


F-BASIC詳細編を覗いてみる F-BASIC詳細編(その2:デモ画面集)を覗いてみる
FM77AVシリーズ システムディスク編を覗いてみる
FM77AVシリーズ デモ・入門ディスク編を覗いてみる
CP/M-80編を覗いてみる
OS-9編を覗いてみる
Flex編を覗いてみる
F-BASIC ファイルシステム(およびその上位互換)上に構築されたOS、開発システム
番外編(その1:ナウシカベンチマークの謎)を覗いてみる
番外編(その2:勝手に誤記修正編)を覗いてみる
番外編(その3:6809用MMU考察)を覗いてみる
番外編(その4:FM-77 謎のS1スイッチ)を覗いてみる
番外編(その5:FM-7,8シリーズのROM一覧)を覗いてみる
番外編(その6:FM-77用拡張メモリ他について)を覗いてみる
緊急特集:MB22603の秘密 を覗いてみる
緊急特集2:FM-8ブートROMの秘密 を覗いてみる
超番外編:レベル3BASICとF-BASIC を覗いてみる
入り口ページに戻る


ご意見、ご要望はこちらまで(笑)
thasegaw@hotmail.com