CP/Mが動くハードが何種類も出来たが、それだけでは面白くない。
有り難いことに、インターネット上に様々なソフトがある。そこでいくつかダウンロードして動かしてみた。
Tarbell BASIC
CPMUG031 TBASICA4〜6.ASM
CPMUG032 TBASICA1〜3.ASM, TBASICIO.ASM, RTMASM.COM
TBASICは7つのソースTBASIC1〜6.ASMおよびTBASICIO.ASMから作成出来る。ただしTBASIC1〜6.ASMをアセンブルするために、RTMASM.COMが必要となる(RTMASM.DOC参照)
またTBASICIOは通常どおりASMでアセンブルし、最終DDTを使用し結合する。
注意点
RTMASM.COMの仕様が良くわからないが、CPMUG032をAドライブ、CPMUG031をBドライブとする必要がある。最初別のドライブでアセンブルしようとして、
} AS TBASICA1
TRIED TO OPEN NONEXISTENT FILE
というエラーとなった。明示的にドライブを指定すれば良いのかもしれないが未確認。
A>dir
A: CATALOG 32 : READ ME : RTMASM COM : RTMASM DOC
A: TBASICA1 ASM : TBASICA2 ASM : TBASICA3 ASM : TBASICIO ASM
A: UGFORM
A>B:
B>dir
B: CATALOG 31 : TBASIC 1 : TBASIC 10 : TBASIC 11
B: TBASIC 12 : TBASIC 13 : TBASIC 14 : TBASIC 15
B: TBASIC 2 : TBASIC 3 : TBASIC 4 : TBASIC 5
B: TBASIC 6 : TBASIC 7 : TBASIC 8 : TBASIC 9
B: TBASIC A : TBASIC AD : TBASIC B1 : TBASIC B2
B: TBASIC C : TBASIC COM : TBASIC CPM : TBASIC D1
B: TBASIC D2 : TBASIC E : TBASIC H : TBASIC HEX
B: TBASIC I : TBASIC IND : TBASIC J : TBASIC K
B: TBASIC SYM : TBASIC TOC : TBASICA4 ASM : TBASICA5 ASM
B: TBASICA6 ASM
B>A:
A>rtmasm
********************* ASSEMBLER ******************
<<<<<<<<<<<<<<<<<<<<<<<< RTM >>>>>>>>>>>>>>>>>>>>>
BY TOM DILATUSH
JUNE 1978
} LN
} LE
} SY TBASIC
} HX TBASIC
} AS TBASICA1
END OF ASSEMBLY TABLE USEDBLE
} QT
[[[[[[[[ ASSEMBLER LOSING CONTROL ]]]]]]]]
RunCPM Version 5.3 (CP/M 2.2 60K)
A>
A>asm TBASICIO
CP/M ASSEMBLER - VER 2.0
04D1
004H USE FACTOR
END OF ASSEMBLY
RunCPM Version 5.3 (CP/M 2.2 60K)
A>DDT
DDT VERS 1.4
-ITBASICIO.HEX
-R
NEXT PC
0451 0000
-ITBASIC.HEX
-R
NEXT PC
53C5 53BC
-^C
RunCPM Version 5.3 (CP/M 2.2 60K)
0x53は10進では83なので
A>save 83 TBASIC.COM
A>TBASIC
TARBELL CASSETTE BASIC
BY REAL TIME MICROSYSTEMS, CHULA VISTA, CA
FOR TARBELL ELECTRONICS, CARSON, CA
RELEASE 5.2 AUGUST 16, 1978
>:
:10 FOR A=0 TO 10
:20 PRINT A
:30 NEXT A
:
>LIST
10 FOR A=0 TO 10
20 PRINT A
30 NEXT A
>RUN
0
1
2
3
4
5
6
7
8
9
10
行番号は不要なのでこんなことも出来る。
>NEW
>:
:FOR A=0 TO 10
:PRINT A
:NEXT A
:
>RUN
0
1
2
3
4
5
6
7
8
9
10
>
感想
サイズは21KBと非常に大きいが、TinyBasic等とかなり異なる
・通常のBASICと違い行番号はない。GOTO等の飛び先は文字列となる。番号もラベルとして扱われる。
・行番号を使わないためエディタはラインエディタ
・起動直後はDirectモードとなり、コマンド実行可能
・: または 「ENTER」 で Entryモードとなり、プログラムの入力が可能となる。:ラベル、ENTER ラベルで、ラベル行の前に入力。空行入力でDirectモードになる
・EDIT ラベル で ラベルを編集するEdit モード QでDirectモードとなる
ネット上に Tarbell_BASIC_Oct78.pdf等のマニュアルがある。色々できそうだが難しい。
DISKへの保存
どうもユーザ定義PGを使い保存するようだが、難しくて今のところ良くわからない。
------------------
?USR(LOC("ファイル名")) ------ファイルのopen
CSAVE A ------保存
?USR(0) ------ファイルのclose
※コメント投稿者のブログIDはブログ作成者のみに通知されます