Státní statek Klíčany FK-1

Hardware počítače byl vytvořen Ing. Eduardem Smutným.

V plánu mám nechat vyrobit plechové kryty, které na dochovaných počítačích často chybí.

Popis:

Tento počítač vyráběný Státním statkem Klíčany se vlastně nevyráběl v Klíčanech. Vyráběl se více východně, v Mratíně (Státní statek Klíčany, středisko 460 – mikroelektronika, Mratín). Jde o generický CP/M počítač.

Bedna s dvěma osmipalcovými mechanikami Consul 7113, každá 243 kB, na zadní straně skříně je přišroubovaná plochá krabička s deskou počítače. Procesor U880D (Z80), 25x80 znaků v rastru 256x512 bodů, nějaká ta paměť. Počítač obsahuje 2 kB (ale lze osadit až 16 kB) ROM, 64 kB souvislé RAM a navíc ještě 16 kB VideoRAM. ROM a VRAM se stránkují v dolních 32 kilech.

Počítač je sice jednodeskový, ale obsahuje poměrně velký počet součástek. Lze na něm provozovat CP/M 2.2 nebo 3.0 (což je CP/M 2.2 vylepšená Ing. Cestrem a je jiná, než CP/M 3.0 (Plus) od Digital Research). V případě FK-1 je podstatné, že v CP/M 2.2 je potřeba v případě výměny diskety stisknout CTRL+C, zatímco v CP/M 3.0 to potřeba není.

Popisovat kódy, které vrací klávesnice, nemá smysl – stačí se podívat, jaké kódy kláves vrací klávesnice Consul 262.3, která se k FK-1 připojovala.

Řídící kódy terminálu jsou stejné jako u počítače Robotron 1715 (na kterém se taky používá CP/M). protože ale Robotron 1715 používá dvě různé varianty kódů, umí FK-1 pro jistotu obě, nazvané SCP a SCP-VS. Mezi oběma se přechází pomocí sekvencí 1B, 4D, 30 (SCP) a 1B, 4D, 31 (SCP-VS). Řídící kódy, které jsou shodné pro oba módy (SCP i SCP-VS):

F7 - DEL - výmaz znaku vlevo od kurzoru

1B 5E 40 - NORMAL - normální znaky

1B 5E 41 - LOW - podtrhávat tečkovaně

1B 5E 42 - BLINK - podrtžení plnou čarou

1B 5E 43 - LOW-BLINK - podtržení čárkovaně

1B 5E 60 - LINK - podtržení plnou čarou

1B 4D 30 - SCP-VS - zapnutí módu terminálu SCP

1B 4D 31 - 31SCP - zapnutí módu termináluSCP-VS

1B y, x - SET_X_Y - nastavení kurzoru na zadanou souřadnici, při adresaci kurzoru je třeba k souřadnicím Y a X připočítávat offset 20H nebo 80H.

Řádek: 0..18 + offset = 20..38 nebo 80..98

sloupec: 0..4F + offset = 20..6F nebo 80..CF

Kromě procesoru a pamětí obsahuje FK-1 čipy 8253, 8251 a hned třikrát 8255.

Jedna 8255 slouží k připojení tiskárny (brána A, adresa 00) a klávesnice (brána B, port 01) a jejich řídících signálů (brána C, adresa 02) (na adrese 03 je řídící registr). Význam jednoltivýých bitů brány C je pro čtení tento: 7 – /OBF (buffer overflow pro tiskárnu)), 6 – INTE tiskárny, 5 – ERROR tiskárny, 4 – /PEND, chybí papír, 3 – INTR tiskárny, požadavek na přerušení, 2 – INTE klávesnice, 1 – IBF (data z klávesnice), 0 – INTR klávesnice, a pro zápis: 6 – INTE klávesnice, tiskárny (povolení přerušení při převzetí dat tiskárnou), 2 – INTE klávesnice, povolení přerušení při stisku klávesy.

8251 slouží k obsluze sériového portu, najdete ji na adresách 40 (data) a 41 (status).

Zbylé dvě 8255 a 8253 slouží jako diskový řadič, obsluha myši a zobrazovač.

8253 je připojena na adresy 10 (systémový čas), 11 (timeout pro diskové operace, generátor hodin pro 8251), 12 (overflow pro diskové operace) a 13 (řídící registr).

Další 8255 mána adrese 20 bránu A (data pro zápis na disk), na adrese 21 bránu B (čtení dat z disku), 22 bránu C (část pro čtení a část pro zápis řídících signálů pro disk). Na adrese 23 je řídící registr. Význam bitů na bráně C je pro čtení tento: 7 – /OF A dat pro zápis na disk, 6 – INTE A, 5 – SELECT mechaniky A, B, 4 – nic, 3 – INTRA přerušení při datech z PA, 2 – INTE B čtených dat, 1 – IBF B čtených dat, 0 – INTR B, žádost o přerušení z PB. Pro zápis: 6 – INTE A, povolení přerušení při zapsání dat, 2 – INTE B, povolenípřerušení od čtených dat.

Další 8255 má bránu A na adrese 60 s tímto významem bitů: 6 – /DISk, povolení diskových operací, 3 – INTE MOUSE, povolení přerušení od myši, 2 – INTE RTC od systémových hodin 50 Hz, 1 a 0 – nastavení typu hodin pro zápis na disk (01 index, 11 address mark, data mark, 00 jiné).

Port B na adrese 61: číslo první zobrazované linky na displeji (ROL_REGISTER), používá se pro hardwarový scroll obrazu.

Port C je na adrese 32. Bitty pro čtení: 7 – INDEX, indexová značka na disku, 6 – nevím, 5 – WRITE_PROTECT při chráněné disketě, 4 – TRAC_00 jako příznak stopy 0. Pro zápis: 3 – HEAD-LOAD pro přiklopení hlavy k disku, 2 – TRACK_43 pro nastavení signálu TR-43 pro disk, 1 – DIRECTION pro nastavení směru krokování disku (0 dolů k 0, 1 nahoru k 75), 0 – STEP, krok disku (0..1..0..).

Řídící registr je na adrese 63.

Porty 30 a 50 mají zkřížené významy pro zápis a čtení. Na portu 30 lze čtením nastavit stránkování paměti do režimu souvislých 64 kB RAM. Při zápisu nastavuje počty povolených úrovní přerušení: 0 zákaz přerušení, 1 povoleno INTR-7, 2 povolneo NTR-7 a INR-6, 8 povolena všechna přerušení. Na portu 50 lze čtením nastavit stránkvání paměti do stavu, kdy je v dolních 16 kB ROM a v druhém 16 kB bloku VRAM. Při zápisu mají jednotlivé bity tento význam: 4 – povolení FORMAT, 3 – povoleí READ_ADDRESS_MARK, 2 – povolení READ_DATA_MARK, 1 – povolení WRITE, 0 – povolení READ. Funkce se povolují v jedničce.

Na portu 70 lze přečíst stav myši se současným zrušením požadavku na přerušení od myši. jednotlivé bity jsou: 7 a 6 – 1 při připojení myši a 0 pokud není připojena, 5 – /T2, pravé tlačítko, 4 – /T1, llevé tlačítko, b3 – /BY, osa Y, 2 – /AY, osa Y, 1- /BX, osa X, 0 – /AX, osa X.

Zápisem na port 70 se resetují požadavky na přerušení od systémových hodin 50 Hz.

Jak vyplývá z popisu stránkování, mapa paměti může nabývat jednoho ze dvou stavů:

0000..3FFF 2-16 kB EPROM | RAM_1

4000..7FFF 16 kB VRAM | RAM_2

8000..BFFF RAM_3

C000..FFFF RAM_4

VideoRAM je při nastránkování v prostoru 4000..7FFF. Každý bajt představuje osmici vedle sebe ležících pixelů. Bit 7 je nejvíce vlevo, bit 0 nejvíce vpravo. První osmice pixelů v levém horním rohu leží na adrese 4000h. organizace je provedena po sloupcích, tedy osmice pod ní leží na adrese 4001h, dalšípod ní na 4002h, spodní ve sloupci pak na adrese 40FFh. Další sloupec leží od 4100h do 41FFh. Pokud si zakreslíte adresy do tabulky, uvidíte, že dolní bajt adresy adresuje mikrořádek, horní (+40h) sloupec (od 40h do 7Fh). Narozdíl od SAPI nebo PMD nejsou ve VideoRAM nevyužité bajty. Uvedené uspořádání platí pouze tehdy, pokud adresa ROL_REGISTER (61) obsahuje 0 jako číslo první zobrazované řádky, jinak je obraz posunut a stočen "sám do sebe" (ROL_REGISTER slouží pro hardwarový scroll obrazu).

Priority přerušení od jednotlivých zařízení jsou tyto (od nejvyšší do nejnižší):

7 – DATA_READY pro zápis nebo čtení z disku

6 – TIMEOUT při diskových operacích

5 – OVERFLOW 0 v čítači dat při diskových operacích

4 – RTC_50HZ od systémových hodin

3 – MOUSE při pohybu myši

2 – SIO při příjmu nebo odeslání dat

1 – KEYBOARD ppři stisku klávesy na klávesnici

0 – PRINTER při převzetí dat tiskárnou.

Tabulka vektorů je uložena v paměti od FF00h do FF0Fh, obsahuje následující vektory: 00, 02, 04, 06, 08, 0A, 0C, 0E.

FK-1 se standardně dodával v této sestavě:

počítač (v ploché skříňce, přišroubované na záda skříně s disketovkami)

skříň s dvěma disketovkami Consul 7113

klávesnce Consul 262.3

monitor PMD-60

zdroj PMD-10, později zabudovaný do skříně disketovek

volitelně myš, tiskárna a stolek

náhradní pojistky, řemínek k disketovce, spínač ke klávesnici

3 diskety se systémem (a programy FORMAT, IP, PRINT, ED (řádkový editor), VED (celoobrazovkový editor), BASICA, BASCOM (kompilátor), M80 (makroassembler), L80 (linker), LIB (knihovny), ZSID (debugger), TURBO (Pascal), F80 (Fortran), DB (DBase)).

příručka, informace pro uživatele, záruční list, atest (kompletnosti sestavy), zkušební protokol

Podle mých informací se vyrobilo během roku 1989 minimálně 686 těchto počítačů (stav z 21.9.1989).

Pokud se podíváte na desku reálného počítače FK-1 ze Státního statku Klíčany, zjistíte několik věcí:

1) k počítači se má připojovat zdroj, monitor, disketovka, klávesnice, myš, sériový a paralelní výstup.

2) na počítači najdete jeden jediný nebo dokonce žádný FRB konektor a tím to hasne.

3) z 1 a 2 plyne, že není kam periferie připojovat.

Při bližším pohledu je jasné, že FK-1 používá to, co se objevilo třeba u Apple II pro připojení klávesnice nebo joysticku: patici DIL místo konektoru.

Zatímco ale vývody devítipinového Canonu pro sériový výstup nebo pinové lišty pro disketovou jednotku si snadno odvodíte, příslušné vývody na patici budete hledat jen těžko. Takže:

Na desce vlevo dole vidíte několik plošek. K nim se připojuje napájení přivedené z neupraveného zdroje PMD-10, kterým se originální počítače FK-1 opravdu napájely. Plošek je šest a nejsou ke zdroji připojeny všechny. Odshora dolů jsou označeny jako:

/DTR

/RTL

+12 V

zem

+5V

zem

Vývod /DTR patří přivést na konektor sériáku. Mezi /RTL a zem se připojuje resetovací tlačítko (na fotografii není osazeno, montuje se do rámu v jeho horní levé části, kde vidíte otvor). Počítač se resetuje zásadně tímto tlačítkem. Při vypnutí a zapnutí se totiž jeho jednoduchý řadič můžee snadno dostat do stavu, kdy aktivuje zápis na disketu, a pokud je nějaká v jednotce vložena, něco vám na ní smaže. Diskety se tedy do počítače vkládají vždy až po zapnutí,a resetuje se nikoliv vypnutím a zapnutím, ale resetovacím tlačítkem!

Na levé kovové bočnici jsou dva konektory DIN. K hornímu jsou připojeny drátky, přivádějící na něj videosignál. Pokud by chyběly, najdete videosignál na dvou ploškách v pravém dolním rohu desky. Levá je samotný videosignál, pravá z nich je zem. Na níže umístěný DIN konektor se obvykle přiváděl sériák.

Osazen je jediný FRB konektor (X5), a ten je určen pro myš. Může však být rovněž zapojen jen jako patice.

Prázdné "konektorové" patice jsou při spodním okrai desky vlevo čtyři (nebo tři plus FRB konektor myši), zleva doprava:

paralelní konektor (X2), sériový konektor (X3), klávesnice (X4), myš (X5).

Disketová jednotka se připojuje k patici (X1) umístěné při horním okraji desky zhruba ve středu její šířky.

Zbývá ještě jedna patice (X6), umístěná svisle v pravém horním rohu desky, která je určena propřipojení"alfanumerické zobrazovací jednotky" AZJ-462, a jsou na ni vyvedeny jednotlivé synchronizační signály obrazu.

Číslování vývodů na vodorovně orientovaných paticích (což jsou všechny kromě X6) je z pravého horního rohu (pin 1) horní řadou pinů doleva (1-8) a pak zleva dprava dolní řadou (9-16).

Paralelní port je zapojen takto:

1 – /STRT

2 – PE

3 – /ERR

5 – /ACK

9 – T5

10 – T0

11 – T4

12 – T1

13 – T6

14 – T7

15 – T2

16 – T3

Piny 5-8 jsou nezapojeny.

Sériový port:

9 – R-

10 – R+

11 – T-

12 – T+

Ostatní piny jsou nezapojeny.

R+/- je připojeno na RxD čipu 8251, T+/- je připojeno na TxD čipu 8251.

/DTR je vyvedeno na plošku u "konektoru" napájení.

Konektor klávesnice:

slouží k připojení bezkontaktní klávesnice s hallovými snímači Consul 262.3 nebo příbuzné.

1 – +5V

2 – zem

3 – /R1

4 – /R3

5 – /R5

6 – /R7

11 – /R6

12 – /R4

13 – /R2

14 – /R0

15 – /STB

16 – +5V

(na piny 7, 8, 9, 10 je zřejmě přivedeno +5V)

Konektor disketové jednotky je zapojen takto:

1 – /WP

2 – zem

3 – /TΦΦ

4 – /INDX

5 – /DIR

6 – /STEP

7 – /HL

8 – /T43

9 – /S1

10 – /S0

11 – kostra

12 – kostra

13 – kostra

14 – /WD

15 – /WE

16 – /RD

Zapojení konektoru myši je toto:

1 – zem

3 – zem (následuje poznámka "až 8 a 9")

10 – aX

11 – T2

12 – bY

13 – bX

14 – aY

15 – T1

16 – +5V

AZJ je zapojena takto:

2 – /VID

4 – VS

6 – HS

9 až 15 – zem

V manuálu se o tom sice píše jenom v poznámce, ale je důležité vědět, že jednoduchý diskový řadič FK-1 může po zapnutí dosahovat nebezpečných stavů, kdy se aktivuje zápis na disketu a vložený disk se tak může poškodit. Platí proto, že počítač se nikdy nezapíná s vloženou disketou, disketa se vkládá vždy až po zapnutí. Stejný stav se může objevit při vypínání, takže i před vypnutím je nutné diskety z šachet vyjmout.

Mimochodem, do původních disketových jednotek Consul 7113 se diskety vkládají samolepkou doprava, jednotka A je vlevo (označena jako "2") a jednotka B je vpravo (označena jako "3"). Disketové jednotky se točí celou dobu, po kterou je počítač zapnut, a nikdy během provozu nezastavují (pouze při otevření šachty).

Počítač se zapíná postupně jako všechny počítaačové sestavy: nejdříve periférie – monitor, disketovku, tiskárnu. Nakonec se zapne samotný počítač (vypínačem na PMD zdroji; disketovka má napájení samostatně). Pokud máte zásuvky ("psa") s vypínačem, lze ceou sestavu zapínat i naráz vypínačem na zásuvkách.

Po úspěšném zapnutí a vložení diskety je nutné stisknout ještě RESET (který je umístěn v původní sestavě nešikovně vzadu na zadn ístěně skříně disketovky). Na FK-1 je zrádné to, že po zapnutí nic nedělá. Takže nepoznáte, zda funguje nebo ne. Na monitoru nezobrazuje po zapnutí nic. Aktivita disketových jednotek se, pokud není vložena disketa, neobjevuje žádná.

Pokud vložíte bootovací disketu až po resetu, taky se nic nestane. Takže – je nutné po zapnutí vložit disketu do mechaniky A (ta vlevo) a stisknout RESET. Pokud při jeho stisku zjistí mechanika vloženou disketu, pak teprve začne počítač něco dělat – bootovat a zobrazovat nápis FK-1 (program pro jeho kreslení je na zaváděcí disketě, nikoliv v bootovací ROM). U FK1 je zajímavé to, že v systémových stopách na disketě je uložen pouze BIOS s vlastními rutinami pro disketový řadič, fontem a vším ostatním. Vlastní CP/M se natahuje až pak, po spuštění BIOSu a vypsání loga FK-1, ze souboru CPM2.SYS nebo CPM3.SYS podle toho, jaký BIOS je na disketě v systémových stopách. Ten je normálně v adresáři diskety vidět a tudíž ho nedoporučuji mazat.

Co mne na FK-1 zaujalo, je to, že ačkoliv práce s grafikou i textem probíhá v poměrně velké VideoRAM (16 kB) a textový mód je pouze emulován v grafice, výpisy i scroll celé obrazovky jsou díky hardwarové podpoře scrollu velmi rychlé (jako kdyby šlo o skutečný textový mód).

Jak už víte, na FK-1 lze provozovat CP/M 2.2 nebo 3.0 (což je CP/M 2.2 vylepšená Ing. Cestrem a je jiná, než CP/M 3.0 (Plus) od Digital Research). A z toho vyplývá i to, jaká bude velká část jeho softwarového vybavení.

Vedle programů již upravených pro práci s FK-1, by se daly upravit další programy určené pro CP/M (například Kermit, CBasic nemající chyby Microsoftího Basicu, CP/M Commander, ...), případně hardwarově nezávislé a nenáročné programy prostě přetáhnout rovnou, a převod programů je, jak uvidíme, možný i z jiných platforem.

Kromě standardních CP/M programů, jako je COMPARE (k porovnávání souborů), CREF80 (křížová reference), DISKCOPY, FORMAT, WRITESYS (pro zápis systému na bootovací disketu), L80 (microsoftí linker), LIB, PLIB (knihovny), M80 (makroassembler), REFMIBM, MSID (microsoftí debugger) editorů ED a VD (řádkový a obrazovkový, oba jsou popsány v manuálu k FK-1) to jsou další programy pro CP/M.

Pro tisk soborů na tiskárnu slouží program PRINTER.

Moje zkušenost je taková, že slavný program POWER (jakýsi předchůdce Nortona) funguje na CP/M 2.2, ale nefunguje na CP/M 3.0. Na FK-1 to díky tomu, že CP/M 3.0 je vlastně upravená 2.2, neplatí. Jeho programy PWS a UFO (oba jsou v podstatě upravený POWER, PWS nese copyright Klíčanského státního statku, UFO je podepsán přímo panem Cestrem, autorem většiny softwarového vybavení FK-1) běhají i pod CP/M 3.0.

K programování se dále nabízí BASICA (microsoftí Basic – název byl takhle zvolen nejspíš proto,aby se nepletl případný MBASIC a MBASIC, tedy Mallard Basic a Microsoft Basic), BASCOM (což je kompilátor microsoftího Basicu), F80 (Fortran), a TURBO (proslulý Borlandí Turbo Pascal, upravený pro běh na FK-1).

Z uživatelských programů je dostupná DBASE (jde o dBASE II, verze pro FK-1 je odvozena z verze pro TNS, ale má odstarněnu závažnou chybu, která na TNS odstraněna nebyla, takže FK-1 verze funguje líp), CALC (což je spreadsheet, tabulkový editor pro CP/M, běhající, jako většina programů, v textovém módu) a WS (WordStar, mám dojem, že jde o generickou CP/M verzi a žádná zvláštní úprava pro FK-1 na něm páchána nebyla). Kromě doprovodných instalačních programů (jak pro Word Star, tak pro Turbo Pascal či dBase) by se na disketě s dase měl nacházet i program ZIP, který ale není pakovací program, ale editor formulářových sestav.

Program TESTY slouží k výstupní kontrole počítače při výrobě. Testuje všechno možné, procesor, RAM, VRAM, myš, disketovky. Existoval jak v podobě programu pro CP/M, tak v podobě testovací EPROM. Zajímavé je, že jako jeden z mála programů pracuje s obrazem taky trochu jinak, než jen v holém textovém módu – ale nadpis větším písmem a test VideoRAM jsou jediné grafické věci, které v něm najdete. Doprovodný text k němu je taky zajímavý.

Co by to bylo za počítač, kdyby pro něj neexistovaly nějaké hry? Pro CP/M jich vzniklo dost a autoři programového vybavení si dali tu práci, že je na FK-1 převedli a počeštili (opravdu počeštili, vedle přítomnosti háčků a čárek je to navíc moc pěkná a čtivá čeština, žádný lámaný překlad). KONDIC (Kondiciogram) není ani tak hra, ale k zábavě stejně slouží. Dnes už lidi počítačové kondiciogramy tolik nežerou, ale dřív to bývala oblíbená a tak trochu i společenská "zábava" (viz "Jáchyme, hoď ho do stroje"). Většina her je v textovém módu: BOWLBEST (bowling, tedy v podstatě kuželky), LADDER (popuární CP/M hra, textová obdoba Lode Runnera), LOGIK, OTHELLO, PING, CHNAP ("Chňap", jde nejspíš o původní českou hru z pera pana Cestra), STARTREK (což je naprostá klasika, která se objevila psaná v Basicu už na prvních osobních počítačích, na FK-1 jde o strojový program), HADICE. Pak je tu naprostá a bohužel ojedinělá bomba. Hra v grafice: KNIGHT. Jde o izometrickou (pseudo 3D) chodičku Knight Lore, převedenou ze ZX Spectra. S převodem hry si dal v roce 1991 hroznou práci jakýsi LM (už asi nezjistím, kdo to vlastně byl). Při hraní je trochu problém s autorepeatem kláves, ale dá se to vydržet, FK-1 prostě není pro hry primárně určena. Ale vzhledem k tomu, že hra používá původní rozlišení ZX Spectra (zdvojnásobením velikosti pixelu), zůstává tak plné grafické rozlišení FK-1 (256 x 512) vlastně stále nevyužito.

A ještě o jednom grafickém programu bych se měl zmínit. Jde o jednoduchý grafický editor, používaící myš (k FK-1 se připojuje myš Tesla 3WP 16630), CARANI ("Čárání"). Asi spíš jen na demonstraci možností myši. O jiném programu pro FK-1, který by myš využíval, nevím.

Dokumentace:

FK-1 Příručka uživatele (Ing. Vít Libovický)

FK-1 Technický popis (Ing. Eduard Smutný)

Odkazy:

http://historicka.ic.cz/Pc/FK1/index.htm - obrázky a schémata počítače ke stažení u Mgr. Zdeňka Houšky

http://historicka.ic.cz/downlad.htm - download se schématy poítače a s videoklipy u Mgr. Zdeňka Houšky

Registr

Stejně, jako existuje například registr existujících exemplářů Apple-1, chtěl bych vytvořit nějaký přehled existujících exemplářů těchto československých strojů, jejich umístění (aspoň obecně) a dalšího pohybu (jako jsou prodeje nebo dražby).

Stručné informace o svém stroji můžete umístit zde pod článkem do komentářů.