Diehl Combitronic

  • Booten vom Stahl-Lochstreifen

    Was passiert, wenn man die Maschine während des Lesens oder während des Zurückspulens abschaltet?

    Per Netzschalter? Geht nicht, während des Transports wird der Einschalter überbrückt ;)

    Beim Stecker ziehen: Maschine öffnen und den Mechanismus von Hand auf Rückspulen schalten. Danach aus- und wieder einschalten.

  • Kurze Zwischenfrage: kann man noch irgendwo 100mm Rollenpapier kaufen? Ich bin bei Google nicht fündig geworden!

    Ich habe hier 3 Rollen Normalpapier liegen. 100mm breit, Rolle außen 74mm, Kern hat ein Kernloch von 11mm und (Kunststoff)Kern selbst hat 15mm. Im Kern ist eine Führungsnut, mit blossem Auge gemessen ca. 0,7mm im Quadrat

    Wusste nie, für was die gut sind :) (da ich bei google auch nichts gefunden hatte)

  • Kurze Frage in die Runde... ich bin gerade dabei, zu verstehen, wie die gespeicherten Befehlssequenzen in BCD-Binärcodes übersetzt werden... irre...


    Ein Programm P0 1 x 1 = # A (Multiplikation zweier Zahlen mit zusätzlicher Druckausgabe) führt zur Zahlensequenz

    371 999 298 977 792


    Ein Programm P0 1 : 1 = # A (wie oben, nur mit Division) fürhrt zu

    368 700 762 882 048


    Beide Programmsequenzen sind nicht mal annähernd ähnlich.


    Auch das Übersetzen in 5-Bit-Häppchen hat mich nicht weitergebracht...

    Wie kommt die Diehl auf diese Werte? Und wieso reichen die BCD-Werte aus? Binärzahlen über 9 können ja hier nicht auftreten...


    Ich würde es gerne verstehen...


    Mitglied im Verband der nicht anonymen Elektroschrottabhängigen


  • Das, was man als Benutzer programmiert, sind keine Maschinenbefehle, sondern nur Tastencodes. Wenn ich mich jetzt nicht täusche, werden quasi die "Scancodes" abgelegt, und das Tischrechnerprogramm, also die Firmware, die vom Lochstreifen gelesen wird, interpretiert diese entsprechend. Der Diehl Dilector macht auch nichts anderes, als von außen Tastencodes in die Maschine zu prügeln. Genauer weiß ich es ehrlich gesagt nicht, das ist schon zu lange her. ;)

  • Man kann beides: Tastencodes durch Tippen des Rechenablaufs einprogrammieren, die werden dann in Assembler umcodiert - oder aber direkt die Maschinensprachesequenz in den P-Speicher reintippen...


    Mitglied im Verband der nicht anonymen Elektroschrottabhängigen


  • BCD auf meinen Rechner war vier bit pro Ziffer

    Das war mir klar. BCD ist immer 4 Bit pro Ziffer - aber: mit BCD lassen sich nicht alle Bitkombinationen darstellen, A-F fehlen nämlich.

    Die Maschinensprachebefehle bei der Combitronic sind offensichtlich 5 Bit lang... dafür gibt es auch eine Liste.


    15*4 Bit im P0 sind ja bekanntlich 60 Bit, die dann auch 12*5 Bit wären - also max. 12 Maschinencodes in P0.


    Sind die Maschinencodes so geschickt gewählt, dass die Binärcodes 1010, 1011, 1100, 1101, 1110 und 1111 nicht vorkommen können?

    Ich würde das so gerne verstehen...


    Mitglied im Verband der nicht anonymen Elektroschrottabhängigen


  • Wer sagt, dass die Zahlen in BCD gespeichert werden? Ich glaube mich düster daran zu erinnern, dass bei der Eingabe der Ziffern der alte Wert *10 genommen wird und die neue Ziffer dazuaddiert wird. Also schlußendlich werden die Zahlen normal im Dualsystem gespeichert. Die Zahl 9.999.999.999.999.999 wird als 1000.1110.0001.1011.1100.1001.1011.1111.0000.0011.1111.1111.1111.11 gespeichert, das sind 54 Bits, plus Vorzeichen. Vermutlich stammt daher die Wortbreite von 55 Bits.

  • Sind die Maschinencodes so geschickt gewählt, dass die Binärcodes 1010, 1011, 1100, 1101, 1110 und 1111 nicht vorkommen können?

    Ich würde das so gerne verstehen...

    Zumindest dabei kann ich dir helfen: Dieses PDF vom FTP Server der Uni-Stuttgart hat die Maschinencodes, nämlich

    Also kommen 1010, 1011, 1100, 1101, 1110 und 1111 alle vor.


    (Dieses Dokument liest sich übrigens besser als die Bachelorarbeit).


    Ansonsten verstehe ich nicht, wie du die "Programme" eingibst, und wie daraufhin diese Zahlen entstehen. Drückst die die Tasten, und die Kiste druckt dann die Zahl aus? Oder was genau hast du da gemacht?

  • Und auch wenn ich immer noch nicht genau weiß, wo die Zahlen herkommen: Wenn man sie nicht als BCD, sondern als Dezimalzahlen ansieht, und ins Binäre konvertiert, bekommt man

    Code
    371999298977792 = 1010100100101010011010110000100101000000000000000
    368700762882048 = 1010011110101010011010110000000000000000000000000

    Da gibt es in der Mitte nun durchaus Ähnlichkeiten, deshalb tippe ich darauf, dass es nicht BCD, sondern Dezimal ist.

  • Vielen Dank für eure Hilfe und für eure Gedanken - es war offensichtlich zielführend!


    Ich habe diverse Programmabläufe analysiert, die Dezimalen Werte in Binärzahlen konvertiert und dann in Fünfergruppen geteilt:


    Die 55 Bit pro Register teilen sich in 11 5-Bit-Worte auf. Das erste Wort ist offensichtlich immer 00000 (NOP), nicht benutzte Befehle rechts werden mit NOPs aufgefüllt. Das erklärt auch, warum ohne Jump einfach mit dem nächsten Programmregister weiter gemacht wird.


    Tastaturcodes entsprechen nicht den Assemblercodes!


    Hier mal der Unterschied zwischen + und -...

    Code
    NUM + NUM - * # J0 A
    366496315380736
    00000.01010.01101.01010.01110.01001.01011.00001.00101.00000.00000
    NOP   NUM   +     NUM   -     *     #     JMP   P0    NOP   NOP
    
    NUM + NUM + * # J0 A
    366495241638912
    00000.01010.01101.01010.01101.01001.01011.00001.00101.00000.00000
    NOP   NUM   +     NUM   +     *     #     JMP   P0    NOP   NOP    

    Daraus ergeben sich die bisher gefundenen OPCODES:


    Mitglied im Verband der nicht anonymen Elektroschrottabhängigen


  • Zerobrain hat veröffentlicht:


    https://www.youtube.com/watch?v=O4A-vXZTAyc

    Nachdem ich das Video gesehen habe, habe ich auch verstanden, was du da tust (denn dazu hatte ich noch keine Dokumentation gefunden):


    Offenbar kann man 10 "Programme" eingeben mit P + Nummer eingeben, und sie dann ausführen, wobei Zahlen bei der Programmierung nur Platzhalter sind, die dann bei der Ausführung durch neu eingebenene Zahlen (mit A) ersetzt werden.


    Das ist also so eine Art "Makro"-Programmierung, und verschieden von der eigentlichen Maschinensprache. Vermutung: Ein Programm wird jeweils in einem Wort gespeichert, ein Programm kann also nicht länger als 11 Schritte sein.


    Die platzsparendste Art, das im "Betriebssystem" zu implementieren, wäre, die gleiche Auswertungsroutine, die Tasten im normalen Betrieb auswertet, mit dem Programm zu füttern. Das geht am einfachsten, wenn man die Tastencodes selbst speichert. Ich würde also vermuten, dass deine 5-Bit-Befehle mit den Tastencodes korrelieren, und es ein paar Zusatz-Codes gibt, wie "Num".


    Leider haben die Combitron-Varianten verschiedene Tastaturen, mit kann also die Tastencodes der Tastaturmatrix aus den vorliegenden Anleitungen nicht übernehmen. Es sollte aber nicht schwer sein, die Tastaturleitungen K1..K6 mal schnell für alle Tasten durchzumessen, und so die Codes der Tasten zu ermitteln.


    Bei der Combitron ist K1 immer 0 für das Dezimalrad und 1 für die eigentlichen Tasten, daher muss man nur K2..K6 als 5 Bits speichern, wenn das bei der Combitronic genauso ist.


    Wenn man das alles nachvollziehen will, muss man sich das "Betriebssystem" auf dem Metallband genauer anschauen. Es wäre also nicht falsch, davon mal einen Dump zu machen, ist ja nur ein Bit. Das eine Bit kann man ggf. auch von der Lichtschranke über einen Pegelwandler an den Soundeingang des PCs hängen, beim Bootvorgang der Combitronic eine WAV-Datei aufnehmen und dann mit einem kleinen Programm auslesen, wenn du nicht sowieso einen Logikanalysator oder so etwas hast. (Wäre auch dann sinnvoll, wenn das Metallband irgendwann kaputtgeht, und man ein neues machen muss...)


    Nur so als Anregungen.

  • Und um weiterzuspekulieren: Wenn die Programme so eine Art Makro-Programm sind, braucht man auch einen Programmzähler. Wenn man das Wort in 5-Bit-Häppchen unterteilen muss, geht das am einfachsten, wenn man den am Anfang des Wortes zur Hand hat, und dann eine geeignete Shift/Verzögerung einbaut.


    Deshalb vermute ich, dass die fünf "NOP" Nullen am Anfang des Programmes den Programmzähler enthalten, denn also fauler Programmierer hätte ich ihn dorthin getan.

  • Zumindest ich nicht... Und auf ftp://ftp.informatik.uni-stuttgart.de gab's im wesentlichen Service-Manuals usw.

    Ich weiß, ist ja unser FTP-Server ;) Ok, dann setze ich die Manuals mal auf die Zu-Scannen-Liste

    Ich weiß, dass es euer Server ist, ich wollte nur mit dem Zaunpfahl winken...


    Der Server macht übrigens nur noch FTP und nicht mehr HTTP wie früher, ist das Absicht? Filtert natürlich die Leute, die darauf zugreifen können/wollen...

  • Aus dem Ber


    Zitat
    Oben rechts neben MEM 5111 befindet sich ein unscheinbares Metall-IC - auch von GI. Hier drin befindet sich vermutlich das Äquivalent zum separaten kleinen Laufzeitspeicher der Combitron (R-Delay-Line, 218 Bit Kapazität, Registerspeicher) in Form eines 218-Bit-Halbleiter-Schieberegisters.

    Ist die Dose ein 1404?

    Habe an das Ding nostalgische Erinnerungen.

    Das Speicherboard mit Dutzenden dieser Dinge aus dem Textsystem von 1973 um eine IBM Selectric herum, welches ich 1984 für 100 DM gekauft hatte, um die Schreibmaschine am PC als Drucker zu verwenden, hatte ich erst vor ein paar Jahren weggeworfen.

  • hatte ich erst vor ein paar Jahren weggeworfen

    Ich hoffe, du hattest nur die Idee weggeworfen... ;)

    Nein, wirklich... seinerzeit hatte ich alle Karten des Systems, die nach der Modifikation (Einbau eines Parallelinterfaces zum PC) funktionslos geworden waren, entfernt und als TTL-Lager genutzt. 1984 war das Teil ja noch kein Dutzend Jahre alt, keineswegs schon "Retro".

    Die Speicherkarte mit den vielen 1404er-Dosen war richtig hübsch, die habe ich erst in den 2010ern weggeworfen. :fp:

    Die Schaltunterlagen hierzu habe ich In meinem Schmierpapierstapel getan und eben die Angaben zum 1404 gesucht und wiedergefunden. Das Textsystem hiess "ASINT-Scribona", falls das jemandem was sagen sollte.



  • Ich weiß, dass es euer Server ist, ich wollte nur mit dem Zaunpfahl winken...


    Der Server macht übrigens nur noch FTP und nicht mehr HTTP wie früher, ist das Absicht? Filtert natürlich die Leute, die darauf zugreifen können/wollen...

    Zaunpfahl angekommen :)

    Nein, der hat noch nie HTTP gemacht. Die Files waren immer schon nur per FTP erreichbar. Ich hab mir überlegt, zusätzlich einen HTTP-Zugang einzurichten, war aber zu faul ;) Aber es hatte zumindest früher, und heute evtl. noch mehr, auch den Grund, tatsächlich zu filtern, allerdings eher die Suchmaschinen und Saugroboter.

  • der Speicher ist kein 1404, er hat ja auch 10 Pins. Dieser Speicher hier dürfte ein kundenspezifisch maskenprogrammiertes 288 Bit Schieberegister sein. GI hat in der Zeit sowas angeboten.


    Mitglied im Verband der nicht anonymen Elektroschrottabhängigen


  • Der Server macht übrigens nur noch FTP und nicht mehr HTTP wie früher, ist das Absicht? Filtert natürlich die Leute, die darauf zugreifen können/wollen...

    Früher konnten die Browser einfach noch FTP...

    -------------------------------------------------------------------------------
    Suche Rechentechnik aus Deutschland, bzw. Computer Deutscher Hersteller - z.B.

    ANKER, AKKORD, CTM (CTM 70, CTM 9000, CTM 9032), DIEHL/ DDS, DIETZ, FEILER, ISE,
    HOHNER GDC, KIENZLE, KRANTZ, NIXDORF, OLYMPIA, PCS/CADMUS, RUF, SALOTA, S.E.I.,
    SIEMAG, SIEMENS, TAYLORIX, TRIUMPH ADLER - TA, WAGNER, WALTHER, WANDERER,...

    -------------------------------------------------------------------------------