Restaurera en PDP11/04

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

Re: Restaurera en PDP11/04

Inlägg av MattisLind »

Mer logikanalysator

Gjorde ett nytt testskott med logikanalysator. Pod 1 kopplad till Adress bussen och triggad på MSYN (negativ flank) och Pod 2 kopplad till Databussen triggad av SSYN (negativ flank)
Bild

Inte så lovande. Den borde leta efter adress 24 och 26. Varje mulipel om fyra accesser är en körning efter reset. Notera att adressen på raden 3, 7, 11, och 15 ökar med två hela tiden. Någon form av ALU funktion som ger autoincrement med två...

Visserligen inte så uppmuntrande resultat men å andra sidan stämmer det med känslan jag fick att något är på tok när jag hittade det här dokumenet: http://vaxhaven.com/images/1/11/EK-KD11D-TM-PRE.pdf

Sidan 108, stycke 6.3.3 beskriver mikrokodsförloppet vid kallstart. Det var inte konstigt att jag tidigare inte förstod mikrokodslistningen. Digital anger adressen som den läses ut i pipeline registret, innan inverteraren. Då blir FE = 01..

Alltså

Om man översätter mikrostegn i föregående analysator trace:

Kod: Markera allt

Mikrosteg	Utläst värde	Inverterat		Oktalt
	0			FE				01				001
	1			0D				F2				362
	2			0C				F3				363
	3			0B				F4				364
	4			0A				F5				365
	5			09				F6				366
	6			08				F7				367
	7			07				F8				368
	8			D4				2B				053
	9			D2				2D				055
	10			5F				A0				240
	11			5E				A1				241
	12			5D				A2				242
	13			FF				00				000	
	14			DD				22				042
	15			5C				A3				243
Fram till steg 7 ser allt bra men sen ska det ju vara 113 inte 053. Hur kan det bli så här? Bit 6 har blivit en nolla och bit 5 en etta. Fel på PROM:et? Om något wire-oras in på open collector bussen skulle adressen kunna gå till 1 (eftersom det är inverterat), men aldrig tvärtom.

Måste nog försöka kontrollera hela mikroprogrammet. Puh.

Är det någon på forumet som äger en PROM brännare för bipolära PROM?
Användarvisningsbild
säter
Inlägg: 35214
Blev medlem: 22 februari 2009, 21:16:35
Ort: Säter

Re: Restaurera en PDP11/04

Inlägg av säter »

"Är det någon på forumet som äger en PROM brännare för bipolära PROM?"

Vad är det för PROM?
MattisLind
Inlägg: 775
Blev medlem: 27 maj 2011, 20:27:12
Ort: Älvsjö
Kontakt:

Re: Restaurera en PDP11/04

Inlägg av MattisLind »

säter skrev:"Är det någon på forumet som äger en PROM brännare för bipolära PROM?"

Vad är det för PROM?
Det heter 74S471 och är ett 20 pinnars bipolärt PROM som rymmer 256 x 8 bitar. Det finns flera tillverkat av 256 x 8, tex MMI och Signetics och Texas Instruments, men alla hade olika algoritmer och programmeringsspänningar. Dessutom har chipen slutat tillverkas. Det finns några på nätet som säljer tjänsten att programmera PROM, t ex hobbyrom i USA. Men det är ju alltid enklare om man har en egen...
Användarvisningsbild
säter
Inlägg: 35214
Blev medlem: 22 februari 2009, 21:16:35
Ort: Säter

Re: Restaurera en PDP11/04

Inlägg av säter »

Jag har införskaffat ett par brännare som ska klara äldre EPROM.
Om de klarar 74S471 har jag inte koll på just nu.
bqt
Inlägg: 267
Blev medlem: 14 juni 2011, 11:54:44
Skype: sillbit
Ort: Zürich

Re: Restaurera en PDP11/04

Inlägg av bqt »

MattisLind skrev:Mer logikanalysator

Gjorde ett nytt testskott med logikanalysator. Pod 1 kopplad till Adress bussen och triggad på MSYN (negativ flank) och Pod 2 kopplad till Databussen triggad av SSYN (negativ flank)
Bild

Inte så lovande. Den borde leta efter adress 24 och 26. Varje mulipel om fyra accesser är en körning efter reset. Notera att adressen på raden 3, 7, 11, och 15 ökar med två hela tiden. Någon form av ALU funktion som ger autoincrement med två...
Är du säker på att du kopplat saker rätt?
Det borde aldrig kunna vara accesser till udda adresser, men alla dina accesser ser ut att vara det.
Att adresserna skulle öka med två är däremot helt rimligt.
Visserligen inte så uppmuntrande resultat men å andra sidan stämmer det med känslan jag fick att något är på tok när jag hittade det här dokumenet: http://vaxhaven.com/images/1/11/EK-KD11D-TM-PRE.pdf

Sidan 108, stycke 6.3.3 beskriver mikrokodsförloppet vid kallstart. Det var inte konstigt att jag tidigare inte förstod mikrokodslistningen. Digital anger adressen som den läses ut i pipeline registret, innan inverteraren. Då blir FE = 01..

Alltså

Om man översätter mikrostegn i föregående analysator trace:

Kod: Markera allt

Mikrosteg	Utläst värde	Inverterat		Oktalt
	0			FE				01				001
	1			0D				F2				362
	2			0C				F3				363
	3			0B				F4				364
	4			0A				F5				365
	5			09				F6				366
	6			08				F7				367
	7			07				F8				368
	8			D4				2B				053
	9			D2				2D				055
	10			5F				A0				240
	11			5E				A1				241
	12			5D				A2				242
	13			FF				00				000	
	14			DD				22				042
	15			5C				A3				243
Fram till steg 7 ser allt bra men sen ska det ju vara 113 inte 053. Hur kan det bli så här? Bit 6 har blivit en nolla och bit 5 en etta. Fel på PROM:et? Om något wire-oras in på open collector bussen skulle adressen kunna gå till 1 (eftersom det är inverterat), men aldrig tvärtom.
Du har inte kastat om två bitar då? Alla stegen innan har ju både bit 5 och 6 satt, så det är ju svårt att säga något om detta tidigare än steg 7.
Användarvisningsbild
säter
Inlägg: 35214
Blev medlem: 22 februari 2009, 21:16:35
Ort: Säter

Re: Restaurera en PDP11/04

Inlägg av säter »

Jag har en EPROM+.
Den verkar kräva en extra adapter.
http://www.arlabs.com/

Dessutom en Data I/O 29B
Inkl. UniPak 2B.
Du får kolla själv i någon devicelist om det kan fungera.
MattisLind
Inlägg: 775
Blev medlem: 27 maj 2011, 20:27:12
Ort: Älvsjö
Kontakt:

Re: Restaurera en PDP11/04

Inlägg av MattisLind »

Förväxlade signaler

Precis som bqt trodde så hade jag förväxlar bit 5 och 6 i mikrokodstracen. Den rätta syns nedan. Nu är tracen tagen efter piplineregsitret, därav av första raden saknas jämfört med tidigare. Maskinen exekverar korrekt mikrokod!

Bild

En annan tankevurpa var att alla signaler på bussen är aktivt låga. Så den tidigare tracen på adress och data bus måste inverteras. Här är en ny korrekt trace:

Bild

Det intressanta att maskinen lägger först ut adress 24 och sedan adress 26. På databussen får den tillbaka 165020 vilket är helt rätt. Det är första adressen i diagnostikprogrammet. Men när processorn lägger ut denna adress som PC för att exekvera så är den förvanskad till 167020. Bit 10 har blivit hög. Tittar man på Bus receiver 8641 chipet så ser man att en av dessa fyra alltid har pinne 6 på 3,78 V, trots att ingången ligger på 3,31V . Jag misstänker att det är något fel på denna. Teoretiskt sett kan det också vara en 74157 MUX denna bus receiver är kopplad till som kortsluter till +5V. Vidare undersökning och utbyte kanske kan ge framgång!
bqt
Inlägg: 267
Blev medlem: 14 juni 2011, 11:54:44
Skype: sillbit
Ort: Zürich

Re: Restaurera en PDP11/04

Inlägg av bqt »

Lysande! Nu kommer vi någonstans. Mikrokodsdelen är ok, så den kan vi lämna.

Låter onekligen som din 8641 är dålig, men rota på.

Att adress 24 och sedan 26 läggs ut är helt i sin ordning. När strömmen kommer på hanteras det som en trap till adresss 24 av CPUn.
CPUn kommer då att läsa in en ny PSW från adress 24, och en ny PC från adress 26. Och sedan börja exekvera.

Så det enda felet nu tycks vara den bitten som läses in som blir fel.
MattisLind
Inlägg: 775
Blev medlem: 27 maj 2011, 20:27:12
Ort: Älvsjö
Kontakt:

Re: Restaurera en PDP11/04

Inlägg av MattisLind »

säter skrev:Jag har en EPROM+.
Den verkar kräva en extra adapter.
http://www.arlabs.com/

Dessutom en Data I/O 29B
Inkl. UniPak 2B.
Du får kolla själv i någon devicelist om det kan fungera.
EPROM+ från Arlabs verkar vara en ren EPROM progarmmerare. Data I/O 29B är ju en fin gammal klassiker. 1984 tydligen. Hittade denna device lista: http://arcarc.xmission.com/Test%20Equip ... B-RV26.txt.

Här är manualen: http://bitsavers.informatik.uni-stuttga ... _Oct84.pdf

Japp. Den klarar bipolära PROM. Men inte TI 74S471. Dock Signetics 82S135 och AMD 6309 (AMD köpte MMI för väldigt länge sedan) som är likvärdiga. Fungerar den? Den använder serieport.
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Restaurera en PDP11/04

Inlägg av sodjan »

Som lite kurriosa så kan jag nämna att vi hade en Data I/O 29A ansluten
till våran PDP11 (antingen /23+ eller /84, minns inte vilken av det var) och
vi körde över PROM filer som vi hämtade från CAD systemen i Stockholm.
Seriellt ansluten så klart. Det var en del av Ericssons CAD/CAM system med lokala
PDP'er på fabrikerna som hämtade filer från CAD systemen i Stockholm, postprocesserade
och körde ut filer till NC, CAT (HP 9825/9826 baserade) och andra lokala produktionssystem.
Jag var sys-manager för systemet på fabriken i Norrköping.
Användarvisningsbild
anders_bzn
Inlägg: 5770
Blev medlem: 17 december 2008, 19:22:18
Ort: Kävlinge
Kontakt:

Re: Restaurera en PDP11/04

Inlägg av anders_bzn »

En 84 har jag stående hemma...
Användarvisningsbild
säter
Inlägg: 35214
Blev medlem: 22 februari 2009, 21:16:35
Ort: Säter

Re: Restaurera en PDP11/04

Inlägg av säter »

"inte TI 74S471"
Jag såg att NAT 74LS471 var med i listan.
Skillnaden mellan "S" och "LS" kan jag inte.

"Fungerar den? Den använder serieport."
Ingen aning.
Jag har ropat in den på Tradera, och aldrig provat den.
Du får gärna låna den om du vill. :)
MattisLind
Inlägg: 775
Blev medlem: 27 maj 2011, 20:27:12
Ort: Älvsjö
Kontakt:

Re: Restaurera en PDP11/04

Inlägg av MattisLind »

Den lever!

Här är den lilla icke fungerande otäckingen:
Bild

DS8641 är ingen vanlig IC man köper på ELFA tyvärr. Det är en ganska speciellt avpassad transceiver för Digitals bussar. Och eftersom det inte sålts några Digital-maskiner på länge så har chipen slutat tillverkas. Jag hittade en säljare på EBAY som sålde DS86641 för två dollar styck. Jag köpte ett knappt rör för att ha i reserv. Fast leveranstiden från Kina skulle vara två veckor. Det började klia i fingrarna så jag hittade ett exemplar fastlött på ett annat kort. Förskiktigt löddes detta loss och monterades på CPU-kortet.

Därefter kopplades alla Logikanalysator-probar in och maskien startades upp:
Bild

Titta minsann. Den lever! Den börjar exekvera diagnostikprogrammet och hamnar därefter i en loop:

Bild

Här ligger den och väntar på att få skicka ett tecken på konsolen. Tittar man i kodlistningen för diagnostikprogrammet (http://www.ak6dn.dyndns.org/PDP-11/M931 ... -248F1.lst) ser man att det stämmer.

Kod: Markera allt

     278                                	; fall thru for auto echo
     279                                	; character TX routine
     280                                	;
     281                                	; R2 = 8b character to TX in R2<7:0>
     282                                	; R3 = return address
     283                                
     284 165540 105737  177564          txchar:	tstb	@#dlxcsr		; wait for TX ready
     285 165544 100375                  	bpl	txchar			; not ready yet, loop
     286 165546 110237  177566          	movb	r2,@#dlxbuf		; TX exactly what we RX'ed
     287 165552 142702  100200          	bicb	#<200*U>+<200*L>,r2	; clear MSB upper/lower characters
     288                                
     289 165556 022323                  retR3:	cmp	(r3)+,(r3)+		; bump return address ptr R3 by +4
     290 165560 000163  177776          	jmp	-2(r3)			; return to (R3)-2
     291                                
Det verkar som att serieportkortet DL11 alltid ger 0 tillbaka. Bit 7 i status registret skall sättas till 1 om det går att sända ett tecken (http://bitsavers.trailing-edge.com/pdf/ ... _Sep76.pdf). Någonting är galet här. Det kan vara fel på kortet eller så är det felbyglat trots allt.
Användarvisningsbild
säter
Inlägg: 35214
Blev medlem: 22 februari 2009, 21:16:35
Ort: Säter

Re: Restaurera en PDP11/04

Inlägg av säter »

Jag tror jag har en del kort liggande till PDP-11.
Det kan ju vara värt att kolla, om du kör fast och är utan reservkort.
Troligtvis är dessa till PDP-11/05.
bqt
Inlägg: 267
Blev medlem: 14 juni 2011, 11:54:44
Skype: sillbit
Ort: Zürich

Re: Restaurera en PDP11/04

Inlägg av bqt »

MattisLind skrev:Den lever!

Här är den lilla icke fungerande otäckingen:
Bild

DS8641 är ingen vanlig IC man köper på ELFA tyvärr. Det är en ganska speciellt avpassad transceiver för Digitals bussar. Och eftersom det inte sålts några Digital-maskiner på länge så har chipen slutat tillverkas. Jag hittade en säljare på EBAY som sålde DS86641 för två dollar styck. Jag köpte ett knappt rör för att ha i reserv. Fast leveranstiden från Kina skulle vara två veckor. Det började klia i fingrarna så jag hittade ett exemplar fastlött på ett annat kort. Förskiktigt löddes detta loss och monterades på CPU-kortet.

Därefter kopplades alla Logikanalysator-probar in och maskien startades upp:
Bild

Titta minsann. Den lever! Den börjar exekvera diagnostikprogrammet och hamnar därefter i en loop:
Finemang! Som jag trodde. Riktigt bra framsteg här...
Bild

Här ligger den och väntar på att få skicka ett tecken på konsolen. Tittar man i kodlistningen för diagnostikprogrammet (http://www.ak6dn.dyndns.org/PDP-11/M931 ... -248F1.lst) ser man att det stämmer.

Kod: Markera allt

     278                                	; fall thru for auto echo
     279                                	; character TX routine
     280                                	;
     281                                	; R2 = 8b character to TX in R2<7:0>
     282                                	; R3 = return address
     283                                
     284 165540 105737  177564          txchar:	tstb	@#dlxcsr		; wait for TX ready
     285 165544 100375                  	bpl	txchar			; not ready yet, loop
     286 165546 110237  177566          	movb	r2,@#dlxbuf		; TX exactly what we RX'ed
     287 165552 142702  100200          	bicb	#<200*U>+<200*L>,r2	; clear MSB upper/lower characters
     288                                
     289 165556 022323                  retR3:	cmp	(r3)+,(r3)+		; bump return address ptr R3 by +4
     290 165560 000163  177776          	jmp	-2(r3)			; return to (R3)-2
     291                                
Det verkar som att serieportkortet DL11 alltid ger 0 tillbaka. Bit 7 i status registret skall sättas till 1 om det går att sända ett tecken (http://bitsavers.trailing-edge.com/pdf/ ... _Sep76.pdf). Någonting är galet här. Det kan vara fel på kortet eller så är det felbyglat trots allt.
Hmm hmm. DL11 har en UART, och TX RDY kommer, om jag inte minns fel, mer eller mindre rakt av från UARTen, så det är ju bara att mäta på kortet. Först vid UART; och sedan fortsätta fram mot buskretsarna på det kortet med. Jag skulle tro att UARTen själv är ok. Dom brukar hålla bra. Men signalen försvinner någonstans på vägen.
Ska vi tippa på en 8641 till? :)
Skriv svar