レベル3BASICとF-BASIC

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

本ページの各画面キャプチャについては、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年3月20日第1版第1刷発行 (はせりん所有)
1982年4月30日第1版第9刷発行 (はせりん所有)
ISBN4-87148-220-0 C3055 \2500E
出版元:アスキー出版
L3BASIC

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

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

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

L3GRAPH 一つ目の方はプログラムリストが掲載されていますので、 それを打ち込んだだけです。
(事前に NEW ON 7 等で HI-RESO、80桁モード に設定しておいた方がよいです。)
L3GRAPH2 二つ目の方は、何とリストが掲載されていないため、一つ目のプログラムに手を加えて それらしい画面が出るようにしてみました。

210 FOR I=13 TO 8 STEP -1
215 IF I=13 THEN GOSUB 300
220 IF I=8 THEN E=PI*2
250 Y=FIX(SIN(R)^3*I*3)+I*10
260 LINE(X,Y)-(320,I*10),PSET,C
290 END
300 FOR R=0.5 TO PI-0.5 STEP 0.01
310 PSET(FNX(R),FNY(R),7)
320 NEXT
330 LINE(320,199)-(320,170),PSET,7
340 RETURN

215行、290〜340行は追加、他の行は修正です。

これを、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
  MB-S1              0:19

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

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

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

L3GRAPH 最新の 1.6.2版でキャプチャしなおしています。
1.4.0版以降、デバッガ機能追加版もリリースされるようになりました。
L3GRAPH2 最新の 1.6.2版でキャプチャしなおしています。一回り小さい 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詳細編  F-BASIC詳細編(その2:デモ画面集)
FM77AVシリーズ システムディスク編
FM77AVシリーズ デモ・入門ディスク編
CP/M-80
OS-9編
Flex編
F-BASIC ファイルシステム(およびその上位互換)上に構築されたOS、開発システム
FM-7/8シリーズ用プログラミング言語とその処理系
番外編(その2:勝手に誤記修正編)
番外編(その3:6809用MMU考察)
番外編(その5:FM-7,8シリーズのROM一覧)
番外編(その6:FM-77用拡張メモリ他について)
番外編(その7:FM-8/7/77/77AVシリーズの微妙な非互換性)
番外編(その8:FM-7/8シリーズ用アドオンCPUカード)
番外編(その11:FM-11,16シリーズのROM一覧)
緊急特集:MB22603の秘密
--------
レベル3BASICとF-BASIC を覗いてみる
テクノポリス誌ナウシカベンチマークとミンキーモモベンチマーク
ASCIIART(マンデルブロ集合)ベンチマーク
--------
入り口ページに戻る

ご意見、ご要望はこちらまで(笑)
Copyright (C) 2019 by Haserin