Restaurera en PDP11/04

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: Restaurera en PDP11/04

Inlägg av anders_bzn »

Angående DIP-switcharna, hur har datorn förvarats? Jag läste lada någonstans, innebär det att den stått kallt?

Om det inte varit fukt inblandat så förstår jag inte hur de slutat att fungera, jag menar att de borde behållit "värdet" de var inställda på.
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 »

I mitt fall har det varit stående i datorhall. Jag vet inte om DEC använde någon riktigt låg kvalitet på dip-switchar ett tag, men dom tenderar att bli opålitliga. Och rör man dom är det nästan garanterat att dom sedan blir fel. Men motion brukar få ordning på dom igen. Så det är något form av ärgning i vara vanlig luft som är nog för att dom ska få kontaktproblem.
MattisLind
Inlägg: 775
Blev medlem: 27 maj 2011, 20:27:12
Ort: Älvsjö
Kontakt:

Re: Restaurera en PDP11/04

Inlägg av MattisLind »

anders_bzn skrev:Angående DIP-switcharna, hur har datorn förvarats? Jag läste lada någonstans, innebär det att den stått kallt?

Om det inte varit fukt inblandat så förstår jag inte hur de slutat att fungera, jag menar att de borde behållit "värdet" de var inställda på.
Den har stått i en torr för detta lada. Det blir naturligtvis kallt på vintern, eftersom det inte finns någon uppvärmning. Men det finns inga djur där (det var väldigt länge sedan) så det blir ju inte fuktigt.

Det som jag tyckte var märkligt var att det inte hjälpte att "motionera" switcharna.
MattisLind
Inlägg: 775
Blev medlem: 27 maj 2011, 20:27:12
Ort: Älvsjö
Kontakt:

Re: Restaurera en PDP11/04

Inlägg av MattisLind »

PDP11GUI

Jag skulle ju prova PDP11GUI skrivet av Jörg Hoppe. Först knåpade jag ihop en "Machine Description". Därefter krånglade jag med drivers för Prolific chipet som sitter i USB<->serieports-dongeln. Dessa drivers verkar ha stor förmåga att ge Kernel Panic på vilken maskin som helst. Både Mac och Windows... Nåja. Efter ett tag fungerade det.

Bild

Det går inte snabbt precis när man kör allt över 9600 bps. Man kan testa minne och disassemblera kod. Det går att ladda in filer från värddatorn in i minnet på maskinen och exekvera dem. Man kan kopiera en skivminnesimage till ett disk-device i maskinen. Väldigt mycket mer användbar än föregångarna. Fast det är klart, det är ju naturligtvis fusk att använda en dator med 1000 gånger högre prestanda för att agera konsol...
Användarvisningsbild
anders_bzn
Inlägg: 5772
Blev medlem: 17 december 2008, 19:22:18
Ort: Kävlinge
Kontakt:

Re: Restaurera en PDP11/04

Inlägg av anders_bzn »

Det ser ju riktigt kompetent ut. Borde man prova. Finns det disk-image:ar så man kan få igång till RSX om man saknar media själv?

Vi har flera PDP11 som ska igång, men jag vet inte om vi har så bra ordning på diskarna...

Har 11/23+ 11/34 11/35 11/84 och en micro 11/73.

Jag har aldrig jobbat med PDP11 eller kört någon. 11/35 har jag haft ström på och det gick göra deposit/examine till minnet. Med denna tråden blir man bra sugen...

Fast det står en 8/A på tur också...
MattisLind
Inlägg: 775
Blev medlem: 27 maj 2011, 20:27:12
Ort: Älvsjö
Kontakt:

Re: Restaurera en PDP11/04

Inlägg av MattisLind »

BASIC!

Det vore kul att köra något på riktigt i maskinen. Det finns ganska många filer som är kopior av pappersremsor liggandes på nätet. T ex BASIC: http://iamvirtual.ca/PDP-11/Basic-11/DE ... PB-PB.ptap

Problemet är att den är i "Absolute Binary Loader" format. PDP11GUI läser inte detta format (än). Så jag skrev ett litet program i C som konverterar filen till ett enklare format med en adress och en 16 bitars data ord per rad i oktalformat.

Kod: Markera allt

#include <stdio.h>
#include <stdlib.h>

int main (int argc, char ** argv) {
  FILE * input, * output;
  int ch, state = 0, count, size, sum = 0, address, data=0, start=0;
  if (argc==3) {
    input = fopen (argv[1], "rb");
    if (input == NULL) {
      fprintf(stderr, "cannot open file %s for reading\n", argv[1]);
      exit(1);
    }
    output = fopen (argv[2], "w+");
    if (output == NULL) {
      fprintf(stderr, "cannot open file %s for reading\n", argv[2]);
      exit(1);
    }
  }
  else {
    fprintf(stderr, "Usage conver <input> <output>");
    exit(1);
  }
  while(!feof(input)) {
    ch = fgetc (input);
    //fprintf (stderr, "state=%d ch=%02x sum=%02x count=%d start=%d\n", state, ch, sum, count, start);
    switch (state) {
    case 0:
      if (ch != 1) state = 0;
      else {
        state = 1;
        count = 1;
        sum += ch;
        sum &= 0xff;
      }
      break;
    case 1:
      if (ch != 0) state = 0;
      else {
        state = 2;
        count ++;
        sum += ch;
        sum &= 0xff;
      }
      break;
    case 2:
      // read low count byte
      size = ch;
      state = 3;
      sum += ch;
      sum &= 0xff;
      count ++;
      break;
    case 3:
      // read count 
      size = size | (ch << 8);
      state = 4;
      sum += ch;
      sum &= 0xff;
      if (size==6) {
        start = 1;
      }
      count ++;
      break;
    case 4:
      // read address low
      address = ch;
      sum += ch;
      sum &= 0xff;
      state = 5;
      count ++;
      break;
    case 5:
      address = address | (ch << 8);
      state = 6;
      sum += ch;
      sum &= 0xff;
      count ++;
      if (count == size) {
        state =0;
      }
      if (start==1) {
        fprintf (stderr, "Start at %06o\n", address);
        fclose (input);
        fclose (output);
        exit(0);
      }
      break;
    case 6:
      data = ch;
      sum += ch;
      sum &= 0xff;
      count ++;
      if (count == size) {
        state = 7;
      } else {
        state = 8;
      }
      break;
    case 8:
      sum += ch;
      sum &= 0xff;
      data = data | (ch <<8);
      fprintf (output, "%06o %06o\n",address, data);
      address +=2;
      count++;
      if (count == size) {
        state = 7;
      }
      else {
        state = 6;
      }
      break;
    case 7:
      // checksum
      sum += ch;
      sum &= 0xff;
      if (sum!=0) {
        fprintf (stderr, "Checksum error chsum = %02X\n", sum);
        exit(1);
      }
      sum = 0;
      state = 0;
    }
  }
}
Därefter kunde jag få PDP11GUI att läsas in det och starta det på adress 016104:

Bild

Jag har tydligen tappat allt vad kunnande i BASIC jag någonsin hade på de senaste 20 åren. Dessutom så kan den bara hantera versaler. Efter att ha försökt kopiera in med CTRL-V så HALTade den sig. Kanske skickade terminalprogrammet i PDP11GUI CTRL-V och fick den att göra HALT. Nåja. Den fungerar i alla fall!
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 »

10 FOR A=1 TO 10
20 PRINT "HEJ"
30 NEXT A

:)
Användarvisningsbild
pbgp
Inlägg: 1450
Blev medlem: 11 november 2010, 09:09:22
Ort: Uppsala

Re: Restaurera en PDP11/04

Inlägg av pbgp »

Snyggt jobbat!
MattisLind
Inlägg: 775
Blev medlem: 27 maj 2011, 20:27:12
Ort: Älvsjö
Kontakt:

Re: Restaurera en PDP11/04

Inlägg av MattisLind »

anders_bzn skrev:Det ser ju riktigt kompetent ut. Borde man prova. Finns det disk-image:ar så man kan få igång till RSX om man saknar media själv?

Vi har flera PDP11 som ska igång, men jag vet inte om vi har så bra ordning på diskarna...

Har 11/23+ 11/34 11/35 11/84 och en micro 11/73.

Jag har aldrig jobbat med PDP11 eller kört någon. 11/35 har jag haft ström på och det gick göra deposit/examine till minnet. Med denna tråden blir man bra sugen...

Fast det står en 8/A på tur också...
Ja, den kan verkligen lite av varje. Det är ju betydligt enklare att ha en bootstrap på fil och dumpa in den i minnet än att sitta och knappa på konsolen (med switchar eller ej). Jag kontaktade Jörg angående Absolute Loader. Han la in koden jag skickade och nu kan man med version 1.36 ladda in sådana pappersremsor direkt. När det gäller diskimager så måsta man ju ha det verkliga devicet för att det ska fungera. PDP11GUI klarar MSCP, RL-diskar och RM-diskar. Det finns den del diskimages på bitsavers för RL. Bland annat en RSX11M version 3.2. Hade jag haft en RL11 och en RL02/RL01 skulle jag kunnat använda PDP11GUI att kopiera in en image på disken. Fast jag skulle tro att det tar fruktansvärt lång tid att föra över 5 Mbyte eller så med hjälp av PDP11GUI med 9600 bps serielina.
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 »

Fast du vill nog inte försöka köra RSX på en 11/04... Det är möjligt, men nu pratar vi omappad RSX, vilket gör att man får ett väldigt mycket mer begränsat system. Om man har någon specifik applikation man vill köra kan jag tänka mig RSX, annars är nog RT-11 bättre anpassat för den hårdvaran.

Sedan finns ju RSX-11S också, om man vill köra disklöst. Men då vill du kanske ha en annan maskin i närheten som kan serva saker.

Förresten, men 9600 bps så skickar du ju runt 1K i sekunder. 5 MB skulle alltså i runda slängar ta 5000 sekunder, eller 83 minuter, eller knappt en och en halv timme... Det är ju ett tag, men inte helt omöjligt. Finns det någon felkontroll i den överföringen? Annars skulle jag nog vara orolig för en eller annan missad byte, eller bitfel någonstans.
MattisLind
Inlägg: 775
Blev medlem: 27 maj 2011, 20:27:12
Ort: Älvsjö
Kontakt:

Re: Restaurera en PDP11/04

Inlägg av MattisLind »

PROM programmering och BOOT

I ett tidigare inlägg i tråden nämnde jag att det skulle vara bra att ha en programmerare som kunde programmera bipolära PROM. Det visade sig att elektronikforum-medlemen "Säter" hade en DATA I/O 29B. En programmerare från tidigt 80-tal. En dag i början på hösten hade han ett ärende förbi Stockholm och tog med sig programmeraren som jag då fick låna. Tackar så mycket för det "Säter"!! Bild

Med denna trevliga maskin kopplad via en USB serieport till datorn gick det perfekt att bränna äldre PROM:ar. Dessutom hade jag lyckats få tag på de sista Bipolära PROM som Belganet Data Elektronik hade på lager. Så nu har jag tre stycken Motorola MCM7621 PROM brända med bootstrap för TU58 (DD), TU60/TA11 (CT) och MSCP-disk (DU) monterade på mitt M9312 bootstrap kort!

TU58, även kallad DECTape II är en lustig sak som Digital skapade som efterträdare den den gamla DECtape. Kassetter av DC100 typ i en bandstation kopplad med ett kontrollerkort till en serieport på datorn. Varje kassett rymmer 262144 bytes... Problemet med TU58 och nästan alla äldre bandstationer med gummi capstan är att gummit torkar eller faller sönder med tiden. Jag har ett flertal TU58 på lager men alla har mer eller mindre havererade capstan. Det är faktiskt ett enormt stort problem om man ska bevara saker i plast och gummi att polymererna inte är långtidsstabila utan plötsligt faller sönder. Lösningen är att man ganska lätt kan emulera TU58 protokollet på en PC. Det finns varianter att köra under DOS och andra som går att köra på Linux. Jag hittade denna som efter en liten förändring kompilerade fint för MacOS.http://www.ak6dn.dyndns.org/PDP-11/TU58 ... index.html

Nästa steg är att försöka boota något med hjälp av en TU58 image
Användarvisningsbild
säter
Inlägg: 35216
Blev medlem: 22 februari 2009, 21:16:35
Ort: Säter

Re: Restaurera en PDP11/04

Inlägg av säter »

Roligt att brännaren fungerar.

Kom du någon vart med att bränna Harris 7611?
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 »

> Med denna trevliga maskin kopplad via en USB serieport till datorn

He he, vi hade ungefär samma modell (tror att det var DATA I/O 19B) kopplad till en
serieport på våran PDP 11/23. Vi fick PROM filer från utvecklarna i Stockholm (över en
uppringd 2.400 lina) som vi sedan överförde till Data I/O'n. PROM'ar till kretskort för
Ericssons transmissionsutrustning...

Oh well...
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:Roligt att brännaren fungerar.

Kom du någon vart med att bränna Harris 7611?
Tyvärr inte. Programmeraren visade någon märklig felkod och sedan blev det inget mer. Kanske är det ett problem som man rättat i senare firmware. Men byte av firmware är inte så lätt. Man ska dels hitta en som passar just till denna hårdvara och dels ha rätt sorts EPROM och PAL:ar.
MattisLind
Inlägg: 775
Blev medlem: 27 maj 2011, 20:27:12
Ort: Älvsjö
Kontakt:

Re: Restaurera en PDP11/04

Inlägg av MattisLind »

Skapa TU58 image med Ersatz-11

Hur får man tag på en TU58 image att prova på sin gamla maskin. Man kan ju försöka med google, fast det ger inte många bra träffar. Bättre är att laga till en egen! Det gör man med det förträffliga verktyget Ersatz-11, eller E11:http://www.dbit.com Finns för DOS, Windows, Linux, OS/2 och rå X86 plåt. Som hobbyist är den gratis att använda. E11 emulerar fullt ut en hel massa olika varianter av PDP-11 med tillhörande pereferienheter. Man kan sätta exakt vilken CPU som ska emuleras och hur mycket minne den ska ha.

På bitsavers finns det disk-image:ar som man kan ladda ned och köra. Perfekt om man vill prova ett stenåldersoperativsystem utan att krångla med gammal hårdvara (även om det naturligtvis har sin tjusning). Så här gjorde jag för att skapa en bootbar TU58 image:

Kod: Markera allt

mattis@mattis-VirtualBox:~/Desktop/E11v7$ dd if=/dev/zero of=rtv4dd2.dsk bs=512 count=512
512+0 records in
512+0 records out
262144 bytes (262 kB) copied, 0.00659226 s, 39.8 MB/s
mattis@mattis-VirtualBox:~/Desktop/E11v7$ ./e11
Ersatz-11 V7.0 Demo version, COMMERCIAL USE LIMITED TO 30-DAY EVALUATION
Copyright (C) 1993-2013 by Digby's Bitpile, Inc.  All rights reserved.
See www.dbit.com for more information.
E11>mount dk0: /rk05 rtv4_rk.dsk
E11>assign tt1: dda:
E11>mount dda0: rtv4dd2.dsk
E11>boot dk0:

RT-11SJ  V04.00C 

.D 56=5015

.TYPE V4USER.TXT
Welcome to RT-11 Version 4. RT-11 V04 provides new hardware support
and some major enhancements over Version 3B.

Please use the HELP command;  it describes the new options in many
of the utilities.

If you are using a terminal that requires fill characters,
modify location 56 with a Deposit command before proceeding with
system installation. LA36 DECwriter II and VT52 DECscope terminals
do NOT require such modification.


.D 56=0

.INITIALIZE DD0:
DD0:/Initialize; Are you sure? Y

.COPY/SYS DK0:RT11SJ.SYS DD0:
 Files copied:
DK0:RT11SJ.SYS to DD0:RT11SJ.SYS

.COPY/SYS DK0:DD.SYS DD0:
 Files copied:
DK0:DD.SYS     to DD0:DD.SYS

.COPY/SYS DK0:TT.SYS DD0:
 Files copied:
DK0:TT.SYS     to DD0:TT.SYS

.COPY DK0:(PIP,DUP,DIR,RESORC).SAV DD0:
 Files copied:
DK0:PIP.SAV    to DD0:PIP.SAV
DK0:DUP.SAV    to DD0:DUP.SAV
DK0:DIR.SAV    to DD0:DIR.SAV
DK0:RESORC.SAV to DD0:RESORC.SAV

.COPY/BOOT DD0:RT11SJ.SYS DD0:

.COPY/SYS DK0:SWAP.SYS DD0:
 Files copied:
DK0:SWAP.SYS   to DD0:SWAP.SYS

.COPY STARTS.COM DD0:
 Files copied:
DK:STARTS.COM  to DD0:STARTS.COM

.COPY DK0:V4USER.TXT DD0:
 Files copied:
DK0:V4USER.TXT to DD0:V4USER.TXT

.BOOT DD0:

RT-11SJ  V04.00C 

.D 56=5015

.TYPE V4USER.TXT
Welcome to RT-11 Version 4. RT-11 V04 provides new hardware support
and some major enhancements over Version 3B.

Please use the HELP command;  it describes the new options in many
of the utilities.

If you are using a terminal that requires fill characters,
modify location 56 with a Deposit command before proceeding with
system installation. LA36 DECwriter II and VT52 DECscope terminals
do NOT require such modification.


.D 56=0

.DIR DD0:
 
RT11SJ.SYS    67  01-Feb-82      DD    .SYS     5  01-Feb-82
TT    .SYS     2  01-Feb-82      PIP   .SAV    23  01-Feb-82
DUP   .SAV    41  01-Feb-82      DIR   .SAV    17  01-Feb-82
RESORC.SAV    15  01-Feb-82      SWAP  .SYS    25  01-Feb-82
STARTS.COM     1  01-Feb-82      V4USER.TXT     1  01-Feb-82
 10 Files, 197 Blocks
 307 Free blocks

.Killed
mattis@mattis-VirtualBox:~/Desktop/E11v7$ ./e11
Ersatz-11 V7.0 Demo version, COMMERCIAL USE LIMITED TO 30-DAY EVALUATION
Copyright (C) 1993-2013 by Digby's Bitpile, Inc.  All rights reserved.
See www.dbit.com for more information.
E11>assign tt1: dda:
E11>mount dda0: rtv4dd2.dsk
E11>boot tt1

RT-11SJ  V04.00C 

.D 56=5015

.TYPE V4USER.TXT
Welcome to RT-11 Version 4. RT-11 V04 provides new hardware support
and some major enhancements over Version 3B.

Please use the HELP command;  it describes the new options in many
of the utilities.

If you are using a terminal that requires fill characters,
modify location 56 with a Deposit command before proceeding with
system installation. LA36 DECwriter II and VT52 DECscope terminals
do NOT require such modification.


.D 56=0

.Killed
mattis@mattis-VirtualBox:~/Desktop/E11v7$ ./e11
Ersatz-11 V7.0 Demo version, COMMERCIAL USE LIMITED TO 30-DAY EVALUATION
Copyright (C) 1993-2013 by Digby's Bitpile, Inc.  All rights reserved.
See www.dbit.com for more information.
E11>assign tt1: dda:
E11>mount dda0: rtv4dd2.dsk
E11>set cpu 04
E11>set mem 16
E11>boot tt1

?BOOT-U-�Insufficient memory


%HALT
R0/000765 R1/002124 R2/005006 R3/000035  CM=K PM=K PRIO=0
R4/177276 R5/035606 SP/007762 PC/000724  N=0 Z=1 V=0 C=0
000724	br	000722
E11>set mem 24 
E11>boot tt1   

RT-11SJ  V04.00C 

.D 56=5015

.TYPE V4USER.TXT
Welcome to RT-11 Version 4. RT-11 V04 provides new hardware support
and some major enhancements over Version 3B.

Please use the HELP command;  it describes the new options in many
of the utilities.

If you are using a terminal that requires fill characters,
modify location 56 with a Deposit command before proceeding with
system installation. LA36 DECwriter II and VT52 DECscope terminals
do NOT require such modification.


.D 56=0

.
Tja, inte så komplicerat. Det man kan nämna är att på E11 i min miljö (Linux / Virtualbox / MACOS) så kan man inte trycka SHIFT-ENTER för att komma tillbaka till E11 prompten. Kör jag Windows / Virtualbox / MACOS fungerar det utmärkt. Det är väl något med hur det hanterar tangentbordsinput under Linux skulle jag tro. Resultatet blev i alla fall att för att boota om så fick jag helt enkelt döda processen.

Tyvärr visade sig en lite irriterande komplikation i och med ovanstående övning: Man måste ha minst 24 k minne för att boota RT11 V4 om man vill använda TU58. Äldre versioner av RT11 fungerar med mindre minne, men i dessa finns ingen driver för TU58.

Målet är i och för sig att köra från den TU60 som kom med datorn. RT11 V3 har driver för TU60 så det ska vara möjligt. Återstår bara att försöka dels få igång TU60 bandstationen och dels skapa ett bootbart band. Inte helt enkelt, men möjligt.
Skriv svar