Timex Sinclair 2060

Z Wikipedie, otevřené encyklopedie

Timex Sinclair 2060 je plánovaná, ale sériově nikdy nevyráběná rozšiřující sběrnicová jednotka k počítači Timex Sinclair 2068.

Pomocí rozšiřující sběrnicové jednotky mělo být možné rozšířit paměť počítače až na 16 MiB, měla obsahovat sériový port RS-232, paralelní port Centronics, řadič disketové jednotky a výstup RGB.[1] K rozšířené sběrnicové jednotce mělo být možné připojit nejvýše čtyři periférie. Pokud by bylo potřeba připojit více periférií, bylo by nutné připojit další sběrnicovou jednotku místo jedné z periférií. Ke dvěma sběrnicovým jednotkám by tak bylo možné připojit sedm periférií.[2] K počítači samotnému je možné připojit nejvýše dvě periférie.[3]

Protože se společnost Timex Sinclair stáhla z trhu dříve, než se jednotka dostala do výroby, byl vyroben pouze prototyp.[4]

Technické informace[editovat | editovat zdroj]

Protože existoval pouze prototyp, nejsou od výrobce známy informace, jak měla rozšiřující sběrnicová jednotka pracovat. Způsob její činnosti týkající se ovládání rozšířené paměti byl částečně zjištěn prozkoumáním obsahu ROM počítače Timex Sinclair 2068. Tímto tématem se zabývá série pěti článků s názvem The Mystery of the Missing 253 od Wese Brzozowského. Podle autora se ovládací rutiny rozšířené paměti pro rozšiřující sběrnicovou jednotku jeví jako nedokončené a v případě jejich dokončení se mohly změnit. Nejedná se tak o informace, jakým způsobem rozšiřující sběrnicová jednotka pracovat měla, ale o informace, jakým způsobem pracovat mohla.

Počítač Timex Sinclair 2068 sám o sobě obsahuje pouze velmi málo obvodů pro podporu rozšířené paměti. Speciálně pro ovládání rozšířené paměti jsou určeny pouze signály /BE, IOA5, DZIN, DZOUT a BUSISO.[5][6] Poslední tři jmenované signály ale nejsou v počítači zapojeny.[6][7]

Rozšířená paměť je rozdělená do bank o velikosti 64 KiB, kdy každé bance je přiřazeno přístupové číslo. Každá banka je rozdělena na 8 částí, každá z těchto částí se může namapovat do příslušné osminy rozsahu paměti procesoru (způsob připojování je analogický způsobu připojování paměti EX-ROM a DOCK počítače). Rozšířená paměť měla být ovládána pomocí čtyř registrů označených jako 40, 80, A0 a C0 (desítkově 64, 128, 160 a 192).[5][p 1] Význam těchto registrů je následující (registry mají jiný význam pro zápis a jiný význam pro čtení):

desítkově šestnáctkově význam
význam pro zápis
64 40 výběr, do kterých osmin paměti mají být připojeny odpovídající osminy paměťové banky vybrané pomocí registru 80
128 80 přístupové číslo banky paměti, která má být připojena do paměťového rozsahu procesoru
160 A0 v pracovním režimu: výběr, z kterých osmin paměti má být odpojená rozšiřující paměť, na přístupovém čísle banky paměti nezáleží
v režimu nastavení: nastavení přístupového čísla aktuálně vybrané banky paměti
192 C0 příkazový registr
význam pro čtení
64 40 spodní čtyři bity bajtu, který ukazuje, do kterých osmin je připojeny aktuálně vybraná banka paměti
128 80 horní čtyři bity bajtu, který ukazuje, do kterých osmin je připojeny aktuálně vybraná banka paměti
160 A0 spodní čtyři bity stavového bajtu aktuálně vybrané banky paměti
192 C0 horní čtyři bity stavového bajtu aktuálně vybrané banky paměti

Tyto registry nejsou připojeny na vstupně výstupní porty procesoru, ale jsou namapovány do paměťového prostoru procesoru. Protože pro určení adresy příslušných registrů jsou použity pouze adresní bity A15–A13, jsou příslušné registry vybrány, kdykoliv je adresován jakýkoliv bajt osminy paměti, odpovídající danému registru.[6] Např. registr A0 je adresován vždy, když je prováděn zápis nebo čtení do/z paměti v rozsahu A000–BFFF (desítkově 40960–49151). Protože není žádoucí, aby bylo k registrům ovládacím rozšířenou paměť přistupováno při jakémkoliv čtení nebo zápisu z/do paměti, jsou registry ovládající rozšířenou paměť přístupné pouze tehdy, je-li do log. 0 nastaven bit 5 vstupně výstupní brány obvodu AY-3-8912 počítače, který je vyveden na konektor pro připojení periferií jako signál IOA5.[5][p 2]

Teoreticky je možné mít až 256 bank rozšířené paměti (přístupové číslo banky rozšířené paměti je osmibitové číslo). Ovládací rutiny stránkování paměti ale rezervují přístupová čísla bank paměti pro paměť obsaženou v počítači a paměť na cartridgích:

  • 0 pro paměť na cartidgích (paměť DOCK),
  • 254 pro paměť EX-ROM,
  • 255 pro běžnou paměť počítače (home).[5]

Při zápisu do registrů 40, 80, A0 a C0 jsou zapisovány pouze spodní čtyři bity osmibitové hodnoty odeslané do příslušného registru.[5] Taktéž při čtení z těchto registrů jsou pouze spodní čtyři bity platné. Zápis osmibitové hodnoty do registrů 40, 80 a A0 tak probíhá nadvakrát, prvním zápisem do registru jsou zapsány spodní čtyři bity, poté je nutné přesunout horní čtyři bity odesílané hodnoty do dolních čtyř bitů a znovu provést zápis do registru.[5] Zda jsou do registrů zapisovány spodní nebo horní čtyři bity odesílané hodnoty, si hlídá sama elektronika rozšířené paměti. Protože se může stát, že elektronika očekává nejprve vyšší čtyři bity hodnoty, existuje příkaz pro reset obvodů určujících, zda registry ovládání rozšířené paměti přijímají horní nebo spodní čtyři bity osmibitové hodnoty, který zajistí, že elektronika bude očekávat opět nižší čtyři bity odesílané hodnoty.[5] Do příkazového registru je odesílána pouze čtyřbitová hodnota, zápis do tohoto registru je prováděn pouze jednou.[5][p 3] Při čtení hodnoty z řídicích registrů rozšířené paměti se hodnota také čte nadvakrát, ovšem v tomto případě jsou jednotlivé čtveřice bitů osmibitové hodnoty přístupné v různých registrech.[5]

Příkazy pro ovládání rozšířené paměti[editovat | editovat zdroj]

Pomocí registru C0 je možné rozšířenou paměť ovládat následujícími příkazy (příkazy jsou označeny šestnáctkovou hodnotou, která je posílána do registru C0 pro vykonání daného příkazu):

  • příkaz 00 – reset přístupového čísla všech připojených bank rozšířené paměti a spuštění režimu nastavení,
  • příkaz 01 – výběr následující banky rozšířené paměti v jejich sériovém řazení v režimu nastavení,
  • příkaz 02 – reset obvodů určujících, zda registry ovládání rozšířené paměti přijímají horní nebo spodní čtyři bity osmibitové hodnoty,
  • příkaz 04 – opuštění režimu nastavení a spuštění pracovního režimu.[5]

Připojení a odpojení rozšířené paměti do adresního prostoru procesoru[editovat | editovat zdroj]

K připojení části paměti paměťové banky do osminy paměťového prostoru procesoru se používají registry 40 a 80. Nejprve je do registru 80 zapsáno přístupové číslo banky rozšířené paměti, jejíž část má být připojena do adresního prostoru procesoru. Následně je pomocí registru 40 vybráno, do které osminy paměťového prostoru procesoru je připojena odpovídající osmina paměti vybrané paměťové banky. Ve zvolené osmině pak tato část vybrané paměťové banky rozšířené paměti nahradí vnitřní paměť počítače.[5] Před připojením části paměťové banky do zvolené osminy paměťového prostoru procesoru, je vhodné provést příkaz pro odpojení případně připojené jiné paměťové banky do zvolené osminy paměťového prostoru procesoru.

K odpojování rozšířené paměti z paměťového prostoru procesoru je používán registr A0. Pomocí tohoto registru je vybíráno, ze které osminy má být rozšířená paměť odpojena. Výběr konkrétní banky paměti pomocí jejího přístupového čísla v tomto případě není nutný, z osminy zvoleného paměťového prostoru procesoru je odpojena jakákoliv připojená banka vnější paměti.

Přiřazení přístupového čísla jednotlivým bankám paměti[editovat | editovat zdroj]

Po zapnutí počítače je nutné přiřadit všem k počítači připojeným bankám rozšířené paměti jejich přístupové číslo. Pro účely tohoto nastavení jsou jednotlivé banky seřazeny sériově a část jejich elektroniky tvoří posuvný registr, kdy bity tohoto posuvného registru jsou umístěny po jednom v každé připojené bance rozšířené paměti.[6] V celém posuvném registru je vždy jediný bit nastavený, ostatní jsou vynulované. Nastavený bit určuje, které paměťové bance je přiřazováno přístupové číslo.[p 4]

Po zadání příkazu pro vstup do režimu konfigurace do registru C0 jsou resetována přístupová čísla všech připojených paměťových bank rozšířené paměti a jako vybraná je nastavená první paměťová banka v celém jejich sériovém seřazení. Nejprve se zkontroluje, zda tato vybraná banka existuje. Pokud existuje, je jí přiřazeno přístupové číslo zápisem tohoto přístupového čísla do registru A0. Po té je do registru C0 zadán příkaz pro výběr následující banky v jejich sériové seřazení. Opět se zkontroluje, zda tato vybraná banka existuje, a pokud ano, je jí přiřazeno přístupové číslo. Celý proces se opakuje, dokud není nalezen konec celé série připojených banka paměti, tj. dokud není vybrána banka, která neexistuje. Po té je do registru C0 zadán příkaz pro ukončení režimu konfigurace.

Poznámky[editovat | editovat zdroj]

  1. Ve starší dokumentaci k počítači Timex Sinclair 2068 jsou pro stránkování paměti rezervovány porty 252 (šestnáctkově FC) a 253 (šestnáctkově FD), ovšem pravděpodobně díky omezenému počtu pinů obvodů použitých pro ovládání rozšířené paměti musel být způsob stránkování změněn proti zamýšlenému způsobu stránkování pomocí těchto dvou portů (porty FC a FD nejsou vůbec v ROM počítače použity).[5]
  2. Jednotlivé bity vstupně výstupně výstupní brány obvodu AY-3-8912 jsou využity následujícím způsobem:
    • bity 1-4 - čtení stavu joysticků,
    • bit 5 - nastavení, zda se přistupuje k řídicím registrům rozšířené paměti,
    • bity 6-7 - nevyužito.[8]
  3. V článcích seriálu The Mystery of the Missing 253 není rozebíráno, zda odeslání osmibitové hodnoty do registru C0 prostřednictví dvou po sobě jdoucích zápisů jako v případě registrů 40, 80 a A0 bude interpretováno jako jeden příkaz nebo jako dva příkazy.
  4. Stejným způsobem je vybírána právě aktivní mechanika ZX Microdrive z možných až osmi připojených k ZX Interface 1.

Reference[editovat | editovat zdroj]

  1. Timex Sinclair 2060 - Bus Expansion Unit na timex.comboios.info
  2. BRZOZOWSKI, Wes. The Mystery of the Missing 253 - part 5.  . Dostupné online.  Archivováno 4. 3. 2016 na Wayback Machine.
  3. LINZMAYER, Owen W. The Timex-Sinclair 2068. Creative Computing. March 1984, roč. 10, čís. 3, s. 93. Dostupné online. 
  4. Timex/Sinclair peripherals na Planet Sinclair
  5. a b c d e f g h i j k l BRZOZOWSKI, Wes. The Mystery of the Missing 253 - part 1.  . Dostupné online.  Archivováno 6. 6. 2013 na Wayback Machine.
  6. a b c d BRZOZOWSKI, Wes. More about ... The Mystery of the Missing 253 - part 2. Time Designs Magazine. 1986, roč. 2, čís. 6 (Sept/Oct '86), s. 17-19, 22-24. Dostupné také na [1]. Dostupné online.  Archivováno 7. 4. 2015 na Wayback Machine.
  7. CORCORAN, V. C.; BRANIGIN, M. H. Timex Sinclair 2068 Personal Color Computer - Technical Reference Manual. Příprava vydání Woods, Tim. 2. vyd. Colton (Oregon): Time Designs Magazine Co., 1986. Založeno na původním modrém manuálu vydaném Timex Computer Corp.. 
  8. Peripherals - comp.sys.sinclair FAQ na World of Spectrum

Literatura[editovat | editovat zdroj]

Externí odkazy[editovat | editovat zdroj]