Celý název počítače vidíte v titulku. Je načase dozvědět se o něm něco víc.
.O PP-01 je k dispozici jen málo informací. Aspoň na internetu. Přitom to byl pozoruhodný kousek.
Pokud se nepletu, byl vyvinut ve Výzkumném ústavu výpočetní techniky na Slovensku.
Možná je to jen pomluva, ale slyšel jsem historku z údajné návštěvy Ing. Eduarda Smutného v tomto ústavu, která se nejspíš týkala právě PP-01.
Přijel do ústavu, moderní budova, plná stovek pobíhajících inženýrů a docentů v bílých pláštích, na nástěnkách informace o bohaté publikační činnosti a úspěších. I když malé počítače nebyly ve středu tehdejších strategických zájmů, Smutný se o ně zajímal velmi, a tak mu ukázalo PP-01. To se mu líbilo, obdivoval některá technická řešení, a tak se na nějaký detail zeptal: „Kdo vymyslel tohle?“ „I to prý Fero“. „A kdo vymyslel tohleto?“ „Nu to taky Fero“. „A támhleto?“ „Fero“. „A kdo napsal software?“ „Fero, kdo jiný?“ Z čehož mělo vyplývat ponaučení, že jakýsi osamocený tajemný Fero postavil počítač a ti všichni ostatní o tom nejspíš psali disertační práce.
PP-01 nebyl první počítač řady SMEP, jak se občas na internetu uvádí.
SMEP (systém malých elektronických počítačů) vznikl jako doplněk nebo protipól systému JSEP (jednotný systém elektronických počítačů), kterými se RVHP snažila zajistit kompatibilitu svých počítčů. Řada JSEP (rusky EC, jedinnaja sistěma) byly v podstatě počítače IBM 360/370.
SMEP byly klony menších počítačů Hewlett-Packard a DEC PDP-11, později i VAX, při přechodu na PC s procesoory x86 byly i tyto zařazeny do řady SMEP.
Kromě toho patřil do řady SEP 2 i počítačový systém SM 50/40,postavený jako stavebnice na deskách, založený na procesoru 8080. K němu se potom při vývoji PP-01 přihlíželo a na PP-01 je to znát.
Pro styk s vnějším světem je PP osazeno osmi konektory:
K1 – pro magnetofon (nemá zapojené dálkové ovládání)
K2 – sběrnice I41
K3 – uživatelský konektor (paralelní brána)
K4 – IMS-2 (HP-IB), využitelný i jako paralelní brána (podobně jako u PMD-85)
K5 – anténní výstup na televizor, černobílý
K6 – V24 (pokud jde o sedmidutinku, je osazena i proudová smyčka IRPS, na pětidutince chybí)
K7 – výstup na RGB monitor, v barvách
K8 – konektor pro ROM modul 8 nebo 16 kB
Počítač je sice osazen 64 kB RAM a 16 kB ROM, je ale schopen adresovat celkem 1 MB.
Paměťový prostor má počítač rozdělen na 4 kB bloky, kterých je celkem 16. Každému 4 kB bloku z 64 kB přímo adresovatelného prostoru (0xxxh-Fxxxh) může přiřadit 4 kB blok z celkového adresového prostoru 1 MB (00xxxh-FFxxxh).
Provádí se tak OUTem na adresy E0-EF (nebo zrcadlené F0-FF), stav přiřazení paměti lze i číst, ale bohužel inverzně. Pořadí portů i segmentů je sekvenční vzestupné. OUTnutá osmibitová hodnota představuje bity aderesy A12-A19.
Po zapnutí toto přiřazení není aktivní, přes pullup odpory je připojen 4 kB segment od FFxxxh, takže adresa FF000h se čte jako první (a ROMka si sama zajistí organizaci paměti pro použití Basicu G). Změny přistránkování paměti se projeví hned po OUTu.
Při běhu Basicu jsou přiřazeny tyto segmenty (od E0 do EF):
E0xxxh, E1xxxh, E2xxxh, E3xxxh, E4xxxh, E5xxxh (vnitřní RAM), ECxxxh, EDxxxh (další část vnitřní RAM), E8xxxh, E9xxxh (další část vnitřní RAM), EAxxxh, EBxxxh (VRAM „G“), FCxxxh, FDxxxh, FExxxh, FFxxxh (BASIC ROM).
Fyzická podoba 1 MB adresovatelného rozsahu je takováto:
FFxxxh
FExxxh
FDxxxh
FCxxxh
ROM (BASIC)
____________________
FBxxxh
FAxxxh
F9xxxh
F8xxxh
externí ROM modul (v konektoru 8)
_____________________________________
F7xxxh
..
F0xxxh
vyvedeno na sběrnici I41
____________________________
EFxxxh
EExxxh
videoRAM „B“
____________________________
EDxxxh
ECxxxh
část vnitřní RAM
_____________________
EBxxxh
EAxxxh
videoRAM „G“
_____________________
E9xxxh
E8xxxh
část vnitřní RAM
_____________________
E7xxxh
E6xxxh
videoRAM „R“
_____________________
E5xxxh
E4xxxh
E3xxxh
E2xxxh
E1xxxh
E0xxxh
část vnitřní RAM
_____________________
DFxxxh
..
00xxxh vyvedeno na sběrnici I41
Všimněte si, že ačkoliv PP-01 disponuje třemi VideoRAM (odděleně pro složky „R“, „G“ a „B“), v paměťovém prostoru počítače se nachází jen jedna.
Na PP-01 totiž existují dva způsoby zápisu do VideoRAM:
1) přistránkování VRAM pro příslušnou barevnou složku do hlavního paměťového prostoru počítače a přímá práce s ní (buď se mapují postupně všechny VRAM do stejného pamětového segmentu, nebo se namapují všechny naráz do různých paměťových segmentů),
2) použití barvového registru. Ten najdete na portu CC (a zrcadlený na CD, CE, CF). na tento port se zapisují 4 bity. bit 3 určuje, zda má zápis do videopaměti pracovat normálně (bit 3 v nule), nebo současně do všech videopamětí (jako přes kopírák). Zápis do“G“ VRAM se prokopírovává do „R“ a „B“ VRAM. To, zda se zapisovaná informace opravdu do příslušné VRAM zapíše, určují bity 0-2 barvového registru. Bit 2 ovlivňuje zápis do „B“ (modré) VRAM, bit 1 do „G“ (zelené) VRAM a bit 0 do „R“ (červené“) VRAM.
Pokud tedy nechcete současný zápis aktivovat, zapíšete do barvového registru xxxx0xxx, pokud chcete zapisovat do modré a červené VRAM zároveň (což tvoří fialovou barvu), nastavíte do barvového registru xxxx1101, takže po zápisu byjtu do „G“ paměti se informace do „G“ paměti nezapíše (bit pro „G“ paměť je v nule), ale propíše se do „R“ a „B“ tak, jak jste chtěli.
Obsah barvového registru nelze číst.
Grafika PP01 má navíc hardwarový scroll, který umožňuje určovat, od kterého mikrořádku se má začít zobrazovat. Změnou tohoto údaje lze pohybovat obrazem nahoru a dolů s přesností na pixel.
Hardwarový scroll je řipojen na služební 8255, o které si teď řekneme víc, protože se účastní i na tvorbě zvuku a dalších věcech.
je umístena na adresách C0, C1, C2 a C3.
Na portu A (adresa C0) je hardwarový scroller. Port A lze i číst a zjistit tak aktuální nastavení.
Port B (adersa C1) se spolu s částí portu C používá k obsluze klávesnice.
Na části portu C (adresa C2) je připojen zvukový výstup. Bity PC0-PC3 určují čtyřbitovou (0-15) hodnotu vybuzení reproduktoru. To, zda je zvuk zapnutý, určuje bit PC4. Doporučuje se zvuk vždy po použití reproduktoru vypínat, což vypadá zvláštně, protože pokud se nemění úrovně vybuzení, je reproduktor zticha, ale dlouhodobě protékající proud by mohl údajně poškodit výstupní budič nebo cívku reproduktoru, a docházelo by ke kolizi s výběrem řad klávesnice.
Další bity portu C se využívají k obsluze přerušení od tlačítek INT0 a INT3 (PC5) a přerušení od časovače (PC6)
Další mocnou zbraní PP-01 je přerušovací a časovacísystém.
Časovač 8253 je na portech D0-D3. Ovládá se jako jakýkoliv jiný obvod 8253.
Do časovače 1 z uživatelského konektoru K3 vedou vstupní hodiny CLK1. Výstup OUT1 je vyveden na vstup procesoruu INT1/, aktivace je ale podmíněná stavem PC6 na služební 8255.
Časovač 2 má na vstupní hodiny přivedené 2 MHz, výstup vede na uživatelsý konektor K3 (jako TTL!) a zároveň k hodinovému vstupu sériového čipu 8251.
Co se přerušení týče, má 8 úrovní. šechny vstupy jsou vyvedeny na konektro sběrnice I41 (K2), ale současně je možné jim přiřadit i zdroje ze zařízení zabudovaných v počítači. Pokud není přerušení z těchto vnitřních zařízení blokováno, pak je přiřazení takovéto:
INT0 – tlačítko INT0 na klávesnici
INT1 – časovač 1
INT3 – tlačítko INT3 na klávesnici
INT6 – signál RxRDY (8251)
INT7 – signál TxRDY (8251)
Stav všech přerušení je indikován LEDkami INT0-INT7 na předním panelu počítače, které jsou připojené přímo na linky přerušení.
Řídící obvod (3214) je na portu D4 (a zrcadlí se na D5, D6 D7).
Význam bitů je tento:
bit 0, 1, 2 – počet povolených úrovní (000 – žádná, 001=1 úroveň 0 povolena, 111=7 0-6 povoleno)
bit 3 – v nule povoluje přerušenípodle bitů 0-2, v jednice povolí všech 8 úrovní (0-7)
bit 4 – maskování INT2
bit 5 – maskování INT4
bit 6 – maskování RxRDY v INT6
bit 7 – maskování TxRDY v INT7
(v masce 0 zakazuje, 1 ulolňuje přerušení)
Na adresách D8-DB může být osazena hardwarová násobička MH 102.
Zápisem na adresách D8 a D9 se násobí čísla 0..255 (čtením těchto adres dostaneme dolní a horní bajt výsledku).
Zápisem na adresy DA a DB se násobí čísla se znaménkem (-127..+128), výsledek se získá čtením těchto adres (dolní a horní byte, výsledek je se znaménkem).
Na portech C4-C7 je pak osazena 8255 uživatelská, která se stará o obsluhu paralelního portu na uživatelském konektoru a HP-IB (brána A je vyvedena jak na K3, tak K4)a k ovládání řídících signálů HP-IB (brány B pro výstup a C pro vstup).
Nezmínil jsem jetšě obvod 8251 na portech C8 a C9 (zrcadlený na CA a CB), ktrý ovládá čtení a zápis na magnetofon, sériovou linku V24, proudovou smyčku IRPS, a sériovou linku v TTL úrovních.
To, s jakým zařízením bude komunikovat, určuje nastavení RTS a DTR v řídícím slově: 11 pro magnetofon, 01 pro TTL linku, 10 pro proudovou smyčku IRPS a 00 pro V24.
Co se týče polarity dat na magnetofonu, existovala na to propojka,ale od jisté verze firmwaru ji lze řídit softwarově pomocí poke na adresu 555h (testuje se nulová nebo nenulová hodnota).
Polaritu signálu lze zjistit i krátkým programem zveřejněným v příručce (je založen na analýze struktury meziblokové mezery):
10 P=0C9H
20 OUT P,27H,P,40H,P,8CH,P,3FH,P,0A6H
30 a=INP(P):OUT P,0A6H
40 WAIT 2
50 IF INP (P,40H)=0 THEN PRINT „PRIAME“
60 OUT P,27H,P,40H,P,8cH,P,0C0H,P,0A6H
70 A=INP(P):OUT P,0A6H
80 WAIT 2
90 IF IN(P,40H)=0 THEN PRIN „INVERZNE“
100 GOTO 20
Jina se na magnetofon zapisuje záznam v sektorech, 128 bajtů dlouhých, doplněných hlavičkou, kde jsou: číslo bloku v souboru (16 bit, poslední blok má nulu), číslo souboru (8 bit, první dva bloky mají nastaven nejvyšší bit), typ souboru (8 bit – 02 Basic, 04 – proměnné Basicu, 08 – strojový kód pro monitor), na konci kontrolní součet (add, včetně hlavičky), celkem 133 byte. Každý blok se zapisuje pro jistotu 2x za sebou.
Rychlost záznamu je 1200 bd, synchronizační byte je AAh, za ním kontrolní byte 55h, mezibloková mezera je tvořena kódy 3Fh.
Soubory na kazetě nemají jména.
Zopakujme si ještě, jak jsou obsazeny porty PP-01:
0rganizátor paměti:
E0-EF (F0-FF)
Barvový registr:
CC (CD, CE, CF)
Služební 8255:
C0,C1, C2,C3 (C0 HW scroll, C1 klávesnice, C2 zvuk a přerušení, C3 řídící)
Uživateslká 8255:
C4, C5, C6, C7
Časovač:
D0, D1, D2, D3
Řízení přerušení:
D4 (D5, D6, D7)
Násobička (nemusí být osazena):
D8, D9 (kladná čísla), DA, DB (se znaménkem)
8251:
C8, C9 (CA, CB)
Určitě vás bude zajímat zapojení konektorů pro RGB monitor a magnetofon:
K1 pro magnetofon je pětidutinka DIN:
1 – výstup z PP-01
2 – GND
3 – vstup do PP-01
4 – nezapojeno
5 – nezapojeno
K7 pro RGB monitorje pětidutinka:
1 – „G“
2 – GND
3 – „B“
4 – H+V
5 – „R“
Co se týče disketové jednotky, připojovala se na sběrnici I41, kromě samotného diskového řadiče a disketovek obsahovala i rozšiřující rošt, v němž šly použít modulové desky kompatibilní se systémem SM 50/40.
K nabootování slouží příkaz Y monitoru, který zavede do paměti (na adresu 3000h) z nulté stopy zavaděč (celkem 18 sektorů) a spustí ho.
Z tohoto úseku kódu by se mělo dát určit, na jakých adresách byl řadič připojen a jakého byl typu.
Další příkazy monitoru (vstupuje se do něj povelem MONIT):
P – zpět do Basicu
Z – zobrazení a případně modifikace obsahu paměti
S – skok na zadanou adresu, návrat přes RET
N – uložení čáti paměti na magnetofon (číslo souboru může být 00-7F)
M – čtení z magnetofonu
Y – už zmíněný bootloader
Pokud si připojíte k PP-01 vlastní výstupní zařízení, uložte adresu jeho driveru (v rozsahu 1 MB paměťového prostoru) na adresy 3, 4 a 5. vladač nesmí měnitregistry, kód znaku se mu předává v C. Z Basicu se pak volá pomocí PRINT # (pouze na výstupní zařízení) nebo PRINT % (současně na výstup i na obrazovku).
Protože kromě jednoduchého monitoru a Basicu G už PP-01 žádný jiný software neobsahuje, a z programů pro něj se (aspoň na internetu) kromě několika málo věcí v Basicu žádný program nedochoval, dá se říct, že jeho na tehdejší dobu a poměry velmi bohaté hardwarové vybavení počítače (jako jeho chunky grafika 256×256 bodů v 8 barvách, hardwarový scroll, 4bitový zvuk) zůstalo trestuhodně nevyužito.
Je mi sice známo,že pro něj existoval Pascal (kompatiblní s Mikrobáze Pascalem), ale bohužel – k tomuto počítači se buď nic nedochovalo, nebo si to málo, co se dochovalo, nějaký „hodný“ sběratel nechává pro sebe.
Tak jsem v rychlosti namaloval schéma ROM modulu. Není tam zachycen latch a dekodér adres pro externí ROM modul (zapojovaný na konektor K8), šlo mi hlavně o zmapování "provozní" části, abych mohl to PP vůbec zkusit nějak rozjet. Brzo zkusím "vypálit" ROMku (mám mnoho 27C256, tak asi do jedné z nich), a když to pojede, tak o sobě zas dám vědět a nakreslím to schéma pořádně.
Náčrtek zde (použil jsem "TPG CAD", tak snad to nějak přelouskáte):
http://daluth.sweb.cz…ommodul.jpg
Ty PDFka už mám, psal jsem mail, a byly mi ochotně zaslány. Ještě jednou děkuji. Někam je umístím.
Tak jsem trochu mapoval ten ROM modul, je to velice jednoduše zapojené. Mám verzi 16x 1KB, takže modul je osazen 16x ROM 8608, 3x dekodér adres MH3205 a 2x ruská verze latche 8212. Ty jsou oba zapojeny na datové sběrnici, jeden je pro ROM modul PP, druhý je pro přídavný ROM modul. Latche jsou jednosměrné a z ovládacích vývodů mají zapojen pouze vývod č. 1 (ostatní napevno na GND nebo +5V), kterým se řídí, jestli je latch průchozí, nebo má výstupy na datovou sběrnici PP ve třetím stavu (odpojené). Adresové dekodéry jsou dva pro ROM modul PP a jeden pro přídavný ROM modul, z čehož plyne, že přídavný ROM modul může obsahovat jen poloviční počet (EP)ROM chipů, než PP ROM modul (ale zase může být zapojen jinak než ty dva zbylé, takže může segmentovat např. po 2KB – ještě musím zjistit). Další věc je, že ani na vnitřním FRB konektoru ROM modulu z hlavní desky PP není vyvedena kompletní adresová sběrnice, končí to A13kou (s největší pravděpodobností, ale jistě to budu vědět, až budu mapovat hlavní desku. Ale i kdybych se pletl, tak to může končit max. A15kou – mám jen dva vývody, o kterých nevím jistě funkci). Jak bude víc času, zkusím namalovat schéma.
IRC klient by byl fajn, ale ovládání sériáku můžu mapovat, až jestli to rozchodím (jestli to tedy mezitím nezmapuje někdo jiný), což může být kdoví kdy, mám to PP v dost zuboženém stavu – zrovna ROM modul dokonce prošel jakýmsi pokusem o žeh, je v jednom místě úplně černý (a ostatní desky na tom nejsou o moc líp – např. z RAM je odpájený jeden FRB, druhý má pozohýbané piny, deska klávesnice je pokroucená celá, nemám vrchní kryt atd. atd.). Ale věřím, že to nějak půjde.
Zdeněk Houška měl PP-01 ve škole, vyprávěl o nějaké strojákové hře s letadýlkem, ale bojím se, že se žádný takový software nedochoval. Zázrak je už to, že se u Chrenků podařilo sehnat kazety aspoň s výukovými programy v Basicu.
Nevýhodou PP-01 je hlavně nemožnost připojení nějaké moderní periferie. V ROMce má jen boot z diskety, se kterou Basic jinak vůbec nepočítá. Teoreticky by bylo možné přiohnout PMD-32-SD a naportovat CP/M, ale mám nepříjemný dojem, že tak, jak je zapojena, nezvládne PP-01 komunikaci na portu A v módu 2 (kdysi jsem se na to díval a vypadalo to tak).
Teoreticky by se dalo přes sériák, pokud by šel obsluhovat z Basicu, tahat data z "velkého počítače", nebo připojit rovnou sériákový wifi/ethernet modul (s tím asi bude obzvlášť zábava, už jsem si ho objednal a zkusím přemluvit Duškyho, zda by neposkytnul zdrojáky svého ZX IRC klienta pro předělání na PMD).
Predčasom som (kvoli písaniu emulátora) z DPS prekreslil schému klávesnice PP-01.
http://pmd85.borik.net…01-kbd.png
Na zbytok nie je momentálne ani chuť a ani čas.
Peťo Chrenko už dávnejšie vytvoril Web PP-01, na ktorom ale sú zatiaľ iba screenshoty.
http://smep-pp01.webnode.cz/
Super, paráda, díky… nemusím to složitě dumpovat, tím spíš, že není schéma. S těmi ROM moduly se to má tak, že se vyráběly s paměťmi 8708 (16x 1KB) a 8716 (8x 2KB), přičemž ta nefunkční je zřejmě z té druhé verze. Dneska by na to stačila jedna 27C128 (a jestli bude čas a vydrží mi motivace, pokusím se ji vyrobit).
K té motivaci – hned v úvodu své stránky píšete "Tento stroj je sice zajímavý, ale nejsem si jist, zda si ho budu ponechávat.". Vcelku to chápu, co se strojem, na který není prakticky žádný užitečný SW? Ono je to ale dáno tím, na jaká místa se tehdy ten stroj protlačoval, čili jinak řečeno – on ten SW nebyl už v té době.
Pokud jde tedy o mně, přimlouval bych se srdcem fandy osmibitů – jednoznačně nechat. Musíme sice odvést jako fandové hodně práce, ale mě osobně se docela chce si s ním "hrát" (já vím, ten čas… dnes je ho málo, ale i tak…) a jsem odhodlán se pokusit např. portovat nějaký SW z PMD-85 či tvořit SW pro práci v duchu http://www.nostalcomp.cz/ – tedy nějaká programovadla apod. Již kdysi jsem s PP a programem v Basicu úspěšně vyčetl obsah staré telefonní karty, a pamatuju si dodnes ten pocit potom. Stojí to za to, i dnes. Pravý fanda ten pocit dobře zná. Vděchněme spolu PP nový život (který notabene ani nikdy neměl)… co říkáte?
Ještě jednou díky za odkaz. Pokusím se udělat také nějaký web a dát to tam též (a všechno další také).
A pochopitelně ještě u mně: https://sites.google.com…vt-pp-01 v přílohách dole
Podarilo sa kontaktovat p.Smatanika – autora firmware, od ktoreho sme sa dozvedeli ze zial nestastnou nahodou sa znicili archivne kopie toho firmware. (celkom vtipna prihoda – napalil to na CD-cko a potom na neho nalepil samolepku
s popisom obsahu CD-cka. Zdalo sa mu ale, ze ju nalepil krivo, tak ju chcel
odlepit a nalepit znova – no a odlepil ju aj s datovou vrstvou CD-cka… a z harddisku to uz mal vymazane …)
Takze jedina sanca teraz je ziskat firmware z nejakeho existujuceho funkcneho kusu PP01.
Hlavně by se hodilo sehnat soft k tomu počítači, existoval pro něj třeba překladač Pascalu, bylo by škoda, kdyby se takové veci definitivně ztratily.
Vlastně kromě pár prográmků v BASICu od pana Kapusníka nemáme k PP-01 nic.
Pošťáci (poddůstojníci) ho měli na vojně v kanclu. Pokud já vím, tak se používal v armádě. Nedávno byl na Aukru, ale nějak mi unikl…
Článok o PP-01 z AR-A12/86.
O oblasti použitia PP-01 je na poslednej strane.
http://pmd85.djb-studios.com….pdf
Prý se používalo u Sboru národní bezpečnosti (pro Sbor nrodní bezpečnosti je určena i jedna příručka k Basicu PP-01, kterou mám), ale jinak se používal i na školách – třeba škola v Praze na Šutce (dle informací Zdeňka Houšky).
Osobně si nedovedu představit esenbáky, jak programují v Basicu a nahrávají programy na magnetofon, pokud jim to nedodávali s disketovými jednotkami, tak to asi bylo pro jejich účely dost slabé – nepotřebují barevnou grafiku, HW scroller, násobičku a digitální zvuk, stačil by jim i textový terminál, ale s textovým editorem a přístupy do databází.
Akorát by mne zajímalo kde se tato mašina používala. Měl jsem za to že to byl počítač určený pro ministerstvo vnitra, s čímž pak souviselo malé množství programů…
Musím iba súhlasiť, že HW PP-01 je navrhnutý nádherne. Hlavne to mapovanie pamäti je úžasné, ale určite aj ostatné veci.
K tomu zvuku. To, že sa musí zvuk vypínať, má svoj ďalší dôvod, resp. je to v podstate nutnosť. Bity PC0-PC3 služobného PPI okrem "nastavenia hlasitosti" reproduktora, adresujú aj stĺpce klávesnice. Takže, ak by sa pri testovaní klávesnice nechal reproduktor zapnutý, bolo by zrejme počuť nepríjemné chrčanie alebo šumenie.
Oprav si prosím ešte v článku, že povolenie prerušenia od tlačidiel INT0 a INT3 je na PC5 a nie PC6.
Před x lety mě uniklo „vyhození“ jedné počítačové učebny na S.D.První kontejner byl už odvezen.V tom co jsem prohledával bylo vetší množství kabelů k PP 01 a krabičky k software k tomu počítači.Můžu se jen domnívat ,co bylo v tom prvním…Obsluha tvrdila,že ten odvezený byl plný,nějakých starých počítačů,uplně na nic.