Beiträge von Andechs

    Die "Gute-Nacht-Lektüre": Es war einmal ein einsamer Prozessor, der auf die göttliche Unterbrechung wartete...


    <elevator music on>

    Mit dem INT-Signal gibts ein variables Interrupt. Der 8085 liest nach INT über INTA (quasi ein IOR) ein Byte ein und springt dann an die damit definierte Stelle im ROM-Interrupt-Vektor. Dort steht dann ein JMP auf den RAM-Vector (damit wir damit spielen können) oder auf die MAT85 Interrupt-Routine.

    Der gewünschte Interrupt wird im PCF abgelegt. Bei INTA spuckt er die codierte Adresse auf den Datenbus.

    <elevator music off>


    • Also muss die Adresscodierung und der Treiber noch mit INTA funktionieren...
    • Dann muss ich mal schauen, was da im Ram-Vektor bei mir so steht. (welche sind denn noch frei?)
    • Welche RST Signale werden von den Originalkarten belegt? (z.B. RST6.5 für MAT85-Terminal)
    • Kennt einer eine Karte die den INT verwendet?
    • Ich glaube ich habe damals für die Berufsschule so eine INT-Vektorkarte gebastelt, ob ich die Unterlagen noch finde?

    Soviel zum Thema mal ein kleines Projekt nebenbei...

    Also soweit erstmal: MFA_I2C_0_2.pdf

    Schmeiss das IOWR weg und leg einfach den A=B Eingang auf VCC. Das reicht.

    /CS darf ja auch aktiv werden ohne ein /IOR oder /IOW.

    /CS sagt ja nur, das jetzt die richtige Adresse aktiv ist. Ob dann ein /IOR oder /IOW aktiv wird oder nicht, ist vollkommen egal.

    Wenn aber der 245er Treiber mit dem /CS dazukommt, feuert der auf den Bus. Ohne den würde das wohl gehen.

    Den /IACK musst du noch anschliessen, ist ein Eingang

    Was zum Geier macht der denn noch ;o) Ist wohl das ACK für seinen Interrupt. Ich wäre versucht den an /INTA anzuschließen, aber das les ich mir erst mal an. (ups da ist schon ein Fehler im Plan.. am Bus gibts nur INTA)

    Oder nimm einen LS688, damit kannst du die Adresse besser ausdekodieren

    Joa, wäre dann 8-bit adressierbar. A0 und B0 auf Masse gezogen und somit lediglich Basisadresse und Folgeadresse belegt. (Bei Reichelt gibts den 688 nicht mehr... )

    U.a. Und die Verwendung von IOR und IOW am 'LS85.

    Ich glaube es dämmert. Langsam.

    Bei dieser Schaltung kommt /CS Verzögert nach /IOR /IOW.

    Eigentlich sollte erst der /CS da sein und danach erst /IOR /IOW (20ns). In diesem Fall muss das sogar sein, sonst springt der PCF in den falschen Modus.

    Richtig wäre wohl IO/M von der CPU in den 85er und daraus das /CS machen. Dumm nur, der ist nicht auf dem Bus !


    Also /CS mit /IORW verbinden, so dass anschließend eine Verzögerung um 20ns zustande kommt...

    /(/IOR * /IOW) -> a=b -> /CS

    //(/CS + /IOR) -> /RD +2*15ns

    also NOR und nochmal Invertiert könnte gehen.


    15ns IORW

    25ns a=b

    15ns /CS

    30ns /RD /WR

    230ns /RD /WR minimum für den PCF

    = 315ns Signallaufzeit auf der Karte (bei 500ns Maschinenzyklus) könnte hinhauen.


    Bin ich da auf dem richtigen Weg? Gibts da nicht schon ein schönes Beispiel zum abmalen? Warum hab' ich den Mist vor 25 Jahren studiert? Man, beim MFA machen die die Adresscodierung ja auch dauernd so. Menno. Motz ;o)

    Wo kommt der INTI2C denn her? Ich seh nur einen Pullup.

    Kommt von extern, einige I2C-Bausteine erzeugen den bei Statusänderung.

    Zum Adressdekoder habe ich mich schon mal geaeussert.

    Da gings Dir um den verschwendeten Adressraum? Oder habe ich im Kleingedruckten noch was übersehen?

    Da die Karte aber vermutlich nur zu einem Bruchteil belegt ist, wie wäre es wenn man Platz und Steckplätze dafür vorsieht um andere I2C-Module mit "aufstecken" kann?

    Ja, da ist noch massig Platz für Steckplätze vorhanden. Was stellst du Dir den so als Modulbauform so vor? Pinheads? Card-Edge-Slots (nu wirds RETRO!)? Soweit bin ich aber noch nicht...

    BTW, was willst du denn mit dem I2C Busmaster machen?

    Man kann I2C auch mit einfacheren Bausteinen und Software aufbauen

    Bitbanging geht auch, da ist aber so wenig Platine zum Üben dabei...


    Und zum Thema 245 ... frag keine Foren - LOL-

    Hallo,

    was mir noch fehlt, ist ein I2C Busmaster...

    Hier mal ein erster Entwurf für eine Karte mit dem PCF8584: MFA_I2C_0_1.pdf


    • Muss ich da noch einen 74LS245 zwischen PFC und Datenbus hängen?
    • Was ich mit dem /IACK mache, weiß ich noch nicht.
    • Eventuell fasse ich den INT und INTI2C noch zusammen. (Das mit dem Interrupt / Vektor muss ich noch mal nachschlagen)
    • Sonstige Vorschläge?

    ... und ja, ist mein erstes KiCad-Projekt ;o)

    Hallo Thilo,


    + 1 Karte...


    Also da hast du dir richtig Arbeit gemacht mit der Antwort... wow, danke.

    Ich verwende schon die 32k-t Variante. Da wird sdtio schon über den UART geleitet. Meine ursprüngliche Intension war eigentlich das Cassetten-interface über die gleiche Schnittstelle zu führen.

    Interessant wäre auch wie bei der T-Variante damals Daten auf das Terminal übertragen wurde. In der Lehre/FOS hatten wir nur MAT85+, daher hab' ich keine Erfahrung von CPM/Floppy und Co. Ich meine aber in der Anleitung gelesen zu haben, dass man in der Terminalversion auch Dateien auf dem Terminal abspeichern konnte.


    Den Sourcecode vom OS, das wäre was feines! Wo findet man denn den "Retroassembler" ?

    Hi Torsten,

    danke für die Links. Die sind wohl bekannt.


    Nein ich war auf dem Holzweg. Auch in der T-Variante wird der UART Fx für die Cassetten Routinen verwendet. Ich dachte das sie den UART des Terminals mitbenutzen.


    Kann man das hacken?

    Die Zuordnung erfolgt über eine Definition und nicht über eine Konstante. Langt also nicht nur einen Wert im ROM zu tauschen. Außerdem will ich keine 2. Init auf dem UART, also nur CASI/CASO. Dann bekomm ich immer noch einen RST6.5 bei jedem Zeichen... neee besser nicht.


    Um die Cassette zum Datentransfer zu verwenden müsste man also folgendes tun:

    2. Serielle Karte und ein Serielles-Cassetten-Interface auf meinem Arduino-Terminal. Wäre möglich.


    Schönen Gruß, Volker

    Die MAT32kT hatte wohl einige Änderungen, damit man über das Terminal Datentransfer machen kann. Ich bin noch am Suchen ob das irgendwo im RCAS/WCAS steckt. Leider habe ich von der Terminal Version kein Listening. Disassemblieren und rekonstruieren ist mühsam. Bin aber dran...

    Hallo erstmal,

    ich habe beim Aufräumen meinen alten MFA wiedergefunden. Beim Versuch Ihn wieder zum Laufen zu bringen bin ich hier gelandet.


    Ich habe zwar noch eine alte Video-Keyboard-Karte aber weder das Keyboard, noch einen passenden Monitor. Nun gut, das ging ja auch über die Serielle. Dachte ich. Geht auch fast.

    Ich habe sowohl die MAT32kS an der CPU und die MAT32kT über die RS232-Karte getestet. Es funktioniert alles außer dem Editor. Anscheinend brauchte man da ein Terminalprogramm und das PuTTY als VT100 geht nicht. Weiterhin unterstützt der MAT23k kein richtiges Handshake, somit ist ein Datentransfer mit Drag-and-Drop nicht möglich.

    Ich habe mir dann einen Arduino Micro genommen, und in zwei Nächten was dazwischen gebastelt... funktioniert ganz gut ;O)

      


    Hab das Projekt mal ins GitHub gesetzt...

    Jetzt muss ich erst mal sehen, was ich als Netzteil nehme. Die Busplatine und die Montage ist in einem schlechten Zustand. Und leider habe ich keine Indikator- und Steuerplatine. Wie kann das sein, das es keine vernünftigen Hex-Schalter und Hex-7Seg-Led's (oder Treiber) mehr gibt? -Ich werd' auch alt-