Intel 8085 Geschwindigkeit manuell runterregeln - Hardware Single Step for the 8085

  • Von diesem Thread inspiriert, möchte ich hier die Entwicklung einer Schaltung für meinen Midicom Intel 8085 dokumentieren und diskutieren.


    Da die Reduzierung des echten Taktsignals nur bis ca. 2 Mhz erfolgreich war und meine Zieltaktrate von 1 Hertz unerreichbar scheint, wende ich mich jetzt des Plan B zu.


    tofro und funkenzupfer hatten die Idee vom HOLD auf das READY Signal gelenkt:

    Zitat

    "Der HOLD ist eigentlich mehr für DMAs und/oder Multiprocessor Systeme gedacht.


    Einfacher dürfte das READY Signal sein (WAIT beim Z80). Damit kannst du jeden Maschinenzyklus einzeln anhalten.

    Schau dir mal die Signalanzeige beim MFA an, da ist sowas eingebaut. Mit Single-Step und Adresstrigger."


    Single step per Ready Leitung werde ich also hier ausprobieren.


    Pyewacket hat hier eine Schaltung gefunden, die ich jetzt nachbauen werde:



    Das sollte eigentlich hinhauen, um einen Einzelschrittmodus zu bekommen.

    • Offizieller Beitrag

    Da die Reduzierung des echten Taktsignals nur bis ca. 2 Mhz erfolgreich war

    Der Quartz darf bis 1 MHz runter gehen, also 0,5 MHz effektiver CPU-Takt.


    Einfacher dürfte das READY Signal sein (WAIT beim Z80). Damit kannst du jeden Maschinenzyklus einzeln anhalten.

    Du kannst mit dem READY Signal den Prozessor auf "Null" runter drehen.

    Ich hab das vor ein paar Tagen am MFA und dem FloppyController gesehen. Da wurde ein Zugriff auf über 500ms verlängert.


    Allerdings ist mir aufgefallen, das z.B. Timer/Counter/UART usw. mit normalem Takt weiter arbeiten.

    D.h. Trigger Ereignisse / Timeouts usw. passen nicht mehr zum Prozessor-Zyklus.


    Daher finde ich die Takt-Runterdreh-Geschichte immer interessanter.

    Dann passen die UART-Geschwindigkeiten nicht mehr, allerdings ist das zu verschmerzen.

  • Anhalten kann ich den Prozessor schonmal.:)


    Dazu musste ich den PIN 35 (READY) vom Mainboard abkoppeln und nur von der FlipFlop Schaltung steuern lassen. Solange ich das Signal der Zusatzschaltung nur zusätzlich drangehängt hatte, ging der Pegel an PIN 35 nicht ganz auf null.

    • Offizieller Beitrag

    ging der Pegel an PIN 35 nicht ganz auf null.

    Was meinst du damit?

    Kleiner 0,8V ist logisch Null.

  • Warum nicht auf die CMOS-Variante wechseln? Die Prozessoren gab es von

    Mitsubishi, Oki und Tundra. Achtung, kleiner Auszug aus dem Mitsubishi-Datenblatt:



    Da man den Clockeingang (X1) direkt bedient, sollte es keine

    Kompatiblitätsprobleme zu den NMOS und HMOS Typen geben.

    Das funktioniert mit Einzeltakt per entprelltem Taster, oder mit einstellbarem Ablaufzähler

    für die unterschiedlichen Maschinenzyklen, oder mit einem 1-2 Hz Taktgenerator mit HI/LO LED-Anzeige

    zum gemütlichen mitbeobachten der Befehlsabarbeitung. Ergänzen kann man das alles um

    eine synchronisierte Umschaltung zwischen schnell und langsam.

    Gesamtdatenblätter habe ich mal angehängt.


    BG

    mesch

    • Offizieller Beitrag

    Kannte ich bisher nicht. :thumbup:

    Damit wird ein variabler Takt machbar.

  • Klasse, mesch

    Du kennst Dich aus :)

    Hatte Aquarius empfohlen, einen statischen 8085 zu suchen, wusste selbst aber nicht, welche konkret das sind.


    Aus dem gleichen Grunde habe ich nach Am486 ohne Taktvervielfacher gesucht :)

    Meiner Erinnerung nach ist nämlich der Am486 statisch, im Gegensatz zum i486, welcher schon bei 3.8MHz versagt.

    Bin schon gespannt wie es läuft wenn die Nichtintel-CPU da ist...


    ging der Pegel an PIN 35 nicht ganz auf null.

    Was meinst du damit?

    Kleiner 0,8V ist logisch Null.

    Kurzschluss von TTL-High-Ausgang mit TTL-Low-Ausgang ist keine saubere Null.

    Bei den alten MOS-Sachen kann man nicht generell so nahe an die TTL- Schwellwerte gehen.

  • Warum nicht auf die CMOS-Variante wechseln? Die Prozessoren gab es von

    Mitsubishi, Oki und Tundra.

    Danke mesch für die Hinweise und die Infos!!


    Ich muss den magischen Satz wiederholen:


    As the internal circuits are designed with the static circuit, the clock input can be stopped. So the single step function by the clock input is possible.:)


    Damit ist Plan A wieder im Rennen!

  • Hier die Liste der interessanten Prozessoren als Text:


    Tundra CA80C85B

    Mitsubishi M5M80C85AP-2

    OKI MSM80C85AH


    In Deutschland habe ich keine gefunden, aber in den USA und in Asien in größeren Mengen bestellbar.


    Habe in Polen sechs Stück des OKI MSM80C85AH bestellt.

  • Ich muss mal gerade was erwähnen, weil hier um den guten alten 8085 geht.

    Der 8085 ist meiner Meinung nach bis heute der beste Lern- und Einstiegsprozessor in die Thematik Mikrocomputertechnik auf unterem Level (Prozessorarchitektur, Befehlsabarbeitung, Adressierungsarten, Maschinenzyklen, Registerstrukturen, Interruptarten- und verarbeitung etc.).

    Indien hat diesen Prozessor als Lernprozessor in allen möglichen Schulformen eingeführt und macht damit solide Grundlagenausbildung mittels Simulatoren und echter Hardware (Single-Board-Computer). Man lässt im Land oder in China teilweise Peripheriechips nachbauen um Übungshardware darstellen zu können. Zu dem Prozessor werden aktuell in Indien immer noch neue Bücher geschrieben und ältere nachgedruckt.

    Von all diesen Schülern kristallisieren sich besonders Begabte/Interessierte heraus. Diese werden dann an die modernen Architekturen Cortex/ARM/PI etc. in den Hochschulen rangeführt. Man schaue sich dazu auch mal das Personal in den Entwicklungs- und Aplikationsabteilungen von allen führenden Halbleiterherstellern an, insbesondere Intel und AMD.

    Ich sage mal, die Inder haben einen Plan und wir in Europa eher nicht.


    Wie man am Threadproblem sehr gut erkennen kann, lohnt sich die Beschäftigung mit diesem Prozessor nach wie vor, weil er einfach am zugänglichsten ist und man sehr anschaulich Basics vermitteln kann.

    Nun ja, schriftliches dividieren kommt halt auch erstmal bevor es an das Volumenintegral geht oder die einfache Textzusammenfassung steht halt auch vor einer Buchrezension.


    Hätten alle Studienanfänger technischer Fachrichtungen solide Mikrocomputer-Grundlagenkenntnisse, wäre ein 900-seitiges Cortex M3 User-Manual ab dem 2. Semester nichts Abschreckendes. Sie haben sie aber nicht!

    Manche haben mit einem Arduino gespielt, können aber einfache Fragen, wie der Prozessor startet oder nach dem Ablauf einer Interruptverarbeitung, nicht beantworten. Gute Grundlagenausbildung sieht anders aus. :fp:


    Ach ja , von dem Buch - Digitaltechnik Eine Einführung für Anfänger - Jean Pütz/VDI-Verlag wurden ab 1978 ca. 500.000 Stück verkauft. Das Begleitbuch zur WDR-Sendefolge. Ja, da gab es noch Bildungsfernsehen (Stichwort 1-Bit Computer) im Dritten und keine Rateshows! ::cry::

    O tempora, o mores!


    BG

    mesch


    Der Thread und die gestellte Aufgabe sind klasse!:thumbup:

  • Die obige Schaltung wird auch im MFA Computer verwendet...

    Gruß Torsten

    BFZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, MSX VG8010, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500 & 1200, Atari Portfolio, HP200LX, IBM PC5155, TP755c, TP755cx, T20, T41, T61, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e, Sharp PC1401 & PC1403H, TI59 m. PC-100c, HP48SX & HP48GX


    An die Person, die meine Schuhe versteckt hat, während ich auf der Hüpfburg war: Werd' erwachsen! :motz:


    ::matrix::

    • Offizieller Beitrag

    Kurzschluss von TTL-High-Ausgang mit TTL-Low-Ausgang ist keine saubere Null.

    Da geb ich dir vollkommen Recht.

    2 aktive Ausgaenge (ohne TriState oder OpenCollector) gehoeren auch nicht verdrahtet.



    Anhalten kann ich den Prozessor schonmal.:)


    Dazu musste ich den PIN 35 (READY) vom Mainboard abkoppeln und nur von der FlipFlop Schaltung steuern lassen. Solange ich das Signal der Zusatzschaltung nur zusätzlich drangehängt hatte, ging der Pegel an PIN 35 nicht ganz auf null.

    Du bastelst doch am Midicom?

    Das READY Signal solltest wird ueber die 64pol VG-Leiste ansteuern.

    Wenn du direkt an den Prozessor gehst, baust du den o.g. Kurzschluss.

    (Seite 2 im Schaltplan, ziemlich weit unten; sonst fragen!)

  • Ist zwar Z80 und nicht 8085, aber vielleicht möchtest du diesen Thread mal durchlesen: Da hat jemand dasselbe mit einem CMOS-Z80 gemacht.


    Bei dem steht allerdings im Datenblatt bei "Clock Pulse Width (max)" ganz banal "DC". Zilog hat auch immer das "fully static design" des Z80 hervorgehoben.


    In den Datenblättern der CMOS-Verisonen des 8085, die ich gefunden habe, steht an derselben Stelle dasselbe wie bei der NMOS-Ausführung, nämlich 1MHz (intern halbiert).


    Tobias

  • In den Datenblättern der CMOS-Verisonen des 8085, die ich gefunden habe, steht an derselben Stelle dasselbe wie bei der NMOS-Ausführung, nämlich 1MHz (intern halbiert).


    Tobias

    Absolut korrekt! Ich hätte meinen A.... :grübel:verwetten können, dass Mitsubishi und Oki die gleichen Designs verwenden. Dem ist leider nicht so. Ich bin jetzt mal in die Datenblätter der 5MHz CMOS-Varianten gegangen und so wie es aussieht


    ist nur für den Mitsubishi Prozessor die Cycle-Time auf DC spezifiziert, sprich kein Clock.

    Für die beiden anderen sind es 200ns/5MHz minimal bzw. 2000ns/500kHz maximal bezogen auf die Zeitangaben.

    Das bedeutet für die externe Beschaltung 1MHz bis 10MHz Quarze/Oszillatoren sind innerhalb der Specs.

    Mistsubishi muss nochmals eine ganz eigene Implementierung des 80C85 entworfen haben.

    Der M5M80C85AP-2 ist schon was besonderes.

    Das dies keine Phantasieprozessoren sind, bin ich mal in den Bestand gegangen und habe die Chips für das Forum abgelichtet.

    Jetzt bleibt es natürlich spannend, ob der Oki bzw. Tundra-Prozessor nicht doch noch mit niedrigeren Frequenzen zurechtkommen oder man den Clock anhalten kann. Versuch macht kluch!


    BG

    mesch

  • Der M5M80C85AP-2 ist schon was besonderes.

    Das dies keine Phantasieprozessoren sind, bin ich mal in den Bestand gegangen und habe die Chips für das Forum abgelichtet.

    OK, jetzt sind die OKIs schon unterwegs... :fp:


    Falls jemand einen Mitsubishi M5M80C85AP-2 entbehren kann oder eine Bezugsquelle kennt...ich mach mal einen Aufruf in Biete-Suche.

  • Der M5M80C85AP-2 ist schon was besonderes.

    Das dies keine Phantasieprozessoren sind, bin ich mal in den Bestand gegangen und habe die Chips für das Forum abgelichtet.

    OK, jetzt sind die OKIs schon unterwegs... :fp:


    Falls jemand einen Mitsubishi M5M80C85AP-2 entbehren kann oder eine Bezugsquelle kennt...ich mach mal einen Aufruf in Biete-Suche.

    Ich schicke dir einen M5M80C85AP-2 runter. Schicke mir per PM deine Anschrift.

    Auf die Ergebnisse bin ich gespannt.


    BG

    mesch

  • Der M5M80C85AP-2 muß wirklich was besonderes sein wenn jemand aus US dafür rund ~ 220 Euro Shippingkosten haben will... bei einem Warenwert von ~ 2 Euro :fp:


    Unfassbar...


    https://www.ebay.de/itm/MITSUB…9b4ce8:g:iE8AAOSw7rBc9h06

    Gruß Torsten

    BFZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, MSX VG8010, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500 & 1200, Atari Portfolio, HP200LX, IBM PC5155, TP755c, TP755cx, T20, T41, T61, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e, Sharp PC1401 & PC1403H, TI59 m. PC-100c, HP48SX & HP48GX


    An die Person, die meine Schuhe versteckt hat, während ich auf der Hüpfburg war: Werd' erwachsen! :motz:


    ::matrix::

  • Habe den Mitsubishi M5M80C85AP-2 von mesch und die sechs OKIs MSM80C85AH ausgepackt vor mir liegen.


    Im Moment ruht das Thema hier, da ich einen Olympiarechner vom Typ Boss D bekommen habe, der nicht funktioniert.

    Da ich dort gleich MFM-Festplattenausleseequipment ausgeliehen habe, will ich den jetzt erstmal instandsetzen.


    Es bleibt hier also spannend.

  • Da die Reduzierung des echten Taktsignals nur bis ca. 2 Mhz erfolgreich war und meine Zieltaktrate von 1 Hertz unerreichbar scheint, wende ich mich jetzt des Plan B zu.

    :sunny: Plan A funktioniert doch! :sunny:


    Dank mesch und seinem Mitsubishi M5M80C85AP-2 habe ich das Midicom bei gechillten 2 Hz am laufen.


    Das letzte zu lösende Problem war die Frequenzerzeugung für diesen speziellen 8085: Was der Standard 8085 zur variablen Takterzeugung nutzen kann, funktioniert bei diesem nicht. Also habe ich statt RC-Beschaltung einen externen Funktionsgenerator angeschlossen et voila: Variabler Takt von 0 - 3Mhz stufenlos regelbar.


    ::pc::