EX-80は、1978年4月に東芝から発売されたワンボードマイコン。

 概要 

正式名称は「TLCS80A・EX-80」で、既製品のTLCS-12A用評価ボードの上位モデル。CPUにはIntel 8080A互換品のTMP9080ACが使用され、入力装置として16進キーボード（KB-1）、出力装置として8桁の7セグメントLED（EX-80Aは未実装）とテレビインターフェース、入出力制御用のモニタプログラム、プログラムの入出力を行うためのオーディオカセットインターフェースを備える。標準価格85,000円。

最大の特徴はテレビインターフェースを標準装備している点で、拡張機器なしでテレビ出力が行えるマイコンシステムとしては発売当時で最廉価の製品だった。RF出力で10文字×26行のテキスト表示（かなり横長の文字になる）が行え、プログラム入力や任意のテキスト表示（ゲーム等）に利用できるほか、モニタプログラムを使用してプログラムの逆アセンブルやレジスタ内容のトレースを行うことができた。また基板上の「BIT-CHAR」スイッチを切り換えることでキャラクタジェネレータでデコードせずに80ドット×26行のビットパターンとして表示させることも可能（テキストとの混在は不可）。テレビ音声からはキークリック音や任意のパルス波を鳴らすことができた。

I/OポートはIntel 8255と互換性のあるTMP9555Cを使用した8ビットのポートを3つ備え、EX-80ではポートAをキーボード入力、ポートCをシステムコントロールに使用している。ポートCのビット3はTV音声出力に使用していて、ビットパターンを送出することで任意の音階を鳴らすことができる。ポートBは未使用でユーザーが任意に使用可能。

LEDとTVの表示はDMAによって行っているので、VBLANKおよびHBLANK以外はCPUがHOLDされるが、高速に処理したい場合はポートCのビット7をインヒビットすることでDMAを止めることができる。

製品自体ははプリント基板と部品一式が提供されるフルキットで、使用可能な状態にするために全ての部品を自分で半田付けした上で自前で用意した電源ユニットに接続する必要があった。サポートは秋葉原に開設されたサポートセンター『マイコンセブン』で行われた。

後に廉価版のEX-80Aが標準価格65,000円で発売された。EX-80との違いは以下の通り。

LSIをセラミックからプラスチックパッケージに変更
付属パーツの7セグメントLEDを省略してテレビ表示専用に（パターンは用意されているので自分でパーツを調達すれば取り付け可能）
付属品からアンテナ切り換えボックスを省略

 主な仕様 
 CPU TMP9080AC 2.048MHz ROM TMM331AP 2KB（モニタプログラム用） PROM TMM322C 最大2Kバイト（別売） RAM TMM314P SRAM 1KB / 最大2KB キーボード データキー（0～Fの16キー）、機能キー（9キー） LEDディスプレイ 7セグメントLED アドレス部4桁 + データ部4桁※EX-80Aは未装備 テレビディスプレイインターフェース キャラクタジェネレータ T3477A テレビシンクジェネレータ TC5003Pキャラクタ表示（10文字×26行）またはビットパターン表示（80ドット×26行）キャラクターセット 128字種（英大文字、数字、英記号、カタカナ、カナ記号）RF出力（家庭用テレビに接続可能） オーディオカセットテープインターフェース プログラマブル・コミュニケーション・インターフェース TMP9551Cカンサスシティスタンダード準拠 300bps FM変調方式 パラレルI/Oポート TMP9555C 8ビット×3ポート 拡張バス 100ピンコネクタ 電源 ±5V, +12V（推奨品:エルコー製 HMC-3） 基板寸法 310×230mm

 メモリマップ 
 種類 アドレス サイズ 内容 ROM 0000H - 07FFH 2KB モニタプログラム 0800H - 0FFFH (2KB) ユーザーPROM用（オプション） - 1000H - 7FFFH (28KB) （基板上実装不可） RAM 8000H - 81FFH 0.5KB モニタ用ワーキングエリアテキスト表示用VRAM（12文字×32行） 8200H - 83FFH 0.5KB ユーザーズエリア 8400H - 87FFH (1KB) ユーザーズエリア（オプション） - 8800H - FFFFH (30KB) （基板上実装不可）

 EX-80BS (BASIC System) 
1978年11月25日発売。標準価格99,800円。価格は日本電気のTK-80BSに対抗する意味合いで10万円以下に設定された。発売当初は期間限定でゲームプログラムが書き込まれたPROM（1KB）と応用プログラム集をプレゼントするキャンペーンが実施された。

EX-80BSボード（完成品）、フルキーボード（KB-2）、マザーボード（100ピン×3スロット）で構成され、EX-80(A)と接続することでLEVEL-I BASIC（4KB）が使用可能。EX-80上のモニタROMとRAMをBSボードのソケットに載せ替えて使用する。RAM容量は標準4KB（EX-80の1KB、VRAM 1KBを含む）・最大16KB（+ VRAM 1KB）。EX-80とEX-80BSの接続は、2つのボードをマザーボードで接続してメモリーICを移動させるほかに、信号線のジャンパー接続とEX-80側のプルアップ抵抗1個の取り外しが必要になる。パターンカットは必要としない。

フルキーボードはラミネート加工のタッチ式キーボード（JIS配列58キー、LEDインジケーター付）が付属する。キータッチすると電子音が鳴る仕様で、音量調整用のボリュームがキーボードの裏面に付いている。ユニット自体は山下電気製のJISキーボード「F8J」のOEM品で、EX-80BSでは入力できない文字や使用しない制御キーも含んでいる。なお付属のキーボード以外でもJIS8ビットコードを出力するものであればケーブル加工して接続すれば一応動作はする（ キーは + で代用する）。

VRAMとして1KBのRAM（TMM314）がFC00～FFFF番地に割り当てられており32文字×25行のキャラクターが表示できる。文字セットは2KBのマスクROM（TMM334）に8×8ドットのパターンで収められており、英大文字・数字・英記号64種、カタカナ・カナ記号64種、漢字・グラフィック文字128種が使用できる。PROM用のソケットも用意されており、ユーザ定義パターンのPROMを乗せることでソフト的に切り換えて表示させることが可能になる。

I/OポートはTMP9555をオプションで取り付けることで8ビットのパラレルポートが3ポート追加できる。全てのポートがユーザーが利用可能。

BASICの起動は、まず電源投入後にEX-80側のキーパッドで "3000" を実行すると画面上の文字幅が約半分になりEX-80BS側のモニタ（MONITOR-B）が起動する。次にEX-80BSのキーボードで "BS" を入力するとBASICインタプリタが起動してユーザーエリアの終了アドレスを聞いてくるので、標準の4KBの場合は "8C00" を入力するとプロンプト記号 ">" が表示されBASICが使用できる状態になる。

BASIC実行中に を押すと割り込み状態になり、 で復帰、 で実行中のプログラムを停止、 でBASICインタプリタを抜けてMONITOR-Bに戻る。

電源は+5Vの電流容量がEX-80単体では3.0A程度で問題なかったが、EX-80BSを使う場合は最低で4.0A、メモリを最大まで実装した場合は8.0Aの容量が必要となる。

 LEVEL-I BASIC 仕様 
BASICインタプリタは「東大版PALO ALTO TINY BASIC」をベースとする東芝オリジナルの4KB BASICを使用。
 数値 -32767から+32767の整数。後ろにHを付けると16進数になる 変数 アルファベット1文字、A～Zの26個。データ型は数値のみ 配列 @～@(n)。添え字の最大値はフリーエリアに依存（SIZE値の約半分） 演算子 +, -, *, /。2乗の演算子は無し。優先順位は括弧と算術式に従う 関係子 <, <=, = >=, >, #。≠は"#"を使用する（<>や><は使用不可） その他 セミコロン区切りでマルチステートメントの記述が可能

 メモリマップ 
 種類 アドレス サイズ 内容 ROM 0000H - 07FFH 2KB EX-80 モニタROM (MONITOR-A) 0800H - 0FFFH (2KB) EX-80 ユーザーPROM用（オプション） 1000H - 2FFFH (8KB) EX-80BS ユーザーPROM用（オプション） 3000H - 3FFFH 4KB EX-80BS モニタROM (MONITOR-B)LEVEL-I BASICインタプリタ - 4000H - 7FFFH (16KB) （基板上実装不可） RAM 8000H - 81FFH 0.5KB EX-80 MONITOR-A用ワークRAM 8200H - 83FFH 0.5KB EX-80 マシン語サブルーチン用RAM 8400H - 8BFFH 2KB EX-80BS BASICユーザーズRAM 8C00H - BFFFH (13KB) EX-80BS 増設用BASICユーザーズRAM（オプション） - C000H - FBFFH (15KB) （基板上実装不可） VRAM FC00H - FFFFH 1KB EX-80BS テキスト表示用VRAM（32文字×25桁）

 LEVEL-I BASIC 命令一覧 
 コマンド 備考 LET LETは省略可。 REM INPUT 「INPUT A」の書式で「A ?」の入力待ちになる。「INPUT "A=" A」の書式で「A= ?」の入力待ちになる。 IF GOTO GOTOの行番号は数式でも記述可。 FOR 「FOR I=x TO y STEP z」の書式で記述する。STEPは省略可。 NEXT GOSUB RETURN PRINT 「PRINT A,B,C」の書式で変数の値を6桁ずつ続けて表示して最後に改行する。末尾にカンマを付けると最後の改行は入らなくなる。「PRINT #1,A,#2,B,#3,C」の書式で変数の値を1桁、2桁、3桁でそれぞれ表示する。（変数の値が指定桁数より大きい場合は無視されて全桁表示される）「PRINT "凹F5,F6,EF,EE凹"」の書式で16進数が文字コードに変換されてリストに入力される。（凹マークは + で入力） STOP プログラムの実行を停止してプロンプトに戻る。 CLEAR 画面をクリアしてカーソル位置を左上に戻す。 CURSOR 「CURSOR 横,縦」でカーソル位置を移動させる。 PEEK 「A=PEEK(8200H)」で8200番地の値が変数Aに代入される。 POKE 「POKE 8200H,A」で8200番地に変数Aの値が書き込まれる。 CALL 「CALL 8200H」で8200番地のマシン語サブルーチンを呼び出す。呼び出し後に暴走するとEX-80側のMONITOR-Aに戻ることがある。 ABS() 「Y=ABS(X)」で変数Xの絶対値を変数Yに入れる。 RND() 「RND」で1から10までの乱数を作る。 SIZE フリーエリアのバイト数を出力する。標準のRAM 4KBの場合、NEWを実行した直後の値は2766（バイト）になる。 LIST リストが長い場合は1ページ毎に停止して キーで次のページを表示する。 RUN 実行中のプログラムを中断させる場合は キーで割り込み状態にして キーを押す。 NEW プログラムと全てのアドレスポインタが初期化される。 TAPEH 「TAPEH,ファイル名」でプログラムをカセットテープにセーブする。ファイル名は最大20文字。 CHECKH セーブしたプログラムとRAM上のプログラムが一致するかをベリファイする。 LOADH テープからプログラムをロードする。

 MONITOR-B コマンド一覧 
 コマンド 内容 BS BASICインタプリタを呼び出す IV 画面表示を白黒反転させる

 エラーメッセージ一覧 
 エラーメッセージ 内容 WHAT? 文法エラー HOW? オーバーフロー SORRY メモリオーバー

 オプション機器 
EX-80 カラーボード（EX-80CB）
EX-80(A)およびEX-80BSと組み合わせてデジタル8色のカラー表示を可能にする。VRAM標準4KB、最大6KB、ユーザ用ROMエリアも8KB用意される。標準価格75,000円。
グラフィック表示はテキスト表示エリアの上部20行の部分で行われ、下部の6行はテキスト表示専用になる。使用できる画面モードは以下の通り。
 テキスト表示: 32文字×26行（緑単色）
 カラーグラフィック: 64×40ドット（デジタル8色） + テキスト32文字×6行（白単色）
 高解像グラフィック（要VRAM 6KB）: 256×160ドット（緑単色） + テキスト32文字×6行（緑単色）
カラーボード上に独立したTVインターフェースが搭載されているので、映像はEX-80側とカラーボード側とで別々に出力されることになる（2画面になる）。TVが1台しかない場合は切換ボックスを間に入れるか適宜ケーブルを差し替える等の対応が必要になる。基板上からコンボジットビデオ信号とRGBセパレートビデオ信号の取り出しも可能。
カラーボードはLEVEL-II BASICが使えればBASICのコマンドでカラーグラフィックが使用できる。高解像グラフィックはLEVEL-II BASICにもコマンドが用意されていないのでアセンブラでプログラムを作る必要がある。
I/OポートはTMP9555を2個まで取り付け可能で8ビットのパラレルポートを最大6ポート追加できる。シリアルポートはTMP9551を取り付けることで1ポート追加可能。

EX-80 LEVEL-II BASIC ROM（EX-80BSL2）
マスクROM×3個（TMM333P×2, TMM334P）で構成され、BSボードのLEVEL-I BASIC ROMと差し替えることで実数演算（浮動小数点方式、有効桁数9桁）のLEVEL-II BASIC（10KB）が使用可能になる。三角関数等の組込関数やカラーボード用のステートメントも追加される。1979年10月発売。標準価格15,000円。
LEVEL-I BASICを拡張した命令セットになっているので、機械語で特殊な処理を行っているような場合を除いて、基本的にLEVEL-I BASIC用のプログラムもLEVEL-II BASIC上で動作する。EX-80側からBASICをスタートさせるアドレスはLEVEL-I BASICでは3000Hだったが、LEVEL-II BASICでは1800Hとなる。

LEVEL-II BASIC 仕様

 整数 0～±999999999。10桁を超えると自動的に指数になる 実数 ±0.01000001～±9999999.9。範囲を超えると自動的に指数になる 指数 ±2.9387358×10-39 ～±1.70141183×1038 数値変数 英字1文字（A～Z）および、英字1文字+数字1文字（A0～Z9） 文字変数 数値変数と同じ命名規則で後ろに$を付けたもの。1変数あたり最大32文字 配列 二次元まで。事前にDIM命令での宣言が必要 演算子 +, -, *, /, ^（べき乗）。+は文字列の連結でも使用可 関係子 LEVEL-I BASICの関係子の内、=と#は文字列の比較で使用可

LEVEL-I BASICから変更・追加された命令

 LEVEL-I LEVEL-II 備考 TAPEH SAVE コマンド名の変更 CHECKH CHECK コマンド名の変更 LOADH LOAD コマンド名の変更 PRINT PRINT 書式制御で使用するシンボルがLEVEL-Iと異なる INPUT INPUT LEVEL-IIは文字変数への入力が可（文字列を'で囲む必要がある） IF IF LEVEL-IIは条件式に文字列が使用可 STOP STOP, END STOPの代わりにENDが使用可 - ON…GOTO - ON…GOSUB - DIM 配列は二次元まで - DATA, READ, RESTORE DATA文はREAD命令よりも前に置き、データを1行で書き切る必要がある（複数行ある場合は最後の行のみ有効になる）RESTOREは行番号の指定は不可 - SIN(), COS() 三角関数。引数はラジアンで指定する - ATN() 逆三角関数。答えはラジアンで返される - LOG(), LN(), EXP() 常用対数、自然対数、eのべき乗 - SQR() 平方根 - SGN() 符号を判定し、-1, 0, 1を返す - INT() 整数化 - PAI π（3.1415926） - FLD(変数名, m, n) 文字列のm文字目からn文字を取り出す

カラーボード用命令

 コマンド 備考 GR 画面をカラーグラフィックモードに変更する COLOR n PLOTで描画する色を指定する PLOT x,y COLORで指定した色でドットを描画する SCRN(x,y) 指定した座標の色番号を読み取る TEXT 画面をテキストモードに変更する COPY EX-80BS側のテキストをカラーボード側に転送する

メモリマップ 

LEVEL-II BASIC ROMとカラーボードを接続してRAMを最大まで実装した場合。

 種類 アドレス サイズ 内容 ROM 0000H - 07FFH 2KB EX-80 モニタROM (MONITOR-A) 0800H - 0FFFH (2KB) EX-80 ユーザーPROM用（オプション） 1000H - 17FFH (2KB) EX-80BS ユーザーPROM用（オプション） 1800H - 3FFFH 10KB EX-80BS モニタROM (MONITOR-B)LEVEL-II BASICインタプリタ 4000H - 5FFFH (8KB) カラーボード ユーザーPROM用（オプション） - 6000H - 7FFFH (8KB) （基板上実装不可） RAM 8000H - 81FFH 0.5KB EX-80 MONITOR-A用ワークRAM 8200H - 83FFH 0.5KB EX-80 マシン語サブルーチン用RAM 8400H - BFFFH 15KB EX-80BS LEVEL-II BASIC ユーザーズRAM - C000H - E3FFH (9KB) （基板上実装不可） VRAM E400H - E7FFH 1KB カラーボード用VRAM（テキストエリア） E800H - FBFFH 5KB カラーボード用VRAM（グラフィックエリア） FC00H - FFFFH 1KB EX-80BS テキスト表示用VRAM（32文字×25桁）

EX-80 PROMライタボード（EX-80WB）
PROM TMM323専用のライタ。16Kビット（2K×8ビット）単位のデータ保存が可能。EX-80BSまたはEX-80BSカラーボードに接続して使用する。標準価格45,000円。
BASICインタプリタで使用する制御コマンドが書き込まれたPROMが付属した。

EX-80収納ケース（EX-80CASE）
EX-80(A)、EX-80BS、EX-80用カラーボード、電源ユニットが収納できるケース。標準価格34,000円。
ケース前面: 電源キースイッチ、外部スイッチ×5（RST 3, CHAR/BIT, AUTO/STEP, RST 6, LEVEL-1/2）
ケース背面: 空冷ファン、開口部（配線引き出し用）、入出力端子×5（TV出力×2、オーディオ出力、オーディオ入力、予備）

I/O学習ボード（BM8577）
I/Oコントロール用LSI TMP8255APの入出力コントロールを理解するための学習ボード。EX-80(A)をホストにして使用する。標準価格45,000円。
LSI: TMP8255AP×3
入力: キーボード（キースイッチ24個）、ADコンバータ×1
出力: 7セグメントLED×8（デコーダ付き×4、ノンデコード×4）、ブザー×1