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

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



[第2回]


●TINY BASICとは

前回お見せした「INTERFACE AGE」1976年12月号の記事をそのまま引用したほうが手っ取り早いです。
もう一度少し拡大して再掲いたします。


かいつまんで訳しますとPalo Alto Tiny BasicはLi−Chen Wang博士によってDr.Dobb’s Journal誌No.5(1976年5月号)に掲載されたのが最初とのことです。
これが世に言うPalo Alto版の起源のようです。
その後わが国でもいくつかのバリエーションが発表され雑誌に掲載されたと言われていますがそのあたりの詳しいことは私は知りません。
前回書きました雑誌「I/O」に掲載されたものがこのPalo Alto版の流れを汲むものかどうかもさだかではありませんが、変数名やBASIC命令などを見る限りではおそらくPalo Alto版をもとにしたものだったと考えられます。
上の記事によりますと最初にDr.Dobb’s Journal誌に掲載されたプログラムリストはIBMコンピュータ上で開発されたもので「Intelニーモニック」ではなかったとか。
この記事の著者Roger Rauskolb氏はWang博士の協力を得て、それを「Intelニーモニック」に書き直し、そして自作の「8080コンピュータ」に移植することができた、と書いてあります。
上記記事にはこのあとに続けてTiny Basicの詳しい文法などの説明があって、そして完全なアセンブルリストまでが掲載されています。
それらについては次回以降で少しずつ説明をしていく予定です。

上の記事にありますように氏の自作8080コンピュータは2708ROM(2KB)と1KBのRAMのほかは8251によるRS−232Cポートがあるだけの小さなシステムです。
おそらくRS−232Cの先にはテレタイプなどキーボード+プリンタ装置がつながれていてそれを入出力装置として使っていたと推測されます。

私が40年ぶりにTiny Basicに再会して、そのプログラムリストをもとにND80Z3.5に移植を試みた過程ではまず第一に8251を使ってRS−232C経由でおこなっていた入出力をND80Z3.5とUSBで接続したWindowsパソコンで行なうように書き換える作業が必要でした。
そのほかにも氏のプログラムはROMの先頭アドレス0000番地から始まるプログラムになっていて、先頭のRST 1〜RST 7に基本的なBIOSとでもいうべきルーチンを割り当てているのですが、そこのところは全面的に書き換える必要がありました。

前回少しお見せしましたように、今やっとND80Z3.5の上で少し動き始めたところです。
当初はオリジナルと同じようにZB3BASICの制御下から離れて単独で動作するシステムにすることも考えたのですが、それではデバッグがまったくできないことに気が付きました。
このようなマシン語のプログラムをいきなり書いて一発で動作させるなどできることではありません。
最初はまったくうんともすんとも言ってくれないことが当たり前と思います。
そこからデバッグツールの助けを借りて少しずつ動くように仕上げていきます。
そのためにはZB3BASICのマシン語プログラムデバッグ機能なしにはとてもできないとあらためて再認識してZB3BASICを起動したあとに8000番地からロードして実行する形に落ち着きました。

まだプログラムのデバッグは完了していません。
未完成ですけれど近いうちにソースプログラムリストをそのまま公開する予定です。
それをダウンロードしていただいて、ND80ZV、ND80Z3.5、ND8080、MYCPU80などに附属の8080アセンブラASM80.COMにかけていただくと実行形式のバイナリファイルが得られます。
それをND80Z3.5などにロードしていただければ、当記事と同じように実行しデバッグすることができます。
当記事と同時進行でデバッグ作業も体験していただけることはまたとないよい経験になることと信じています。

それでは、いざ。
出発、進行!
です。

復活!TINY BASIC[第2回]
2020.5.19upload

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