PDP-8/L Renovering

Berätta om dina pågående projekt.
Användarvisningsbild
anders_bzn
Inlägg: 5772
Blev medlem: 17 december 2008, 19:22:18
Ort: Kävlinge
Kontakt:

Re: PDP8 Renovering

Inlägg av anders_bzn »

Efter att ha knappat in programmet rätt så hände det lite mer. Det har sina sidor att ha maskinen upp och ner på bänken, men det är nödvändigt eftersom den servas från undersidan.

Jag bestämde mig för att mäta timing tillstånden. Det går fyra tillstånd på en komplett maskincykel, dessa heter TS1-TS4. I DECs manualer hittar man förstås facit på hur det ska se ut:

Bild

Sen är det ju bara att koppla in logikanalysatorn och kolla på hur det ser ut:
Bild
Man ser då (signalerna är inte i samma ordning) att TS4 saknas och det gör även TP3. TP3 är en tidspuls. Detta förklarar nog ett och annat. IOP signalerna saknas också men jag kör ingen IO instruktion så detta väntar jag lite med.

Bild
Man ser på schemat att TS3 inte heller borde fungera om TP3, vilken den inte heller gör hela tiden. Signalerna vid 1 och 2 är TP2 respektive TP3, båda kommer ifrån samma delay-line. TP2 fungerar men inte TP3. Jag mätte TP3 med oscilloskopet och konstaterade att pulserna visst finns men att amplituden på pulserna är knappt 1V. De borde vara över 3V...

Jag mätte även precis innan sista buffertkretsen vid (2) och där är amplituden som den ska. Alltså något lastar förmodligen ner signalen. Vippan, en 7474 som håller TS3 (och TS4) vid (3) byttes snabbt ut men det gjorde ingen skillnad. Bytte hela kortet med 2-ingångars NAND grindar som man ser till höger på schemat utan resultat. Förmodligen finns TP3 att hitta på något mer schemablad men det har jag inte hunnit kolla ännu.

Fortsättning följer...
bqt
Inlägg: 267
Blev medlem: 14 juni 2011, 11:54:44
Skype: sillbit
Ort: Zürich

Re: PDP8 Renovering

Inlägg av bqt »

Nu är mitt minne luddigt, och egentligen borde jag kolla dokumentation och så vidare. Speciellt eftersom du gör detta så grundligt.

Men kommer jag ihåg fel att TS4 bara händer om det finns DMA som ska utföras? Dvs, jag skulle inte fövänta mig en TS4 i ditt testprogram.

Att TP3 (och TS3 antar jag) saknas är däremot något som låter fel.
Användarvisningsbild
anders_bzn
Inlägg: 5772
Blev medlem: 17 december 2008, 19:22:18
Ort: Kävlinge
Kontakt:

Re: PDP8 Renovering

Inlägg av anders_bzn »

Nja, TS4 har inget med DMA att göra. Kollar man på schemat ser man att TS4 sätts på samma signal som TS3 går låg dvs TP3 om det inte är in IO instruktion. Då kommer den först senare! Man ser samma sak i DECs vågformsdiagram.

Man kan också de var som ska hända i varje TS om man kollar lite här (D-FD-8L-0-21 Flowdiagram). I denna då:
Schematics
http://www.abc80.net/zz/pdp8/DEC-8L-HR2 ... _Feb70.pdf

Maintainance manualen:
http://www.abc80.net/zz/pdp8/DEC-8L-HR1 ... ntVol1.pdf

Module location/schematics/pictures:
http://www.abc80.net/docs/pdp8/modules

Passade på att länka till mina tre favorit dokument. Jag har de utskrivna fulla med anteckningar. De följer med mig när jag åker bort...

Sen har jag suttit och letat efter TP3 i schemat en stund och jag fann detta:

Kod: Markera allt

Plats	   kort	anslutning	I/O	Blad
D06		M310	J1	O		D-BS-8L-0-2
C05		M113	A1	I		D-BS-8L-0-2 Kollad
C05		M113	D2	I		D-BS-8L-0-2 Kollad
C04		M216	N1	I		D-BS-8L-0-2 Kollad
C06		M216	N1	I		D-BS-8L-0-2
C12		M115	J2	I		D-BS-8L-0-6
A13		M160	M1	I		D-BS-8L-0-6
A13		M160	H1	I		D-BS-8L-0-6
A13		M160	A1	I		D-BS-8L-0-6
C14		M113	E1	I		D-BS-8L-0-6
(Attans rubrik, ja ni förstår nog).

Det är på några ställen som TP3 dyker upp, det är bara att börja leta. Jag tror jag vet var jag ska fortsätta...
Användarvisningsbild
anders_bzn
Inlägg: 5772
Blev medlem: 17 december 2008, 19:22:18
Ort: Kävlinge
Kontakt:

Re: PDP8 Renovering

Inlägg av anders_bzn »

BQT, visst har du minst en PDP-8/A och någon 11?

Jag har en nästan komplett A som ska igång när jag fått i gång denna, sen råkar ju jag/vi ha en hög 11:or också. Har bara en DEC maskin till hemma, en 11/84 som hittade hit i november förra året...
Användarvisningsbild
anders_bzn
Inlägg: 5772
Blev medlem: 17 december 2008, 19:22:18
Ort: Kävlinge
Kontakt:

Re: PDP8 Renovering

Inlägg av anders_bzn »

Nåväl.

Mycket utläggningar om ett litet enkelt fel... Det var som jag misstänkte M160 i A13 höll nere TP3. Det är lagat och nu kör det lilla programmet.

Men. Det är alltid ett men, det verkar som bara de sex minsta bitarna inkrementeras, men det hinner man inte se. Men jag provade att starta och stoppa programmet och värdena ändrade sig. Sen försökte jag single steppa men det gick inte alls. Switchen känns riktigt dåligt, den fjädrar inte ens tillbaka upp som jag misstänker att den ska göra. Får mäta på detta, för att se om det är switchen.

I vilket fall, idag har datorn exekverat sina första instruktioner på mycket länge!
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: PDP8 Renovering

Inlägg av sodjan »

Hm, i alla fall något slags "liv", om än på ganska låg nivå... :-)
bqt
Inlägg: 267
Blev medlem: 14 juni 2011, 11:54:44
Skype: sillbit
Ort: Zürich

Re: PDP8 Renovering

Inlägg av bqt »

Kul med framsteg. Ja, jag minns med andra ord helt fel om TS4. Och så kan det kanske vara skillnad på Omnibus-maskiner. Jag har egentligen bara skrotat runt i sådana där "moderna" PDP8or.

Jo, det stämmer att jag har några åttor. Jag tror det är tre 8/a, en 8/m, en 8/f och en 8/e. Det har varit mer en gång i tiden, men lite skrot har jag skänkt iväg, så jag har inte riktigt koll längre. En bunt elvor har jag väl också... Det mesta fungerandes dessutom. Jag hjälpte Pontus att läsa lite PDP-15 DECtape på en 8/a i julas.

Om single-step på en 8/L liknar den på nyare maskiner, så skulle den gå att köra i två lägen. Stega till nästa instruktion (stanna vid TS1 med andra ord), eller stega en klockpuls i taget. Det borde vara väldigt enkel elektronik för den switchen, så det borde du kunna debugga ganska lätt. Det underlättar väldigt mycket att kunna stega klockpuls för klockpuls.
Användarvisningsbild
anders_bzn
Inlägg: 5772
Blev medlem: 17 december 2008, 19:22:18
Ort: Kävlinge
Kontakt:

Re: PDP8 Renovering

Inlägg av anders_bzn »

Jo han nämnde nog något om OS/8...

Vad det gäller single step switchen så fungerar den elektriskt, mätte lite snabbt med oscilloskopet på den. Hur den ska fungera vet jag inte, får kolla lite i manualen innan jag fortsätter felsökningen.

Vad det gäller ackumulatorn så är det problemet ur världen nu, en flip-flop som håller två bitar AC04 & AC05 satt fast som nollor. Det är lagat och det verkar som programmet snurrar som det ska. Men det går fort (nåja allt är ju relativt), man räknar runt ackumulatorn på 13ms så man hinner inte se något.

IAC och JMP verkar ju fungera nu!
Användarvisningsbild
anders_bzn
Inlägg: 5772
Blev medlem: 17 december 2008, 19:22:18
Ort: Kävlinge
Kontakt:

Re: PDP8 Renovering

Inlägg av anders_bzn »

Nu vet jag hur "single step" borde fungera. Man ska tydligen fälla ner "single step" (den är inte återfjädrande). Då kommer maskinen stanna innan TS1 (run flip/floppen sätts till noll). Genom att trycka ned "Continue" kommer maskinen göra en instruktion till och kommer att på nytt stanna.

Så trodde inte jag det fungerade. Jag trodde att maskinen skulle ta och utföra en instruktion för varje gång man tryckte ner "single step". Jag har testat funktionen och det fungerar! När man kör det lilla programmet så ser man hur accumulation räknas upp ett steg i taget.

Detta står det om i Users Handbook.

Sen började jag fundera lite på konsol:en. Hela tiden så har meningen varit att jag ska använda ASR-33:an till detta men att det kanske är lättare att börja med en PC. Så jag konstruerade en Strömslinge-RS232 adapter.

Sen fick jag köpa ett kort som man stoppar i bakplanet och får ut RS232 direkt.

Och ikväll mindes jag ett labbkort och några USB-moduler med FTDI chip. Gammalt möter nytt!

Bild
Tre generationer interface, fråmn vänster: Strömslinge interface, RS232 och sist det blivande USB interfacet!
Användarvisningsbild
6502
Inlägg: 174
Blev medlem: 2 mars 2007, 23:04:17
Ort: Tomelillla
Kontakt:

Re: PDP8 Renovering

Inlägg av 6502 »

Fan va kul Anders, grattis till ytterligare en milstolpe.
anderi
Inlägg: 13
Blev medlem: 11 januari 2012, 10:33:30

Re: PDP8 Renovering

Inlägg av anderi »

Vill bara instämma i hyllningskören. Verkligen kul att det går framåt.
/Anders sm0orv
Användarvisningsbild
anders_bzn
Inlägg: 5772
Blev medlem: 17 december 2008, 19:22:18
Ort: Kävlinge
Kontakt:

Re: PDP8 Renovering

Inlägg av anders_bzn »

Tack tack,

Jo det känns kul att det börjar röra på sig lite. Nu sitter jag och läser "Introduction to programming" för att lära mig att koda...

I morgon ska jag försöka mig på att stoppa i serie interface korten tillsammans med mitt nya USB W076 kort. Få förhoppningsvis USB modulerna imorgon som jag beställt, de jag hade visade sig vara PIO...
bqt
Inlägg: 267
Blev medlem: 14 juni 2011, 11:54:44
Skype: sillbit
Ort: Zürich

Re: PDP8 Renovering

Inlägg av bqt »

Om du har fungerande seriesnöre, så kommer här två små program till du kan testa med:

(Skriv ut alla tecken som går på terminalen)
LOOP, IAC
TLS
TSF
JMP .-1
JMP LOOP

binärt (med address 200 som exempel):

200: 7001
201: 6046
202: 6041
203: 5202
204: 5200

Och ett litet program som läser från tangentbordet och ekar tecknen igen:

LOOP: KSF
JMP .-1
KRB
TLS
TSF
JMP .-1
JMP LOOP

200: 6031
201: 5200
202: 6036
203: 6046
204: 6041
205: 5204
206: 5200


PDP8 är enkel att skriva program på, och man kan ju tillochmed assemblera i huvudet. :)
Användarvisningsbild
bit96
Inlägg: 2528
Blev medlem: 3 september 2007, 10:04:29
Ort: Säffle

Re: PDP8 Renovering

Inlägg av bit96 »

Jag har följt denna trevliga tråd sen start. :tumupp:

bqt:
Eftersom jag är nyfiken så vore det bra om du på dina korta programexempel ger en kort förklaring vad som händer, rad för rad.
Även om man kan assembler för en del processorer så känner i alla fall inte jag till just den här, och inte vilka register som finns.
En liten kort kommentar skulle göra att man kan följa med.
bqt
Inlägg: 267
Blev medlem: 14 juni 2011, 11:54:44
Skype: sillbit
Ort: Zürich

Re: PDP8 Renovering

Inlägg av bqt »

Ah. Sorry. Tänkte inte på att en beskrivning kunde vara passande, ska genast bättra mig.

Dom två senaste programmen, då:

Kod: Markera allt

          .=200       / Startaddress
LOOP, IAC           / Öka ackumulatorn med 1.
          TLS           / Ladda transmit med AC (transmit för konsol-UART, även om det faktiskt är diskret logik)
          TSF           / Skippa om transmit done
          JMP .-1     / Loopa. Blir med andra ord en loop som väntar tills transmit är done.
          JMP LOOP / Hoppa till början igen, och upprepa.
$
För varje varv i programmet ökar AC med ett, och skickas till konsolen med andra ord.

Kod: Markera allt

          .=200       / Startaddress
LOOP, KSF           / Skippa om konsole receive har data
          JMP .-1     / Loopa tills det finns ett tecken från konsolen
          KRB           / Läs in tecken som finns i bufferten i rcv (placerar det i AC)
          TLS            / Skicka AC till transmit
          TSF            / Skippa om transmit done
          JMP .-1      / Loopa ända tills transmit done.
          JMP LOOP  / Loopa i programmet
$
Hoppas formatteringen blev bättre den här gången också. Jag har använt standard PAL8-notation, vilken kan se lite udda ut om man är vad vid en del annan assembler-syntax.

Fråga på, om ni undrar något om programmering på PDP8.
Skriv svar