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

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



[第97回]


●スクリーンエディタ版ソースファイルとバイナリファイル

中日電工版TINY BASIC(スクリーンエディタ版)の説明に入る前にいつものようにソースプログラムファイルとバイナリファイルのリンクを下につけておきます。
[2020.10.2注記]
下記のプログラム(tinybs3d)にバグがみつかりました。
詳しくは[第102回]を参照願います。
[注記ここまで]

エンドコードの問題を回避するためとウイルスチェッカーにダウンロードを拒否されないために拡張子を変更してあります。
ダウンロード後に
tx2→txt
bbb→bin
に変更してお使いください。
詳しくは[第87回]および[第41回][第42回]をご参照ください。
またダウンロード後のアセンブル作業や、ZB3BASICにロードして実行する手順などについては[第33回]を参照願います。

1)「中日電工版」TINY BASIC(スクリーンエディタ版)の現時点での最終版ソースプログラムです。
拡張子を本来のtxtからtx2に変えてあります。
ダウンロード後に拡張子をtxtに変更してください。
テキストファイルですからメモ帳、TeraPadなどのテキストエディタで開けます。
ND80Z3.5などに附属の8080アセンブラASM80.comにかけてバイナリファイルを作ります。

tinybs3d.tx2

2)tinybs3d.txtをASM80.comにかけて作成したバイナリファイルです。
拡張子を本来のbinからbbbに変えてあります。
ダウンロード後に拡張子をbinに変更してください。

tinybs3d.bbb

●WinMerge

スクリーンエディタ版はそれ以前の「中日電工版」TINY BASIC(tinybste.txt)のキー入力部分のみをスクリーンエディタに変更したものです。
tinybste.txtは[第95回]にダウンロード用のリンクがあります。
もっともスクリーンエディタの機能そのものはWindows側のZB3.EXEにありますので、TINY BASIC側はWindows側で[Enter]が押されたときにUSB経由で送られてくる行データを受信するだけですから、変更部分はわずかです。
ただ私としてはスクリーンエディタ版が「中日電工版」TINY BASICの最終版と位置づけていますので、そのためにいろいろ最終的に直しておきたいところなどに手を加えました。
そういう部分を含めて説明をするためには、もとのtinybste.txtのどこをどのように変更したかというところを提示しながら説明ができるとわかりやすいと思います。
そういうときにはWinMerge(なんとフリーソフトです)が実に役に立ちます。

WinMergeはこちらのサイト(↓)で紹介されています。
https://winmerge.org/?lang=ja
超すぐれもののソフトです。
こんな優秀なソフトがフリーとは信じられない気持ちです。
有難く使わせていただいています。

プログラムを作成したり変更するときなど本当はこまめにノートを取るべきです。
しかし面倒でなかなか変更箇所をメモしたりなどできません。
変更を重ねていくとどこをどのように直したのかわからなくなってしまいます。
そんなときにWinMergeを使えば全ての変更箇所を表示してくれます。
有難くてもう涙が出そうです。

その有難さは実際に見ていただければ一目瞭然です。
下はtinybste.txtとtinybs3d.txtとをWinMergeで比較表示した画面です。

左側がtinybste.txtで右側がtinybs3d.txtのリストです。
左右で異なっているところが着色表示されています。
一番左端に目安になるようにリスト全体のなかで左右が異なっている場所が小さいスケールで表示されています。
右側に表示されている部分に相当する部分がグレーで薄く着色されていて、右側の表示をスクロールすると左側のグレーの着色部分もそれに伴って移動して表示されます。
詳しくはWinMergeをダウンロードして実際にさわって確かめてみてください。

さて。
TINY BASICの説明です。
本日は時間がありませんので、上の画面に表示されているところについてだけ、簡単に説明をします。

スクリーンエディタを使うために新たに付加したのはSINSのみです。
実はSINSはスクリーンエディタのためではありませんが、それについては次回以降で説明をします。

変更箇所はもう一箇所あります。
TXTENDからSTKLMTまでのアドレスが異なっています。
もとのプログラムはオリジナル版のRAMエリアをそのまま9000番地台に移動しただけなのでシステムワークエリアが本当にわずかしかありません。
スタックがすぐにパンクしてしまいます。
せめてということでそこを256バイト拡げました。
同時にオリジナル版のキー入力バッファが64バイト(9F9D〜9FDD)だったところをスクリーンエディタ画面の1行分の80バイト(9E9D〜9EED)に拡げました。

復活!TINY BASIC[第97回]
2020.9.25upload

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