TinyBASICをCで書き直す

ぼくはCPUの動く姿を見るのがとても楽しくて、それが何の役に立つかはまったく関心がない。関心がなくても想定くらいはないと設計ができないから、仮の目標としてBASICを動かすことにしている。BASICはインタプリタ型のプログラミング言語で、いまどきの感覚でいうとスクリプトの実行環境になる。つまり、BASICが動いたからといってそれだけでは何の役にも立たないのだが、2、3の文言でCPUの動く姿を見られるし、頑張ればある程度は役に立つ働きをする。ぼくの趣味と趣味でない範囲の境界にあって、ここまでなら妥協できる。1970年代のパソコンがBASICを搭載していたこともそんな理由だと思う。

とっかかりにちょうどいいのはドクタードブズジャーナルの1976年5月号(バグあり)と6月号(バグ修正済み)に掲載されたパロアルト版Tiny BASICで、8080のアセンブリ言語で書かれたソースが出回っている。日本ではこれを美しく書き直したいわゆる東大版BASICが、昭和53年に共立出版から発売された「マイクロコンピュータのプログラミング」(石田晴久編)に紹介されている。ぼくは後者のソースを書き写して8085+8251、Z80CPU+Z80SIO(TMPZ84C015)、CP/Mで動かした。一方、6800のBASICは、日本ではいわゆる電大版BASICがよく知られている。これは講談社が1978年に発売した「マイ・コンピュータをつかう」(安田寿明著)で紹介されたが、ソースは掲載されていなくて16進数リストがあるだけなので、何度か書き写そうと試みたけれどいまだになしとげていない。たとえなしとげたとしても詳しい解説がないから、ぼくのコンピュータに移植するとき、うまくいかなかったら修正の手掛かりがない。

そこで、情報が豊富で必要なら動かしてみることができるパロアルト版Tiny BASICのアセンブリ言語のソースをC言語で書き直すことにした。これが出来上がればCコンパイラのあるCPUすべてで動かすことができる。6800のCコンパイラはフリースケールのCodeWarriorが使えるんじゃないかと思っている。6809はSmall Cがある。16ビットのCPUや最近のマイコンは、立派なコンパイラが提供されている。そして、ひとたびBASICが動けば、RAMに実行コードを配置できないマイクロチップテクノロジーのPICのようなマイコンでも普通のCPUと同様にBASICのプログラムをロードして実行できることになる。そうだ、こいつを何とかモノにして一旗あげてやろう。

広告
カテゴリー: TinyBASIC パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中