PiDP

Raspberry Pi to opět bere retro.

Nebudu se teď rozepisovat o poněkud obskurních dvanáctibitových počítačích ze 60. let, to raději příště.
Ovšem podotknu, že většina strojů z rodiny PDP-8 jsou počítače tak, jak je příroda chtěla: s přepínači a blikajícími světýlky (po americku “blinkenlights”).

Když chcete nějakého takového krasavce provozovat, máte několik možností:

  • sehnat předražený originál, shánět k němu neméně předražené negibus/posibus/OmniBus periferie, snažit se tu obludu sestavenou z diskrétních součástek a v pozdějších verzích z jednoduchých integrovaných obvodů rodiny 74xx udržet tak nějak v chodu.
  • použít emulátor.
    Na Macintoshi (od 68k, před PowerPC až po Intel, od klasického Mac OS po OS X) PDP-8/E Simulator v aktuální verzi 2.0.2 (Mac OS X 10.4 a vyšší) nebo verzi 1.5.1 (pro vše starší).
    Pod Windows můžete použít emulátor v Pythonu nebo v JNLP, případně WinEight od Boba Armstronga.
    Všude jinde pak unixový emulátor Douga Jonese PDP-8 modul pro SimH.
  • sehnat si počítač DECmate, jehož procesor je na architektuře PDP-8 založen, s určitými rozšířeními (i když kompatibilita není úplně dokonalá, neb jsou nepatrné rozdíly v periferiích – například programy proto, aby mohly odchytit klávesovou kombinaci CTRL+C a mohly vrátit řízení zpět systému, musí být patchnuty).
    DECmate navíc nemá čelní panel, nový procesor 6120 mu umožňuje použití monitoru v ROM a panel tak není prakticky potřeba.
  • mít štěstí v době, kdy Bob Armstrong prodával stavebnici počítače SBC 6120 s čelním panelem (to už taky bude deset či více let) s procesorem 6120 (stejným, jako DECmate). Občas někdo postavenou či nepostavenou stavebnici prodá, ale cena jde už do tisíců dolarů.
  • mít štěstí teď a spojit dohromady dvě veci:
    stavebnici s čelním panelem ve stylu FP 6120 a emulátor SimH. Konkrétně na Raspberry Pi.

Osobně emulátory rád nemám a SimH bych si asi na počítači jen tak nepustil (výjimkou je PDP-8/E Simulátor pro Mac, protože je jednak pro Mac, druhak je i s tím čelním panelem). Raspberry Pi se sice používá různě jako akcelerátor a vylepšovač na kdejaké platformě (vzpomeňme na AppleIIPi, PiPod pro Risc-PC, CosmosEx pro Atari ST, …), já ho zatím vnímal spíš jako jeden z výkonnějších strojů RiscOS platformy.

Ne každý je ale mistr pájení, a vzít místo pájení příšer typu SBC 6120 hotové Raspberry Pi, zapájet jenom ten panel s přepínači a blikátky, spojit to spolu a rozjet “skoro skutečné” PDP-8, to k zahození není.
Navíc se tím příslušně snižuje cena za takové zařízení.

Celé PiDP-8 si můžete jako kompletní kit (tedy vše potřebné, ovšem bez Raspberry Pi) objednat u Oscara Vermeulena.
Prostě pošlete svůj mail, pak upřesníte objednávku a zaplatíte přes PayPal, a po nějaké době vám dorazí potřebné součástky.

To jest “dřevěná” (podle mne nejspíš bambusová) krabička, profesionálně provedený čelní panel (zmenšenina skutečného panelu z PDP-8/I), dřevěné špalíky a šroubky pro ukotvení panelu a Raspberry Pi ve skříňce, dvě desky plošných spojů, patice s jedním integrovaným obvodem, hrst diod, dvě hrsti rezistorů a 89 LED, konektor pro připojení Raspberry, samosebou i přepínače s hmatníky, které jsou přesnou zmenšeninou přepínačů ze skutečného PDP-8/I.

Cena je 145 USD + poštovné 30 USD.
Když si vezmu, že cena SBC 6120 bez čelního panelu, které občas někdo nabídne, se skoro nedostane pod 900 dolarů, je to prakticky zadarmo.

Pájení na desku zvládne i kopyto, všechny součástky jsou klasické a žádné SMD, většina z nich má celé dva vývody, akorát jich je trochu víc.
I těch 89 LED jsem měl ale připájených k desce za chvilku.
Ovšem během pájení přepínačů mi došla olovnatá pájka. Musel jsem si koupit novou a dodělat to později.

Raspberry Pi jsem použil B+.
Není náročné na zdroj, jako Raspberry Pi 3, a má normální velké konektory, narozdíl od Raspberry Pi Zero, které navíc sází na bezdrátová spojení, která mi k počítači ze 60. let nesedí.
Do Raspberry Pi Zero ale vzhledem k rozměrům snadno zapojíte konektory uvnitř krabičky a vyvedete si kabely, kde budete chtít, zatímco Raspberry Pi B+ naléhá svými konektory na stěnu krabičky, takže tam a ne jinde pro ně musíte vyrobit otvor.
A čumící USB nebo Ethernet konektor nejsou na počítači ze 60. let zrovna stylové.

Řeším ještě problémy s terminálem.
Předpokládá se, že budete používat HDMI výstup z Raspberry, ale nemám HDMI monitor a LCD mi k počítači ze 60. let taky moc nesedí.
A vyrábět na Raspberry Pi RS-232 hack, abych mohl připojit sériový terminál, se mi taky moc nechce, zvlášť když z návodu úplně nepochopím, v čem vlastně úprava spočívá.
Zkusil jsem proto kompozitní videovýstup a monochromatický CRT videomonitor.
Ačkoli na jiném Raspberry s RiscOSem mi videovýstup funguje na CINCH konektoru, Raspberry B+ má zvuk a kompozit vyveden na jack 3,5 mm.
Zapojení video/audiokabelů s jackem se liší pro kamkordéry a pro Raspberry Pi. Ale i když jsem objednával zásadně kabely označené, že jsoou pro Raspberry, na všech jsem zjistil prohozené signály.
Buď je špatně moje Raspberry, nebo ty kabely. Kdyby je někdo chtěl, mám čtyři.

Asi tedy nezbyde, než sehnat HDMi/VGA redukci a jako terminál použít malý VGA monitor.

S terminálem souvisí i distribuce OS, pod kterým bude emulátor SimH běžet.
Můžete samozřejmě použít normální Raspbian, pod ním nainstalovat SimH a pouštět si SimH v okně (a bootovat půl minuty).
Nebo použít Oscarovu odlehčenou distribuci bez grafického prostředí. Bootuje 15 sekund a hned se ocitnete v textovém terminálu.
(Na pozadí ale stále běží Linux a tak se do terminálu musíte přihlásit jménem a heslem; jinak se to pocitově od opravdového PDP-8 s terminálem moc neliší.
Snad jen možností využít schopnosti emulátoru, různá nastavení, debugger, případně přepínat mezi emulátorem a Linuxem.)

Fotografii nedokončeného stroje vidíte ZDE.
Pořídil ji Martin L.

Bojím se ale, že to tím neskončilo.

Hádám, že většinu z vás by normálně nelákalo spustit si v SimH emulaci PDP-11 (ne PDP-8, ale PDP-11).
Co si na něm pustíte? RTOS-11, který už dnes nikdo neovládá? Nebo Unix, který si dnes pustíte i na mnohem výkonnějších strojích? Nebo první verzi Tetrisu?
Ale kdyby k tomu byl úžasný čelní panel? Ó, to by stálo za to!

Oscar totiž chystá velmi propracovaný kit PiDP-11/70.
Ono o nic nejde, v jádře je to opět SimH s podobnou úpravou, jakou vyžaduje panel pro PiDP-8.
Ale ten panel… ten musíte mít.

Zatím sice není hotovo, ale až bude, můžete objednávat.

(c) http://obsolescence.wixsite.com/obsolescence/pidp-8

Ještě bych měl asi zmínit, jaké jsou největší rozdíly mezi SBC 6120 a PiDP.

Pokud odhlédneme od toho, že SBC 6120 je “skutečný hardware” (byť spíše samostatná platforma, než vysloveně PDP-8/E) a PiDP je “jen emulátor” s přidaným blikajícím panelem, pak:

PiDP je poměrně věrná simulace skutečného PDP-8/I, včetně věrného (i když zmenšeného) panelu, s možností krokovat nejen instrukce, ale i rozložit instrukci na jednotlivé fáze (přepínače SINGLE STEP a SINGLE INSTRUCTION).
V podstatě jediné rozšíření proti originálu je možnost nastavit si na čelním panelu zařízení k bootování a zařízení pro vstup dat (nepočítáme-li zabudovaný debugger a možnost vyskočit z emulátoru do Linuxu).
Rychlost simulace závisí na rychlosti použitého Raspberry – s Raspberry Pi 3 může být i 20x rychlejší než skutečné PDP.
Diody se nerozsvěcí v reálném čase, ale stav panelu se obnovuje každou šedesátinu vteřiny.
Existuje alternativní firmware, který provádí občerstvování displeje častěji, ale vyžaduje vícejádrové Raspberry (jednojádrová verze pak běží jen 3-4x rychleji než skutečné PDP).

SBC 6120 + FP 6120 je nápodoba PDP-8/E, s upraveným panelem – protože je použit mikroprocesor, nejde krokovat fáze instrukcí, ale jen celé instrukce (proto chybí příslušný přepínač a krokování instrukcí se provádí držením HALT a stiskem CONTINUE), navíc je přítomen spínač pro BOOT.
Jinak než na skutečném PDP je zpracováno i zobrazování a měnění obsahu paměti.
Rovněž zobrazování flagů na panelu je zjednodušeno a nelze zobrazovat ani stav sběrnice a stavového registru.
Možnost nastavit si na přepínačích číslo partition, ze které se dá bootovat, existuje, ale je nutné kvůli tomu nahrát upravený master boot sektor s programem, který umí načíst při bootu stav přepínačů.
Použitý procesor 6120 má rozšíření, která na původním PDP nebyla – zahrnují použití ROM, obsahující v případě SBC 6120 poměrně luxusní monitor, diagnostiku a ovladače, které zajišťují softwarovou kompatibilitu moderních periferií (IDE interface) s původními periferiemi peo PDP-8/E, paměť navíc (dvě 32 KW banky, z nichž jednu používá systém, a až 2 MB RAMdisk), rychlost provádění je ale oproti skutečnému PDP zpomalena, jako tomu bylo na počítačích DECmate.
(Původní DECmate neobsahoval všechny potřebné ovladače v ROM, která obsahovala jen zavaděč, a nahrával je z disku právě do druhé “stínové” 32 KW banky RAM.)