超番外編:レベル3BASICとF-BASIC

蘇える30年前のプログラム

本ページの各画面キャプチャについては、PI.さん、りうさんが作られたXM7 および、
よ さんが作られたレベル3エミュレータeMB-689X、 Sasajiさんが作られたマーク5エミュレータBML3MK5
つのさんが作られたレベル3エミュレータ を使用させていただきました。
PI.さん、たけがみりうさん、つのさん、よさん、Sasajiさん、Takedaさん、いつも感謝しております。
(XM7/eMB-689X/BML3MK5がなかったらこんなページを作ろうという気にはなりませんでした。^^;)
(残念ながら、現在 よ さんのサイトは消失しています。早期の復活を望みます。)
また、MESS においても BML3 のサポートが進み、 最近のバージョンではある程度動作するようになったので、合わせて紹介しています。
L3eMB689xBML3MK5MESS BML3

1980年5月(?)に、6809を搭載したパソコンの第一弾として日立より発売されたのが、
この「ベーシックマスターレベル3」です。発売後しばらくしてから、アスキー出版
より1冊の書籍が発行されました。

レベル3BASIC入門 アスキー・システム・バンク(H#1)

1981年1月?日第1版第1刷発行
1982年4月30日第1版第9刷発行 (はせりん所有)
ISBN4-87148-220-0 C3055 \2500E
出版元:アスキー出版
L3BASIC

#この本を出版後、アスキーはレベル3に対しては見向きもしなくなります。
#(FMシリーズに対しても冷たかったですが...)

さて、この本の冒頭に
『MB-6890のグラフィックによる高精細度画面のサンプル』
と題して2つほど画面写真が掲載されています。
L3GRAPH

これをエミュレータで再現してみよう、というのが今回の企画です。
(ここでは よ さんの開発された eMB689x.exe を使用しています。)

L3GRAPH 一つ目の方はプログラムリストが掲載されていますので、 それを打ち込んだだけです。

L3GRAPH2 二つ目の方は、何とリストが掲載されていないため、一つ目のプログラムに手を加えて それらしい画面が出るようにしてみました。


これを、FM-7シリーズに移植して実行させてみたのが次の2つの画面です。 SCREEN文に互換性がないため、120行をコメントアウトした以外はそのまま 動作します。

L3GRAPH
L3GRAPH2

注目すべきは、プログラムの最初に描画する背景です。
ランダムなポイントにランダムな色で点描していくのですが、
LEVEL3 BASIC と F-BASIC で全く同じ背景になっています。
さすがに、ルーツを同じくする MICROSOFT BASIC ですね。
それ以外の差異としては、LEVEL3は着色が横8ドット単位になるため、
微妙に描画結果が異なっています。
当然、FM-77の方が本来描きたかった絵だと思います。

さて、恒例のベンチマークです。

L3GRAPH
  FM-77(高速モード)  0:27
  LEVEL3             1:35

L3GRAPH2
  FM-77(高速モード)  0:43
  LEVEL3             2:20

LEVEL3は1MHz動作、FM-77は2MHz動作、というのを割り引いても、
LEVEL3 BASICはちょっと遅いようです。
(LEVEL3はサイクルスチールやってるため、同じ条件のFM-77で対抗させました。)

Sasajiさんが開発された、レベル3マーク5エミュレータです。
上記と同じプログラムを実行してみました。
L3GRAPH ボーダーカラーを設定できるのかどうか不明ですが、他のエミュレータと比較し Window枠 が一回り大きくなっているようです。 (初期の頃の 0.1.0版です。)
L3GRAPH2 色合いはXM7と同じ感じです。

L3GRAPH 最新の 1.2.0 版でキャプチャしなおしています。テープカウンタが追加されています。
L3GRAPH2 最新の 1.2.0 版でキャプチャしなおしています。一回り小さい Window枠 になっています。

MESS 0149 版の BML3 ドライバです。
下の方にも書いてますが、何とカセットがサポートされていないため、こいつだけ L3 DISK BASIC上で実行させています。
BML3_MESS0149_0
BML3_MESS0149_1

最後に、つのさんが開発された、レベル3エミュレータです。
残念ながら Vector のサイトからも削除されてしまいました。
BML3_club09
BML3_club09_2


補足(蛇足):

BASIC MASTER Level 3 のエミュレータは、はせりんの知る限りこれまでに
4種類開発されています。(うち2つは残念ながら消失)
これらのエミュレータを実行する際に必要となるROMファイルの形式には
互換性がないため、ここにまとめておきます。

L3.EXE Ver 1.14a
club09(つのさん)バージョン
http://club09.hp.infoseek.co.jp/ (消失)
http://www.vector.co.jp/soft/winnt/util/se202083.html (消失)
Vectorのサイトからは旧版(Ver 1.11)のみダウンロード可能となっています。

  ファイル名  内容                     形式
  ROM1        BASIC ROM $A000-$FEFF    SAVEM形式
  ROM2        BASIC ROM $FFF0-$FFFF    SAVEM形式
  FONT        キャラジェネROM (0-$FFF) SAVEM形式

  SAVEM形式

  $00 $size $start 本体                  $FF $0000 $entry
  1   2     2      ($sizeで指定した長さ) 1   2     2

  本エミュレータでは、前後の各5バイトは無視し、
 本体部分のみ読み込んでいるようです。

eMB689X.EXE 2008071900版
よ さんバージョン(basicmaster.fan-site)
http://basicmaster.fan-site.net/ (消失)

  ファイル名  内容                          形式
  L3BAS.ROM   BASIC ROM $A000-$FFFF         ベタ(バイナリイメージ)
  CHR.ROM     キャラジェネROM (0-$FFF)      ベタ(バイナリイメージ)
  KANJI.ROM   漢字フォントデータ (0-$1FFFF) ベタ(バイナリイメージ)

  L3BAS.ROMの$FF00〜$FFEFまでは読み飛ばされます。

MESSバージョン (mess 0.149以降)
http://www.mess.org/

  ファイル名      内容                             形式
  598 p16611.ic3  BASIC ROM $A000-$BFFF            ベタ(バイナリイメージ)
  599 p16561.ic4  BASIC ROM $C000-$DFFF            ベタ(バイナリイメージ)
  600 p16681.ic5  BASIC ROM $E000-$FFFF            ベタ(バイナリイメージ)
  FONT.ROM        キャラジェネROM (0-$FFF)         ベタ(バイナリイメージ)
  KANJI.ROM       漢字フォントデータ (0-$1FFFF)    ベタ(バイナリイメージ)
  MP1802.ROM      両面倍密フロッピー ($F800-$FFFF) ベタ(バイナリイメージ)
  MP1805.ROM      片面単密フロッピー ($F800-$FFFF) ベタ(バイナリイメージ)

  600 p16681.ic5、MP1802.ROM、MP1805.ROM の$FF00〜$FFEFまでは読み飛ばされます。

  0149 のバージョンになり大改修(?)され、かなりのソフトが動くようになったようです。
  難点は、カセットテープデバイスよりも先に(!)フロッピーディスクがサポートされて
  しまい、手持ちのソフトがそのままロードできない点です。
  sasajiさんの BML3MK5.EXE でメディアコンバートしています。

BML3MK5.EXE Ver 1.2.0
sasajiさんバージョン
http://s-sasaji.ddo.jp/bml3mk5/

  ファイル名  内容                             形式
  ROM1.ROM    BASIC ROM $A000-$FEFF            ベタ(バイナリイメージ)
  ROM2.ROM    BASIC ROM $FFF0-$FFFF            ベタ(バイナリイメージ)
   or
  L3BAS.ROM   BASIC ROM $A000-$FFFF            ベタ(バイナリイメージ)
  FONT.ROM    キャラジェネROM (0-$FFF)         ベタ(バイナリイメージ)
  KANJI.ROM   漢字フォントデータ (0-$1FFFF)    ベタ(バイナリイメージ)
  MP1802.ROM  両面倍密フロッピー $F800-$FFFF   ベタ(バイナリイメージ)
  MP1805.ROM  片面単密フロッピー $F800-$FFFF   ベタ(バイナリイメージ)

  L3BAS.ROM、MP1802.ROM、MP1805.ROM の場合は$FF00〜$FFEFまでは読み飛ばされます。

  現在の本命エミュレータです。
 当初はカセットのみのサポートでしたが、現在はフロッピーディスクも
 サポートされています。


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