BASINTに付属しているプリプロセッサ、TBPREP.exe を使って変数を定義したソースからBASINT basicプログラムに変換してみた。
方法はDOS窓で
>tbrpep.exe -i rtc.bas -o rtc.out と打ち込む事でrtc.outが作られる。
これはコピペで書き込むので 最初から rtc.txtで指定する方が開くことが出来るので便利。
>tbrpep.exe -i rtc.bas -o rtc.txt と打ち込む。
変換は不具合が在るようで、書き込んでもエラーになってしまう。
変換後のfileを見ると
H=C OR&H80,D=D AND&HF0, F=F AND&H0F と空白が無い事による
エラーが出る。
上記は H=C OR &H80 の様にORの後に空白がないとエラーになる。
エラーをつぶして何とか動く様になったが、肝心の表示が出ない。
もう一つ問題があった、それは
TWIWRITE&HD0:
TWIWRITE&H00
TWIWRITE SECOND:
TWIWRITE TIME_MT:
TWIWRITE TIME_HR:
TWIWRITE DAY:
TWIWRITE DATE:
TWIWRITE YEAR:
TWIWRITE MONTH:
TWISTOP
DS3231Sのメモリに書き込む部分にdefine で定義した変数が反映されていない様である。
つまり,
define year = g
define month = h
define date = i
define day = j
define time_hr = k
define time_mt = l
define second = m
これらの定義が生きていないようである。
TWIWRITE DAY:を TWIWRITE j:と書き直してやるとちゃんと表示が出る。
それと、ソースはインデントや空白を入れても変換したfileにはそれが反映されず
続けて出てきてしまう。
やれやれである。
BASINTを一通り眺めてみたが、こんな所かな、、、、。