FM-7/8シリーズ OS-9 画面キャプチャ集(by はせりん)


本ページの各画面キャプチャについては、XM7 V1.1 または V3.4を使用させていただきました。
PI.さん、たけがみりうさん、いつも感謝しております。
(XM7がなかったらこんなページを作ろうという気にはなりませんでした。^^;)
お急ぎの方へ。
Dir実行NTKSys(日本語通信カード)によるかな漢字変換
メモリマップディスクフォーマット星光電子版、中村先生版FM-8用OS-9
FM-77 DEMOプログラム5 の“takaku”を再現
FMシリーズOS-9 パッチ情報

5. OS-9編

FM-8,7,77シリーズには、マルチユーザー・マルチタスクのOSとして、OS-9が提供されていたのが大きな特徴と言えます。 6809の性能を極限まで活かしきったOSとして、人気もありました。残念ながら普及度はそうでもなかったようですが。
それはさておき、まずは各機種用のOS-9の起動画面です。
(各画像をクリックするとフルサイズの画像になります。)

os9_fm8v11 【参考文献を元にしたイメージ画像】
参考文献:「FM-8用OS-9 使用の手引き」, 星光電子, SFM-207030, 1982年7月(?)発行
os9_fm8l1
os9_fm7l1
os9_fm7l1l12
os9_fm77l1
os9_fm77l2
os9_fm77l2av
os9_fm77l2_2hd
os9_avl21
os9_avl22
os9_av20
os9_av20ex
os9_av40
os9_av40ex

正式に発売されたものだけ表にまとめておきます。
機種 製品名 発売時期 価格 発売元 備考
FM-8 OS-9 Type E 1982年8月 98,000 星光電子 Basic09,Asm,Edit,Debugは別売り
FM-8 OS-9 Type S 1982年8月 148,000 星光電子 Basic09,Asm,Edit,Debugは別売り
FM-8 OS-9 Level1 V1.2 1983年9月 48,000 富士通 5inch版、8inch版あり
FM-7 OS-9 Level1 V1.2 1983年9月 48,000 富士通 5inch版のみ
FM-11 OS-9 Level1 V1.2 1983年9月 48,000 富士通 5inch版、8inch版あり
FM-11 OS-9 Level2 V1.2 1983年9月 58,000 富士通 5inch版、8inch版あり
FM-77 OS-9 Level1 V1.2J 1984年8月 48,000 富士通 かな漢字変換をバンドル(単漢字辞書)
FM-77 OS-9 Level2 V1.2J 1984年8月 58,000 富士通 かな漢字変換をバンドル(単漢字辞書)
FM77AV OS-9 Level2 V1.2J L2.1 1986年3月 30,000 富士通 Asm,Edit,Debugは別売り
FM77AV20 OS-9 Level2 V1.2J L3.1 1987年3月 32,000 富士通 Asm,Edit,Debugは別売り
FM77AV20/20EX OS-9 Level2 V1.2J L3.1/L3.2 1988年4月 32,000 富士通 Asm,Edit,Debugは別売り
FM77AV40 OS-9 Level2 V1.2J L4.1 1987年3月 42,000 富士通 Asm,Edit,Debugは別売り
FM77AV40/40EX OS-9 Level2 V1.2J L4.1/L4.2 1988年4月 42,000 富士通 Asm,Edit,Debugは別売り

代表的なアプリケーションソフトウェアも紹介しておきます。
富士通版でバンドルされていた、Basic09,Asm,Edit,Debugを個別に
購入していたらとんでもない値段になっていた訳ですね。
OS-9普及のためバンドルと価格設定で頑張ったようです。GJ>富士通&星光電子
Application 発売時期 価格 発売元 備考
Basic09   78,000 星光電子  
テキストエディタ   48,000 星光電子  
アセンブラ   48,000 星光電子  
デバッガ   20,000 星光電子  
Pascal   158,000 星光電子  
Cコンパイラ   158,000 星光電子  
かな漢字変換パッケージ 1984年11月 28,000 星光電子 FMシリーズ用、熟語辞書付き
Stylograph   48,000 星光電子 ワードプロセッサ
DynaStar   58,000 星光電子 ワードプロセッサ
漢字DynaStar   38,000 星光電子 ワードプロセッサ
漢字DynaCalc 1986年12月 48,000 星光電子 表計算ソフト(各機種用OS-9を同梱)
CSG-IMS   98,000 星光電子 データベースソフト(各機種用OS-9を同梱)
OS-9ツールボックス 1986年3月 20,000 富士通 Asm,Edit,Debugのセット
OS-9ライブラリV1.0 (2D) 1986年3月 10,000 富士通 グラフィックライブラリ、ファイルコンバータ、熟語辞書
OS-9ライブラリV2.0 (2DD) 1987年3月 15,000 富士通 グラフィックライブラリ、ファイルコンバータ、熟語辞書

5.1 中身も少し見てみましょう。

os9_fm8v11m 【参考文献を元にしたイメージ画像】
参考文献:「FM-8用OS-9 使用の手引き」, 星光電子, SFM-207030, 1982年7月(?)発行
os9_fm8v11d 【参考文献を元にしたイメージ画像】
参考文献:「FM-8用OS-9 使用の手引き」, 星光電子, SFM-207030, 1982年7月(?)発行
os9_fm8l1m
os9_fm8l1d
os9_fm7l1d2
os9_fm7l1d
os9_fm7l1d3
os9_fm77l1d
os9_fm77l2d
os9_fm77l2d2
os9_avl21d
os9_avl22d
os9_av20d
os9_av20exd
os9_av20exd1
os9_av40d
os9_av40exd
os9_av40exd1

サポートデバイスについてまとめておきます。◎は起動可能デバイスです。☆はDMA対応です。
機種 製品名 320KB
FDD
640KB
FDD
1MB
FDD
128KB
BUBBLE
MDC
HDD
SCSI
HDD
FM音源/
MIDI
日本語
カード
日本語
通信
カード
FM-8 OS-9 Level1 V1.2   ◎☆   ○☆        
FM-7 OS-9 Level1 V1.2               (注2)
FM-11 OS-9 Level1 V1.2 ◎☆   ◎☆   ○☆        
FM-11 OS-9 Level2 V1.2 ◎☆   ◎☆   ○☆        
FM-11AD2(+) OS-9 Level2 V1.2J L2.1 ○☆   ◎☆ ◎☆ ◎☆        
FM-77 OS-9 Level1 V1.2J             (注2)
FM-77 OS-9 Level2 V1.2J             (注2)
FM77AV OS-9 Level2 V1.2J L2.1              
FM77AV OS-9 Level2 V1.2J L2.2          
FM77AV20 OS-9 Level2 V1.2J L3.1        
FM77AV20EX OS-9 Level2 V1.2J L3.2 ○☆ ◎☆        
FM77AV40 OS-9 Level2 V1.2J L4.1 ○☆ ◎☆        
FM77AV40EX OS-9 Level2 V1.2J L4.2 ○☆ ◎☆        

注1:SCSIインタフェースについて 注2:日本語通信カードについて
5.2 NT-KSysによるかな漢字変換

ということで、「FMサークルプログラムサービスNo.4」が入手できましたので、さっそくNT-KSysを試してみました。 (XM7 V1.1 L30a 以降が必要です。)

OS9_77L1_NTK
OS9_77L2_NTK
OS9_NTKSys
FMCPS04
FMCPS04-1

FMサークルプログラムサービス No.4 (1988年6月発行) より
------------------------------------------------------

半角カナで書かれた "README2" ファイルを漢字かな混じり文に変換してみました。
#で始まる行は、はせりんによる補足コメントです。

//////// ここから ////////

■■■■■■■■■■■■■■■■■■■■■■■
■                                          ■
■  NT-Ksys (Oh! FM 1988年6月号 p.128-137)  ■
■                                          ■
■■■■■■■■■■■■■■■■■■■■■■■

OS-9 で使う、日本語通信カード対応のかな漢字変換システムです。

◆ オブジェクトの構成 -----------------------------------------------------

  Ksys_L1  FM-7/NEW7/77 の OS-9 Level1 用の Ksys 本体です。
           使用時のモジュール名は Ksys です。
  Ksys_L2  FM-77+400Lカード の OS-9 Level2 用の Ksys 本体です。
           使用時のモジュール名は Ksys です。
  KsysII   FM-77+400Lセット の OS-9 Level2 用の Ksys 本体です。
           FM77AV40 等で使われている KsysII の仕様に合わせてあります。
           IMS 等を使う時はこちらを使ってください。使用時のモジュー
           ル名は KsysII です。尚、SCF が #7 以上でないと動きません。
  kmode    Ksys を呼び出し、動作モードを設定するコマンドです。
  Vterm_L1 200ライン CRT で縮小漢字表示をするための Vterm ドライバで、
           FM-7/NEW7/77 の OS-9 Level1 で使います。
  Vterm_L2 200ライン CRT で縮小漢字表示をするための Vterm ドライバで、
           FM-77+400Lセット の OS-9 Level2  で使います。
  Changeboot  システムジェネレーション用のコマンドで、縮小漢字表示 Vterm
           を OS9Boot に組み込む時などに使います。このプログラム
           は星光電子株式会社の好意により収録されました。
           ( (C)星光電子 1987 )

# はせりんによる補足
#
# IMS     CSG社(Clearbrook Software Group、カナダ)のデータベースソフトで
#         あるIMS(Information Management System)の事です。一応、念のため。
# KsysII  文末に『尚、SCF が #7 以上でないと動きません。』と、さりげなく
#         書かれてますが、FM-77ユーザーにとっては結構ハードル高い話です。
#         FM-77用の最終版の OS-9 Level2 に含まれる SCF の Edition は #6 
#         ですから、どこからか入手しないといけません。ちなみに、FM77AV用
#         の OS-9 初期版も同じく #6 で、FM77AV用の後期版(L2.2) でようやく
#         #8 となります。また、星光電子からリリースされた FM77AV用 OS-9
#         向け「かな漢字バージョンアップ」にも #8 の SCF が含まれています。
# Changeboot
#         F-BASIC のファイルシステムではファイル名が最長 8文字なので、
#         プログラムサービスのフロッピーには Changebt というファイル名で
#         格納されています。これを下記の説明にある Exbin で復元する際に
#         正しい名前を指定することになります。ちなみにこのコマンドは上記
#         「かな漢字バージョンアップ」に含まれています。
# PATKmode
#         なぜか、このファイル(コマンド)だけ README2 に説明がありません。
#         もちろん Oh! FM の当該号にはちゃんと説明があります。
#         名前の通り既存の kmode コマンドにパッチを当てて NT-KSys 対応する
#         ものなのですが、対象は上記「かな漢字バージョンアップ」に含まれて
#         いる kmode コマンドに限定されているため、使える人は少ないかも。

◆ ソースファイルの構成 ---------------------------------------------------

  ksysIIs, display, extcom, extpro, roman, string, subrun2, usrjso
           Ksys_L1, Ksys_L2, KsysII のソースで、アセンブル時の指定により
           作りわけます。詳しくはソースのコメントを読んでください。

◆ 使い方 ------------------------------------------------------------------

    ここに収録されたファイルはすべて F-BASIC のシーケンシャルファイルの形に
  なっていますので、CONVFB 等で OS-9 のファイルに変換してからお使いください。
  (CONVFB 等をお持ちでない方は、併録されている簡易コンバータ "OS9CVT" を
  お使いください。"OS9CVT" の使い方は Oh! FM 6月号 p.32 に載っています。)
    尚、オブジェクトは Sフォーマット になっていますので、OS-9 に吸い上げた後、
  EXBIN コマンドで、実行できる形に復元してください。
    システムへの組み込み方、及びキーの操作方法等は Oh! FM 6月号 p.128 から
  p.130 を参照してください。

# はせりんによる補足:"OS9CVT" 試用レポート
#
# CONVFB は確か持ってたはずなのですが、イメージ化してないので、やむをえず
# "OS9CVT"を使ってみました。(泣)
# 一度に6個までのファイルしか転送できないのは良いとして、転送先のフロッピー
# を毎回初期化してくれるので参りました。最初それに気付かず、結構時間のかかる
# 転送作業を2度も繰り返すはめに...
# まぁ当時と違い、ブランクフロッピー(イメージ)を無尽蔵に使えるEMUの世界では
# それほど目くじらを立てる程ではないのかもしれませんが。

◆ NT-Ksys の掲載版からの変更点 --------------------------------------------

    IMS 等で利用できるように KsysII 仕様のものを作った以外は、オブジェクト
  は掲載版と同じです。ただ、ソースについてはアセンブル時の指定で、単文節変換か
  最長一致法か、とかの動作選択がある程度できるようになっていますので、
  必要に応じてアセンブルしてみてください。

//////// ここまで ////////

(C)1988 ソフトバンク Oh! FM編集室 ... README2本文
(C)2011 はせりん                    ... はせりんによる補足
5.3 OS-9 のメモリマップ
5.3.1 FMシリーズ OS-9 Level 1 のメモリマップ

      0 -+-------------------+
         |OS-9ワークエリア   |
        -+-------------------+              FM8      FM7      FM7      FM7       FM77 L1
         |スタック領域       |              83/08/26 83/08/26 84/03/01 86/01/17 84/07/10
(A) 900 -+-------------------+           (A)  A00      A00      A00      900      900
   付近  |                   |↑
         |フリーエリア       |│40KB前後
         |                   |↓
(B)A900 -+-------------------+           (B) A700     AA00     A900     A900     A500
   付近  |OS9Boot各モジュール|
         |のワーク           |
(C)B000 -+-------------------+           (C) AE00     B100     B000     B000     AD00
   付近  |Clock, IOMan, RBF, |
         |SCF, PipeMan, Disk,| OS9Boot : Bootにより読み込まれる
         |Vterm, Prter, 他,  |
         |SysGo, Shell       |
   EC00 -+-------------------+
         |OS9p1, OS9p2,      | Kernel部分 : IPLで読み込まれる
         |Init, Boot         |
   FC00 -+-------------------+
         |Special Global Area|↑
   FC7F -+-------------------+│
         |共有メモリ、I/O    |│ユーザープログラムでは使用禁止
   FE00 -+-------------------+│
         |BOOT ROM(未使用)   |↓
   FFFF -+-------------------+

・OS-9 Level 1 では、メモリは 256Byte単位 で管理されています。
・Version により微妙にアドレスがズレますが、標準状態で 40KB前後のフリーメモリが
 確保されています。
・ただし、この容量では Cコンパイラを実行できないため、OS9Bootを再構成(いわゆる、
 システムジェネレート)して不要なモジュールを削除し、フリーメモリを増やす必要が
 ありました。

5.3.2 FMシリーズ OS-9 Level 2 のメモリマップ

・FMシリーズ OS-9 Level 2 では、4KB 単位でメモリを管理しています。
・Level 2 では、システムモードとユーザーモードを切り替えて動作することで、
 ユーザーモードでのフリーメモリを Level 1 と比べて増加させています。
 ハードウェアの都合上、63Kbyte の壁は残っています。

(1) ユーザーモード (Shell, Basic09実行時の例)

                                      物理メモリブロック

                                      FM-77 Level2      FM77AV
                                      L1.1   L1.2       L2.1   L2.2〜
                               Shell  #21    #22        #22    ←
      0 -+-------------------+ - - - - - - - - - - - - - - - - - - - -
         |Shellワークエリア  |        $0B    ←         $0D    $0E
         |Shellスタック領域  |
    200 -+ - - - - - - - - - +
         |空き               |
   1000 -+-------------------+ - - - - - - - - - - - - - - - - - - - -
         |                   |↑      $3E    ←         $1F    ←
         |未割り当て         |│56KB
         |                   |↓
   F000 -+-------------------+ - - - - - - - - - - - - - - - - - - - -
         |Shell              |        $0A    ←         $0C    $0D
   F500 -+ - - - - - - - - - +       ($F500)($F51E)    ($F51E) ←
   付近  |空き               |
   FBFF -+-------------------+ - - - - - - - - - - - - - - - - - - - -

                                      FM-77 Level2      FM77AV L2.1   FM77AV L2.2〜
                           拡張メモリ 192KB  64KB       64KB   無し   64KB   無し
      0 -+-------------------+ - - - - - - - - - - - - - - - - - - - - - - - - - -
         |Basic09ワークエリア|↑      $12 or $32        $24 or $34    $25 or $35
    500 -+ - - - - - - - - - +│
         |プログラム&データ |│4KB
    F00 -+ - - - - - - - - - +│
         |Basic09スタック領域|↓
   1000 -+-------------------+ - - - - - - - - - - - - - - - - - - - - - - - - - -
         |                   |↑      $3E               $1F           ←
         |未割り当て         |│36KB
         |                   |↓
   A000 -+-------------------+ - - - - - - - - - - - - - - - - - - - - - - - - - -
         |Basic09            |        $0C               $0E           $0F
         |(Edition #21)      |        $0D               $0F           $20 or $30
         |                   |        $0E               $20 or $30    $21 or $31
         |                   |        $0F               $21 or $31    $22 or $32
         |                   |        $10 or $30        $22 or $32    $23 or $33
         |                   |        $11 or $31        $23 or $33    $24 or $34
   FA4C -+ - - - - - - - - - +
         |空き               |
   FBFF -+-------------------+ - - - - - - - - - - - - - - - - - - - - - - - - - -

・概ね、プログラムは論理メモリ空間の後ろ寄り、データは前寄りに配置されます。
 Shell の例では、プログラムとデータ合わせて2KBも無いのに、それぞれ
 4KBずつ配置されるので計8KBも消費してしまいます。かなりの無駄遣いに
 見えますが、Shellを複数起動する際には同じ物理メモリ上のものが再配置
 されるので、物理メモリの追加消費はデータ部分のみになります。
 スタックメモリも各プログラム、各タスク毎に割り当てられます。
・物理メモリブロックの割り当ては一例です。どのブロックが割り当てられて
 いるかは重要ではありません。上の例では、Shellは OS-9 起動直後、Basic09は
 最初に起動時のものです。
 Basic09 はデフォルトのメモリ要求サイズ 4KB で起動した場合です。メモリマップ
 から、最大でも 40KB となるのが分かります
・論理メモリ $F000〜$FBFF については特殊処理が行われており、物理メモリブロッ
 ク内で $0C00〜$0FFF が使用されていない場合のみ配置されます。そうでない場合
 は1ブロック分前の論理アドレスから前倒しで配置されます。(3KB分論理メモリの
 無駄使いになります)
・FM77AV L2.2〜 とは、FM77AV20/EX用及びFM77AV40/EX用OS-9を含みます。

(2) システムモード
                                                  物理メモリブロック

          FM-77 Level 2                     読み  FM-77 Level2
                                            込み  L1.1   L1.2
      0 -+-------------------+ - - - - - - - - - - - - - - - - -
         |OS-9ワークエリア   |                    $00    ←
         |システムスタック   |
   1000 -+-------------------+ - - - - - - - - - - - - - - - - -
         |                   |↑                  $3E    ←
         |未割り当て         |│28KB
         |                   |↓
   8000 -+-------------------+ - - - - - - - - - - - - - - - - -
         |空き               |
   8A00 -+ - - - - - - - - - +                   ($8B00)($8A00)
   付近  |OS9p2,OS9p3,       |                    $02    ←
         |Clock, IOMan, RBF, |                    $03
         |SCF, PipeMan, Disk,| OS9Boot :    Boot  $04
         |Vterm, Prter, 他,  |                    $05
         |SysGo              |                    $06
         |                   |                    $07
   E000 -+-------------------+ - - - - - - - - - - - - - - - - -
         |Boot, OS9p1        | Kernel部分 : IPL   $01    ←
         |                   | (ROM扱い)
   F000 -+-------------------+ - - - - - - - - - - - - - - - - -
         |空き               |                    $3F    ←
   FC00 -+-------------------+
         |Special Global Area|
   FC7F -+-------------------+
         |共有メモリ、I/O    |
   FE00 -+-------------------+
         |OS9p1(DAT部)       | Kernel部分 : IPL
   FFFF -+-------------------+ - - - - - - - - - - - - - - - - -

          FM77AV                            読み  FM77AV        FM77AV20/EX   FM77AV40/EX
          L2.1      L2.2〜                  込み  L2.1   L2.2   L3.1  L3.2    L4.1  L4.2
      0 -+-------------------+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
         |OS-9ワークエリア   |                    $00    ←     ←     ←     ←     ←
         |システムスタック   |
   1000 -+-------------------+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
         |                   |↑                  $1F    ←     ←     ←     ←     ←
         |未割り当て         |│16〜20KB
         |                   |↓
   5000  +         +---------+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
         |         |空き     |
   5800  +         + - - - - +                          ($5D00)($5B00)($5B00)($5700)($5700)
   付近  |         |         |                    $1F    $02    ←     ←     ←     ←
   6000  +---------+         +
         |空き     |         |                    $02    $03
   6500  + - - - - +         +                    $03    $04
         |OS9p2,OS9p3,       | OS9Boot :    Boot  $04    $05
         |Clock, RBF, SCF,   |                    $05    $06
         |Disk, VTerm, UART, |                    $06    $07
         |Prter, FM.Sound,   |                    $07    $08
         |RMouse, Voice,     |                    $08    $09
         |MIDI, 他, SysGo    |                    $09    $0A
   E000 -+-------------------+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
         |Boot, OS9p1        | Kernel部分 : IPL   $01    ←     ←     ←     ←     ←
         |                   | (ROM扱い)
         |                   |
   F000 -+-------------------+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
         |IOMan, PipeMan, 他 | 3KB拡張部分:IPL   $3F    ←     ←     ←     ←     ←
   FC00 -+-------------------+
         |Special Global Area|
   FC7F -+-------------------+
         |共有メモリ、I/O    |
   FE00 -+-------------------+
         |OS9p1(DAT部)       | Kernel部分 : IPL
   FFFF -+-------------------+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

・FM77AV以降のOS-9では、IOMan、PipeMan、Piper、Pipe を OS9Boot から切り出して、
 $3F000〜$3FBFF に格納して、FM-77/11 では使い道の無かったメモリを有効活用して
 システムモードのメモリ空間の無駄遣いを防いでいます。
・一方で、新規デバイスサポートのためデバイスドライバの肥大化が進み、未割り当て
 ブロックがかなり減っています。
・FM77AV L2.2〜 とは、FM77AV20/EX用及びFM77AV40/EX用OS-9を含みます。
5.4 OS-9 のディスクフォーマット
・FMシリーズ(+日立MB-S1シリーズ)の OS-9 で使われているフロッピーディスクの
 フォーマットは、米国で流通しているオリジナルの OS-9フォーマット とは異なり、
 トラック0が OS-9 のファイルシステムから隠されており、LSN(Logical Sector 
 Number)はトラック1、セクター1から配置されています。
 トラック0は、FMシリーズの BOOT ROM(プログラム)と Putldrコマンドのみがアク
 セスします。(星光電子版FM-8用/BML3用OS-9を除く)
・専用のデバイスディスクリプタを用意することで、米国で流通しているオリジナル
 の OS-9フォーマットのフロッピーディスクを読み書きできるようになります。

5.4.1 FM-8/7/77/11用 OS-9 Level 1/2 のディスクフォーマット (5/3.5inch 2D)

セクタ      1 2 3 4 5 6 7 8 9 101112131415161 2 3 4 5 6 7 8 9 10111213141516
           +-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
トラック0  |IPL|     |X|  空き             |            Kernel             |
           +---+-+-+-+ +-------------------+-------------------------------+

           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
トラック1  |i|d|root directory |            data and program               |
           +-+-+---------------+-------------------------------------------+
            | |
            | Disk Allocation Map (LSN1)
            ID (LSN0)

           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
トラック2  |                      data and program                         |
     〜39  +---------------------------------------------------------------+

・トラック0、セクター6は存在しません。そのため、F-BASIC の VOLCOPY では
 バックアップできません。
・フォーマット直後には、32 x 39 - 10 = 1238 セクターの空き容量があります。

5.4.2 FM77AV用 OS-9 Level 2 のディスクフォーマット (3.5inch 2D)

セクタ      1 2 3 4 5 6 7 8 9 101112131415161 2 3 4 5 6 7 8 9 10111213141516
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
トラック0  | IPL | |       Kernel(Boot,OS9p1)      |  Ext3K(IOMan,PipeXXX) |
           +-----+-+-------------------------------+-----------------------+

           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
トラック1  |i|d|root directory |            data and program               |
           +-+-+---------------+-------------------------------------------+
            | |
            | Disk Allocation Map (LSN1)
            ID (LSN0)

           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
トラック2  |                      data and program                         |
     〜39  +---------------------------------------------------------------+

・トラック0の先頭の IPL が3セクター分占めるようになっています。
 また、Kernel部分(Boot,OS9p1)だけでなく、3Kbyte拡張部分(IOMan,PipeMan,Piper,Pipe)
 が格納されます。セクター6も存在します。
・フォーマット直後には、32 x 39 - 10 = 1238 セクターの空き容量があります。

5.4.3 FM77AV20/40/20EX/40EX用 OS-9 Level 2 のディスクフォーマット (3.5inch 2DD)

セクタ      1 2 3 4 5 6 7 8 9 101112131415161 2 3 4 5 6 7 8 9 10111213141516
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
トラック0  | IPL | |       Kernel(Boot,OS9p1)      |  Ext3K(IOMan,PipeXXX) |
           +-----+-+-------------------------------+-----------------------+

           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
トラック1  |i| d |root directory |            data and program             |
           +-+---+---------------+-----------------------------------------+
            | |
            | Disk Allocation Map (LSN1,LSN2)
            ID (LSN0)

           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
トラック2  |                      data and program                         |
     〜79  +---------------------------------------------------------------+

・トラック0の先頭の IPL が3セクター分占めるようになっています。
 また、Kernel部分(Boot,OS9p1)だけでなく、3Kbyte拡張部分(IOMan,PipeMan,Piper,Pipe)
 が格納されます。セクター6も存在します。
・ディスク容量増加のため、Disk Allocation Map で2セクター分使用します。
・フォーマット直後には、32 x 79 - 11 = 2517 セクターの空き容量があります。

5.4.4 FM-77/11用 OS-9 Level 1/2 のディスクフォーマット (5inch 2HD/8inch 2D)

セクタ      1 2 3 4 5 6 7 8 9 1011121314151617181920212123242526
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
トラック0  |  IPL  |                 空き                      |
  サイド0  +-------+-------------------------------------------+
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
トラック0  |            Kernel             |        空き       |
  サイド1  +-------------------------------+-------------------+

           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
トラック1  |i| d |root directory |       data and program      |
  サイド0  +-+---+---------------+-----------------------------+
            | |
            | Disk Allocation Map (LSN1,LSN2)
            ID (LSN0)

トラック1  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  サイド1  |                 data and program                  |
     〜76  +---------------------------------------------------+

・他の OS と同様、トラック0、サイド0は単密度、128バイト/セクターに
 なっています。そのため IPL が4セクター分使用します。
・ディスク容量増加のため、Disk Allocation Map で2セクター分使用します。
・フォーマット直後には、52 x 76 - 11 = 3941 セクターの空き容量があります。
5.4.5 IDセクター、Disk Alloaation Map、物理フォーマット

os9_77L1-LSN0
os9_77L1-LSN1-0

os9_77L2-sectorid-1
os9_77AV-sectorid-1

5.5 星光電子版、中村先生版FM-8用OS-9

FM-8用のOS-9は、まず星光電子より発売になりました。 それは、システム拡張ユニットに入れる Type-Sボードや、 フロッピーインタフェースアダプタと併用して使う Type-Eボードとセットで使うものでした。 (OS-9 Type-Eボードについては、 かべきんさんのサイト で紹介されています。) しかし、この星光電子版は専用ハードウェアが必要であったり、 ブートが2段階のため手間がかかったり、と必ずしも使いやすいものではありませんでした。

その後、富士通から上記の課題を解決した富士通版FM-7/8/11用OS-9が発売されるのですが、それと前後して、 香川大学 中村邦彦先生 により、星光電子版FM-8用OS-9の改造に関する論文が発表されています。 この論文「FM-8 OS-9の改造」(AN00038281)については、 香川大学のサイト で閲覧することが可能です。
前半はOS-9の概要、後半に改造について書かれています。
改造のポイントは、星光電子版のFM-8用OS-9をベースとして、
・拡張ボードを接続しなくても使えるようにする
・2段ブート方式(起動時に毎度2枚フロッピーを読ませる)ではなく、
 フロッピー1枚で起動できるようにする
の2点のようです。
1点目は、富士通版でも同じような仕様に改良されています。
2点目は、富士通版ではTrack Offsetを採用して逃げてますが、中村先生版では敢えて Track Offsetなしのまま、IPLとIDセクタ(LSN0)を並存させるトリックを使われています。 (残念ながらその方式は標準にはなりませんでしたが...)

簡単な比較表です。
星光電子版 中村先生版 富士通版
発表(発売)時期 1982年8月? 1983年9月 1983年9月?
OS-9 Level 1 V1.1 V1.1 V1.2
Clock MC146818? サブシステム20msタイマ
Tick 65ms 100ms ? 100ms ?
RTC MC146818 なし(サブシステム時計)
RS-232C MC6850 x2 i8251 x1(FM-8本体)
プリンタ MC6821(2台) TTL(FM-8本体)
起動 2段ブート Floppy 1枚 Floppy 1枚
Track Offset なし なし あり
Kernel位置 ブートディスク ユーザー領域 Track 0
ID(LSN0)位置 Trk=0 Sct=1 Trk=0 Sct=1 Trk=1 Sct=1
上記の他、富士通版ではパイプ、マルチウィンドウ、漢字表示がサポートされています。

5.6 FM-77 DEMOプログラム5 の“takaku”を再現

FM-77 のデモプログラム中に、OS-9 のデモが含まれているのはご存じかと思いますが、
これは F-BASIC で模擬的に実行されたものでした。
それを本物の OS-9 と BASIC09 で再現してみよう、というのがこのコーナーの趣旨です。

fbdemo302077-5E
os9_takaku_00
os9_takaku_01
os9_takaku_02
os9_takaku_03
os9_takaku_04

os9_takaku_10
os9_takaku_11
os9_takaku_12
os9_takaku_13
os9_takaku_14

5.7 FMシリーズOS-9 パッチ情報

過去に各所で発表された、もしくは はせりん が発見した、公式・非公式を問わず、修正情報を掲載していきます。
下記以外に修正情報をご存じの方、出展を添えてご連絡いただければ幸いです。
#尚、お約束ですが、下記情報に基づいた修正を行って何か問題が発生しても当方では責任を負いません。 あくまで自己責任での適用をお願いします。

(1) FM77AV用OS-9 固有の問題

症状例:
OS9_FM77AV_L21
修正内容:

OS9:cmp /D1/VTerm /D1/VTerm.new

 Differences

byte      #1 #2
========  == ==
00000ED2  53 20
00000ED3  39 16
000018C2  93 01
000018C3  DC 1E
000018C4  1B 27

Bytes compared:   000018C5
Bytes different:  00000005

出典:The BASIC 1986年7月号 P.149
  「OS-9テクニカル情報」
   元ネタは、Ami-Net内電子掲示板No.9「OS-9 Q&A」とのこと。
   さらに元ネタは、星光電子内のOS-9UG BBSとのこと。
   なので、このパッチは公式っぽいです。
対策後:
OS9_FM77AV_L21_1

他のバージョン:
OS9_FM77AV_L22

(2) FM77AV用OS-9 を FM77AV40系で使用する際の問題

症状例:
OS9_FM77AV_L21_on_FM77AV40
修正内容:

OS9:cmp /D1/Boot /D1/Boot.new

 Differences

byte      #1 #2
========  == ==
00000026  B6 86
00000027  FD 28
00000028  04 12
00000215  8E 13
00000216  8C 07
00000217  F6 6E

Bytes compared:   00000218
Bytes different:  00000006

OS9:cmp /D1/Disk /D1/Disk.new

 Differences

byte      #1 #2
========  == ==
000000A3  B6 86
000000A4  FD 28
000000A5  04 12
000006E6  52 19
000006E7  B7 1A
000006E8  9E 53

Bytes compared:   000006E9
Bytes different:  00000006

出典:Oh!FM 1987年1月号 P.122
  「FM-7/AV用OS-9をAV40で動かす」
   68club 永田/渡辺/富川 (敬称略)
他のバージョン:
OS9_FM77AV_L22_on_FM77AV40
修正内容:

OS9:cmp /D1/Disk /D1/Disk.new

 Differences

byte      #1 #2
========  == ==
000000B6  B6 86
000000B7  FD 28
000000B8  04 12
0000070B  65 67
0000070C  E8 4D
0000070D  3C 7C

Bytes compared:   0000070E
Bytes different:  00000006

出典:はせりん

(3) FM-7用OS-9 Level 1 V1.2J L1.2 固有の問題

症状例:
OS9_FM7L1_L12
修正内容:

OS9:cmp /D1/Boot /D1/Boot.mod

 Differences

byte      #1 #2
========  == ==
00000011  04 05
00000040  FF 00
00000203  E6 30
00000204  C5 3A
00000205  65 6A

Bytes compared:   00000206
Bytes different:  00000005

出典:はせりん

(4) FM77AV用OS-9 を FM-77L4/FM-77 + 400ラインセットIIで使用する際の問題

対処例:
OS9_FM77AV_on_FM77L4

出典:はせりん

(5) FM77AV用OS-9 を FM-77L4/FM-77 + 400ラインセットI/IIで使用する際の問題

症状例1:
OS9_FM77AV_L21_on_FM77L4
症状例2:
OS9_FM77AV_L21_on_FM77L4_1
修正内容: 上記(1)の修正を含んでいます。

# 十分な検証が済んでませんので、参考程度にご利用願います。

OS9:cmp /D1/VTerm /D1/VTerm.pat2

 Differences

byte      #1 #2
========  == ==
0000001E  29 B7
0000001F  53 FC
00000020  45 78
00000021  49 BF
00000022  4B FD
00000023  4F 12
00000024  55 39
00000161  FD FC
00000162  12 78
00000511  FD FC
00000512  12 78
0000053E  BF 17
0000053F  FD FA
00000540  12 DD
00000ED2  53 20
00000ED3  39 16
000018C2  93 1D
000018C3  DC FB
000018C4  1B 63

Bytes compared:   000018C5
Bytes different:  00000013

OS9:cmp /D1/RMouse /D1/RMouse.pat2

 Differences

byte      #1 #2
========  == ==
0000068D  FD FC
0000068E  12 78
00001734  9D 93
00001735  72 82
00001736  B4 AC

Bytes compared:   00001737
Bytes different:  00000005

出典:はせりん
対策後/他のバージョン:
OS9_FM77AV_L21_on_FM77L4_2
OS9_FM77AV_L21_on_FM77L4_3

さて、ここで残念なお知らせです。(4)、(5)のパッチで FM77AV用OS-9 Level2 を
FM-77L4/FM-77 + 400ラインセットI/II で、ある程度動作させることが確認できましたが、
簡易なパッチで対処できるのはここまでです。
上記2点の問題以外に次のような問題が確認されてますので、FM77AV用OS-9 Level2 を
FM-77L4/FM-77 + 400ラインセットI/II で安定的に使うには大幅改造が必要なようです。
その改造はこのコーナーのスコープを超えますので、別の機会に。

・FM77AV用OS-9をFM-77で動かした際、DUPキーが効かない件。
 症状:マルチウィンドウが使えない。(ウィンドウ切り替えができない)
 原因:FM77AV用OS-9では、FM16β互換のキーエンコードを前提とした
    作りになっており、FM-77ではそのコードを発生できないため。
    具体的には、DUPキーを押した際にFM16β互換モードでは $113、
    FM-7モードでは $011 のコードが送られてきます。
 対処:VTerm側でFM77AVとFM-77で共用できるような(すなわち機種判別
    しないで済むような)簡易パッチは無理です。
    ただし、OS-9 ToolBox をお持ちであれば、FM-77でOS-9起動後に
    Debug で OS9p3 のオフセット $147(L2.1の場合) もしくは $152
    (L2.2の場合) を $21 に書き換えて、さらに絶対番地の $FC69 を
    $11 に書き換えると若干の制限付きですがウィンドウの切り替え
    ができるようになります。(具体的な方法はお問い合わせください。)

・FM77AV用OS-9をFM-77で動かした際、時計が動かない件。
 症状:時計が動かない。これはかなり致命的です。
 原因:FM77AV用OS-9では、時計をRTCに全面的に委ねており、FM-77
    ではRTCを持たないため。
 対処:Clockを大幅に作り変えない限り無理です。
    FM77AV用OS-9ではClockとOS9p3の役割分担を変更しているため、
    FM-77のClockを持ってきて入れ替えただけでは NG です。

・FM77AV用OS-9をFM-77で動かした際、$10000〜$1FFFFのメモリが使えない件。
 原因:OS9p1のDAT関連のコードがFM77AVの構造に合わせた作りになっている。
 対処:OS9p1でFM77AVとFM-77で共用できるような簡易パッチは無理です。

・FM77AV用OS-9をFM-77で動かした際、ChangeSubコマンドが使えない件。
 原因:これはハードウェアの違いによるのでどうしようもありません。
 対処:なし。
 余談:FM-77用OS-9で、400ラインモードと200ラインモードを切り替える
    ChangeSubコマンドを作るのは意味ありそうですが、Vtermにも結構手を
    入れないといけないので、少しお時間ください。
(6) 過去に「OS-9 NEWS」(星光電子から発行されていた機関紙)に掲載されていた、 OS-9/6809用のパッチ集です。
はせりんは動作確認してませんので、掲載しておくだけに止めます。

(6A) ハードディスクドライバ(Hard)の変更:(内容不明)
Hard
該当機種 ED No. CRC オフセット 修正前 修正後 新CRC
FM-8 * 6 $480585 $490 $1B $0D $3D5043
FM-8 5 $0A717A $473 $1B $0D $7F24BC
FM-11 L1 5 $917401 $479 $1B $0D $E421C7
FM-11 L2 9 $0D037B $4D5 $1B $0D $7856BD
FM-8 * は星光電子版。
出展:「OS-9 NEWS」No.2

(6B) プリンタドライバ(PIA)の変更:高速化
PIA
該当機種 ED No. CRC オフセット 修正前 修正後 新CRC
FM-8 * $2B7 $C8
FM-8 * は星光電子版。
出展:「OS-9 NEWS」No.2

(6C) プリンタドライバ(Prter)の変更:RP-100で136桁印字対応
Prter
該当機種 ED No. CRC オフセット 修正前 修正後 新CRC
FM-8 4 $4F37CA $35
$36
$50
$60
$88
$A3
出展:「OS-9 NEWS」No.3

(6D) Formatコマンドの変更:MB-S1で読み書きできるようにする
Format
オフセット 富士通版 日立版
ED No. $13 $15(21) $16(22)
修正データ $28
$34
$40
$46
$48
$51
$6D
$73
$75
$0C
$0A
$0A
$43
$28
$20
$16
$90
$52
$1A
$0B
$1B
$50
$3A
$32
$36
$A2
$72
CRC $E03〜$E05 $881AD4 $5F8F53
出展:「OS-9 NEWS」No.5
Edition 21 はFM-11 L2用に含まれているようです。

(6E) Boot/Putldrコマンドの変更:OS9Bootのファイルサイズ制限$6000を解除する
Boot
該当機種 ED No. CRC オフセット 修正前 修正後 新CRC
FM-11 L2 2 $C6E04C $EF $88 $8D $7F266C
Putldr
該当機種 ED No. CRC オフセット 修正前 修正後 新CRC
FM-11 L2 $A01B49 $619 $80 $D0 $D9FCC3
出展:「OS-9 NEWS」No.5
解除するとは言っても、$D000が上限だと思います。

(6F) Pipeデバイスディスクリプタの変更:メモリの無駄遣いの回避
Pipe
該当機種 ED No. CRC オフセット 修正前 修正後 新CRC
FM-11 L2
FM-77 L2
80 $120666 $0F
$10
$00
$00
$FF
$FF
$1209D7
出展:「OS-9 NEWS」No.7

(6G) プリンタドライバ(Prter)の変更:EPSON ESC/P対応(読者投稿)
Prter
該当機種 ED No. CRC オフセット 修正前 修正後 新CRC
FM-11 L2 11 $3DE176 $43
$46
$4F
$50
$51
$52
$53
$54
$495
$496
$497
$498
$4B0
$4B1
$4B7
$4B8
$4C0
$4C1
$4C7
$4C8
$4DD
$4DE
$4E6
$4E7
$4EE
$50
$60
$1B
$24
$40
$1B
$28
$48
$51
$31
$20
$7C
$60
$70
$22
$77
$60
$71
$23
$76
$23
$70
$1C
$28
$24
$88
$A3
$00
$1C
$26
$00
$1C
$2E
$4D
$00
$00
$00
$00
$00
$00
$03
$00
$00
$06
$06
$03
$03
$1B
$50
$53
出展:「OS-9 NEWS」No.7

(6H) HDx/Hard/Format/BOOTP1.HDの変更:67MBハードディスクへの対応
HD0, HD1
該当機種 ED No. CRC オフセット 修正前 修正後 新CRC
FM-11AD2+ $15 $A6 $B6
Hard
該当機種 ED No. CRC オフセット 修正前 修正後 新CRC
FM-11AD2+ 11 $8765DA $54E $0F $1F $21AB92
Format
該当機種 ED No. CRC オフセット 修正前 修正後 新CRC
FM-11AD2+ 22 $29F65D $131 $27 $20 $96DFC9
BOOTP1.HD
該当機種 ED No. CRC オフセット 修正前 修正後 新CRC
FM-11AD2+ $90C107 $F4
$1E5
$1E6
$2B
$04
$04
$25
$16
$0B
$468203
出展:「OS-9 NEWS」No.10

(6I) プリンタドライバ(Prter)の変更:FM-PR系プリンタにおけるJIS-83罫線印刷対応
Prter
該当機種 ED No. CRC オフセット 修正前 修正後 新CRC
FM-11AD2+ 13 $3924A1 $48 $40 $42 $B469C0
FM-11AD2+ 14 $A91C65 $52 $40 $42 $9A049B
出展:「OS-9 NEWS」No.16
送出側のプログラムでも対応が必要だと思われます。


尚、本ページの各表の作成にはThinkさんのCSV→Table変換サイトのお世話になりました。
ありがとうございました。


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