Vznik mikrořadičů: čtyřbitový čip TMS 1000

28. 3. 2017
Doba čtení: 18 minut

Sdílet

Posledně jsme si popsali moderní mikrořadiče, které jsou vybaveny výkonnými jádry s hodinovou frekvencí dosahující stovek MHz. Ovšem na začátku mikrořadičové revoluce stál „primitivní“ čtyřbitový čip TMS 1000 s frekvencí 400 kHz.

Obsah

1. Vznik mikrořadičů: čtyřbitový čip TMS 1000

2. Čtyřbitové architektury mikrořadičů – šlo jen o historickou raritu?

3. Varianty čipu TMS 1000

4. Základní charakteristiky TMS 1000

5. Architektura čipu TMS 1000 (interní struktura)

6. Vstupní a výstupní piny – způsob zapojení klávesnice a displeje

7. Sada pracovních registrů

8. Programový čítač a stránkový registr

9. Programovatelný dekodér instrukcí

10. Aritmeticko-logická jednotka

11. Instrukční soubor mikrořadičů TMS 1000

12. Použití čipů TMS 1000

13. Kapesní herní konzole MicroVision

14. Odkazy na Internetu

1. Vznik mikrořadičů: čtyřbitový čip TMS 1000

Naprostá většina mikrořadičů, které se používají v současnosti, obsahuje aritmeticko-logické jednotky i datové sběrnice s šířkou osm bitů, šestnáct bitů či 32 bitů. Navíc můžeme sledovat postupný přechod na 32bitové čipy, a to dokonce i v těch aplikacích, kde to není z hlediska potřebného výpočetního výkonu nutné. Důvodem je snadnější programování a samozřejmě i klesající cena za 32bitové čipy (ať již se jedná o architekturu MIPS či o pravděpodobně populárnější ARM). Ovšem na samotném začátku historie mikrořadičů, která se začala psát začátkem sedmdesátých let minulého století, nenajdeme osmibitový čip, protože první mikrořadiče byly postaveny na bázi čtyřbitových ALU. Jednalo se o čipy µCOM společnosti NEC a taktéž o TMS 1000 navržený ve firmě Texas Instruments. TMS 1000 je uváděn jako první mikrořadič, ovšem zpočátku byl používán pouze pro potřeby TI, takže se na trhu jako první objevil µCOM.

Obrázek 1: Typickým segmentem trhu pro TMS 1000 jsou kapesní kalkulačky, ať již s displeji založenými na LED, LCD či VFD.

Tyto čipy se začaly používat v kapesních i stolních kalkulačkách, pokladnách i v typických „mikrořadičových aplikacích“, mezi něž patřilo ovládání mikrovlnných trub (kompaktní mikrovlnky se na západě objevily již na přelomu 1969/1970), alarmy, kávové konvice atd. Ovšem – a to pravděpodobně tvůrci čtyřbitových mikrořadičů nepředpokládali – se TMS 1000 společnosti TI začal používat i v elektronických hračkách (robotech), elektronických hrách, jako zvukový generátor atd. Naproti tomu pro složitější aplikace (ovládání křižovatek) se začal používat výkonnější čip Intel 8008 (ne 8080!), který ovšem ke své činnosti vyžadoval další podpůrné čipy, takže se nejedná o mikrořadič.

Obrázek 2: Některé varianty čipu TMS 1000 byly navrženy takovým způsobem, aby mohly ovládat displeje s technologií VFD. Tyto displeje jsou používány na DVD přehrávačích, mikrovlnkách atd. Od LED je snadno rozeznáte podle mřížky, která se při pohledu zblízka jasně viditelná.

2. Čtyřbitové architektury mikrořadičů – šlo jen o historickou raritu?

„The sweet spot for 4-bit processor designs are single battery applications that have a 10 year lifespan and where the device is active perhaps 1% of that time and in standby the other 99%. An interesting differentiator for 4-bit processors is that they can operate at 0.6V. This is a substantial advantage over the lowest power 8-bit processors which are still fighting over the 0.9 to 1.8V space.“
Robert Cravotta

Čtyřbitové mikrořadiče mohou z dnešního pohledu vypadat jako zcela překonaná archaická technologie, a nutno říci, že je to pro naprostou většinu aplikací pravda. Ovšem v okamžiku, kdy je jediným úkolem mikrořadiče snímat několik digitálních vstupů a zobrazovat výsledek na sedmisegmentovém displeji, může být použití čtyřbitové ALU zcela dostačující, protože i na osmibitových mikrořadičích se programátoři v takovém případě většinou (zcela správně) uchylovali k použití BCD aritmetiky. Ostatně dodnes se s BCD setkáme na některých čipech s hodinami reálného času, řadičích displejů atd. Z tohoto důvodu většina osmibitových mikrořadičů BCD dodnes podporuje (s výjimkou PICů), popř. aspoň obsahuje instrukci SWAP pro prohození horních a spodních čtyř bitů v bajtu (nibbles).

Obrázek 3: Jedna z typických nasazení čtyřbitových mikrořadičů – elektronika pump pohonných hmot.

V následující tabulce jsou pro přehlednost vypsány základní parametry prvních mikrořadičů (tučné písmo). Pro úplnost a doplnění kontextu jsem do tabulky přidal i tři klasické mikroprocesory firmy Intel. Z tabulky je patrné, jak se koncept mikrořadiče a mikroprocesoru paralelně rozvíjel ve více společnostech:

Rok Výrobce Označení čipu Počet bitů Frekvence Technologie
1971 Intel 4004 4 740 kHz PMOS
1971 TI prototyp mikrořadiče TMS 4 ? kHz PMOS
1972 Intel 8008 8 200 kHz – 800 kHz PMOS
1973 NEC µCOM 4 1 MHz NMOS
1974 Intel 8080 8 2 MHz
1974 TI TMS 1000 4 400 kHz PMOS, později CMOS i NMOS
1976 Intel 8048 8 11 MHz NMOS, později CMOS
1980 Intel 8051 8 12 MHz NMOS, později CMOS

Obrázek 4: Další kalkulačka s VFD, která je řízena variantou čipu TMS 1000.

3. Varianty čipu TMS 1000

„I speculate that there may be other 4-bit designs out there, but the people using them do not want anyone else to know about them. Think about it, would you want your competitor to know you were able to simplify the problem set to fit on such a small device? Let them think you are using a larger, more expensive (cost and energy) device and wonder how you are doing it.“
Robert Cravotta

Na základě architektury původního čipu TMS 1000 vzniklo poměrně velké množství dalších variant, které se od sebe odlišovaly především kapacitou paměti programu (ROM), kapacitou datové paměti (RAM), počtem vstupních a výstupních pinů, použitou technologií (PMOS, NMOS, CMOS) a taktéž tím, jaký displej bylo možné k mikrořadiči připojit (VFD displeje vyžadovaly vyšší napětí atd.). V následující tabulce jsou základní varianty TMS 1000 vypsány:

Čip ROM RAM Technologie Poznámka
TMS1000 1KB 64×4 PMOS původní varianta mikrořadiče
TMS1000C 1KB 64×4 CMOS identické s TMS 1000, ale použita technologie CMOS
TMS1018 64×4 PMOS
TMS1040 1KB 64×4 PMOS řadič displeje VFD
TMS1070 1KB 64×4 PMOS řadič displeje VFD
TMS0970 1KB 64×4 PMOS jako předchozí, ale řadič pro LED
TMS1098 128×4 PMOS
TMS1099 64×4 PMOS
TMS1099C 64×4 CMOS identické s TMS 1099, ale použita technologie CMOS
TMS1100 2KB 128×4 PMOS
TMS1117 2KB 128×4 PMOS
TMS1200 1KB 64×4 PMOS
TMS1200C 1KB 64×4 CMOS identické s TMS 1200, ale použita technologie CMOS
TMS1270 1KB 64×4 PMOS
TMS1300 2KB 128×8 PMOS odlišná struktura RAM!
TMS1400 4KB 128×4 PMOS
TMS1600 4KB 128×4 PMOS
TMS1700 512B 32×4 PMOS
TMS2000 1KB 64×4 NMOS NMOS varianta mikrořadiče TMS 1000
TMS2100 2KB 128×4 NMOS NMOS varianta mikrořadiče TMS 1100
TMS2200 1KB 64×4 NMOS NMOS varianta mikrořadiče TMS 1200
TMS2300 2KB 128×8 NMOS NMOS varianta mikrořadiče TMS 1300

Poznámka: velmi pravděpodobně existují i další varianty TMS 1000, které však byly určeny jen pro konkrétního zákazníka, takže se pouze podle označení čipu nedá přesně zjistit, o jaký mikrořadič se jedná. Například ve známé kalkulačce TI-35 je použit čip TP0324–4N.

4. Základní charakteristiky TMS 1000

Mikrořadič TMS 1000 byl založen na čtyřbitové centrální procesorové jednotce (CPU), což poměrně podstatným způsobem ovlivnilo jak jeho výpočetní výkon, tak i aplikační oblasti, ve kterých bylo možné tento čip využít. V průběhu dalších let se totiž ukázalo, že čtyřbitové mikrořadiče jsou pro většinu aplikací málo vhodné, naproti tomu osmibitové mikrořadiče jsou stále používané, i když dnes jsou již k dispozici i výkonnější šestnáctibitové a 32bitové mikrořadiče. TMS 1000 obsahoval na jednom čipu čtyřbitovou aritmeticko-logickou jednotku (ALU), několik pracovních i specializovaných registrů, operační paměť o kapacitě 64 nebo 128 nibblů (nibble je čtveřice bitů, podobně jako bajt je osmice bitů), paměť programu (ROM) o maximální kapacitě 2048 bajtů (původní čip dokonce jen 1024 bajtů, TMS1700 měl ovšem ještě menší ROM o velikosti 512 bajtů) a taktéž, což bylo dosti novátorské řešení, i PLA (programovatelnou logiku), pomocí níž bylo možné vytvořit („namikroprogramovat“) až 31 uživatelských instrukcí, které se přidaly k původní (neměnné) instrukční sadě obsahující pouhých 12 instrukcí. Ve verzi určené pro ovládání displejů měl TMS napájecí napětí 15V (!) a spotřebu 68 mW.

Zvětšený snímek čipu si lze prohlédnout na stránce http://smithsonianchips.si­.edu/augarten/i38.htm. Z tohoto snímku je patrný i rozdíl v hustotě bitů u RAM a ROM – ROM sice zabírá nepatrně větší plochu čipu než RAM, ovšem má čtyřnásobnou kapacitu. Mimochodem – i přesto, že EPROM byla vynalezena již v roce 1971, měla většina čipů TMS ROM programovatelnou maskou při výrobě (později pravděpodobně i PROM). To však pro daný segment trhu příliš nevadilo, protože zde rozhodovala celková výrobní cena a při velkém množství čipů bylo výhodnější si objednat TMS s vlastní maskou (cena za jeden čip pak klesala ke dvěma dolarům, což je neporovnatelně méně, než u výkonnějších mikrořadičů).

Poznámka: oproti předchozímu snímku je toto okomentované schéma z patentu TMS otočené: http://www.seanriddle.com/pa­tentdieshot.jpg.

5. Architektura čipu TMS 1000 (interní struktura)

Zjednodušená interní struktura čipu TMS 1000 s kapacitou programové paměti 1024 bajtů a kapacitou datové paměti 64×4 bitů je zobrazena na pátém obrázku. Žluté trojúhelníky označují sady vstupních a výstupních pinů, které jsou podrobněji popsány v navazující kapitole. Povšimněte si zde pouze jedné zajímavosti – čtyři vstupní piny Kn jsou připojeny přímo do aritmeticko-logické jednotky. K ALU je přímo připojen i čtyřbitový akumulátor, a to jak na vstup, tak i na výstup. Pracovní registr Y je možné považovat za klasický index registr, ale kvůli možnosti přístupu k 64 či u některých čipů ke 128 nibblům bylo nutné tento registr doplnit o dva či tři bity, které jsou představovány registrem X. Paměť RAM je propojena jak s aritmeticko-logickou jednotkou, tak i s akumulátorem, což ostatně bude patrné při pohledu na instrukční sadu.

Obrázek 5: Zjednodušená interní struktura čipu TMS 1000 bez dekodéru instrukcí a mikrořadiče (klikněte prosím pro zvětšení, když už jsem se s tím schématem tak trápil :-).

6. Vstupní a výstupní piny – způsob zapojení klávesnice a displeje

Podívejme se nejprve na zapojení vývodů čipu TMS 1000 ve verzi s dvaceti osmi piny (existují totiž i varianty se 40 piny):

Obrázek 6: Zapojení vývodů čipu TMS 1000 ve verzi s dvaceti osmi piny.

Můžeme zde vidět především piny Vss a Vdd pro připojení napájení, piny OSC1 a OSC2 pro externí oscilátor a taktéž pin INIT umožňující vygenerování signálu RESET v těch aplikacích, u nichž je náběh napájecího napětí pomalý a/nebo napětí kolísá (čip si RESET generuje sám, ale pouze pokud se napájecí napětí zvýší skokově). Všechny další piny již slouží pro připojení periferních obvodů. Jedná se o piny K1, K2, K3 a K4, které typicky slouží pro přečtení stavu kláves zapojených do matice 8×4 až 10×4 klávesy (tyto piny jsou přesměrovány přímo do ALU). O výběr řádku na klávesnici se staraly výstupní piny R0R10 (u některých čipů až R12). Ovšem tyto piny současně sloužily pro výběr číslice na displeji, což znamená, že podporovány byly displeje až s jedenácti (či třinácti) místy. Konkrétní tvar číslice a desetinné tečky se přenášel po pinech O0O7.

Zapojení nejjednodušší kalkulačky s osmimístným displejem může vypadat následovně (tato klávesnice trpí klasickým problémem – při stlačení tří kláves se chybně detekuje i stisk klávesy tvořící čtvrtou stranu čtverce):

  Klávesnice
      8x4
--+--+--+--+----------------------------.
--+--+--+--+-------------------------.  |
--+--+--+--+----------------------.  |  |
--+--+--+--+-------------------.  |  |  |
--+--+--+--+----------------.  |  |  |  |
--+--+--+--+-------------.  |  |  |  |  |
--+--+--+--+----------.  |  |  |  |  |  |
--+--+--+--+-------.  |  |  |  |  |  |  |
  |  |  |  |       |  |  |  |  |  |  |  |
  |  |  |  |       |  |  |  |  |  |  |  |
  |  |  |  |       |  |  |  |  |  |  |  |
  |  |  |  |       ^  ^  ^  ^  ^  ^  ^  ^
  v  v  v  v       |  |  |  |  |  |  |  |
 K1 K2 K3 K4      R7 R6 R5 R4 R3 R2 R1 R0   O7 O6 O5 O4 O3 O2 O1 O0
                   |  |  |  |  |  |  |  |    |  |  |  |  |  |  |  |
                   |  (výběr číslice)   |    (stav segmentů a tečky)
                   |  |  |  |  |  |  |  |    |  |  |  |  |  |  |  |
                 +------------------------+  |  |  |  |  |  |  |  |
                 | 0  0  0  0  0  0  0  0.|<-*--*--*--*--*--*--*--*
                 +------------------------+

Funkce vstupů a výstupů:

  • Na výstupy R0R7 se postupně přenáší bitový vzorek 00000001, 00000010, 00000100, tj. vlastně výsledek z posuvného registru. Frekvence změn je odvozena od možností displeje (jak rychle se musí obnovovat).
  • Tím se automaticky vybírá řádek na klávesnici, stav všech čtyř kláves na řádku se ihned může přečíst na pinech K1K4 (poznámka: fyzický tvar klávesnice samozřejmě může být odlišný od interní matice 8×4).
  • Současně se automaticky vybírá číslice na displeji, takže je možné číslici obnovit zápisem osmi bitů na výstupy O0O7. Obnova musí probíhat tak rychle, aby uživatel neviděl poblikávání displeje, což ovšem u čipu s hodinovou frekvencí 400 kHz není problém.

7. Sada pracovních registrů

Mikrořadič TMS 1000 obsahoval několik registrů. Jednalo se především o čtyřbitový akumulátor označovaný tradičně písmenem A, dále o čtyřbitový pracovní registr Y a dvou či tříbitový registr X (podobnost s osmibitovým mikroprocesorem MOS 6502 je ovšem čistě náhodná, protože tyto dva registry mají poněkud odlišné funkce :-). Registry X a Y bylo možné v případě potřeby zkombinovat takovým způsobem, že se chovaly jako šesti nebo sedmibitový index registr umožňující adresaci 64 nebo 128 nibblů operační paměti RAM (ostatně z tohoto důvodu je X dvoubitový či tříbitový podle toho, o jakou variantu čipu se jednalo). V mikrořadiči byl taktéž přítomen stavový (příznakový) registr, který byl ovšem představován pouze jediným bitem (ostatně i aritmetické operace byly do značné míry zjednodušené, takže nevyžadovaly klasickou čtveřici Carry+Overflow+Zero+Negative).

8. Programový čítač a stránkový registr

Posledními registry, které byly viditelné programátorům, byly šestibitový programový čítač (PC), čtyřbitový stránkový registr (page address register), registr s návratovou adresou ze subrutiny a jednobitový registr uchovávající aktuální banku v paměti ROM (horní nebo spodní kilobajt u čipů se dvěma kilobajty ROM). Při načítání instrukcí se adresa načítané instrukce složila ze všech tří zmíněných registrů: 1 bit bank registr + 4 bity stránkový registr + 6 bitů PC = 11 bitů, což přesně odpovídá 2048 adresám. Programová paměť tedy byla rozdělena na stránky (page), z nichž každá měla kapacitu 64 instrukcí. Podmíněné skoky probíhaly právě v tomto rozsahu.

Registr PC se sice nazýval programový čítač (toto jméno bylo převzato ze starších procesorových jednotek), ovšem ve skutečnosti nebyl inkrementován pomocí sčítačky, tak jako je tomu u naprosté většiny ostatních mikroprocesorů a mikrořadičů, ale jeho obsah byl po načtení operačního kódu instrukce změněn pomocí polynomického čítače (podobně jako například v čipu TIA použitého u herní konzole Atari 2600), což znamenalo, že instrukce nebyly ve skutečnosti v paměti ROM umístěny za sebou. Ovšem vzhledem k tomu, že se jednalo o interní paměť nečitelnou mimo vlastní čip a spustitelný program byl většinou generován assemblerem, nepředstavovala tato vlastnost vlastně žádný větší problém (naopak – polynomické čítače jsou implementačně jednodušší než sčítačka).

Schéma čtrnáctibitového posuvného registru se zpětnou vazbou. U TMS 1000 je tento registr samozřejmě kratší; jen šestibitový:

                 <=======================

+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
| 14 | 13 | 12 | 11 | 10 |  9 |  8 |  7 |  6 |  5 |  4 |  3 |  2 |  1 |  0 |
+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
   v    v        _____                                                   ^
   v    +-------| xor |--------------------------------------------------+
   +------------|_____|

9. Programovatelný dekodér instrukcí

Význam některých instrukcí je možné změnit modifikací PLA (Programmable Logic Array) při výrobě masky čipu. Díky tomu se instrukční soubor může měnit podle toho, jakou funkci má čip TMS 1000 provádět. Cílem není zvýšit rychlost instrukcí (to není možné – počet mikrokroků každé instrukce je konstantní), ale spíše ušetřit kapacitu ROM při implementaci běžných funkcí. Do PLA je také možné nahrát kódovací tabulku pro sedmisegmentový displej (převod BCD na sedm segmentů) apod., takže zápis akumulátoru na piny On neproběhne přímo, ale přes tento dekodér.

10. Aritmeticko-logická jednotka

Aritmeticko-logická jednotka je pouze čtyřbitová, takže pro její realizaci byla použita relativně malá plocha čipu (a taktéž jsou výpočty nepatrně rychlejší). Vstupy do aritmeticko-logické jednotky se označují P a N. Jedná se vlastně o multiplexory, které na základě použité instrukce vybírají operandy (libovolnou kombinaci):

Vstup P Vstup N
registr Y akumulátor/negovaný akumulátor
konstanta konstanta
vstupní piny Kn vstupní piny Kn
nibble z RAM nibble z RAM

Výstup z aritmeticko-logické jednotky je možné přímo zapsat do akumulátoru či do registru Y. Pokud je zapotřebí provést zápis do RAM či výstup na piny On, používá se přenos dat z akumulátoru.

11. Instrukční soubor mikrořadičů TMS 1000

Základní (standardní) instrukční soubor dostupný bez modifikace PLA sestává z pouhých 43 instrukcí, které jsou vypsány v tabulce. Většina aritmetických instrukcí nastavuje příznakový bit podle toho, zda došlo k přetečení, tj. výsledek je větší než 15. Instrukce testující bit v paměti nastavují příznakový bit podle obsahu načteného bitu z paměti atd.:

Instrukce Význam
TAY přenos nibble z akumulátoru do registru Y
TYA přenos nibble z registru Y do akumulátoru
   
TAM uložení akumulátoru do RAM
TAMIY dtto, ale zvýší se hodnota index registru Y
TAMZA kombinace TAM+CLA
TMA načtení nibble z RAM do akumulátoru
XMA prohození obsahu akumulátoru a buňky RAM
TMY přenos nibble z RAM do registru Y
   
CLA vynulování akumulátoru
   
AMAAC součet akumulátor + nibble z RAM
SAMAN rozdíl nibble z RAM – akumulátor
IMAC inkrementace nibble v RAM + přenos do akumulátoru
DMAN dekrementace nibble v RAM + přenos do akumulátoru
IA inkrementace akumulátoru
IYC inkrementace registru Y
DAN dekrementace akumulátoru
DYN dekrementace registru Y
A6AAC přičtení 6 k akumulátoru (pro BCD aritmetiku)
A8AAC přičtení 8 k akumulátoru
A10AAC přičtení 10 k akumulátoru
CPAIZ negace akumulátoru + jeho inkrementace
   
ALEM porovnání akumulátoru s buňkou paměti na relaci ≤
ALEC porovnání akumulátoru s konstantou na relaci ≤
MNEZ porovnání nibble z RAM s nulou (test na nulovost)
YNEA porovnání registru Y a akumulátoru na relaci ≠
YNEC porovnání registru Y s konstantou na relaci ≠
   
SBIT nastavení bitu v RAM na 1
RBIT vynulování bitu v RAM
TBIT1 test bitu v RAM na jedničku
   
TCY načtení konstanty do registru Y
TCMIY uložení konstanty do RAM + IYC
   
KNEZ test vstupů Kn na nulu
TKA uložení vstupů Kn do akumulátoru
   
SETR nastavení výstupů Rn
RSTR vynulování výstupů Rn
TDO na výstupy On se přenese obsah akumulátoru + latche (záchytného registru)
CLO vynulování latche
   
LDX načtení konstanty do registru X (jen 2 či 3 bity)
COMX negace registru X
   
BR podmíněný skok na základě příznakového bitu
CALL volání subrutiny
RETN návrat ze subrutiny
LDP změna stránkového registru

Poznámka: podobnost některých instrukcí s MOS 6502 je pravděpodobně čistě náhodná.

12. Použití čipů TMS 1000

Čipy TMS 1000 nalezneme především v dobových kalkulačkách, jak těch základních, tak i kalkulačkách umožňujících provádět statistické výpočty, počítat goniometrické či logaritmické funkce apod. Příkladem mohou být kalkulačky SR-16 (SR znamená „slide rule“, tedy logaritmické pravítko :-) a SR-16II, TI-35 (neplést s HP-35) a desítky dalších typů, včetně Canon Palmtronic MD-8, který jako první kapesní kalkulačka měla dva řádky čísel.

Mezi poněkud neobvyklé kalkulačky patří Kosmos2 s výpočtem biorytmů a Astro pro (velmi jednoduché) výpočty horoskopů. Ovšem s jedním malým háčkem – výpočty platí jen do 31.12.1999.

Nesmíme zapomenout na elektronické hry a elektronické hračky, v nichž byl TMS 1000 či některá jeho varianta použit:

Obrázek 7: Před Facebookem a smartphony se zprávy po třídě posílaly kalkulačkami, třeba i oblíbenou TI-35.

13. Kapesní herní konzole MicroVision

Poněkud neobvyklé bylo použití čipu TMS 1000 v kapesní herní konzoli MicroVision. Tato konzole se výrazně lišila od známých her s LED či LCD, které se začaly rozšiřovat v polovině sedmdesátých let minulého století (u nás poněkud později). Konzole s LED byly velmi primitivní (například Mattel's Auto Race z konce roku 1976), ale s vývojem LCD došlo k náhradě LED právě za displeje z tekutých krystalů, což kromě menší spotřeby přineslo i možnost vykreslení herní scény s využitím prakticky libovolných tvarů (v našich končinách bylo důležité, že se kapesní hry s LCD začaly vyrábět i v SSSR, pravděpodobně nejznámější je hra Jen Počkej – IM-02).

Obrázek 8: Pohled na konzoli Mattel's Auto Race.

Taktéž se rozšiřovaly možnosti ovladačů, protože výrobci kapesních konzolí začali jednoduchá tlačítka nahrazovat či spíše doplňovat o takzvaný D-pad (joypad), malé joysticky, dotykové displeje atd. atd. Bylo jen otázkou času, kdy se objeví konzole univerzální s maticovým displejem.

Obrázek 9: Příklad specializované herní konzole: slavná hra „Jen Počkej“ (IM-2).

První kapesní herní konzolí vybavenou displejem z tekutých krystalů, jenž umožňoval zobrazit rastrový obraz, byla herní konzole nazvaná MicroVision. Jedná se o velmi zajímavé a přitom po konstrukční stránce dosti jednoduché zařízení, protože se vlastní konzole vlastně skládala pouze z displeje, napájecí části a ovladače (několika tlačítek). Veškeré další elektronické součástky, zejména mikroprocesor, paměť RAM i paměť ROM, nebyly umístěny přímo na konzoli, ale musely být součástí cartridge se hrou. To je velmi neobvyklé řešení, které alespoň teoreticky umožňovalo velkou variabilitu, jenž byla dokonce využita, protože původní cartridge obsahovaly buď osmibitový mikroprocesor Intel 8021 (přesněji řečeno se jednalo o mikrořadič, konkrétně o variantu čipu 8048) dnes popisovaný TMS 1000.

Obrázek 10: Hra pro simulátor konzole MicroVision: Bowling simulator. Povšimněte si „simulace“ barev s použitím barevné fólie, která se nasadila před displej. Podobné řešení jsme již viděli v seriálu o historii her u herní konzole Vectrex s monochromatickým vektorovým displejem.

bitcoin_skoleni

Nejdůležitější součástí herní konzole MicroVision je však bezesporu její grafická část. Displej z tekutých krystalů byl sice rastrový, ovšem jeho rozlišení pravděpodobně nikoho z dnešních čtenářů příliš nenadchne, protože dosahovalo pouhých 16×16 pixelů (navíc bez možnosti použití více stupňů šedi). Pixely tedy byly ve skutečnosti představovány poměrně velkými čtverci, nicméně i přesto se jednalo o určitý krok vpřed, protože herní scéna mohla být velmi variabilní (ono 2256 možných kombinací není úplně malé číslo :-). Toho samozřejmě využili i výrobci her, protože her určených pro MicroVision vzniklo přibližně 15, což sice není nijak vysoké číslo, ale musíme si uvědomit, že se jedná o konzoli z roku 1979. Jedním z problémů, s nimiž se musí vyrovnat současní majitelé těchto konzolí, je především malá životnost použitého displeje, který postupně tmavne, což je ovšem i problém provázející některé první digitálky, které jsou taktéž sběratelským artiklem.

Obrázek 11: Hra pro simulátor konzole Microvision: Phaser Strike.

14. Odkazy na Internetu

  1. PMOS
    https://en.wikipedia.org/wi­ki/PMOS_logic
  2. NMOS
    https://en.wikipedia.org/wi­ki/NMOS_logic
  3. CMOS
    https://en.wikipedia.org/wiki/CMOS
  4. Vacuum Fluorescent Display
    https://en.wikipedia.org/wi­ki/Vacuum_fluorescent_dis­play
  5. Computer History Museum: TMS 1000 4-Bit microcontroller
    http://www.computerhistory­.org/collections/catalog/102711697
  6. Texas Instruments TMS1000 microcontroller family
    http://www.cpu-world.com/CPUs/TMS1000/
  7. Invention History of Microcontroller
    http://www.circuitstoday.com/mi­crocontroller-invention-history
  8. TMS1000 Series – TI
    https://en.wikichip.org/wi­ki/ti/tms1000
  9. TMX1795 – TI
    https://en.wikichip.org/wi­ki/ti/tmx1795
  10. Milton Bradley Microvision (U.S.) (1979, LCD, 9 Volt (1 or 2), Model# 4952)
    http://www.handheldmuseum­.com/MB/uVUS.htm
  11. 8051 Microcontroller
    http://www.circuitstoday.com/8051-microcontroller
  12. 4-bit (computer architectures)
    https://en.wikipedia.org/wiki/4-bit
  13. TMS 1000 Data Manual
    http://blog.kevtris.org/blog­files/TMS_1000_Data_Manual­.pdf
  14. Considerations for 4-bit processing
    http://www.embeddedinsights­.com/channels/2010/12/10/con­siderations-for-4-bit-processing/
  15. Are you, or would you consider, using a 4-bit microcontroller?
    http://www.embeddedinsights­.com/channels/2010/11/24/a­re-you-or-would-you-consider-using-a-4-bit-microcontroller/
  16. MARC4 Micro-Controller
    https://en.wikipedia.org/wi­ki/MARC4_Micro-Controller
  17. The Texas Instruments TMX 1795: the (almost) first, forgotten microprocessor
    http://www.righto.com/2015/05/the-texas-instruments-tmx-1795-first.html
  18. O2 Homepage
    http://www.the-nextlevel.com/odyssey2/
  19. Magnavox Odyssey2 (1978), Philips Videopac G7000 / C52 (1979)
    http://www.mess.org/sysinfo:odyssey2
  20. The Video Game Critic's Odyssey 2 Reviews
    http://videogamecritic.net/odd.htm
  21. Computer Closet Collection: Magnavox Odyssey2
    http://www.computercloset­.org/MagnavoxOdyssey2.htm
  22. PHILIPS Videopac C52
    http://old-computers.com/museum/compu­ter.asp?c=1060
  23. O2 Tech. Manual V.1.1 (PDF dokument)
    http://www.atarihq.com/dan­b/files/o2doc.pdf
  24. Magnavox Odyssey2
    http://www.game-machines.com/consoles/odyssey2.php
  25. Magnavox Odyssey2 (Wikipedia EN)
    http://en.wikipedia.org/wi­ki/Odyssey2
  26. Magnavox Odyssey2 Games (Wikipedia EN)
    http://en.wikipedia.org/wi­ki/List_of_Videopac_games

Autor článku

Vystudoval VUT FIT a v současné době pracuje na projektech vytvářených v jazycích Python a Go.