Obsah
1. Vznik mikrořadičů: čtyřbitový čip TMS 1000
2. Čtyřbitové architektury mikrořadičů – šlo jen o historickou raritu?
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
8. Programový čítač a stránkový registr
9. Programovatelný dekodér instrukcí
10. Aritmeticko-logická jednotka
11. Instrukční soubor mikrořadičů TMS 1000
13. Kapesní herní konzole MicroVision
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/patentdieshot.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 R0 až R10 (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 O0 až O7.
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 R0 až R7 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 K1 až K4 (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 O0 až O7. 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:
- BigTrak (programovatelný robot!)
- Tiger
- Electronic battleship
- Soccer
- Space Battle
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.
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
- PMOS
https://en.wikipedia.org/wiki/PMOS_logic - NMOS
https://en.wikipedia.org/wiki/NMOS_logic - CMOS
https://en.wikipedia.org/wiki/CMOS - Vacuum Fluorescent Display
https://en.wikipedia.org/wiki/Vacuum_fluorescent_display - Computer History Museum: TMS 1000 4-Bit microcontroller
http://www.computerhistory.org/collections/catalog/102711697 - Texas Instruments TMS1000 microcontroller family
http://www.cpu-world.com/CPUs/TMS1000/ - Invention History of Microcontroller
http://www.circuitstoday.com/microcontroller-invention-history - TMS1000 Series – TI
https://en.wikichip.org/wiki/ti/tms1000 - TMX1795 – TI
https://en.wikichip.org/wiki/ti/tmx1795 - Milton Bradley Microvision (U.S.) (1979, LCD, 9 Volt (1 or 2), Model# 4952)
http://www.handheldmuseum.com/MB/uVUS.htm - 8051 Microcontroller
http://www.circuitstoday.com/8051-microcontroller - 4-bit (computer architectures)
https://en.wikipedia.org/wiki/4-bit - TMS 1000 Data Manual
http://blog.kevtris.org/blogfiles/TMS_1000_Data_Manual.pdf - Considerations for 4-bit processing
http://www.embeddedinsights.com/channels/2010/12/10/considerations-for-4-bit-processing/ - Are you, or would you consider, using a 4-bit microcontroller?
http://www.embeddedinsights.com/channels/2010/11/24/are-you-or-would-you-consider-using-a-4-bit-microcontroller/ - MARC4 Micro-Controller
https://en.wikipedia.org/wiki/MARC4_Micro-Controller - The Texas Instruments TMX 1795: the (almost) first, forgotten microprocessor
http://www.righto.com/2015/05/the-texas-instruments-tmx-1795-first.html - O2 Homepage
http://www.the-nextlevel.com/odyssey2/ - Magnavox Odyssey2 (1978), Philips Videopac G7000 / C52 (1979)
http://www.mess.org/sysinfo:odyssey2 - The Video Game Critic's Odyssey 2 Reviews
http://videogamecritic.net/odd.htm - Computer Closet Collection: Magnavox Odyssey2
http://www.computercloset.org/MagnavoxOdyssey2.htm - PHILIPS Videopac C52
http://old-computers.com/museum/computer.asp?c=1060 - O2 Tech. Manual V.1.1 (PDF dokument)
http://www.atarihq.com/danb/files/o2doc.pdf - Magnavox Odyssey2
http://www.game-machines.com/consoles/odyssey2.php - Magnavox Odyssey2 (Wikipedia EN)
http://en.wikipedia.org/wiki/Odyssey2 - Magnavox Odyssey2 Games (Wikipedia EN)
http://en.wikipedia.org/wiki/List_of_Videopac_games