Bytefest 2014 – přednáška

Odkaz ke stažení prezentace z přednášky na akci Bytefest.

Bytefest 2014 – zde zazněla přednáška o počítačích s videoprocesorem TMS 9929 a odvozeninami.
Prezentace je ke stažení na https://uloz.to/!rrwU4gNX94oh/bytefest14-9929-pdf.

Pokud tehdy někdo náhodou natáčel video, rád je sem přidám.

Historické stroje s TMS 9929A

TMS 9929A je videočip.

Přesněji, jde o rodinu čipů.
NTSC čipy jsou značeny TMS9918A a TMS9919A, PALový je označen jako TMS 9929A.
Existuje i čip bez A v označení – TMS 9918. Tomu chybí jeden z grafických režimů (GII) a byl použit pouze v počítači TI 99/4 (jde o původní verzi počítače rovněž bez A, následoval TI 99/4A).

Použit byl ve dvou skupinách počítačů.
Jednak s 16bitovým procesorem TI TMS 9900 (sem patří TI 99/4A, TI99/8, Tomy Tutor).
Dále s procesorem Z80 (počítače a konzole Sord m5, MSX 1, Sega SG1000/SC3000, Spectravideo SV318/SV 328, ColecoVision/CreatiVision, Coleco Adam, Memotech MTX, Tatung Einstein).

Úspěšný videočip měl i svoje následovníky.
Čip TMS/V 9938 (poskytující 80 znaků na řádek, text ve 4 barvách, paletu 512 barev) byl použit v počítači Spectravideo SVI 378 Xpress (jde o jakési “MSX 1.5”), v počítačích MSX 2, Myarc Geneve 9640 (to byl následovník TI 99/4A), Einstein 256.
Čip V9958 (s až 19268 barvami a hardwarovou akcelerací grafiky) byl osazován po počítačů MSX 2+.

(Jinou velkou skupinu tvoří počítače s videočipy MC 684x – MC 6845 a MC 6847 – také jsou to úspěšné videočipy a počítače je využívající jsou také zajímavé a mnohdy dobře známé, ale tomu se můžeme věnovat jindy.)

TMS 9929A vyžaduje připojení 4 nebo 16 KB VideoRAM, která se nachází mimo adresový prostor procesoru, který ji obsluhuje nepřímo přes registry VDP (jako “RAMdisk”).
Do 16kB se vejdou dvě videoRAM nejnáročnějšího režimu GII, většinou není VideoRAM použita celá. Nevyužité místo (v textovém režimu je to asi 15 KB) lze opravdu využívat jako RAMdisk (jako některé programy pro Sord m5,který má nerozšířený v základu jen 4 KB SRAM dostupných pro procesor a RAMdisk navíc se hodí).

Zobrazuje 15 barev + jednu průhlednou (na pozadí je pak interpretována jako obrazový podklad z případného externího zdroje – na Sordu je to napevno zelená, na MSX černá, na strojích, jako Philips NMS 8280 s externím videovstupem se pak využívá jako videostřižna nebo titulkovač).
Dále videočip podporuje 32 spritů (mohou být 4 na jednom mikrořádku) ve 32 rovinách.

Podporováno je několik režimů:
•Mode 0 – T – textový režim 40 znaků na řádek (šířka znaku je 6 bodů), 2 barvy
•Mode 1 – GI – text 32×24 (znak je 8×8 bodů), 2 barvy na znak, přičemž 8 následujících
znaků v sadě má stejné barvy. Díky možnosti předefinovat znakovou sadu se tento režim považuje za grafický.
•Mode 2 – GII – text 32×24 s barevným atributem 1×8 bodů. Použity jsou 3 definovatelné znakové sady, kterými lze vyplnit celou obrazovku a jejich definováním pak tento režim slouží jako plný grafický v rastru 256×192 znaků.
•Mode 3 – “Multicolor” režim (ve smyslu “multicolor” režimu Apple II) s obřími “pixely” 4×4 body v rozlišení obrazu 64×48, každý může mít svou barvu.

Zběžně o počítačích, ve kterých je videočip použit:

TI 99/4A
Jde o počítač s 16bitovým procesorem TI TMS 9900 (to je v podstatě mikroprocesorová verze mikropočítačového systému TI-990) na 3 MHz.
Obsahuje kromě VideoRAM pro videočip už jen 256 byte RAM dostupné pro procesor, “scratchpad RAM”, která je využita mimo jiné k uložení registrů procesoru. Tato paměť je na 16bitové sběrnici.
Lze připojit 32 kB externí RAM na osmibitovou sběrnici.
Zvuk obstarával čip TI 76489, použitý též v počítačích a konzolích Sharp MZ-800, Acorn Proton (BBC Micro), Sord m5, ColecoVision, Sega SG-1000/SC-3000.

V ROM je obsažen interpret kódu GPL (graphics programming language), který je blízký strojovému kódu, ale běžné zvukové a grafické operace místo rozepsání na jednotlivé instrukce shrnuje pod komplexní příkaz, dal by se tedy přirovnat k jakémusi graficky zvukovému makroassembleru.
V GPL je vytvořena i většina software v cartridgích a dokonce zabudovaný interpret jazyka Basic. Rychlosti Basicu ovšem nesvědčí, že je vlastně dvojitě interpretován, a proto rozšířený Extended Basic je pro dosažení vyšší rychlosti již vytvořen v strojovém kódu.

Dobovou zajímavostí byl “mluvící modul”.
Texas Instruments již předtím uvedla mluvící hračku Speak & Spell s čipem TMS 5100, vidět jsteji mohli například ve filmu E.T. mimozemšťan, kde se s její pomocí E.T. učil mluvit.
Mluvící modul pro TI 99/4A obsahuje novější čip TMS 5220 a ROM s cca 200 slovy.
V plánu byly další slovníkové ROM moduly, proto mají mluvící moduly dvířka pro ROM cartridge (a některé starší kusy i osazené konektory), ale po uvedení cartridge Terminal Emulator II, která obsahovala technologii “Text to speech”, bylo vydávání slovníkových ROM modulů zrušeno.

Ačkoli je TI 99/4A považován za neúspěšný, představoval 35% trhu s domácími počítači!
Management Texas Instruments jej prezentoval jako alternativu k počítači Commodore VIC-20.
Tedy se staví 16bitový stroj s procesorem 9900 (s osvědčenou a mezi programátory známou minipočítačovou instrukční sadou) proti 8bitové 6502. Systém, schopný zobrazovat 32 nebo 40 znaků na řádek proti počítači s 22 znaky na řádek. Počítač proti hračce.
Ovšem také uzavřený systém TI s opatrnou politikou licencování proti dokumentovanému otevřenému systému VIC-20, pro který mohl psát programy každý.

TI 99/8
Nástupce systému TI 99/4A. Máme zde opět procesor TMS 9900, tentokrát na 10 MHz, použita je inteligentní sběrnice HexBus (podobná dnešnímu USB, je použita rovněž v počítači TI CC40 a existuje i vzácný HexBus interface pro TI 99/4A). V počítači je zabudováno 64 KB RAM rozšiřitelné na 15 MB, mluvící modul, a vedle Extended basic II i UCSD Pascal a jeho interpret tzv. P-kódu.

Tomy Tutor
Počítač vzdáleně příbuzný s TI 99/4A.
Obsahuje procesor TMS 9995 na 2.7 MHz. V ROM jsou interprety GBASIC a Tomy Basic.

Myarc Geneve 9640
Tento počítač by se dal považovat za nástupce nebo rozšíření TI 99/4A.
V podstatě jde o rozšiřující procesorovou kartu do rozšiřujícího sběrnicového boxu “Peropheral Expansion Box” – po odpojení původního počítače se stane samostatný počítač z boxu, kterému poskytuje karta nový procesor TMS 9995 na 12 MHz, 640 kB RAM a nový grafický čip Yamaha V9938 (jde o následovníka TMS 9929A).
Šťastní majitelé této vzácné rozšiřující karty ji pak tedy využívají jako “Super TI 99/4A”.
(Všimněte si screenshotu v prezentaci – V9938 umí čtyřbarevný text, v obrázku je ale barev více, protože není v textovém, ale grafickém režimu.)

Sord m5
Osmibitový mikropočítač s procesorem Z80 na 3,58 MHz, v základu má 4 KB SRAM, 16 KB VRAM a 4 KB ROM. O zvuk se stará TI 76489 (osazený též v počítačích Sharp MZ-800, Acorn Proton aka BBC Mikro, TI 99/4A, ColecoVision, Sega SG-1000/SC-3000).
ROM obsahuje zavaděč a knihovnu základních rutin pro obsluhu magnetofonu, textu, grafiky a zvuku. Dále je v počítači obvykle neosazený slot pro další ROM.

Zajímavé je, že v této konfiguraci počítač nejde ani zapnout. Vždy musí být přítomna cartridge v příslušném slotu.

Počítač je možné vybavit cartridge s některým z dialektů Basicu I (celočíselný, určen pro začátečníky), G (celočíselný s příkazy pro tvorbu grafiky a zvuku na tvorbu her) a F (s plovoucí desetinnou čárkou a funkcemi pro vědecké výpočty, má rovněž zabudovánu obsluhu disketové jednotky FD-5).
Cartridge Basic-G a Basic-F obsahují kromě ROM i další malou 4 KB SRAM.

RAM lze rozšířit 32kB modulem EM-5, ale jak po jeho zasunutí do cartridge slotu vložíte další cartridge s Basicem?

V tomto případě musíte použít rozdvojku sběrnice EC-5.
K počítači ale existují ještě cartridge SI-5 (sériový interface s terminálovým programem v ROM) a PI-5 (paralelní interface, přes který se připojuje disketová jednotka FD-5).
Pokud chcete ale připojit například Basic-F, 32 KB RAM a PI-5 pro práci s disketovou jednotkou, rozdvojka EC-5 vám přestává stačit.

Proto existuje “expanzní box” EB-5 s roztrojkou sběrnice a vlastním posíleným zdrojem.
Pokud si ke zmíněné sestavě (Basic-F, EM-5, PI-5 s disketovkou) chcete připojit třeba ještě SI-5, abyste mohli připojit modem a stáhnout si z nějaké BBS soubory na disk, máte smůlu, na to už tři sloty EB-5 nestačí.

Počítač je tedy velmi zajímavě modulární, ale tato modularita je velmi neprakticky omezena.

Spectravideo SV318/328
Jde o počítač s procesorem Z80 na 3,6 MHz, s 32kB RAM, 32 kB ROM, o zvuk se stará AY-3-8910.
Na počítači lze provozovat Microsoft Extended Basic a po připojení disketových jednotek pak CP/M.
Specifikací je velmi podobný MSX, al enení s ním zcela kompatibilní.
Zajímavostí je použití zabudovaného joysticku místo kurzorových kláves (což je nápad, který se objevuje ještě například u počítače Enterprise).

MSX
Jde o definovaný standard pro počítače od různých výrobců. Tyto stroje obsahují procesor Z80 na 3.58 MHz, RAM 8 až 64 KB, 32 KB ROM (16 KB obsazuje BIOS, 16 KB MSX Basic
1.0)
. O zvuk se stará AY-3-8910 nebo 8912. O styk s periferiemi (například s klávesnicí) se starají obvody 8255.
Po připojení disketových jednotek lze používat rozšířený Microsoft MSX Basic (Disk Basic), rozšíření je přítomno v ROM diskového interafce, nebo MSX DOS (což je operační systém kompatibilní softwarově s CP/M, ale diskety jsou formátované na FAT12 místo CP/M souborového systému).

(Podobný koncept, tedy CP/M používající FAT12 formátované diskety, drží i operační systém IS-DOS na počítači Enterprise, a snad i IS-DOS používaný v Rusku na klonech ZX Spectra s Betadiskem.)

Tatung Einstein
Jde vlastně o dva různé stroje, pojmenované Tatung Einstein TC-01 a Einstein TCS-256.
Starší TC-01 obsahuje procesor Z80 na 4 MHz, 64 KB RAM, 8 KB (rozšiřitelných na 32 KB) ROM s monitorem MOS, o zvuk se stará AY, dále obsahuje A/D převodník.
Obvykle se používá Xtal /DOS (kompatibilní s CP/M) na zabudovaných 3” disketových jednotkách.
Počítač má svou důležitost i pro spectristy – právě Einstein sloužil v různých software housech jako vývojová platforma pro ZX Spectrum.
Einstein TCS-256 mate názvem, obsahuje 64 KB RAM, zato má 192 kB VRAM pro videočip (což je dohromady 256, ale …), tím videočipem je V9938 (obsažený i v počítačích MSX2). ROM s MOSem má 16 KB (rozšiřitelných na 32 kB).

Jak bylo zmíněno, počítačů s videočipem TMS 9929A bylo více.
Jmenujme ještě několik z nich, vybavených procesorem Z80: Memotech MSX, počítač Coleco Adam a konzoli Colecovision.