Monthly Archives: November 2025

PDP-11 manija

Jau kiek rašiau apie DEC DC J-11 procesorių. Jis kaip ir beveik veikia, bet kartu ir neveikia. Matyt nukentėjo ir mechaniškai (žiauriai pabrauktas viršus), ir elektriškai (niekas neatmeta to fakto, kad jis jau buvo blogas). O ir amžius elektronikai gana solidus.

Čia mano eksperimentinė plokštė. Alteros CPLD sukonstravau šiokį tokį CPU “aprišimą” ir teoriškai jis turėjo paleisti mano mikro programą ar pasileisti į amžiną “NOP” ciklą. Tačiau procesorius pyktybiškai daro savo darbą ir iššoka į debug konsolę – ODT. Kas tai yr? Ogi tai monitoriaus “programa” leidžianti serial terminalo pagalba redaguoti atmintį, paleisti programas ir ką nors dar. Toks daiGtas kaip WozMon pas Apple 1 kompiuterį. Tik čia ne softas, o pačio CPU silikone, mikrokode parašytas softas. Kad jis veiktu nereikia nei atminties, nei kokio ROM. Reikia tik specifinės UART mikroschemos ir kelių mikroschemų. Į debug režimą galima papulti kai lūžta procesorius, HALT komanda arba “blinken lights” mygtukais.

Pas mane nėra nei blinkenlights, nei UART konsolės. Todėl teko panaudoti logini analizatorių. Gaunasi maždaug taip:

Gaila, kad loginis analizatorius labai nestabilus ir tik 16 kanalų

Tie skaičiukai “7772”, “7564”, “7566” tai oktaliniai gabalai adreso. Tikri adresai: o17777772, Peripheral Interrupt Request Register; o177564; Console send status (aka TPS); o177566; Console send buffer (aka TPB).
Tai čia procikas uždraudžia pertraukimus, pasitikrina ar galima siųsti simbolį ir išsiunčia simbolį per terminalą. Duomenis irgi galima pasitikrinti- ten nusipaišo “command promptas”. Tačiau aš norėjau kito režimo. Vadinasi arba nenuskaitė blinken lights, arba susihaliucionavo HALT koja arba lūžo procesorius.

Tačiau pastebėjau, kad režimas kinta nuo “taktilinio” debuginimo- priklausomai kur priglaustas pirščiukas, CPU režimai buvo kitokie. Nepadėjo net ir procesoriaus litavimas (kad ir kaip tai keistai skamba). Vistiek sistema nestabili. Kas baisiausia- problemos priklauso nuo A17… A22 kojų kurios yra …. tik išėjimai. Priklausomai ar tas kojas patempi į pliusą ar žemę. Nebent CPU manualas meluoja.

Gal pasileido? Reikia viską analizuotis pagal fucking manualą

O čia kas kažkelintą kartą pasirodo kažkas įdomiau. Kogero taip veikia mano programa, kuri pabėga iš savo ciklo ir užsišoka ant NOP komandos. Ko pasekoje CPU adresas didėja ir tas labai gerai matosi ant dekoduotos (pas šiuos CPU adresas ir data yra multipleksuojamos per tas pačias kojas) adresų šynos. Čia 16 bitų procesorius ir jo NOP komanda yra 2 baitų ilgio. Todėl A0 (čia D0) nesikeičia. Keistokai atrodo WR lygis (beja, pas šį prociką nėra nei RD nei WR kojyčių. Čia irgi reikia dekoduoti). Bet šis režimas nestabiliai pasileidžia. Nu nėra mano procesorius stabilus.

Ko pasekoje supsichavau ir nusipirkai eBay DC J11 (PDP 11/72) procesoriaus plokštę (tipo veikiančia) su būtent tokiu pat CPU. (minus 155 pinigai) ir kiek vėliau Q-Bus atminties plokštę (minus 75 pinigai)… Dar negavau.

Galvoju šiandien, kaip aš sujungsiu tas plokštes- aš gi Q-Bus backplane neturiu. Nueinu apie 16:00 į elektronikos sandėlį ir žiūrau… bl… panašu, kad guli gal ir PDP11 backpleinas. Pakėliau- surudijęs, sulankstytas, kažkoks ne PDP. Bet kištukų kiekis atitinka. Pasidėjau į slaptavietę.
Žiūrau sau į tą kalną plokščių, jei yra backpleinas, tai gal kokia plokštelė atsiras. Radau kažkokia, analoginę lyg ir panaši, bet auksiniai kontaktai nukirpti. Dar pakuičiau ir net širdis sustojo. Va:

Mano lobis

Tai silpnesio modelio PDP-11/23 procesoriaus plokštė su F-11 čipsetu. 18 bitų adresacija, be MMU (vadinasi mažai RAM), be FPU. Bet ALU dalis lygtai yra. Buvo baisi, išploviau su muilu, distiliuotu vandeniu ir izopropilo alkoholiu.

Ir baigėsi darbo valandos. Reikės rytoj kažkaip įsiprašyti ir kaulyti, kad leistu man rankutėmis perrinkti gal toną beviltiškų PCB. Gal netyčia rasiu ir kitas dalis, tinka net ir be auksinių kontaktų. Man labai reikėtu ODT ir ROM. Aišku ir koks nors RAM nepamaišytu. Aš panikuoju, todėl ir rašau. Nes bet kurią savaitės dieną gali išvežti viską sunaikinimui.