石原 博の覚書

電子工作に関する日々の覚書を記載します

Tarbell Basic

2021-09-05 10:04:24 | 日記

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

 



最新の画像もっと見る

コメントを投稿