2020.5.18

次へ
ホームページトップへ戻る

[新連載]復活!TINY BASIC
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
すべてはここからはじまりました。
中日電工も。
40年前を振り返りつつ新連載です。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜



[第1回]


●プロローグ

およそ2年ほど前の2018年6月のある日。
ずっと懇意にしていただいておりますJ大学I先生からメールをいただきました。
ご注文の打ち合わせのついでにということで。
「いつか整数BASIC の構造がどうなっているのか、解説していただきたいと思っています」

なるほど。
確かにZB3BASICは大きくなりすぎました。
ユーザーが参考にするには重過ぎるかもしれません。
「そうですね。PALO ALTO版などが適当かもしれませんね」
いつかそのうちやりましょう、とご返事いたしました。

そういえば中日電工のZB3BASICももとはと言えば、当時(40年ほど前)に雑誌(多分「I/O」)に掲載されたTINY BASICのバイナリデータ(もう16進数ベタ)を見てコーフンし、およそ700バイトほどのその16進コードを、手作りしたばかりの8080マイコンボードに打ち込んだことから始まりました。
電通大版とかだったように記憶していますがなにしろ遠い昔のことですから違っているかもしれません。
思えばなつかしいです。
結婚して2年ほど経ったばかりで子供もまだ生まれていませんでした。
妻に頼んでその16進コードを入力してもらいました。
今時と違って当時はアセンブラなどを使えるのは大学の研究室など限られたところだけで、もちろん一般のホビイストにそんなツールがあるわけはなく、ひたすら雑誌に掲載された16進コードを一心不乱に打ち込むのが普通のことでした。
まあ、私にそんな退屈なことができるわけはなく、当時も今もそういう退屈な作業はすべて妻に任せてしまいます。

そんなわけでプログラムの構造とかどこがどうなっているのかなどの詮索は二の次で、とにかくBASICが、MYコンピュータで動くのだ!
それはもう夢のような話でした。
それが動いたときの感激!
簡単な整数演算しかできませんが、それでも()を何重にも使った複雑な式でも計算できてしまうのはまさに驚異でありましたし、不思議でもありました。
たった数百バイトのプログラムでどうしてこんな計算ができるのだろう?
なんとかその仕組みを知りたいものと思い、8080の命令表を見ながらその16進コードを1つずつ「ハンド逆アセンブラ」で翻訳してノートに書き留めていきました。
そのうちにこれを改良してもっと機能の高いものにしてみたいと思うようになりました。

本当のような嘘のような話ですけれど、現在ND80Z3.5やND8080のシステムROMに入っている浮動小数点演算のできるZB3BASICは間違いなくその昔のPALO ALTO TINY BASICをもとにして作り上げてきたものなのです。

おそらく皆様の中には自分自身でBASICのようなプログラムを書いてみたいとお思いの方も少なからずいらっしゃるのではと思います。
しかし初歩の解説書などは皆無でありましょう。
もういきなりC++でありますとかVisualXXでありますとかそういったレベルの参考書になってしまうかと思います。
そうではなくて、もっともっと単純で、そんなコンパイラなどというだいそれたものを使わなくてもそれこそその気になれば8080のマシン語コード(バイナリコード、16進コード)を直接メモリに打ち込んでいくことでも動いてしまうくらいのBASICシステムでしたら、ひょっとしたらオレでもわかるかも、オレだって作れるかも、と思っていただけるのでは。
TINY BASICはそんなBASICなのです。

しかしだからといって決して粗雑なつくりなどではありません。
40年以上経った今、あらためてそのプログラムリストを見ても「さすが。よくぞここまで」と思うほど見事なプログラムです。
ND80Z3.5、ND8080、MYCPU80をはじめとしてその他のマイコンボードをご愛用いただくユーザー様も増えてきました。
そのユーザーの皆様にそれらのマイコンボードをさらに活用していただくためにもTINY BASICはまたとない教材になると信じています。

インターネットからダウンロードした雑誌掲載記事。

「INTERFACE AGE」1976年12月号の記事。
2年近くも前にダウンロードしたのでどのサイトからだったかはっきり覚えていません。
↓こちらからだったと思いますが、他からもダウンロードできるかもしれません。
http://www.bitsavers.org/pdf/interfaceAge/197612/092-108.pdf

ND80Z3.5に移植して動き出したTINY BASICです。


復活!TINY BASIC[第1回]
2020.5.18upload


次へ
ホームページトップへ戻る