000
15.11.2011, 23:45 Uhr
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. |