Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » Elektronika E60 » Themenansicht

Autor Thread - Seiten: -1-
000
15.11.2011, 23:45 Uhr
holm

Avatar von holm

ist zwar nicht Robotron, aber mindestens so interessant wie ein KC85 finde ich :-)

Ich hatte letztens von Günter aus Kolkwitz einen Einschub einer E60 mitgenommen und den Kram heute mal untersucht. Es handelt sich im Prinzip um eine PDP11-23 allerdings mit einer aus anderem, von den Russen selbst erfundenen CPU Kram der Serie K581 (K581IK1, IK2, RU1,RU2,RU3) wobei die RUs die Mikrobefehlsspeicher sind, IK2 das Steuerwerk und IK1 die RALU. Die serielle Schnittstelle zum Terminal ist völlig "zu Fuß" aufgebaut, also nur TTL und hat eine 20mA Schnittstelle (IFSS, weiß der Teufel wie das in diesem Rechner heißt) und kann maximal 9600Baud. Ich habe einen Stecker gebastelt der an die 8 polige Buchse paßt (..oder besser andersherum, ähnlich Pfostenbuchse in Stecker auf Platine) ein paar Widerstände drangetüddelt und betreibe das am PC als V.24, funzt. das Ding hat 32KWorte DRAM mit MMU Betrieb (18 Bit Adressen 256K adressierbar) und 4KWorte auf der CPU.
Das Gefäßsystem ist dem Q-BUS System der PDP11 relativ ähnlich bzw. identisch allerdings im metrischen Raster, nix paßt...
Ein chickes Bild der M2 CPU gibt es hier:
http://upload.wikimedia.org/wikipedia/commons/e/e4/E60M2.JPG

Der im Microcode der CPU enthaltene Debugger funktioniert ohne jeden RAM, der braucht nur die serielle Schnittstelle um zu funktionieren, deswegen war die das erste was ich zum laufen gebracht hatte (K155LN1 und K559IP3 defekt).

Mann kann dann ein Programm einhebeln und starten:

Quellcode:
@4/177777 226
000006/177777 0
000010/177777 12
000012/177777 0
000014/177777 .?
@
000016/177777 .?
@200/177777 12706
000202/177777 410
000204/177777 12700
000206/177777 420
000210/177777 10001
000212/177777 10111
000214/177777 20111
000216/177777 1401
000220/177777 0
000222/177777 5121
000224/177777 772
000226/177777 12737
000230/177777 6
000232/177777 4
000234/177777 10001
000236/177777 5111
000240/177777 20111
000242/177777 1401
000244/177777 0
000246/177777 5721
000250/177777 772
000252/177777 .?
@
Kontrolle:

@200/012706
000202/000410
000204/012700
000206/000420
000210/010001
000212/010111
000214/020111
000216/001401
000220/000000
000222/005121
000224/000772
000226/012737
000230/000006
000232/000004
000234/010001
000236/005111
000240/020111
000242/001401
000244/000000
000246/005721
000250/000772
000252/177777 .?
@4/000226
000006/000000
000010/000012
000012/000000
000014/177777 .?
@200G
... G nach 200 oktal..
000010 Trap!

Register  angucken:
@R0/000420
R1/160000
R2/100247
R3/077577
R4/077577
R5/077577
R6/000400
R7/000010
R8/000420 .?
@

In R1 steht die erst nicht mehr funktionierende Speicheradresse, 160000. Das ist in diesem Fall völlig ok, da hier der Adressbereich für I/O Register und Adapter beginnt.
Die MMU wird hier nicht benutzt.
Das Programm ist hier beschrieben: http://www.psych.usyd.edu.au/pdp-11/hints.html

Das sollte auf einer K1630 genauso funktionieren.

Ein Interface für ein 8 Zoll Doppelfloppy habe ich auch hier (Controller würde ich das Ding nicht nennen, der ist eher im Floppy und das habe ich mir noch nicht angesehen) und außerdem 2 parallele Interfaces mit 8 und 16 Bit hauptsächlich zum Anschluß verschiedener Drucker (SD1156 war mal dran).
Ich habe sogar die originalen Disketten dazu aber spätestens dann fängt das Ding an kyrillisch zu schwafeln (Fodos) da ich das originale Terminal nicht hier habe, werde ich das maximal mal versuchen zu booten, das gibt mit Sicherheit Sauerkraut im Xterm ...und erst auf der Tastatur...

Ich werde mal schauen ob ich irgendwie 'RT-11 auf die Kiste bekomme.

Bis dahin ist aber noch viel Zeit.

Eine der beiden CPU Karten die ich hier habe ist breit. Ich habe eine ganze Weile Fehler gesucht und behoben, dann irgendwann festgestellt, das einer der 4 Takte für die CPU fehlt, der Treiber ein K170AP3 hatte einen defekten Ausgang. Ich habe die 2. nicht benutze Hälfte statt dessen angeschlossen, das Ding geht immernoch nicht, aber der Treiber wird schweineheiß, auf die Art wird wohl auch die erste Hälfte gestoben sein.
Ich vermute, das die CPU selbst hinüber ist, also einer der 5 oben angeführten ICs im 48 poligen QIL gehäuse. Sowas hat nicht einer noch rumliegen? Ich weiß das soclhes Zeuch bei Ebay angeboten wird, aber das ist es dann wohl doch nicht wert....

Gruß,

Holm.
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 16.11.2011 um 16:28 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
16.11.2011, 09:56 Uhr
Rüdiger
Administrator
Avatar von Rüdiger

Super, dass Du das Gerät zum Laufen bekommen hast. Da kannst Du bald stilecht Tetris spielen.

Das spornt an, an unserer K1630 weiter zu bauen, zumindest mal das Speichertest-Programm auszuprobieren.

Weißt Du schon, warum Günters große E60 nicht funktioniert?
--
Kernel panic: Out of swap space.

Dieser Beitrag wurde am 16.11.2011 um 10:35 Uhr von Rüdiger editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
16.11.2011, 11:15 Uhr
holm

Avatar von holm

Die große E60 ist das Selbe wie das was ich hier habe. Der Einschub befindet sich nur im großen Gehäuse, der Rechner selbst ist das gleiche Ding.
Ich habe Günter gesagt, er soll die Platinen ziehen und her schicken so dass ich die nacheinander testen kann, dann wird auch die wieder funktionieren.
Er hatte mir im Bunker allerdings einen Einschub gezeigt, der nicht der Rechnerkern sein kann,
das ist entweder ein Erweiterungsgefäß (ich habe 4 Koppelkarten hier) oder aber ein Plattencontroller für Wepse oder so. Da war nicht die Q-Bus Rückverdrahtung enthalten sondern das war alles gewickelt. Ich habe auch eine offensichtlich zum "großen" System gehörende Platine eines Band-Controllers hier (CM5300), dieser Controller hat eine eigene CPU auf der Basis von 4 AM2901 Bitscheiben (K1804WS1) samt Mikroprogrammsteuerung. Kann sein, dass ich mir irgendwo her mal ein Bandgerät ausleihen muss... (Gerd R. müsste noch eins haben IMHO)

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 16.11.2011 um 16:29 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
16.11.2011, 16:27 Uhr
holm

Avatar von holm

...ich werde wohl ernsthafte Schwierigkeiten habe, das von Günter mitgebrachte GMD-7012 8 Zoll Doppeldiskettenlaufwerk der E60 in Betrieb zu setzten, da fehlt der Anker des Antriebsmotors komplett mit den Lagern und Riemenscheibe, die Riemen und einem der Laufwerke fehlt diese
Klemmmimik für den Antriebsring der Diskette. Die Elektronik ist soweit komplett nur die Mechanik wurde ausgeräubert.
Diese Klemmechanik für die Diskette könnte ich ja eventuell anfertigen, aber den Anker des Motors wohl nicht. Das ist ein 220V Wechselstrommotor mit 4 Spulen, jeweils 90° Versatz.

Gibt es noch irgendwo eingelagerte Reserven an solchem Zeug? (Rüdiger?) ich denke wohl eher nicht..

Ein Anderes Laufwerk funktioniert an der Maschine auch nicht, da wie schon beschrieben der eigentliche Controller inklusive Datenpuffer auf der Laufwerkselektronik sitzt.
Damit kann ich den Kram erst mal wieder bei Seite räumen..

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 16.11.2011 um 16:29 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
16.11.2011, 17:33 Uhr
holm

Avatar von holm

Hier mal ein paar Bilder aus einem Reparaturhandbuch, die das Floppy zeigen:






Vielleicht erkennt ja Jemand Motor und Riemen..

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
16.11.2011, 18:06 Uhr
Rüdiger
Administrator
Avatar von Rüdiger


Zitat:
holm schrieb
Gibt es noch irgendwo eingelagerte Reserven an solchem Zeug? (Rüdiger?)

Habe ich definitiv nicht.

Miss mal die Riemenscheibe an der Floppyspindel aus. Falls die mit anderen Laufwerken von mir identisch ist, könnten wir zumindest die Größe der Riemenscheibe am Motor ermitteln. Die Antriebsmotoren waren meist 220V-Wechselstrom-Synchronmotoren, die sollten aus jedem anderen 8-Zoll-Laufwerk passen.

Oder beschaff irgendeinen 8-Zoll-Laufwerksmotor und mache auf der Drehbank allmählich eine Riemenscheibe passend (Spindeldrehzahl stroboskopieren oder den Indexpuls messen).

Die Schließmechanik erinnert mich stark an das BASF 6101. Ob das vielleicht das Vorbildgerät war?
--
Kernel panic: Out of swap space.

Dieser Beitrag wurde am 16.11.2011 um 18:11 Uhr von Rüdiger editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
16.11.2011, 18:12 Uhr
Enrico
Default Group and Edit



Zitat:
holm schrieb
Das Gefäßsystem ist dem Q-BUS System der PDP11 relativ ähnlich bzw. identisch allerdings im metrischen Raster, nix paßt...

Scahde. Und dachte, die waren nur so schlau die Stecker schräg zu machen, damit es sich leichter stecken lässt.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
16.11.2011, 18:35 Uhr
holm

Avatar von holm

Ich habe vorhin mit Günter telefoniert, der meint das noch Ersatzteilzeuch da sein müßte.
Er wird nachsehen, wenn er wieder beweglich ist. Ein anderes Laufwerk wäre wohl auch noch da,
kommt Zeit kommt Rat. Neu fertigen kann man das sicher wenn es unbedingt not tut.
Auf jeden Fall kann ich den Kram erst mal wieder in die Ecke räumen..

@Enrico: den selben Fehler haben die in ihren Oszis gemacht (C1-91, C1-122). Das sind Tek Nachbauten, aber die Steckverbinder der Einschübe sind metrisch bei ansonsten gleicher Belegung.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 16.11.2011 um 19:47 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
16.11.2011, 20:19 Uhr
holm

Avatar von holm

Ich habe Euch noch einmal ein paar Fotos gemacht von dem Ding:

So sieht das, was von dem Motor übrig ist im Laufwerk aus. Was ich nicht begreife,
ist wo die Lager des Ankers hin sind, es sieht mir irgendwie danach aus, als ob das eine komplette Einheit ist, die da irgendwie nur eingeklemmt ist...



Das steht auf dem Motor, 220V, 10 Watt, 2740 Um/min, Typ KD10-7/44OnyXL4
... und das Ding stinkt. Ich habe mal kurz gemessen, die Wicklungen sollten augenscheinlich 156 Ohm haben, eine ist dabei mit 35 und eine mit ca 100Mohm.. Neu wickeln fällt aus, da die
Spulenkörper auf den inneren Stern gesteckt worden sind (mit dem runden Loch drin) und das Ganze dann in das äußere Blechpaket gepreßt wurde.




Das ist die obere Platine der Steuerung..



...da wohnen nette Leute drauf:




ein Netzteil hat das Ding auch:




und wie kommt das Ding zu seiner Intelligenz? Na mit dem Schweizer Taschenmesser dieser Zeit, 2x AM2901 4 Bit Scheiben und ein Steuerwerk aus 3x AM2909. Das Mikroprogramm scheint in 4 Stück K556RT5 zu wohnen.



Was außer dem Motor noch fehlt, ist dieses Ding, es war nur 1x vorhanden:





...hoffentlich wollte das Jemand wissen, Robotron isses ja nich....

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 16.11.2011 um 20:21 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
16.11.2011, 22:13 Uhr
Micha

Avatar von Micha

Das Thema ist ja wirklich Hardcore.
Und wahnsinnig interessant. Ich würd furchtbar gern mal bissl an einer PDP11 rumtickern, aber die sind ja wohl leider fast genauso ausgestorben wie die Dinos. Na jedenfalls wünsche ich viel Glück beim Repariern und bin gepannt auf weitere Bilder und Berichte
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
16.11.2011, 22:15 Uhr
holm

Avatar von holm

..Ausgestorben? Naja, ich habe so ziemlich 2.... und jetzt die E60 :-)

Es soll noch welche in München und Berlin geben ( ...haaallloooo...?)

Gruß,

HOlm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
16.11.2011, 23:21 Uhr
Tom Nachdenk



Hm, ich würde 'die' PDP11, (die es so ja nicht gibt) noch nicht einmal als selten bezeichnen, man sollte nur vorher überlegen was man machen will und welche Maschinen/Ausstattung da alle möglich sind, nicht jede Software läuft auf jeder Konfiguration oder Hardware.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
17.11.2011, 00:55 Uhr
Enrico
Default Group and Edit



Zitat:
holm schrieb
..Ausgestorben? Naja, ich habe so ziemlich 2.... und jetzt die E60 :-)

Es soll noch welche in München und Berlin geben ( ...haaallloooo...?)

Gruß,

HOlm

Jaa, wat jibbed??


@ Tom Nachdenk; kam meine Mail nicht an?
--
MFG
Enrico

Dieser Beitrag wurde am 17.11.2011 um 00:56 Uhr von Enrico editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
013
17.11.2011, 09:27 Uhr
holm

Avatar von holm

@Tom: hmmm... machen will... grünes Bild für Günter im Bunker?
Mir macht der Kremel einfach Spaß, im Endeffekt warscheinlich mehr als der Z80.
Diese Architektur ist voller geheimnisvoller und cleverer Lösungen, man muß nur dahinter steigen was da vorgeht. Die Maschinen haben teilweise mit 64Kbyte DRAM und Disketten Multiuser Betrieb gemacht, erzähle das mal Microsoft...

Man müßte die im Bunker vorhandene Hardware in Ruhe sichten um herauszufinden wozu das Zeuch in der Lage ist. Ich vermute wie schon beschrieben, das das Teil über irgend eine Art
Harddiskcontroller verfügt, so das man damit schon Einiges ankeilen könnte wenn man passende Disks findet.
Ansonsten zieht das Teil rechenleistungsmäßig sicher keine Wurstpelle vom Teller.

@Enrico @0:55: Moin!

..is nüscht. Ich wollte nur den Vorwurf der Seltenheit abwimmeln :-)

Ich habe jetzt das Floppylaufwerk mal an den Rechner gesteckt, beim Einschalten wird der Kopf
des Laufwerks bei dem der "Zentrierdorn" fehlt auf Null kalibriert (LW1) beim LW0 rückt der Kopf
nur ein Stück Richtung Diskettenmitte und nicht zurück. Da ist also was faul (Lichtschranke?) aber (!) der Rechner in dem Teil lebt noch. (freu).

Mehr kann ich so nicht ausprobieren, ich räume das Zeug jetzt bei Seite bis Günter wieder fit ist,
er hatte eine Leistenbruch-OP ist zu Hause und noch ziemlich kaputt..

Gruß,

Holm

BTW: @Tom: irgendwas rausbekommen bezüglich der RAMs?
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
014
17.11.2011, 09:54 Uhr
Rüdiger
Administrator
Avatar von Rüdiger


Zitat:
holm schrieb
aber (!) der Rechner in dem Teil lebt noch. (freu).

Die Aussage halte ich für verfrüht. Antrieb, PLL und Magnetköpfe können Dir noch jede Menge Ärger machen.
Apropos: Prüf mal den Durchgang der Köpfe (Masse + 3 Wicklungen, zwei davon in der Größenordnung 70 Ohm, eine mit ca 15 Ohm).
--
Kernel panic: Out of swap space.

Dieser Beitrag wurde am 17.11.2011 um 09:55 Uhr von Rüdiger editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
015
17.11.2011, 11:22 Uhr
holm

Avatar von holm

Ich habe eine Reparaturanleitung für das Teil, aber keinen Schaltplan.
Wenn aber die Schrittmotoren überhaupt fahren, heißt das, das der Rechner läuft.
Die Köpfe haben 4 Anschlüsse, ich messe bei beiden 2x ca 5 Ohm und 1x ca. 10 Ohm.

Es hat IMHO keinen Sinn hier jetzt weiter zu doktorn so lange sich die Spindeln nicht drehen
und die Disketten Index Impulse liefern. Für die Frage wie es weiter geht muß Günter erst mal
erzählen ob Riemen, Motor und dieses Spindelklemmding in den Ersatzteilkisten zu finden sind.
So lange hat der Kram schon noch Zeit..

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
016
17.11.2011, 16:44 Uhr
Tom Nachdenk




Zitat:
holm schrieb
@Tom: hmmm... machen will... grünes Bild für Günter im Bunker?
Mir macht der Kremel einfach Spaß, im Endeffekt warscheinlich mehr als der Z80.
Diese Architektur ist voller geheimnisvoller und cleverer Lösungen, man muß nur dahinter steigen was da vorgeht. Die Maschinen haben teilweise mit 64Kbyte DRAM und Disketten Multiuser Betrieb gemacht, erzähle das mal Microsoft...

Na an Leute die ihre neuen Rechnen am liebsten in Form von zwei Halben, Unvollständigen und Defekten bekommen hatte ich da auch weniger gedacht. Aber für Multiuser braucht man halt ne MMU, für das BSD eine die 4 MB Hauptspeicher unterstützt, nicht jede Hardware wird von jedem Betriebssystem unterstützt, für einige mikroprogrammierbare Maschinen gibts IMHO auch Forth und das pSystem (USCD-Pascal) als native Maschinensprache, da kann die PDP11 am Ende noch nicht mal PDP11 Programme ausführen ...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
017
17.11.2011, 18:34 Uhr
holm

Avatar von holm

Aha, Dir geht es um die Rolle der Bedeutung :-)
Mir ging es mehr um den konkreten Rechner.
2.9 BSD läuft auch auf 18 Bit Maschinen, also 248K Hauptspeicher (+ IO-Segment),
das hatten wir früher mal auf der SM1420 im Rechenzentrum der Uni laufen, selbverständlich Multiuser...
2.11BSD braucht 22 Bit Maschinen, aber keineswegs 4MB Hauptspeicher.
Eine mikroprogrammierbare PDP11 ist mir aber auch nicht bekannt, ich kenne ladbaren Mikrocode erst von der VAX 11/780 oder ihrer Inkarnation als Robotron RVS K1840. Da drin gab es ja eine PDP11 die den Mikrokode in die VAX geladen hat, bei Robotron war das ein K1620.
Ich habe ürgines festgestellt, das diese M2 E60 CPU sehr wohl 22 Bit Adressen hat, die höerwertigen Adressen bringt es da aus dem Mikrocode-ROM N3. herausgewürgt..keine Ahnung was die da gebastelt haben. Der Debugger unterstützt auch 22 Bit Adressen.
Die M2 CPU ist aber eigentlich auf für russisch ziemlich alt, das ist PMOS.
Bei den CPU ICs ist übrigens die -5V einstellbar mit einem Poti, sowas habe ich noch nie gesehen. Die 3 ROMs hängen fest auf -5,6V (Z-Diode) die CPUs sind einstellbar (aber auch 5,6 bei der defekten, 3,3V bei der funktionierenden Karte..??).

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
018
18.11.2011, 11:27 Uhr
holm

Avatar von holm

Soo, ich habe nun nochmal in dem Floppylaufwerk herumgestochert. Gestern Abend funktionierte
die 0-Stellung des Schrittmotors von Laufwerk0 plötzlich, heute morgen wieder nicht mehr.
Die Ursache dafür war wie schon vermutet die Lichtschranke für Spur 0, ich habe die LED gewechselt und 2 Schrauben der Marke "geht ja gar nicht" ausgetauscht.
Die Lichtschranke hätte eventuell noch funktioniert, wenn der Transistor und die LED wenigstens ansatzweise in eine Richtung ausgerichtet gewesen wären, in dem Ding gibts ab und an doch mal durchaus bemerkenswerte "Präzision" aka Wurfgewinde...
Jetzt funktioniert das wie es soll, die SFH487-2 macht genug Licht, ich muss natürlich Spur 0 bei diesem Laufwerk mal neu justieren.
Die Schrittmotoren werden über einen richtungsumschaltbaren Zähler angesteuert (74S123 und 7450 als Multiplexer, danach Decoder und danach Transistoren.
Die Impulse und die Richtung kommen aber aus dem Rechner, somit scheint dieser also zumindest zu begreifen was nach einem Reset so zu tun wäre...

Das Spulenpaket des Spindelmotors ist doch in Ordnung, nach dem ich das Ding vom Dreck befreit hatte konnte man an den Anschlüssen plausible Werte ermitteln... nur ohne Anker nützt mir das gar nichts.
Günter es reicht, wenn Du den wahrscheinlich einfach zu demontierenden Anker das Motors besorgst, ich habe immer noch keine Ahnung wie die Konstruktion aussieht, aber ich vermute immer noch das das nur irgendwie raus gezogen werden muss (kann mich auch irren)...

Nach meiner einschlägigen Erfahrung mit russischen ICs bin ich trotzdem erstaunt wie viele hier noch leben, es gibt in dieser Hinsicht fast keine Probleme, im Endeffekt habe ich bisher nur 2 ICs gewechselt im Rechner.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
019
18.11.2011, 14:44 Uhr
Guido
Default Group and Edit
Avatar von Guido


Zitat:
holm schrieb
Ich habe Euch noch einmal ein paar Fotos gemacht von dem Ding:

So sieht das, was von dem Motor übrig ist im Laufwerk aus. Was ich nicht begreife,
ist wo die Lager des Ankers hin sind, es sieht mir irgendwie danach aus, als ob das eine komplette Einheit ist, die da irgendwie nur eingeklemmt ist...

Hasllo Holm,
ich vermute, da waren zwei Lagerdeckel und die wurden in den 4 Halbbohrungen innen geschraubt.


Zitat:
... und das Ding stinkt. Ich habe mal kurz gemessen, die Wicklungen sollten augenscheinlich 156 Ohm haben, eine ist dabei mit 35 und eine mit ca 100Mohm.. Neu wickeln fällt aus, da die
Spulenkörper auf den inneren Stern gesteckt worden sind (mit dem runden Loch drin) und das Ganze dann in das äußere Blechpaket gepreßt wurde.

Nu, dann muss man das wieder raus pressen.... Geht wahrscheinlich der Rest der Wicklungen auch noch über die Wupper, aber sollte machbar sein.

Guido
--
Der Mensch hat drei Wege, klug zu handeln.
Erstens durch Nachdenken: Das ist der edelste.
Zweitens durch Nachahmen: Das ist der leichteste.
Drittens durch Erfahrung: Das ist der bitterste.
Konfuzius

Wer immun gegen ein Minimum an Aluminium ist, der hat eine Aluminiumminimumimmunitität.

Dieser Beitrag wurde am 18.11.2011 um 14:44 Uhr von Guido editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
020
18.11.2011, 15:00 Uhr
holm

Avatar von holm

Mit dem Motor bist Du etwas hinterher Guido, ich hatte oben drüber geschrieben das die Wicklungen doch noch in Ordnung sind.
Diese "Befestigungsbohrungen" oder besser Nuten haben nur ca 1,5mm Durchmesser aber in den Ecken existieren noch "Durchbrüche" durch die 4er Bolzen passen würden.
Ich würde aber Lagerböcke und einen Anker mit 29 Durchmesser und 36 "aktiver" Länge brauchen, keine Ahnung woher ich sowas nehmen könnte...

Dann geht es weiter: Flachriemen der entsprechenden Länge. Die Riemenscheiben für den Motor könnte ich machen.

Gruß,
Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
021
18.11.2011, 15:07 Uhr
Rüdiger
Administrator
Avatar von Rüdiger


Zitat:
holm schrieb
Dann geht es weiter: Flachriemen der entsprechenden Länge.

Da gehen notfalls auch schmalere Riemen aus dem Viderecorder (Koenig-Sortiment).

Ob es sinnvoll ist, in einen Forum der russischen Hobbykollegen mal zu fragen, ob dort noch solche Laufwerke beschaffbar sind?
--
Kernel panic: Out of swap space.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
022
18.11.2011, 17:45 Uhr
holm

Avatar von holm

Na mal gucken was Günter mir schickt. Ich habe nicht das Ziel ein Gerät zu reparieren und dafür ein anderes zu schlachten, es wäre aber schon gut, die Originalteile wenigstens mal gesehen und vermessen zu haben.
Hast Du evtl. noch eine 8-Zoll Leiche von der man diesen Diskettenring-andrückbippus räubern könnte? So ganz zu Fuß bauen ist ziemlicher Sackgang...

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 18.11.2011 um 17:48 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
023
21.11.2011, 22:49 Uhr
holm

Avatar von holm

Ich habe jetzt die 2. defekte CPU wieder am Rennen, kaputt waren außer dem K170AP3 noch ein K155LN1 und ein Ausgang eines K531KP11 (74S257) Multiplexers an der ALU zog einen Ausgang immer auf 0. Jetzt läuft das ODT wenigstens wieder, aber ich habe noch einen putzigen Speicherfehler den mir das oben abgetipperte Programm anzeigt. Da werde ich wohl nochmal drüber schlafen müssen..
Das Ding beschreibt ja Speicherzellen mit ihrer Adresse und mit dem invertierten Wert dieser.
Ich schreibe also in die Adresse 077510 eine 77510 und danach steht da eine 177510. Das Lustige ist, das sich das nicht ohne weiteres mit anderen Werten provozieren läßt... sehr seltsam.
Hauptsache da ist nicht noch im CPU Datenpfad oder in der Adreßrechnung was faul...
Schreibe ich eine 77520 oder 77530 da rein ist Alles in Butter...

grübel

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 21.11.2011 um 22:49 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
024
21.11.2011, 22:55 Uhr
Rüdiger
Administrator
Avatar von Rüdiger


Zitat:
holm schrieb
Hauptsache da ist nicht noch im CPU Datenpfad oder in der Adreßrechnung was faul...

Taste doch mal den erwarteten RAM-Schaltkreis mit dem Oszi an und schaue, ob Dein manuelles Datenschreiben auch dort ankommt.
--
Kernel panic: Out of swap space.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
025
22.11.2011, 13:31 Uhr
holm

Avatar von holm

Sooo einfach ist es nicht Rüdiger, denn die Fragliche Zelle liegt außerhalb des Motherboards in definitiv funktionierendem RAM.
Ich habe gestern Abend noch versehentlich (beim herausziehen der Karten) die DIP Switches auf den RAM Karten verstellt Ich konnte heute Nacht nicht schlafen (keine Ahnung warum) und so habe ich mitten in der Nacht angefangen den Schaltplan und und die Diskussion in einem russischen Forum zu dechiffrieren um dahinter zu kommen wie die Schalter eingestellt werden müssen. Eine Decoderschaltung bei der ein Multiplexer als Decoder verwendet wird, habe ich vorher noch nie gesehen, es funzt aber scheinbar :-)
Der Fehler ist jetzt weg, allerdings weiß ich auch nicht, ob er mit der funktionierenden CPU da ist, das wird sich noch heraus stellen. Ich bin der Meinung, das sich eventuell eine der Interface Karten auf dieser Adresse fälschlicherweise meldet und ein Statusbit zum Besten gibt. Auf anderen Adressen ist der Fehler so nämlich (wie schon beschrieben) nicht nachvollziehbar.
Die Fragliche Adresse war 77510, 177510 würde im "Adaptersegment" liegen, wenn dort nicht sauber decodiert wird, könnte sowas passieren.
Ich habe noch nicht alle Karten wieder drin, werde mal sehen was dabei raus kommt, wenn ich die der Reihe nach wieder rein stecke. ...


...Bingo: Wenn ich das Interface I7 rein stecke taucht der Fehler wieder auf.
I7 ist ein paralleles 8 Bit Interface an das normalerweise ein SD1156 angeschlossen wird.
Nur TTL Gemüse, einfache Übung. Damit ich aber messen kann muß ich auf Günters Adapterplatinen warten, die CPU muß immer oben im Einschub stecken, dadurch konnte ich dort auch was messen.






Während des Fotos drehten sich übrigens die 4 Lüfter (die für russische Verhältnisse sehr sehr leise sind)

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 22.11.2011 um 14:04 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
026
09.12.2011, 19:09 Uhr
Enrico
Default Group and Edit


Das Programm unter 000 funktioniert übrigens auch auf einer MicroPDP 11/53:


Quellcode:
@200g
000200
@200g
000010
@?
@r0/000420
R1/160000
R2/123506
R3/040000
R4/124636
R5/000000
R6/000400
R7/000010
R0/000420
@?
@?

was auch das nun im einzelnen heisst.

So sieht der Ölradiator aus:



Als oberstes die CPU-Karte mit 512kb RAM, das grosse weisse Etwas im Auge ist die CPU selber:


--
MFG
Enrico

Dieser Beitrag wurde am 15.02.2012 um 22:31 Uhr von Enrico editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
027
11.12.2011, 18:06 Uhr
holm

Avatar von holm

Nunja, nach dem Wechseln des defekten TM9 war es nur noch die Einstellung der Spur0 des Laufwerkes 0. Ich muß das zwar noch mal ordentlich machen (Oszi) aber immerhin macht die Kiste jetzt sowas:


Quellcode:
fodos f  B02.00

.SET TT QUIET

BASIC .SAV
CHTEXT.BAS
CONV  .SAV
DRUCK .SAV
EDIT  .SAV
ENDE  .END
FTN1  .DAT
GLAS  .TAB
J2000 .BAS
KONZ  .DAT
LISTE .FOR
MARS  .DAT
MIXQM .BAC
MIXRV .BAS
OSCHA .BAC
OSCHA .DAT
OSCHA .RES
TAB1  .DAT
TAB2  .DAT
TESTX1.BAS
ZETTEL.BAS
ZETTL4.BAS
22 FILES, 215 BLOCKS
14 FREE BLOCKS
SET CURRENT DATE
1 = INCREASE DAYS
2 = DECREASE DAYS
3 = INCREASE MONTH
4 = DECREASE MONTH

11-DEC-99   SATURDAY  

SET CURRENT TIME
5 = INCREASE HOURS
6 = INCREASE MINUTES

18:03
.dir
    ?KMON-F-ILLEGAL COMMAND

.DIR
     11-DEC-99
SWAP  .SYS    24 03-APR-86      DXMNSJ.SYS    60 04-MAR-96
LP    .SYS     2 03-APR-86      DX    .SYS     2 03-APR-86
TT    .SYS     2 03-APR-86      RE    .SYS     2 03-APR-86
RA    .SYS     2 03-APR-86      MT    .SYS     8 03-APR-86
NL    .SYS     2 03-APR-86      FS    .SYS     2 03-APR-86
DUP   .SAV    21 03-APR-86      PIP   .SAV    16 03-APR-86
DIR   .SAV    17 03-APR-86      DAT   .SAV     5 03-APR-86
STARTS.COM     1 06-OCT-85      MARS  .DAT     2 11-AUG-88
BASIC .SAV    61 06-MAY-96      CHTEXT.BAS     9 18-NOV-88
CHR   .BAS     1 01-FEB-96      DUMP  .SAV     7 10-JAN-85
SRCCOM.SAV    11 10-JAN-85      PATCH .SAV     9 10-JAN-85
SYS   .COM     1 20-FEB-96      CHR1  .BAS     1 23-FEB-96
SYS1  .COM     1 14-FEB-96      SYSA  .DAT    37 04-MAR-96
SYS045.DAT     1 04-MAR-96      SYS046.DAT     1 04-MAR-96
SYS047.DAT     1 04-MAR-96      SYSE  .DAT    20 04-MAR-96
SYS45 .DAT     1 04-MAR-96      SYS46 .DAT     1 04-MAR-96
SYS47 .DAT     1 04-MAR-96      V24DAT.BAS     4 08-MAR-96
TEXT1 .DAT     1 11-MAR-96      TEXT2 .DAT     1 11-MAR-96
TEXT3 .DAT     1 14-MAR-96      CHR2  .BAS     1 14-MAR-96
SANDC .FOR    10 14-FEB-95      SANDC .OBJ    22 10-APR-96
SANDC .SAV    30 10-APR-96      DATUM .SAV     3 02-NOV-82
KALEND.BAS    18 23-JUN-99      DAT1  .SAV     5 03-APR-86
DAT2  .SAV     5 03-APR-86      DAT0  .SAV     5 03-APR-86
GLAS  .TAB     6 07-APR-94      TESTX0.BAS     1 30-NOV-98
TAB4  .DAT     6 04-MAR-95      TAB3  .DAT     7 02-FEB-76
TEXT4 .DAT     1 11-MAR-96      TEXT5 .DAT     1 11-MAR-96
TEXT6 .DAT     1 11-MAR-96      
53 FILES, 461 BLOCKS
19 FREE BLOCKS

.

Der Basic Interpreter funkitioniert auch bestens.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 11.12.2011 um 18:09 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
028
11.12.2011, 18:17 Uhr
Guido
Default Group and Edit
Avatar von Guido


Zitat:
holm schrieb
....Ich würde aber Lagerböcke und einen Anker mit 29 Durchmesser und 36 "aktiver" Länge brauchen, keine Ahnung woher ich sowas nehmen könnte...Gruß, Holm

Nun, Lagerböcke könnte man nachfertigen, den Anker eher nicht.

Gruß
Guido
--
Der Mensch hat drei Wege, klug zu handeln.
Erstens durch Nachdenken: Das ist der edelste.
Zweitens durch Nachahmen: Das ist der leichteste.
Drittens durch Erfahrung: Das ist der bitterste.
Konfuzius

Wer immun gegen ein Minimum an Aluminium ist, der hat eine Aluminiumminimumimmunitität.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
029
11.12.2011, 19:00 Uhr
holm

Avatar von holm

Du Held! :-)

Auf den Trichter war ich auch schon gekommen.
Günter hat mir indessen einen Kompletten Motor, Riemen und 2 dieser Diskzentrierdinger geschickt (Letztere andere Bauform als das was drin war, geht aber trotzdem, eine Plastikbuchse mußte ich noch drehen) sonst hätte ich den Kram ja nicht ans Laufen bringen können.
Zumindest der Motor fehlt aber jetzt in einem 2. Laufwerk.
Die Lagerschalen sitzen übrigens innerhalb der Spulen und sind rein äußerlich quadratisch.
Das Problem mit dem Ersatzmotor ist also nur verschoben. Riemen sind wohl ausreichend da,
weitere fehlende Teile wie z.B. die Achse für so ein Diskzentrierteil lassen sich fertigen..
Gruß,

Holm

update: Na also, die Maschine kann man sogar zu Was gebrauchen, ich habe nicht nur Fortran, Basic sowie Assembler und Linker gefunden sondern auch eine deutsche Version Space Invaders die zu allem Überrfluß auch noch im xterm anzugucken und zu spielen geht:


Quellcode:
MARSFLUGKOERPER = 43         SICHTBAR =   8    PUNKTE =     911      

                                          
                                                                              
                                                   *<O>*                      
                                                                         *<O>*
                                                 *<O>*                        
                                            
                      *<O>*                                                    
                                                                                                                            
                                                 *<O>*                        
                 *<O>*                        
                                                                                                                             O
                                                                              
                                                  
                                                  
                                                                     *<O>*    
                                                  
                                                    ==!==
        O    O    O    O    O    O    O    O    O    O    O    O    O    O    
       /V\  /V\  /V\  /V\  /V\  /V\  /V\  /V\  /V\  /V\  /V\  /V\  /V\  /V\  
       _M_  _M_  _M_  _M_  _M_  _M_  _M_  _M_  _M_  _M_  _M_  _M_  _M_  _M_


... Na geht doch...

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 11.12.2011 um 21:14 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek