Restaurera en PDP11/04

Berätta om dina pågående projekt.
MattisLind
Inlägg: 742
Blev medlem: 27 maj 2011, 20:27:12
Ort: Älvsjö
Kontakt:

Restaurera en PDP11/04

Inlägg av MattisLind »

Det förra retroprojektet var ju lite roligt och gav mig blodad tand.

Nu ska jag försöka mig på en gammal PDP-11/04 som jag hittade i min fars lada (http://www.datormuseum.se). Datorn var isärplockad, men alla delar (förutom några skruvar) gick att hitta. Ursprungligen kommer denna dator från Ericsson via Ericssons datorklubb EDKX där den legat i ett förråd i många år. Till oss kom den någon gång på 80-talet tillsammans med en TU60 bandstation.

Bild

PDP-11/04 är från mitten av 70-talet och är en efterföljare till PDP-11/05, men man har lyckats klämma in all CPU-logik på ett enda kort med sex kortkontakter (hex-kort) istället för två. Korten sitter monterade i ett virat bakplan för maximalt 9 full stora (hex) kort. Vanligtvis har man en progammeringskonsol där man kan göra enkla operationer, något som vår PDP-11 saknar. Den har bara en enkel operatörskonsol.

Bild

I boken "Computer Engineering: A DEC view of hardware systems design" beskrivs utförligt PDP-11 familjen. Denna bok finns inskannad för den intresserade och finns tillgänglig här: http://research.microsoft.com/en-us/um/ ... gineering/

Bild

Ovan ser man hur CPU kortet ser ut.Totalt har den 138 IC kretsar. En del förenklingar och att man utnyttjat mer programmerbara minne är anledningen till att man lyckats få ner antalet IC. CPUn har fem 256x8 Bipolära PROM som innehåller mikrokoden. Totalt 40 bitar alltså varav 8 används som nästa mikrokodsadress. Intressant att notera är att mikorkodsadressbussen är open collector så man kan alltså wire-or:a in en signal och på det sättet få mikrokoden att konditionellt hoppa till en annan adress. Som ALU har man valt 4stycken 74181 IC och som generell registerfil används 4 stycken Intel D3101 16x4 minnen. CPU-kortet har ingen klockkristall utan klockan genereras av en återkopplad delayline.

Bild

Till vår PDP-11/04 finns ett minneskort som rymmer hela 16 kbyte. Det består av  32 stycken dynamiska RAM av typen Mostek 4096. Intressant att nämna om Mostek MK4096 är att det var det första dynamiska RAM minne som använder Row / Column multiplexering på samma sätt som även dagens moderna DDR-minnen. På så sätt fick man in 12 adressbitar på 8 pinnar vilket var nödvändigt eftersom man behövde mata chipet med +12V och -5 V förutom +5V och dessutom vill hålla sig i en 16 pinnars kapsel.


Bild

För att kommunicera med datorn finns ett serieportskort med en UART och en väldig massa TTL IC.

Bild

Slutligen finns ett kort, M9312, som är till för att boota kortet och för att terminera bussen. Detta innehåller socklar för ett antal bipolära PROM som innheåller dels boot-kod för en specifik periferi-enhet och dels en konsol-emulator och diagnostikprogram. Konsolemulatorn använder man via serieporten om man inte har någon programmers console att knappa in saker med.

Hela maskinen finns nedbruten intill minsta skruv i 518 sidor tjock lunta som lyckligtvis någon skannat in: http://bitsavers.informatik.uni-stuttga ... _Feb78.pdf

Nästa steg blir att kontrollera nätaggregatsdelen H777 så att den fungerar som den ska.
Användarvisningsbild
pbgp
Inlägg: 1447
Blev medlem: 11 november 2010, 09:09:22
Ort: Uppsala
Kontakt:

Re: Restaurera en PDP11/04

Inlägg av pbgp »

Roligt, den här tråden ska bevakas.

11/04 är ganska minimal. Bara 16-bitars adressbuss, inga flyttal, cache eller annat lullull. Men ändå en ganska mastig låda, är den 6 eller 7 höjdenheter?

Vad för OS kan man förväntas hitta på en 04:a? är det RT11 kanske?
Användarvisningsbild
nablaman
Inlägg: 480
Blev medlem: 30 juli 2010, 17:43:07
Ort: Lund
Kontakt:

Re: Restaurera en PDP11/04

Inlägg av nablaman »

Kul! :tumupp:
Användarvisningsbild
anders_bzn
Inlägg: 5451
Blev medlem: 17 december 2008, 19:22:18
Ort: Kävlinge
Kontakt:

Re: Restaurera en PDP11/04

Inlägg av anders_bzn »

Då vill jag också meddela att jag tänker bevaka den här tråden!

Trevligt!
Användarvisningsbild
Lennart Aspenryd
Tidigare Lasp
Inlägg: 12607
Blev medlem: 1 juli 2011, 19:09:09
Ort: Helsingborg

Re: Restaurera en PDP11/04

Inlägg av Lennart Aspenryd »

Hedervärt initiativ!
Vi som har varit med, förstår inte att de unga inte begriper allt.
MattisLind
Inlägg: 742
Blev medlem: 27 maj 2011, 20:27:12
Ort: Älvsjö
Kontakt:

Re: Restaurera en PDP11/04

Inlägg av MattisLind »

Kontroll av nätaggregat

Det första att kolla är ju att nätagget är OK. I synnerhet att kondensatorerna är i bra skick. H777 som nätaggregatet heter i denna maskin är av sekundärswitchad typ så den har en rejäl stor järnkärnetransformator som plockar ner nätspänningen till behändiga 38V. Väldigt trevligt att slippa mecka med 400V likspänning överallt. H777 i denna maskin består av två regulatorkort. En 5V regulator som leverar maximalt 25 A och en MOS regulator som ger +/- 15V och -5V.

Naturigtvis har någon vänlig person scannat in dokumentationen som i detalj beskriver hur den fungerar: http://bitsavers.informatik.uni-stuttga ... _Oct77.pdf

De stora filterkondensatorerna på 50V 22000 uF på för 38 V rå DC visade sig tåla att laddas via 10 k motstånd alldeles utmärkt och läckte inte nämnvärt. Värre var det med filterkondensatorn på utgången. En Sprague på 3900 uF med rejäla anslutningar separerade med liten bit mylar (?) film. Den lyckades aldrig ta sig upp till märkspänningen ens med 500 ohms motstånd i serie och gott om tid.

Bild

Så små kondensatorer som 3900 uF med bult verkar inte finnas idag. Men en 6800 uF RIFA borde fungera tyckte jag.

Med bytt kondensatorer lyckas nätagget leverera ca 3 A in i min konstlast som efter tag luktade härligt av bränd pertinax. Perfekt!

Bild

Men fungerar det om man kopplar in nätaggregatet till bakplanet med korten? Nej tyvärr gjorde det inte det. Det visade sig att två signaler från nätaggreaget var permanent låga, BUS DC LO L och BUS AC LO L. Dessa är aktiva låga och i aktivt tillstånd signalerar de till CPU att inte starta upp. De hindrar helt enkelt klocksignalen från att genereras.

Bild

Schemat ovan beskriver 5V regulatorn. Det blå markerade området är en strömgeneratorkrets som matas av inkommande rå DC och laddar en 50uF kondensator som på så sätt ger en fin ramp. En resistorstege och ett antal kompartorer generar BUS DC LO L, BUS AC LO L och en intern signal för att starta klocksignalen till den interna PVM switchen. Spänningen över kondensatorn nådda bara upp till 20,4V vilket inte räcker för att komparatorerna ska ändra utgångspolaritet. Det verkar som om att det någonstans går för mycket ström ur srömgeneratorn så att den inte lyckas ladda kondensatorn. Kondensatorn byttes i tron att den läckte. Ingen skillnad tyvärr. Men strömgeneratorn var även kopplad till den rödmarkerade delen som är en så kallad crow bar funktion. Skulle en av huvudswitchtransistorerna kortslutas så skulle man få 38V på 5V utgången. Inte så bra. Alltså finns en tyristor som tänds av en zenerdiod som får genombrott vid runt 5,4V. Den kommer samtidigt i princip kortsluta strömgeneratorn och på så sätt stoppa i princip alla funktioner i nätaggregatet. Problemet verkar vara att det även i normaltillstånd försvann 1,5 mA in i tyristorn trots att den inte var tänd. Tydligen läcker alla tyristorer lite grand men det här var lite för mycket.

Bild

Byte av tyristor mot en modern BT145 gav mig ett fullt fungerande nätaggregat!

Nästa steg är att provköra på nytt med bakplan och alla kort i.
Användarvisningsbild
pbgp
Inlägg: 1447
Blev medlem: 11 november 2010, 09:09:22
Ort: Uppsala
Kontakt:

Re: Restaurera en PDP11/04

Inlägg av pbgp »

Mycket intressant läsning. Tror det sitter samma nätagg i 11/34 som jag har ett par av. Möjligen också i 11/44, men det är jag inte lika säker på.
MattisLind
Inlägg: 742
Blev medlem: 27 maj 2011, 20:27:12
Ort: Älvsjö
Kontakt:

Re: Restaurera en PDP11/04

Inlägg av MattisLind »

Dags för testkörning av CPU

Alla sladdar kopplades ihop och strömmen slogs på. Ingen rök läckte ut ur någon komponent. Gott och väl så långt. Fast RUN lampan lyste lite väl kort. Ett momentant tryck på operatörskonsolens INIT switch gav bara en kort blinkning på lampan. Verkar inte så bra.

En koll med oscillioskopet på signalen huvudclockan på CPU kortet visar att den startar igång och går 8 cykler och sedan gör ett uppehåll, därefter kör den några cykler till ett nytt uppehåll och ytterligare några cykler och sedan ingenting.

Bild

Man kan se att cykeltiden är ca 250 ns, istället för de 260 ns som anges i "Computer Engineering". Klockgenerering medelst återkopplad delay line är inte så exakt, +/- 10 ns är nog inom felmarginalen för en delay line. 4 Mhz är en respektingivande hastighet. I alla fall var det det 1975.

Mycket längre än så här i felsökningsarbetet kommer man nog inte med ett oscillioskop. Det kan vara något enkelt som att minnet eller någon annan perferienhet inte svarar på rätt sätt och hänger bussen. Tanken är att CPUn ska starta upp genom att hämta programräknarvärdet (PC) från adress 24 och statusordet (PSW) från adress 26, och därefter börja exkvera som vanligt. Det intressanta att dessa adresser egentligen är långt ned i vanliga huvudminnet så på en maskin med MOS-minne (utan batteribackup) kommer dessa adresser läsa ut 0. På en maskin med kärnminne har säkert en rutin som triggas av powerfail lagrat undan PC och PSW på dessa adresser och lagt alla andra register på stacken så det är bara att fortsätta som om ingenting hade hänt...

Dock är det så att M9312 kortet gör lite magi och mappar temporärt om dessa till adresserna 773024/773026 oktalt som ligger inom rymden för boot-koden.
Mer om det magiska M9312-kortet här: http://bitsavers.informatik.uni-stuttga ... echRef.pdf

Nu behöver jag nog mest sannolikt en logikanalysator. Tyvärr äger jag ingen HP1630 (om någon har en och vill sälja för en rimlig peng så köper jag), vilket var min favorit en gång i tiden. Jag hittade dock en väldigt enkel pryl från Kina på Tradera, baserad på ett USB chip med FIFO från Cypress.

Bild

Man behöver egentligen sex stycken sådana här för att ersätta en HP1630D och jag vet inte riktigt hur bra den klarar av triggning på olika villkor. Men jag behöver i alla fall inte mer än 24 MHz så vi får väl se. Är det någon som erfarenhet av dessa?

En annan möjlighet är att singel-stega CPUn. Det finns faktiskt två signaler på testpunkter i bakplanet för aktivera manuell klocking och för att injicera en egen klocksignal. Eftersom hela CPUn är helt statisk borde det gå att köra klockpuls för klockpuls. Man får även ut mikrokodsadresserna på bakplanet så en enkel monitor skulle man kunna bygga som stegar och monitorerar hur den går runt i mikroprogrammet.

Innan felsökningen kan fortsätta måste jag i alla fall hämta en gäng DIP test-clips som finns i farsans lada.
Användarvisningsbild
Lennart Aspenryd
Tidigare Lasp
Inlägg: 12607
Blev medlem: 1 juli 2011, 19:09:09
Ort: Helsingborg

Re: Restaurera en PDP11/04

Inlägg av Lennart Aspenryd »

Aha Jag har just kollat in en sådan Logiganalysator och beställt från Working Stoffs pågående Tradera auktion.
Det borde finnas ett lånebibliotek på exempels MakerSpace . För vissa grejor är ju inte sådant som man använder varje dag!
Maalobs
Inlägg: 1299
Blev medlem: 3 februari 2005, 14:35:15
Ort: Stockholm

Re: Restaurera en PDP11/04

Inlägg av Maalobs »

MattisLind skrev:Nu behöver jag nog mest sannolikt en logikanalysator. Tyvärr äger jag ingen HP1630 (om någon har en och vill sälja för en rimlig peng så köper jag), vilket var min favorit en gång i tiden.
Kan man från ditt nick dra slutsatsen att ditt namn är Mattis Lind?
Då verkar det som om du möjligtvis bor i Stockholmstrakten:
http://www.hitta.se/mattis+lind/f%C3%B6 ... h_personer

Jag köpte en HP 1664A för ett år sedan, här i säljtråden finns bilder på allt:
http://elektronikforumet.com/forum/view ... p?p=862354

Jag konstaterade att den är "lite" stor för mina blygsamma behov och utrymmen.
Dock matchar den min HP 54600B väldigt fint, förstås. :)

För 800 kr kan du få hela klabbet med manualer och allt, och jag har rengjort pjäsen både utvändigt och invändigt så det ser skinande fint ut.
Dock är logistiken ett frågetecken om du är intresserad av ett köp, den väger bly och har CRT, så en hämtning och varsam hantering av en sådan klenod vore nog att rekommendera i så fall.
Jag bor i Täby Kyrkby norr om Stockholm, om du har möjlighet att sladda förbi någon dag.
Det låter ju som att du kan hantera ett sådant instrument, och hos dig kommer den nog till ädlare syften än hos mig. 8)
Användarvisningsbild
Meduza
EF Sponsor
Inlägg: 10718
Blev medlem: 30 april 2005, 22:48:05
Ort: Ekerö, Stockholm
Kontakt:

Re: Restaurera en PDP11/04

Inlägg av Meduza »

Lasp: För våra medlemmar på Stockholm Makerspace så finns det en exakt sån logikanalysator i lokalen som jag har lånat ut för att folk ska kunna använda :)
Användarvisningsbild
anders_bzn
Inlägg: 5451
Blev medlem: 17 december 2008, 19:22:18
Ort: Kävlinge
Kontakt:

Re: Restaurera en PDP11/04

Inlägg av anders_bzn »

Jag köpte en sådan här när jag jobbade med PDP-8/L http://www.pctestinstruments.com/

Väldigt kompetent, jag har använt både HP/Agilent och Tektronix logikare. Största begränsningen på denna är minnesdjupet.
bqt
Inlägg: 215
Blev medlem: 14 juni 2011, 11:54:44
Skype: sillbit
Ort: Zürich

Re: Restaurera en PDP11/04

Inlägg av bqt »

MattisLind skrev:Det förra retroprojektet var ju lite roligt och gav mig blodad tand.

Nu ska jag försöka mig på en gammal PDP-11/04 som jag hittade i min fars lada (http://www.datormuseum.se). Datorn var isärplockad, men alla delar (förutom några skruvar) gick att hitta. Ursprungligen kommer denna dator från Ericsson via Ericssons datorklubb EDKX där den legat i ett förråd i många år. Till oss kom den någon gång på 80-talet tillsammans med en TU60 bandstation.
Mmm. En TU60. Kul. En av de få periferienheter jag aldrig lekt med...
PDP-11/04 är från mitten av 70-talet och är en efterföljare till PDP-11/05, men man har lyckats klämma in all CPU-logik på ett enda kort med sex kortkontakter (hex-kort) istället för två. Korten sitter monterade i ett virat bakplan för maximalt 9 full stora (hex) kort. Vanligtvis har man en progammeringskonsol där man kan göra enkla operationer, något som vår PDP-11 saknar. Den har bara en enkel operatörskonsol.
Vad menar du med "istället för två"? 11/04 är en Unibus-maskin. Dom har alltid nästan alltid hex-kort. Jämför du med Qbus-maskiner kanske? Ett Unibus-bakplan ser ofta ut såhär (låt oss använda ett 9-kortsbakplan som exempel):
Slot 1: AB - Unibus in. CDEF - Standard Unibus slot
Slot 2-8: AB - Inget särskilt. Mest extra strömming (om jag minns rätt). CDEF - Modified Unibus slot (aka MUD)
Slot 9: AB - Unibus out. CDEF - Standard Unibus slot

Modified Unibus slots har ett par pinnar som skiljer sig från standard Unibus slot. Om jag minns rätt är det några pinnar som ger extra spänningar, eller om det var ett par pinnar som inte längre har spänning, och istället används för något annat. För nästan alla Unibus-kort spelar det ingen roll, eftersom dom inte använder dessa pinnar, men det finns en del kort som måste sitta i en MUD.

Angående att maskinen inte startar upp när du testar den. Hur mycket kan du om Unibus? Är bussen "hel"? En Unibus måste vara oavbruten från CPU till terminator. Själva terminatorn måste dessutom sitta i den sista slotten, eftersom det är bara i första och sista slottens A&B position som Unibussen finns samlad.
Om bussen inte är intakt, och korrekt terminerad, så brukar CPUerna hänga sig. En annan sak att kolla är om du har en kontroller installerad. Med all sannolikhet är M9312 inställd att automatiskt boota från något när maskinen går igång. Om en kontroller inte finns så kommer den att försöka accessa addresser på vilket det inte finns något som svarar, varpå maskinen också stannar.

Tomma kortplatser måste ha en Unibus-jumper. Det finns två varianter. En liten fyrkantig sak på kanske 8x8 cm, som ska sitta i C-positionen, och en dubbelhöjdsjumper som sitter i C&D. Haken är att lilla jumpern bara kopplar diverse interrupt och bus grant signaler, som alla finns i C. Men NPR-signalerna (DMA i dagligt tal) sitter i D-positionen, och om man har en kontroller som kör DMA så måste man klippa en tråd i bakplanet. Tar man sedan ur kontrollern måste antingen tråden installeras på nytt, eller så har men det större jumper-kortet. Om dessa jumprar inte sitter på plats så fungerar maskinen inte heller.

Detta är ganska annorlunda än Qbus. (Eller Omnibus, om man är van vid PDP-8or)
MattisLind
Inlägg: 742
Blev medlem: 27 maj 2011, 20:27:12
Ort: Älvsjö
Kontakt:

Re: Restaurera en PDP11/04

Inlägg av MattisLind »

pbgp skrev:Roligt, den här tråden ska bevakas.

11/04 är ganska minimal. Bara 16-bitars adressbuss, inga flyttal, cache eller annat lullull. Men ändå en ganska mastig låda, är den 6 eller 7 höjdenheter?

Vad för OS kan man förväntas hitta på en 04:a? är det RT11 kanske?
Exakt, väldig simpel. Ingen MMU, ingenting. Jag är lite osäker på det där med höjdenheter på DEC maskiner. BA11-L är halva storleken mot BA11-K som har korten monterade uppifrån. Men det finns ju små lådor med bakplan med fyra platser. De är ju hälften så stora.

RT11 ska nog gå att köra, även RSX11-S, men jag är lite sugen på att få CAPS-11 att snurra på den tillsammans med bandstationen TU60. Hoppas jag hittar kontrollerkortet bara. Det finns någon på nätet som lyckats generera kassetter med CAPS-11: https://groups.google.com/forum/#!topic ... AZa8hJOwk0
bqt
Inlägg: 215
Blev medlem: 14 juni 2011, 11:54:44
Skype: sillbit
Ort: Zürich

Re: Restaurera en PDP11/04

Inlägg av bqt »

Just ja, vad gäller OS: RT-11 (givetvis). RSX-11S funkar också, men eftersom -11S är disklöst så är det ju bara användbart för att köra någon färdig applikation. DOS-11, om man nu kan hitta det, är ju det som annars dyker upp i mitt huvud. Och så misstänker jag att man kanske skulle kunna köra FiG-Forth också... Och som nämndes, CAPS-11.
Skriv svar