TL/1・PC

概要

TL/1・PC (ASCII:1981.1p154-155,158-162,166-167 | 合本:8) 鈴木仁志
  • 拡張あり
deBUG記事
  • obj実行時の問題FIX (ASCII:1981.3p47 | 合本:8では修正済)

関連情報

構成

  • テキストエディタ

    BASIC のスクリーンエディタを利用します。

  • TL/1・PC

    チェックサム付きのダンプリストが掲載されています。($B800-$CB0F)

    構文の拡張, PC-8001固有の機能に関する拡張があります。

メモリマップ

$8021
$80C1
ソーステキストエリア
$B800
コンパイラ
$C4D9
IDテーブル
$C800
ランタイム・ルーチン
$CB0C
オブジェクトエリア
$E840
ワークエリア
$EA00
BASIC用ワークエリア
V-RAM etc.
$FFFF

環境構築

入力

ダンプリストを入力します。

BugFIX

▲obj実行時の問題FIX (1981.3p47 | 合本:8では修正済)
 ・C278-C287 (C27C:A0→10, C280:A1→11, C284:A1→11)
 ・C5D0-C5D7 (C5D1:A0→10, C5D6:A1→11)
△未確認 (合本:8では下記部分に差し替えの形跡あり)
 ・BA90-BB2F (sum不鮮明のみ?)
 ・C800-C807 (C801:00→C0, C802:EA→E8, C805:B5→85, C806:CB→DA)
  ※コンパイル時に更新されるので放置でOK?

参考:拡張内容

CALL
USR
PORT
SENSE
RDHEX	DEL
WRITE	1はプリンタ
グラフィック文
WIDTH(A,B)
CONSOLE(A,B,C,D)
COLOR(A,B,C)
LOCATE(A,B,C)
PSET(A,B,C)
PRESET(A,B,C)
LINE(A,B,C,D,E)
POINT(A,B)			関数
WRITE(1:<出力リスト>)


IF~THEN~ELSE
CALL(AH,AL[,A[,H[,L]]])
SENSE
USR(AH,AL[,A[,H[,L]]])
RDHEX(E)
RRC(E)
RLC(E)

WRITE文中の出力指定子 HEX(E)
FOR~DOWNTO~DO 構文の使用を許す
FOR ループ中の RETURN文を許す
大かっこ「{」=CHR$(123), 「}」=CHR$(125) の使用を許す
システム変数 PORT(E)

プログラムリストの入力について

テキストの入力だけだったら TL/1-PC はロード→実行しなくて良かったはず
要確認

BASIC のスクリーンエディタを利用し、N BASICの REM文として入力します。 したがって、行番号が必須となります。

<行番号> ' <テキスト>[CR]

ソースのセーブ, ロードも N BASICと同じになります。

操作方法

テキスト・エディタを起動する

テキスト・エディタの基本操作

プログラムのセーブ方法

プログラムのロード方法

j80での入力方法

準備段階での注意事項

実機と同様に入力する (非推奨)

テキストファイルを用意して自動タイプ機能で入力する

参考:プログラムリストをメモリに直接流し込む方法

コンパイルとオブジェクトの利用について

CLEAR 0,&HB7FF
モニタからロード
コンパイル:モニタから GB800

オブジェクトのセーブ
モニタの W コマンドで $C800~ 

オブジェクトの実行
実行:モニタから GC800 (ランタイムルーチンの先頭)
セーブ範囲のランタイムが含まれているため、オブジェクト単体で実行可能

コンパイルから実行まで

コンパイル

オブジェクトの保存

オブジェクトの実行

オブジェクトの利用について


TL/1・PC [PC-8001]