TI-99/4シリーズはテキサス・インスツルメンツ (TI) が1979年にリリースしたホームコンピュータであり、世界初の16ビット・ホームコンピュータである。
初期型のTI-99/4は、1979年にリリースされ、キーボードがチクレットキーボードで小文字が使えなく、リリース当初の価格が1,150 USドルで高価だった。 改良型のTI-99/4Aは1981年1月にリリースされ、標準的な樹脂製のフルトラベル式キーボードに改良され小文字も使え、改良型グラフィックチップを搭載しグラフィック機能も強化、価格も525 USドルと大幅に低価格に設定された。
その結果、販売台数が初期型のTI-99/4が約2万5,000〜10万台程度にとどまったのに対し改良版のTI-99/4Aが約280万〜300万台とされ、TI-99/4AのほうがTI-99/4シリーズのメインとなった。よって本項目では主にTI-99/4Aについて解説する。
なお、「/4」や「/4A」という名称はTIのミニコンの命名法を踏襲している。 #名称
仕様と特徴 仕様 CPU - 16ビット TI TMS9900, 3.0MHz。 メモリ CPU直結型高速RAM「スクラッチパッド」 256バイト。CPUのレジスタが置かれるワークスペース グラフィックRAMの一種「VDP」 16 キロバイト 別売りで、8キロバイトまたは32キロバイトのRAMと Editor/Assember GROMを搭載したカートリッジも用意された。 ビデオ制御 - TI TMS9918A VDP (TI-99/4では TMS9918、PAL版ではTMS9929/9929A) テキストモード: 40文字×24行(256個の6×8のユーザー定義文字、スプライト不可、背景色と文字色の2色のみ、BASICからはアクセス不可) グラフィックモード: 32文字×24行の文字(256個の8×8のユーザー定義文字、15色+透明色だが配置に制限あり)と32個のスプライト(BASICではこのモードのみ使用可能。スプライトを使うには拡張BASICが必要で、28個までしか使えない) ビットマップモード: 256×192ピクセル(16色だが、横8ピクセル内は2色のみ。32個のスプライトが可能だが、メモリレイアウトの関係でROMの割り込みルーチンによる自動動作は不可。BASICでは不可。初期の9918でも不可)。あまりメモリを使わない「ハーフビットマップ」モードと呼ばれるモード群もあり、色の配置はビットマップモード並みである(これらのモードはVDPの説明書にはないが、ビットマップモードを単に賢く活用したものである)。 マルチカラーモード: 64×48ピクセル(各ピクセルに任意の色を配置可能、32個のスプライトが可能) これらのモードは36のレイヤーを使っている。ビデオ・オーバーレイ入力のレイヤー、背景色のレイヤー、2つのグラフィックモードレイヤー、32個のスプライト用レイヤーである。より高いレイヤーが透明でない限り、下位のレイヤーを隠蔽する処理がハードウェアで行われる。 16色(うち1色は透明) 32個の単色スプライト。レイヤーを指定でき、高レイヤーのスプライトは低レイヤーのスプライトの上を通過できる。8×8ピクセルと16×16ピクセルがあり、2倍に拡大表示する機能もある。衝突判定機能もある。ROM内の割り込みルーチンでスプライトを自動的に動かす機能がある。水平方向に4つより多くのスプライトを表示できない。 サウンド: TI TMS9919。後にSN94624が使われている(他のシステムでよく使われたと同一)。 3和音+1ノイズ(ホワイトノイズまたは周期的ノイズ) 和音は110Hzから115Hzの矩形波 外部端子等 専用ポートで2台のデータレコーダを接続可。 ジョイスティック用ポート。2個のデジタルジョイスティックを接続可。ジョイスティックポートは1つ(9ピン)で、そこに2個のジョイスティックを接続するようになっており、TI製のものしか使えない。サードパーティからアタリ互換ジョイスティックを2個接続できるアダプタが発売された。 映像出力端子 - NTSCではコンポジット映像信号と音響信号が別々のポートから出力され、外部のRFアダプタでそれらを混合しテレビに送る。PALではやや複雑なYUV信号を出力しそれをRFアダプタで変調する。 カートリッジスロット キーボード - フルキーボード。 筐体 - キーボード一体型。 電源 - 電源回路基板はカートリッジスロットの下のスロープ部分の下にあり熱くなるので「コーヒーカップ・ウォーマー」と呼ばれた。アメリカ以外で電源電圧が異なる場合はACアダプタが付属したが、それは単なる変圧器だった。
本体のGROMに内蔵されたTI-BASICインタプリタおよびGPL(Graphics Programming Language)がシステムウェアのように機能し、ディスク無しの状態で電源を入れると直接TI-BASICが起動する。
CPUは16ビットだが、16ビットバス上に直接接続されているのはシステムROMとレジスタに相当する256バイトのRAM「スクラッチパッド」だけであり他のメモリは16ビットから8ビットへの変換を介して接続されている独特のアーキテクチャである。 #アーキテクチャ
アーキテクチャ CPUのTMS9900はTIのミニコンピュータ と共通の命令セットを持つチップであり、TIのミニコンと酷似したアーキテクチャのものである。命令セットは豊富で、個々の命令は高機能でサイズも様々で、アドレッシングモードも豊富である。TMS9900にはIBM System/370にも見られたEXECUTE命令があり、命令のオペランドで指定されるアドレスにある命令を実行できる。
基本的にはCISCだが、RISCを思わせる特徴として「ワークスペース」の概念がある。チップ上には、プログラムカウンタ、ステータスレジスタ、ワークスペースポインタの3つのレジスタしかなく、全ての他のレジスタはワークスペースポインタが指すRAM上に置かれている。ワークスペースには16本のレジスタがあり、コンテキストスイッチ時にはワークスペースポインタを書き換えるだけでよい。TI-99/4 (A)がCPU RAMとして持つのはたった256バイトの「スクラッチパッド」メモリであり、これがワークスペースとして使われる。16ビットバスに直接接続されていてウェイトなしでアクセスでき、システム内の他のメモリより高速である。
CPUは16ビットだが、16ビットバス上に直接接続されているのはシステムROMとスクラッチパッドRAMだけである。他のメモリと周辺機器は16ビット→8ビットのマルチプレクサを介してCPUに接続するので、あらゆるアクセスに2サイクルかかり、さらに追加の4サイクルのウェイト状態も必要で、処理速度が低くとどまる原因になった。そのためシステムROMにピギーバック方式でSRAMを追加してメモリを拡張する改造がよく行われ、多くのアプリケーションで30%ほど処理速度が向上したという。
当時の多くのマシンと同様、TI-99シリーズもVDP(ビデオ・ディスプレイ・プロセッサ)に画面表示を任せていた。
TI-99/4シリーズの独特なアーキテクチャは、このマシン向けに開発されていた8ビットプロセッサ9985の失敗に起因するとされている。9985開発が中止されたとき、16ビットの9900を代替として採用したため、既存のシステム設計に9900に適合させるのに苦労し、9900の良さを生かすような変更がなされなかった。
CPU RAM「スクラッチパッド」 TI製ミニコンピュータを起源とするTMS9900シリーズのアーキテクチャでは、「ワークスペース」と呼ばれるレジスタ群がメインメモリ上に置かれる。1980年代初めごろにはSRAMも高価だったので、TI-99/4Aはワークスペース用にたった256バイトの「スクラッチパッド」RAMしか装備しなかった。当初はCPU内部に256バイトのRAMを実装する予定だったが、9900はレジスタとして外部メモリを必要とする形になった。
いずれにしてもスクラッチパッドRAMがなければ性能は大幅に低下していた。一部のソフトウェアは小さいループをスクラッチパッドRAMにコピーし、高速化を図っている。
VDP RAMとVDP CPUが直接には256バイトの「スクラッチパッド」にしかアクセスできないため、TIの技術者はTI-99/4AのグラフィックコプロセッサTMS9918Aに別途記憶領域として16KバイトのVDP RAMを持たせた。VDP RAMは一時的にユーザが作成したBASICプログラムのコードとデータを格納するのにも用いられた。
VDP RAMはDRAMであり、VDPがリフレッシュを行う。
TI-99/4のVDPはTMS9918である。これにはビットマップモードがない。TI-99/4AでVDPチップが変更されビットマップモードが追加された。アメリカ合衆国内のTI-99/4AのVDPはTMS9918Aであり、欧州向けのPAL仕様のマシンではTMS9929Aが使われている。
これらVDPのユニークな機能として、他のビデオ信号上にグラフィックスをスーパーインポーズする機能をハードウェアでサポートしていた。VDPシステムへのアクセスは常に8ビット単位であり性能が制限される反面、VDPのアップグレードも容易になった。ヤマハがTMS9918と上位互換のV9938をリリースしており、これを利用して80桁表示を行う拡張カードがMechatronicsなどからリリースされた。これを使うと512×424ピクセルで16色か、256×424ピクセルで256色のグラフィック表示が可能となる。このカードは VDP RAM を16Kバイトから最大192Kバイトに拡張するが、V9938向けに書かれたソフトウェアでないとその利点を生かせない。 V9938やV9958は、TMS9918の機能や仕様を包含する。TI-99/4Aの基板はVDPチップの換装が可能な設計になっており、V9938に換装すれば、512×424ピクセルで16色表示または256×256ピクセルで256色表示が可能だが、通常128Kバイトの VDP RAM を搭載したドーターボードも必要となる。
GROM Graphics Read-Only Memory (GROM) はもう1つのメモリで、専用メモリポート経由で1バイトずつアクセスされ、自動的にアドレスをひとつずつずらして読むデバイスとみなされる。TI製カートリッジの多く(Disk Manager 2、Editor/Assembler、TI Writer、多くのゲーム)が本体内蔵のTI-BASICと同様にこのシステムを利用している。本体内のTI-BASICのGROMを好きなROMカートリッジのGROMと入れ替えると、そのカートリッジのソフトウェアをブート時のメニューから直接選択できる。
Graphics Programming Language(GPL) TI-99シリーズのシステムソフトは中間言語 Graphics Programming Language (GPL) を使い実装されている。GPLインタプリタはROM内にあり、電源が入るとまずGPLインタプリタに制御が渡る。GPLはミニコンのTI-990シリーズ(英語版)の機械語によく似ており、TI-99/4Aのアーキテクチャに合わせていろいろなタイプのメモリに統合的にアクセスする機能やメモリコピーやディスプレイのフォーマットなどの機能を持っている。TI-99シリーズではTI BASICもGPLで実装されている。
周辺機器の「プラグアンドプレイ」 TI-99シリーズのマシンは、初期のTI-99/4からリリースされなかったTI-99/2やTI-99/8まで、全周辺機器の「プラグアンドプレイ」をサポートしていた。デバイスドライバ("Device Service Routines"、DSRと呼称)は各機器のROMに組み込まれており、新たなカードを挿入すると即座に使えるようになる。あらゆるデバイスはファイル型のI/O機構を採用しており、それを使う側のソフトウェアを更新しなくとも新たな周辺機器を使うことが可能である。CRU (Communications Register Unit) は4096のデバイスを扱えるが、TI製の拡張カードはそれぞれCRUバス上の固定アドレスを使っており、同じ種類のカードを同一システム内で使うには何らかの細工を必要とした。細工なしで複数枚使えるカードとしてはRS-232カードがあり、2つのベースアドレスを切り替えることができた。このためRS-232ポートを4つ、パラレルプリンターポートを2つ持つことができた。
周辺機器 周辺機器としては、5.25インチFDD、2シリアルポートと1パラレルポートのあるRS-232カード、Pascal用P-codeカード、サーマルプリンター、音響カプラ、データレコーダ、32KBメモリ拡張カードなどがある。RFアダプタがFCCの認可を受けられなかったので、TI-99/4は当初モニター(ゼニス製13インチテレビを改造したもの)を同梱していた。
thumb|right|250px|1979年のTI-99/4に周辺機器を数珠繋ぎに接続した様子 right|thumb|250px|TI-99/4用PEB (Peripheral Expansion Box)
TI-99/4Aは当初、本体と周辺機器を一列に数珠繋ぎ(デイジーチェーン)のように拡張していくというコンセプトだった。だがこれでは机の幅で接続できる周辺機器が限られるという問題があった。
間もなく、拡張カードを使った拡張法に転換。5.25インチFDDと電源回路を備えたPEB (Peripheral Expansion Box) と呼ばれる拡張ボックスが用意された。拡張カード用スロットを8個装備しているUser dismantled PEB。各カードにはLEDが付いていて、ソフトウェアがそのカードを使ったときに点滅する。初期のS-100バスと同様、拡張カード側にレギュレータを搭載して必要な電源電圧を作らなければならない。
さらに拡張バスにはアナログ音声信号を流す線がある。これを使い音声合成モジュールの合成した音声を本体経由でモニターに渡すことができる。音声信号はケーブル経由でPEBにも渡せるので、音声合成モジュールをPEBに接続したり、本体のサウンド機能以上の機能を提供するサウンドカードを提供する可能性も考慮していた。
1980年代初め、TIは音声合成の先駆者として知られており、TI-99/4 (A) にも音声合成モジュールが接続可能だった。多数のカートリッジを購入すると音声合成モジュールが無料でついてくるプロモーションが行われ、TI自身がそれを使ってしゃべるゲームを多数発売した。線形予測符号の一種を音声合成に使っており、語彙も若干組み込まれている。当初、音声合成モジュールに小さなカートリッジを挿すと語彙が増えるという方式を考えていたが、Terminal Emulator IIというROMカートリッジでソフトウェアによる音声合成(テキスト読み上げ)がうまくいったため、計画は中止された。多くの音声合成モジュールは語彙カートリッジを挿すための穴が空いた状態で出荷されたが、中にコネクタが設置されていないことが多い。音声合成モジュールの発する声は比較的リアルで、例えばAlpinerというゲームでは男性と女性の声を使っているが、プレイヤーが間違った動きをすると皮肉なニュアンスのこもった音声を発した。
ソフトウェア プログラミング言語 TI BASIC - ANSIのBASIC規格に準拠したTI社独自のBASIC。後期のモデルではタイトル画面に"2.2"と表示される Extended BASIC - カートリッジで追加できる拡張版BASIC Editor/Assembler - TMS9900(16ビットCPU)のアセンブリ言語(ミニコン思想の16ビット・アセンブリ言語)を直接記述・デバッグできる。使用するにはメモリを拡張する必要がある。 TI FORTH - 構造化プログラミングで、高速の、上級者向け言語 UCSD Pascal
TI-99シリーズの各言語とメモリの関係 TI BASIC TI-99シリーズではTI BASICが中間言語GPLで実装されており、ユーザがBASICプログラムを書くとそのコードとデータはVDP RAMの空き領域に置かれ、実行時にはGPLインタプリタがそれにアクセスして解釈する。TI-99シリーズはCPUバスが16ビットなのにメモリ側が8ビットで変換が伴うのでTI BASICは処理速度が遅い。
TI BASICではVDP RAMをフル使用する表示モードは使えない。拡張メモリを追加する場合、拡張BASICにアップグレードする必要がある。
アセンブリ言語、機械語 アセンブリ言語のプログラムは高速で動作する。TI-99シリーズでは機械語プログラムはCPUが直接アドレス指定できる空間に置く必要があり、機械語プログラムを書くならRAMを拡張する必要があった。32Kバイトの拡張RAMカードと4Kバイトの「ミニメモリ」モジュールの価格が下がったことでこの制限は緩和されたが、そのころには市場は他のコンピュータが主導するようになっていた。
一部のカートリッジ(TI LOGO、TI拡張BASIC、ゲームのParsecやAlpinerなど)はアドレス指定可能なROMを搭載し機械語を使い高速化を図った。一般にカートリッジ内のGROM用ICは14ピンで、アドレス指定可能ROMのICは28ピンだった。一部カートリッジは小容量のRAMも搭載していた。
なおTI-99シリーズのメモリ制約を解決するために本体脇のデイジーチェーン用ポートに接続するROMカートリッジを製造した会社もあるArcturus, and Killer Caterpillar.。
アプリケーションソフト 実用アプリケーション ワープロ TI-Writer - 1982年にテキサス・インスツルメンツが発売した公式の定番ワープロソフト。文書の作成や編集が行える。カートリッジ型番 PHM 3111。 表計算ソフト Microsoft Multiplan - マイクロソフト製表計算ソフト。 データベース、データ管理 Personal Record Keeping - 住所録や家計簿、簡易的なデータの蓄積・検索など、家庭や小規模な情報管理を行うための** Mailing List - 実用的な住所管理・郵便物発送用ソフト。住所録や顧客名簿を作成し、並べ替えや宛名印刷が行える Personal Report Generator - 「Personal Record Keeping」などと組み合わせて、蓄積したデータから見栄えの良いレポートを自動作成・出力するツール グラフィック作成 TI Artist - 当時としては先進的なグラフィック・ドット絵作成ソフト。文書作成のTI-Writerとも連携可能 家計、金融系 Household Budget Management - 当時の定番の家庭用財務ソフト(型番:PHM 3007)。家計の予算管理や支出分析を直感的に行える Home Financial Decisions - ローンの計算や貯蓄のシミュレーション、投資計画など、家庭内の金融判断をサポートするソフト(型番:PHM 3006) Tax/Investment Record Keeping - 税金計算や投資リターンの記録に特化したデータ蓄積用の管理ツール Personal Real Estate - 住宅購入の利回り・ローン計算や不動産投資に特化した専用ツール 教育・学習アプリケーション 幼児・児童向け Touch & Tell - 音声合成を活用した幼児向け言葉遊び Early Learning Fun - 色、形、数を学ぶ幼児向け定番ソフト Reading Flight - 読解力と語彙力を高めるゲーム
初等教育の生徒向け Addition and Subtraction - 足し算・引き算の基礎からのトレーニング Multiplication Division - 掛け算と割り算を基礎からのトレーニング Number Magic - ゲーム感覚で数字と計算に親しむソフト Scholastic Spelling - 学年別の英単語スペリング学習
初等教育〜高校生向け PLATO Courseware - 習得レベルに合わせて2つのクラスに分かれていた Basic Skills Courseware (小3〜中2 / グレード3〜8) - 基礎的な算数、読解、英文法などの土台作りを目的とした内容 High School Skills Courseware (中3〜高1 / グレード9〜10) - 数学、読解、作文、科学、社会など、より高度な二次教育レベルの内容を網羅
大学生や研究者などが使えるツール Statistics - 記述統計、回帰分析、方差分析(ANOVA)など、大学の実験データ処理や数理統計学に利用できる本格的な統計解析パッケージ Graphing Package - 数式や統計データを2Dグラフィックでプロット・可視化し、レポートや研究資料向けに図表を作成できるツール
名称 「TI 99/4」や「TI 99/4A」という機種名の末尾には「/4」や「/4A」などホームコンピュータとしてはやや珍しい文字列が含まれているが、これはテキサスインスツルメンツのミニコン TI-990シリーズの命名法を踏襲している。TI-990シリーズには990/4, 990/5, 990/9, 990/10, 990/10A, 990/12という機種があり、スラッシュ(/)に続く数の大きさでその機種のランクが分かり、数字の後ろに文字「A」がある場合はマイナーな変更を加えた機種だと分かる命名法だった。本シリーズはミニコンTI-990のアーキテクチャを部分的に引継いだマイクロコンピュータであるのでTI 99とし、とりあえず初代機は「/4」と命名することで、将来的に高機能の機種をリリースすれば「/8」とし、低機能で廉価な機種をリリースすれば「/2」とすることをTIは考えていた。その結果、初代「99/4」をマイナーチェンジし機能強化した版をリリースする際は「99/4A」と命名することになった。なお「/2」や「/8」は後に開発されたがプロトタイプ止まりになり生産されなかったので (後述) 、 結果的に本シリーズの名称末尾の「/4」や「/4A」の意味がユーザには分からなくなった。
開発史 1970年代に登場したパーソナルコンピュータ Altair 8800は初期の代表的な製品であり、技術者やソフトウェア開発者の間で人気を博していた。その後に登場した、Radio Shack製のTRS-80、Apple I、Apple II、Commodore PETなどはより一般的な顧客層に販売されていた。(ただしTRS-80は批評家からはTrash 80(ゴミ 80)と揶揄された)
業界関係者は、テキサスインスツルメンツが競争力のある製品を投入できれば、パーソナルコンピュータ市場に大きな影響を与えるだろうと予想していた。1977年までにTIの技術者たちは、1種類ではなく、次のような3種類のコンピュータを同時に開発していた。 (1) 価格200ドル未満で販売することを目標とした低価格のビデオゲーム機(ゲームはROMカートリッジで供給) (2) ラジオシャックやAppleのコンピュータのユーザ、およびホビイスト(電子工作愛好家)をターゲットとしたパーソナルコンピュータ (3) 約10メガバイトのハードディスクを備えた高級ビジネスコンピュータ
だが、大企業ではよくあることだがTI社内で縄張り争いが始まった。テキサス州ラボックのTI工場で資源を奪い合っていたビデオゲーム部門とホームコンピュータ部門の境界は次第に曖昧になっていった。一方、(3)のビジネスコンピュータが狙う市場は、TIのData Systems Divisionが開発していたミニコンピュータやポータブル端末の市場と明らかに重なっていた。その結果、最終的に(1)のビデオゲーム機開発計画と(2)のパーソナルコンピュータ開発計画は統合された。(3)のビジネスコンピュータの計画はData Systems Divisionへ移管されたが、その部門ではこの計画は歓迎されず、結局この計画は中止された。
つまり当初3つあった計画の中で1つだけが生き残り、生き残ったホームコンピュータ開発チームの製品は「99/4」という名称になった。しかし、このチームは会社から数多くの「支援」(という名のもとの社内圧力)を受けることになった。その中には、問題を抱えていた16ビット・マイクロプロセッサTMS9900を採用するよう求める圧力も含まれていた。
TIヨーロッパ・マーケティング部門のPeter van Cuylenburgは、この社内圧力に対する独創的な解決策を考え出した。彼はサードパーティ企業に委託して「Mojo」というコードネームのパーソナルコンピュータを設計・製造させたのである。ただし使用する部品はすべてTI製に限定させた。この委託先は、Intel 8080A互換のTI製マイクロプロセッサに加え多数のTI製TTL IC、メモリ、その他の部品を用いてMojoを設計した。Mojo計画は、半導体部門とコンシューマ製品部門からの、相乗効果を求める社内要求をある程度満たすものではあった。しかし、TMS9900こそが真にTI独自のマイクロプロセッサであった。そのため、議論と妥協を重ねた末に結局Mojo案は廃止された。そして「99/4」案が生き残り、TMS9900とTMS9918グラフィックスチップを採用することになった。また99/4には、当初のビデオゲーム機案にあった次のような特徴も残された。 極めて低価格なキーボード テレビに接続するためのRF出力 ROMに格納されたアプリケーション
99/4は、TIの3つの経営陣をどうにか乗り越え、1979年にようやく発売された。しかし、その評価はほとんどが酷評だった。当時、半導体業界を代表するアナリストであり、急速にパーソナルコンピュータ業界の第一人者にもなりつつあったモルガン・スタンレーのベンジャミン・ローゼン(Benjamin M. Rosen)は、パーソナルコンピュータ市場の本命と期待されていた製品が期待外れに終わったことを、ユーモラスな記事で論じた。
その結果、より良いキーボードを備えた改良型のTI-99/4Aが1981年に発売された。
販売史
初期型のTI-99/4の評価は上の節で説明したとおりで、販売台数は期待はずれだった。
改良型のTI-99/4Aは1981年1月の発売当初の販売は好調で、一時はホームコンピュータ市場の35%のシェアを獲得した。
しかし、コモドールが1981年1月に北米市場に投入したホームコンピュータVIC-20との価格競争が始まった。TI-99/4AはコモドールのVIC-20に比べてメモリも多くグラフィックも進んでいたが、価格を下げることを余儀なくされた。
TI-99/4AはVIC-20に比べて製造コストが高いにもかかわらず、同じ値段で競争することを余儀なくされた。TIもコモドールも自前のIC工場を持っていたが、コモドールがカスタムICを用意し製造原価削減に努めたのに対し、TIは市販品を使い続けマザーボードにもほとんど変更を加えなかった。またコモドールはボール紙をアルミホイルで覆ったものを電磁波シールドに使いコスト削減していたが、TIはそのような動きに追随しようとせず、高品質の部品を使い続け、市場がその違いを理解してくれることを期待した。
1982年8月にはコモドールがさらに強敵となるコモドール64を市場に投入してきた。同月、TIは対抗措置として100ドルのキャッシュバックキャンペーンを展開した。