TK-80モニタ

キーパッド

RUN
RET
STORE
DATA
LOAD
DATA
RESET

C
D
E
F
ADRS
SET

8
9
A
B
READ
INCR

4
5
6
7
READ
DECR

0
1
2
3
WRITE
INCR

CMT

  • TK-80本体に CMT-IF なし
  • マニュアルにトーンバーストの回路図あり
  • I/Oプログラムはモニタに用意されている
    ※CPU WAITをカットするとボーレートが狂うので注意
     DMA 方式の VRAMボードを併用する場合は BUSRQの影響で動作が不安定になる可能性があります
  • モニタでは 8255:PB0(load側) / PC0(save側) を想定
  • IC-0006(FSK方式)は変調/復調回路を置き換えるもの
    ※8255から見た場合はトーンバースト回路と区別できません (ソフトウェア互換あり)

セーブ

  1. CMT IF とデーレコを接続する
  2. 先頭番地を入力し [ADRS SET]
  3. 最終番地を入力する
  4. [*REC] を押す
  5. 少し待ってから [STORE DATA] を押す

ロード

  1. CMT IF とデーレコを接続する
  2. [PLAY] を押す
  3. ピー音を確認してから [LOAD DATA] を押す

u80

ロード/セーブ用ファイルの選択は「カセットをデーレコに入れる」だけを意味します
PPI メニュー側で TK-80 と CMT IF を接続しないと使えません
CMT-IF(ToneBurst / IC-0006) は cmtイメージを 110baud として処理します
セーブ時には 110baud でテープイメージ化し保存するため、ロード時と同様に WAIT,BUSRQ の影響を受けます
テープイメージ(CMT)には記録方法の情報は含まれないので、トーンバースト版, FSK版とも同じになります

打ち込み時の注意

  • tool80 + pcm8001 の利用を推奨
    tools80#asm2cmt(tk80) : アセンブルソース ⇒ CMTイメージ
    tools80#dmp2cmt(tk80) : ダンプリスト ⇒ CMTイメージ
    ダンプリストにチェックサムがない場合は 0x00 などで適当に埋めておく
    ※SUMにエラーがあっても CMTイメージは生成されます
  • この時代の写植リストは間違いが多いので注意が必要
    ダンプとアセンブルソース,実行画面など総合的な検討が必要になることも多いです
  • アセンブルリストを利用する際の注意
    ニーモニックが特殊だったり書式にクセがあったりするものが多い印象です
    そのままでは tools80 が受け付けないかもしれません
    打ち込む際に加工するか、マクロを駆使して対応してください
    tools80 は当時のアセンブルリストになるべく手を入れずに済むよう配慮していますが限界がありますので...
    具体的な情報をいただければ tools80側で対応できるかもしれません

TK-85モニタ

キーパッド

CONT
RUN
MODE
RES
MON

C
/
TM
D
/
 MOV
E
/
 OUT
F
/
IN
ADRS

SET

8
9
A
/
SAVE
B
/
LOAD
READ

INC

4
/
SP
5
/
BR.P
6
/
BR.D
7
READ

DEC

0
/
AF
1
/
BC
2
/
DE
3
/
HL
WR 
/
 ENT

CMT

  • TK-80モニタのフォーマットと互換性なし
  • MP-85/mkIIのモニタフォーマットは TK-85互換

セーブ

  1. CMT IF とデーレコを接続する
  2. [MODE]→[A/SAVE]
  3. ファイル名ID(16進数2桁)→[WR/ENT]
  4. 先頭アドレス(16進数4桁)→[WR/ENT]
  5. 最終アドレス(16進数4桁)
  6. [*REC] を押す
  7. [WR/ENT]

ロード

  1. CMT IF とデーレコを接続する
  2. [MODE]→[B/LOAD]
  3. ファイル名(16進数2桁)→[WR/ENT]
    ...先にMARK確認不用? / 要確認
  4. [PLAY] を押す

打ち込み時の注意

  • tool80 + pcm8001 の利用を推奨
    tools80#asm2cmt(tk85) : アセンブルソース ⇒ CMTイメージ
    tools80#dmp2cmt(tk85) : ダンプリスト ⇒ CMTイメージ
    ダンプリストにチェックサムがない場合は 0x00 などで適当に埋めておく
    ※SUMにエラーがあっても CMTイメージは生成されます
  • この時代の写植リストは間違いが多いので注意が必要
    ダンプとアセンブルソース,実行画面など総合的な検討が必要になることも多い

BSモニタ

起動

F
0
0
0
ADRS
SET
RUN

コマンド一覧

CM CHANGE MEMORY ...
DM DUMP MEMORY ...
CL CLEAR CRT ...
CC CHANGE CONTRAST ...
MM MOVE MEMORY ...
ST STORE TAPE ...
CT COMPARE TAPE ...
LT LOAD TAPE ...
DR DUMP REGISTER ...
CR CHANGE REGISTER ...
GO GO TO ...
BP BREAK POINT ...
RT RETURN ...
OF OFF 割り込みモードから通常モードへの復帰
BA BASIC START ...

CMT

  • ボーレート等は BSボード上のジャンパで設定する
  • 出力フォーマットは IntelHEX とほぼ同じ形式 (冒頭に改行がある / ENDレコード末に改行がない)
    IntelHEX そのものでもロード可能
  • マシン語,BASICの一括ロード可能なテープイメージ
    モニタからセーブしたマシン語データはBASIC(L1/L2)の LOADH コマンドでも読めるようです
    (テキストエディタで)BASICイメージの前に、ENDレコードを削除したマシン語イメージを連結(コピペ)します
    ⇒ BASICから LOADH 1回でロード可能なテープイメージになります

セーブ

  1. ST,先頭番地(16進4桁),最終番地(16進4桁)[復改]
  2. Ready? が表示される
  3. [*REC] を押す
  4. しばらく待って [Y][復改]

ロード

  1. LT[復改]
  2. Ready? が表示される
  3. [PLAY] を押す
  4. ピー音を確認して [Y][復改]

JISモード/ASCIIモード

ディスプレイコードが2種類ある / 表示用フォントが切り替えられる
POKE 7DFFH,01H
ざっくり分類
 JISモード(標準) 大文字 + カナ
 ASCIIモード 小文字 + 大文字
[英記号] は [SHIFT] ではない

JIS/ASCII 対応表

  @ABCDEFGHIJKLMNOPQRSTUVWXYZ
JIS @ABCDEFGHIJKLMNOPQRSTUVWXYZ
ASCII `abcdefghijklmnopqrstuvwxyz

カナQAZWSUI1,KFV2^-JN]/M789OL>;
JIS
ASCII @ABCDEFGHIJKLMNOPQRSTUVWXYZ

打ち込み時の注意

  • tool80 + pcm8001 の利用を推奨
    tools80#asm2cmt(tkbs) : アセンブルソース ⇒ CMTイメージ
    tools80#dmp2cmt(tkbs) : ダンプリスト ⇒ CMTイメージ
    ダンプリストにチェックサムがない場合は 0x00 などで適当に埋めておく
    ※SUMにエラーがあっても CMTイメージは生成されます
  • この時代の写植リストは間違いが多いので注意が必要
    ダンプとアセンブルソース,実行画面など総合的な検討が必要になることも多い

LEVEL-1 BASIC

起動

  1. BSモニタを起動する : F000[ADRS SET][RUN]
  2. BA[復改]
  3. ENTER RAM END ADDERSS- にアドレス(16進4桁)を入力する
    標準 : 97FE[復改]
    ※記事に指示がある場合はそれに従う
     u80 のデフォルト設定では 0x8000-0xCFFF 全てに RAM が載っています (BSフル実装 + TK-M20K)
  4. 起動直後に NEW すること

CMT

セーブ

TAPEH,タイトル[復改]
※ローダーには「タイトル」をファイル名として識別する機能はない

ロード

LOADH[復改]

打ち込み時の注意

  • 修正は一行すべてを打ち直す
  • 一行が80文字を超えてはいけない
  • マルチステートメントで 4桁定数の後ろにはスペース必須
    例 : 10 LET A=4321 ;GOTO 123
  • LIST 行番号 : 行番号からリスト表示 / [space] で LIST 中断
  • LISTにある行番号の前のスペースは入力しても問題ないが80文字制限に注意
  • [BREAK] でモニタに飛ぶ ⇒ [復改] で BASIC に復帰
  • この時代の写植リストは間違いが多いので注意が必要
  • u80の自動タイプ機能について
    u80のデフォルトの動作は「JISモード」を想定しています
    小文字で入力されたテキストは [英記号]+[大文字のキー] としてタイプします (小文字にならない)
    ASCIIモードでの見た目のまま入力したテキストをタイプさせる場合は「uPPER cASE」にチェックを入れてください

製作時の注意

  • 比較演算子は 0:FALSE, 1:TRUE を返す (評価時は 0:FALSE, 0以外:TRUE)
  • GOTO, STOP, RETURN だけでなく CALL も文末にしか置けない
  • 数値は(十進数でも)4桁までしかパース出来ない
    ⇒ A=-31448 は A=-9999*3-1448-3 のように記述する必要がある
  • 4桁の十進数の後ろには改行かスペースが必要
    ⇒ マルチステートメントに注意 (例:10 LET A=4321スペース;GOTO 123)
  • PEEK は PEEK(16進数H) または PEEK(変数名) のみ対応
  • POKE は POKE 16進数H, 16進数H または POKE 変数名, 変数名 のみ対応
    ⇒ POKE 変数名, 16進数H のような組み合わせはNG

LEVEL-2 BASIC

起動

  1. BSモニタを起動する : F000[ADRS SET][RUN]
  2. BA[復改]
  3. RAM END? にアドレス(16進4桁)を入力する
    標準 : 97FF[復改]
    7K拡張 : 9FFF[復改]
    ※記事に指示がある場合はそれに従う
     u80 のデフォルト設定では 0x8000-0xCFFF 全てに RAM が載っています (BSフル実装 + TK-M20K)
  4. 起動直後に NEW すること
  5. 実行中断は [英記号]+[1] ("!")

CMT

セーブ

SAVEH,タイトル[復改]
※ローダーには「タイトル」をファイル名として識別する機能はない

ロード

LOADH[復改]

ASCIIセーブ

SAVE[復改]

ASCIIロード

LOAD[復改]

ASCIIセーブに関する注意

中間言語を展開してセーブするため入力時より文字数が増えることがある
ロード時はスクリーンエディタと同じ80文字のバッファ制限があるため、
「LISTコマンドで表示したときに80文字を超える行がある」
場合は使用できない (LOAD時にエラーとなる)

打ち込み時の注意

...

製作時の注意

  • (LEVEL-1 BASIC と違い)比較演算子が値を返さなくなった