Suche 8 Zoll CP/M-Boot-Disketten oder ISIS-II Boot Disketten für Intellec MDS

  • Ich möchte meinen ersten CP/M Rechner wieder in Betrieb nehmen.

    Leider sind die Boot-Disketten verloren gegangen.

    Der Rechner konnte CP/M oder Intel ISIS-II von 8 Zoll Disketten booten.

    CP/M- oder ISIS-II-Boot Disketten, die auf einem Intel MDS800

    oder einem Siemens SME800 funktionieren, sollten auch auf meinen Rechner funktionieren.

    Toshi und fritzeflink gefällt das.
  • Bitte genauer ... Rechnertyp eventuell mit Bild angeben.


    War nicht ISIS das OS ? (Korrektur, ich hatte oben nur CP/M gelesen)


    http://www.retrotechnology.com/restore/isis.html


    http://www.bitsavers.org/bits/Intel/MDS/

    http://www.bitsavers.org/pdf/intel/


    Und wenn du unter den Links ein passendes Image findest kann ich versuchen es dir auf 8Zoll (softsectored) zu pusten.

    Mit freundlichen Grüßen


    fritz

    2 Mal editiert, zuletzt von fritzeflink ()

  • Hallo Fritz,


    Vielen Dank für die vielen Links.

    Einige von denen habe ich bereits besucht und habe mir auch Images vom ISIS-II Betriebssystem heruntergeladen.

    Mir fehlt aber die Möglichkeit die Images auf eine 8 Zoll Diskette zu schreiben.

    Nach Informationen im Web hat Gary Kildall CP/M auf einem MDS800 entwickelt und die Ur-Version von CP/M soll auf einem MDS800

    ohne Problem booten. Bisher habe ich im Web aber kein Diskettenimage dieser CP/M Version gefunden.

    Das MDS800 ist die blaue Kiste, die auf den angehängten Bildern abgebildet ist.

    Später, als ich ins Berufsleben eingestiegen bin, habe ich mit dem Siemens SME Entwicklungssystem gearbeitet und mit diesem

    auch die 8 Zoll CP/M Boot Diskette für meinen ersten CP/M-Rechner erzeugt.

    Das Siemens SME ist die graue Kiste auf den angehängten Bildern. Wenn ich recht informiert bin, ist sie identisch mit dem Intel Intellec Series II Model 230.


    Mein erster CP/M Rechner basiert auf ECB-Karten. Die Z80 CPU habe ich selbst gefädelt. Speicherkarten wurden selbst gefädelt oder als Leerkarte gekauft.

    Den Diskettencontroller habe ich als fertige ECB-Bus Europakarte von der Firma Lakosa in Paderborn gekauft.

    Der Floppy Controller ist Software-kompatibel mit den Floppy Controller des Intel MDS. Er benutzt die gleichen I/O-Adresse und das gleiche Kommando-Format.

    Ich konnte mit meinem Rechner sowohl ISIS-II als auch CP/M booten. Vor dem Booten mussten im Boot-Monitor nur wenige Bytes geändert werden,

    um CP/M oder ISIS-zu booten. Die Einzelheiten kann ich nicht mehr nachvollziehen, weil ich die weder Sourcen noch das Listing des von mir angepassten

    Boot-Monitor aufbewahrt habe.

    An den Rechner sind zwei Slim-Line 8 Zoll Laufwerke Tandon TM848E angeschlossen. Eines funktioniert noch. Ich kann einzelne Sektoren lesen und schreiben.





    Toshi, fritzeflink und ngc224 gefällt das.
  • Ich habe 1981 bei Siemens in München ein Praktikum

    gemacht und dort mit so einem Rechner gearbeitet.

    Meinen ersten Z80 CP/M Rechner (ECB Bus) habe ich

    1979 zusammengebaut und später leider verkauft.

    Bei Aufräumen habe ich vor kurzem zwei Manuals entdeckt,

    die ich irgendwann auf einem Flohmarkt gekauft habe.

    Schön, das so ein Rechner überlebt hat.

  • Wie schon geschrieben kann ich dir die gewünschten Images auf Diskette schreiben, so lange es keine hart sektorierten sind.


    Meine MDS-II ist im computermuseum muenchen untergekommen. Ebenfalls hatte ich das Doppelfloppylaufwerk, welches an einem

    MKC CP/M System der FirmaHoeffken & Koenzen aus Moenchengladbach angeschlossen war.


    Dualfloppy MDS 731:


    http://www.computerhistory.org/collections/catalog/102696258



    Mit freundlichen Grüßen


    fritz

    BeniBluemchen gefällt das.
  • Hallo Fritz,


    dein Angebot, ein Image auf eine Floppy zu schreiben, nehme ich gern an.

    Ich muss mir nur noch ein passendes ISIS-II Image aussuchen.

    Editor, 8080-Assembler und -Linker könnte ich auch gut gebrauchen.


    Meine Tandon TM848E Floppies können nur Single Sided Floppies.

    Ich habe mir vor einigen Monaten einige 8 Zoll Floppies beschafft.

    Einige Floppies konnte ich mit dem Monitor Programm formatieren, einzelne Sektoren schreiben und lesen.


    Heute habe ich es noch einmal versucht, leider ohne Erfolg. Das Monitor-Programm hängt ohne Ausgabe auf der Seriellen Schnittstelle.

    Einen NMI kann ich noch auslösen (Foto). Ganz tot ist der Rechner wohl nicht. Die vielen Speicherkarten waren früher schon ein Problem.

    Ich habe mir schon einmal überlegt, eine neue Speicherkarte zu basteln. Heutzutage kann man den gesamten Speicher auf einer Karte haben.


    Ich habe zehn 8 Zoll Floppies, single sided, double density, die noch nie benutzt wurden.

    Ich könnte dir diese Floppies zusenden.

    Wie schon gesagt, zunächst muss ich mir überlegen, was auf die Floppy kopiert werden soll.


    Viele Grüße

    Franz

  • Mit den Disketten schauen wir wenn die auf Floppy geschriebenen Images funktionieren. Schau mal welche Images du ausprobieren möchtest.

    Mit freundlichen Grüßen


    fritz

  • cool

    suche: Teletype model 33 Fernschreiber, S100-Computer, alte Terminals wie VT100, KIM-1, Apple II (1977), Apple Carry Bag, Apple IIGS, Apple III Titan Card, Microsoft Z-80 Card, LogicAnalyzer mit 120 Kanälen und mehr


    Habe vor kurzen ein Diablo-Laufwerk bei einem Sammler gesehen! Das wird auch von Xerox Alto benutzt.

    Wer irgendwo Hardware, Software oder Handbücher zu Xerox Star, Xerox Alto, Datapoint 2200 sichtet - bitte sofort melden :!:

  • Der alte CP/M Rechner funktioniert doch noch. Er hing im POST-Code 9.

    Ich habe im Listing des von mir aufgebohrten Intel MDS Monitorprogramms nachgesehen, was bei POST Code 9 passiert.

    Man muss die Space Taste am angeschlossenen Terminal drücken, dann geht es weiter.

    Das hatte ich schon wieder vergessen.

    Das Original-Listing des Monitors auf Endlospapier aus den 80-er Jahren ist leider verschwunden,

    wie auch alle Disketten. Es war zusammen mit den 8 Zoll Diskette in einem allzu sperrigen Karton,

    der irgendwann aus dem Keller verschwinden musste.

    Der Rechner hat oben auf einem Schrank im Keller überlebt.

    In diesem Frühjahr habe ich das EPROM in mehreren Schritten disassembliert und das Ergebnis so lange getunt,

    bis ich nach dem erneuten Assemblieren mit TASM das bit-genaue Ergebnis bekommen habe.

    Leider fehlen alle Kommentare, so dass ich nicht immer genau weiß, was in in den Routinen passiert.

  • Ich bin begeistert, da hat MDS800 ja noch mal Glück gehabt.:)

    Es ist leider ein allgemeines Problem dass Doku und Disketten zuerst entsorgt werden. Diese sind ja auch leichter, nicht so angestaubt und werden auch gerne zum Frühjahrsputz anvisiert.


    Leider ist der Rechner ja dann ohne Doku und Soft... ziemlich nutzlos. ::cry::

    Mit freundlichen Grüßen


    fritz

    Einmal editiert, zuletzt von fritzeflink ()


  • Beide Bücher darfst du gerne zum Einscannen an mich schicken.

    Die Bücher werden vom Einband getrennt und eingescannt da es nur so vernünftig funktioniert.

    Mit freundlichen Grüßen


    fritz

  • Hallo Fritz,


    Kann ich gerne machen.

    Dazu benötige ich Deine Anschrift.

    Zurückschicken brauchst Du die Bücher nicht.


    MfG,


    Josef

  • So, wir sind ein bisschen weiter gekommen. Ich habe 3 ISIS-II Disketten erstellt, für mich sind 5 formatierte Disketten für CP/M2.2 in der Post.


    NIXDAS hat ein System welches zu MDS-800 und SME800 kompatibel ist.


    Das System ist von der Firma LAKOSA - Paderborn, welche 1979 von 3 Informatikstudenten der Fachrichtung Prozessdatensysteme an

    der Universität Paderborn gegründet wurde. Die Firma bestand bis 1985.

  • Hilfe...

    ich habe jetzt 5 Disketten mit 1 seitig 77track 256byte x 26Sektoren und möchte die CP/M Images gerne auf 8" bringen.


    Leider sind es RAW.IMG Dateien, also nicht mit IMD oder ähnlich zu nutzen da sämtliche Informationen für das Format fehlen.


    Programme wie rawrite, duit, diskimage können nicht mit den 26Sektoren x 256bytes umgehen und sind auf MSDOS like 512bytes Sektorgröße beschränkt. Auf VFCEDE habe ich auch einen Post gestartet - mal schauen.

    Mit freundlichen Grüßen


    fritz

  • IMD sollte mir helfen können. Aus dem VFCED habe ich folgenden Hinweis auf BIN2IMD bekommen. Habe das selber schon mal probiert, war aber nicht erfolgreich.:


    Hier der passende Ausschnitt aus dem Manual:


    Use: BIN2IMD binary-input-file IMD-output-file [option-file] [options]


    Use: BIN2IMD input-file output-image [option-file] [options]


    opts: /1 - 1-sided output

    /2 - 2-sided output

    /C - write Compressed sectors

    /U - write Uncompressed sectors

    /V[0|1] - Verbose output

    C=text | @file - image Comment

    N=#cylinders - set Number of output cylinders

    DM[s]=0-5 - track Data Mode

    SS[s]=128-8192 - track Sector Size

    SM[s]=n[,n-n][n.#] - track Sector numbering Map

    CM[s]=n[,n-n][n.#] - track/sector Cylinder Map

    HM[s]=n[,n-n][n.#] - track/sector Head Map


    The DM=, SS=, SM=, CM= and HM= options can all be applied to

    both sides, or one side only. Example:

    SM=1-9 <= Both sides

    SM0=1-9 <= Side0 only

    SM1=1-9 <= Side1 only


    It is therefore possible to create disks which are formatted differently on one side than the other (Most commonly used for

    formats which require differing sector numbering and/or head mapping on each side).


    As a minimum, in order to generate an image, BIN2IMD needs at least the following options applied to all sides that are being

    generated:


    N= (always applies to both sides), DM=, SS= and SM=.


    #ImageDisk Page: 34



    DM= sets the Data Mode, which must be one of:

    0 = 500 kbps FM \ Note: kbps indicates transfer

    1 = 300 kbps FM > rate, not the data rate,

    2 = 250 kbps FM / which is 1/2 for FM

    3 = 500 kbps MFM encoding.

    4 = 300 kbps MFM

    5 = 250 kbps MFM


    SS= sets the Sector Size, and must be one of:


    128, 256, 512, 1024, 2048, 4096 or 8192.


    SM= specifies the Sector Numbering Map, which also defines the number of sectors occuring on a track. SM= may consist of any

    of the following elements:


    number = Single sector-number

    number1-number2 = Series ranging from number1 to number2

    number.times = Single value occuring multiple times.


    Multiple elements may be combined into a map by separating them with commas:


    SM=1,2,3,4,5,6,7,8,9 <= 9 sectors from 1 to 9

    SM=1-9 <= Also 9 sectors from 1 to 9

    SM=9-1 <= 9 sectors from 9 to 1

    SM=1,2-8,9 <= 9 sectors from 1 to 9

    SM=1.9 <= Sector #1 occuring 9 times **

    ** This (1.9) is actually invalid since sector numbers may occur once within a track, however this format is useful

    in some of the other lists.


    The sector mapping you specify MUST match the order in which the sector data occurs in the binary file. If you wish to

    create images with differing interleave etc. You must first create the image with the pysical data ordering, and then use

    the IMDU utility to re-interleave it.


    HM= specifies a non-standard Head Numbering Map (if not specified, all sectors are assumed to have the physical head

    number encoded). The number of HM= entries must match the number of sectors defined by SM=.


    Here is an example where a disk is created which logicaly has 20 sectors on Side0, even though they are physically organized

    as sectors 1-10 on Side0, and 11-20 on Side1:


    SM0=1-10 HM0=0.10 SM1=11-20 HM1=0.10


    NOTE: The HM0=0.10 isn't strictly necessary, since the default head encoded for Side0 would be 0, however it has been included

    for it's descriptive value.


    CM= specifies a non-standard Cylinder encoding. Very rarely used, this option operates similarly to HM=.


    ImageDisk Page: 35



    The /1 and /2 options are rarely used. These options exist to inform BIN2IMD that a disk is single or double sided in cases

    where it may not be able to determine this from the parameters.


    /2 can be used when both sides are the same, and no Side1 specific options have been specified - Use /2 to let BIN2EXE

    know that it should generate two sides (You could also just specify one Side1 specific option as the presence of such an

    option automatically sets double-sided).


    /1 or /2 are also used in option files, when the number of sides to be encoded changes part way thorugh the disk. An

    example of this might be a disk which has system tracks on Side0 only for the first two Cylinders, and is double-sided

    after that. This is quite rare.


    /V controls the output of Verbose information detail about the diskette format being generated.


    /V = Generate track format summaries only

    /V0 = Generate no detail (Default - use this to turn Verbose detail output OFF within an option file).

    /V1 = Generate detail showing track format and map detail.


    C= Specifies a comment to be included in the image. A single line of text can be specified. To accomodate the fact that you

    cannot put spaces in comamnd line parameters, any '~' characters occuring in the comment text will be translated to

    spaces. You may also include the content of a file with 'C=@filename' - in this case the text file is included with no

    translation.


    11.1.2 Mixed format disks - Command option files


    BIN2IMD can create mixed format disks - those in which the format changes from one track to the next. To do this, you must

    specify the command options to specify the format into an "option" file (type: .B2I), with each set of parameters on a

    separate line preceeded by the Cylinder number where those parameters are to take effect.


    You may also use a command option file to establish commonly used initial format option. If the first entry in the file is

    assigned for Cylinder 0, then these options need not be specified on the command line.


    Blank lines, and lines beginning with ';' are ignored as comments in the command option file.


    ;

    ; Example command option file to demonstrate a 40 Cylinder

    ; double-sided disk which is formatted 10x256 bytes sectors

    ; at 250kbps FM on the first two Cylinders, and 10x512 byte

    ; sectors at 250kbps MFM on the remaining 38 Cylinders.

    ;

    0 N=40 DM=2 SS=256 SM=1-10 /2

    2 DM=5 SS=512 SM=1-10 /2

    ImageDisk Page: 36

    Mit freundlichen Grüßen


    fritz

  • Kannst du das Sektorweise mit anadisk tun?


    Ist das Zielformat in der DEC Welt vorhanden und kannst du das mit putr unter DOS tun?


    Lieben Gruß

    Volker

    Suche QBUS Diskettencontroller (DILOG DQ 419, MTI MXV22). Ersatzteile und Omnibus Karten für PDP8/E, Unibus Ersatzteile für PDP 11/40

  • Nein, anadisk ist hier nicht hilfreich, ich werde es jetzt mal mit bin2imd probieren.



    imd.pdf hatte ich ganz vergessen und jetzt mal ausgedruckt.

    Mit freundlichen Grüßen


    fritz

    Einmal editiert, zuletzt von fritzeflink ()

  • Die Aktion mit BIN2IMD hat funktioniert.


    Befehlszeile:


    bin2imd. cpm2.img lak-cpm2 /1 c=@cpm2.txt n=77 DM=3 SS=256 SM=1-26 /v1


    bin2imd

    cpm2.img Quelldatei

    lak-cpm2 Zieldatei

    /1 1 Seite

    c=@cpm2.txt Datei mit Beschreibungstext für IMD

    n=77 77 Track (zylinder)

    DM=3 500kbps (track data mode)

    SS=256 Sectorgröße 256 bytes (sector size)

    SM=1-26 Sektornummerierung von 1 bis 26 (sector numbering map)

    /v1 Ausgabe zum Programmablauf



    Mit IMDA und Anadisk angeschaut scheint alles zu passen. Jetzt kommt der test bei Franz und mein Versuch das Format nach 22disk zu einzubinden.

    Mit ein wenig Glück gibt es keinen skew oder sectortranslation, so dass es etwas einfacher ist.



  • Hello Fritz,


    das ist ja phantastisch!

    Auf mich allein gestellt hätte ich die Konvertierung nie hingekriegt.

    Fritz, du hast dich mit dem Thema bestimmt schon sehr lange und sehr eingehend beschäftigt.


    Laut Sendungsnummer sollen die ISIS-II-Disketten morgen hier ankommen.

    Ich bin schon gespannt wie ein Flitzebogen.


    Viele Grüße und vielen Dank für deine hervorragende Arbeit

    Franz

  • Aktualisierung:


    das Format der SSDD Diskette ist XER5 bei 22disk. :-) Hierbei gab mir auf VCFED ldkraemer den Tipp was das Ganze beschleunigte.
    Schön das die Entwickler kein neues Format erfunden haben. Ich habe der Bootfloppy noch ein paar Programme hinzugefügt.


    Vielleicht möchte NIXDAS noch was spezielles ?







    Mit freundlichen Grüßen


    fritz

  • Hallo Fritz,


    wenn alle diese Programme funktionieren würden, ware das wunderbar.


    Viele Grüße

    Franz


    Die ISIS Disketten sind angekommen.

    Der Rechner hat ISIS-II beim zweiten Versuch gebootet.

    Auf der ISIS-II Diskette scheint ausser dem Betriebssystem nicht viel drauf zu sein.


    EIN DIR-Commando auf die Anderen beiden Disketten führt zum HANG des Rechners.

    Wie war das noch mal mit dem Pause Kommende, wenn nur ein Diskettenlaufwerk vorhanden ist?

    Das ist zu lange her.


    Jetzt muss ich erst mal zur Post und dann das Mittagessen vorbereiten.


    Am Nachmittag geht es weiter.

    Angehängt ein paar Screenshots.


    Vielen Dank

    Franz

  • Sehr schön, der Anfang ist gemacht. Es gibt ja noch andere ISIS-II Images. Kannst du die hardcopies zwecks Dokumentation bitte etwas größer machen ?

    Mit freundlichen Grüßen


    fritz

  • Hallo Fritz,

    ja, der Anfang ist gemacht und es geht voran.

    Ich habe ein wenig Zeit investiert und einige Dinge im ISIS-II Manual nachgeschlagen.

    Mit dem Kommando: DIR und der Option <I> werden die "invisible files" angezeigt.

    DIR I für die Systemdiskette in Laufwerk 0.

    DIR I P für die CREDIT- und ASM80-Floppy in Laufwerk 0.

    Auf der ISIS-II System Floppy ist eigentlich alles drauf, was man für einen ersten Start benötigt, inclusive LINK und LOCATE.

    mit der Option <P> kann man ISIS-II zum Pausieren auffordern, so daß die Disketten gewechselt werden können.

    Auf diese Weise habe ich ein DIR-Kommando auf die CREDIT-Floppy und auf die ASM80 Floppy abgesetzt.

    Beide Floppies sind lesbar.

    Ich habe alle Dateien der CREDIT-Floppy auf die System Floppy kopiert.

    Ich habe das gleiche bei der ASM80-Floppy begonnen, muss jetzt aber erst mal pausieren.

    Das System ist unzuverlässig. Es wird nur passiv gekühlt und wird entsprechend warm.

    Ich musste ISIS-II unzählige Male neu starten.


    Eine zweite System-Floppy zu initialisieren, habe ich mich bisher noch nicht getraut.


    Wie ich die Auflösung der Screenshots erhöhen kann, habe ich noch nicht herausgefunden. Ich benutze GREENSHOT.


    Anders als im ISIS-II Manual angegeben muss ich die Laufwerksnummer mit "0" angeben statt mit ":F0:".


    Das Monitor-Programm versucht zunächst, von einer Double Density Floppy zu booten.

    Nachdem das einige Male fehlgeschlagen ist, versucht es von Single Density Floppy zu booten, was auch meistens gelingt.


    Dass is so weit komme, hätte ich bis vor kurzen noch nicht geglaubt.

    Vielen Dank, Fritz!

  • NIXDAS hat die Disketten zu ISIS enzt


    Danke....


    sme_diskettenbetriebssystem_isis-ii_(deutsch_ocr).pdf



    Und hier auch gleich noch ein Link zum nach MSDOS portierten ISIS-II Editor ... AEDIT

    Mit freundlichen Grüßen


    fritz

    3 Mal editiert, zuletzt von fritzeflink ()

  • AEDIT, mit dem habe ich lange Zeit auf meinem ersten IBM-PC gearbeitet.


    Als ich dann später zu dem IBM-kompatiblen Mainframes gewechselt bin,

    habe ich KEDIT verwendet, der kompatibel zu einem unter VM/SP laufenden Editor kompatibel war.


    Viele Grüße

    Franz

  • Hilfe!

    Heute habe ich von NIXDAS eine mail bekommen. Der FDC Kontroller macht Probleme und läuft nicht stabil. Wer macht beim 'brainstorming' mit ?

    Zwecks Dokumentation habe ich auch noch einige archivtaugliche Bilder bekommen.


    Mit freundlichen Grüßen


    fritz

  • Keiner der sich mit dem Timing vom ECB BUS etwas auskennt ?
    Problem: der FDC (Floppy Disk Controller) hängt sich auf.


    @NIXDAS 

    Beim Projekt bin ich noch nicht weiter gekommen.

    Ich habe schnellere SRAMs in Z80-CPU und in den FDC eingebaut.

    Das ändert nichts.

    Das Problem liegt auf der Seite des FDC.Er hängt sich bei Befehlen auf, die einen DMA-Transfer vom/zum FDC und von dort von/zur Floppy erfordern.BUSAK_N ist dann dauernd low und der Rechner hängt.

    Das Problem hat evtl mit Signalverzerrungen oder mit Überschwingern am ECB-Bus zu tun.

    Sobald ich eine ECB-Bus Extender-Karte einschiebe, funktioniert es besser.

    Es funktioniert ebenfalls besser, wenn ich 2 x 32KB SRAM Karten statt der einzelnen 128K SRAM-Karte verwende.

    Mit freundlichen Grüßen


    fritz

  • Vielleicht traut sich ja doch der Eine oder die Andere mit Ideen zur Problemlösung.

    Weitergeleitet:


    --------><--- schnipp

    Hallo

    Der widerspenstige Floppy Disk Controller der Firma Lakosa überträgt die Daten von/zur Floppy per DMA (BUSREQ_N/BUSAK_N).

    Der Hauptprozessor bereitet einen I/O-Parameter-Block (7Bytes) im Speicher vor und übergibt dessen Anfangsadresse

    über zwei I/O-Zeilen an den Floppy Disk Controller.

    Der FDC liest und interpretiert den IOPB und überträgt die Daten von/zur Floppy per DMA in den Speicher.

    Der Hauptprozessor pollt ein Status-Register des FDC, um das Ende der Operation festzustellen.

    Nach dem Ende der Operation liest der Hautprozessor zwei Status-Register des FDC, um festzustellen. ob die Operation

    ohne Fehler ausgeführt wurde.

    IOPB und Register-Layout des Lakosa FDC sind kompatibel zum FDC des Intellec MDS Entwicklungssystems für 8080/85, 8086 aus den 70er Jahren.

    Somit kann man das ISIS-II Betriebssystem booten.

    Anfang der 80-er Jahre hatte ich auch eine Floppy, von der ich CP/M booten konnte.


    Es ist ein Monitorprogramm vorhanden, mit dem Speicher angezeigt und verändert werden kann.

    Den Monitor habe ich Ende der 70-er, Anfang der 80-er Jahre durch Aufbohren des Intel MDS Monitors selbst geschrieben.

    Leider existieren die Sourcen und auch die Listings nicht mehr.

    Ich habe den Monitor im letzten Jahr vor Ostern disassembliert und das Ergebnis so lange getunt, bis ich ein bit-genaues Abbild des EPROMs erzielt habe.

    Ich weiss zwar immer noch nicht, genau, wie alle Routinen des Monitors funktionieren, wäre aber theoretisch in der Lage Veränderungen, Verbesserungen vorzunehmen.


    Über den Monitor können Kommandos zum Floppy Disk Controller abgesetzt werden wie SEEK, Format, READ Sector, WRITE Sector.

    Kommandos, wie Format und Seek, welche keine Datenübertragung zwischen Speicher und Floppy erfordern, funktionieren in der Regel.

    Das Lesen und Schreiben einzelner Sektoren bereitet schon mehr Schwierigkeiten.

    Manchmal funktioniert das Lesen eines Sectors einwandfrei, manchmal hängt sich der FDC auf.

    Das häufigste Symptom ist, daß der Motor der Floppy kurz anläuft und das System dann hängt.

    BUSAK_N ist dann low, MREQ_N ist low, WR_N ist low.


    Das Lesen von FD auf Memory Adresse A000 funktioniert besser als das Lesen von FD auf Memory Adresse 4000.

    Das Lesen von FD funktioniert besser, wenn mehr Karten auf dem Bus eingesteckt sind, z.B. Bus Extender.

    Auch funktioniert das Lesen von FD besser wenn 2 Stück 32K SRAM-Karte eingesteckt sind statt einer 128K SRAM-Karte.


    Es deutet vieles auf ein Signal-Integrity- oder ein Timing-Problem hin.


    ISIS-II von Floppy zu booten funktioniert nur in ganz wenigen Fällen.

    Meist hängt sich der FDC auf, mit den oben geschilderten Symptomen.

    Manchmal werden alle erforderlichen Sektoren geladen, ISIS-II Ver. 4.3 gibt seine Meldung aus, stürzt dann aber ab.

    In dem Fall sind vermutlich falsche Daten geladen worden, oder die Daten wurden auf falsche Adressen geschrieben.


    Mir steht ein Tektronix MSO-4054 zur Verfügung.

    Das MSO hat 4 Analoge Kanäle, einen Trigger-Eingang und 16 digitale Kanäle.


    Nachdem mit der Chinesischen Methode (Tausch der Bauteile) nichts auszurichten war, habe ich einige Messungen am ECB-Bus durchgeführt.

    Was ist mir aufgefallen:

    1.

    Der ECB-Bus ist mit einer aktiven Terminierung versehen, 110 Ohm gegen 2,5 Volt.

    Wenn die Signale RD_N, WR_N, MREQ_N weder von der Z80-CPU Karte noch vom FDC getrieben werden, sehe ich einen sehr hohen Ripple auf

    diesen Signalen (Taktfrequenz 8 MHz oder 4 MHz). Die Z80-CPU-Karte läuft mit 8 MHz)

    Ich bin nicht sicher, ob das ein Messfehler ist. Ich greife die Signale von einem Bus Extender ab. Die 2,5 Volt Terminierungsspannung ist sauber.

    2.

    Der FDC kann die RD_N, WR_N, MREQ_N nicht auf den gleichen HIGH-Level treiben wie die Z80 CPU-Karte.

    Ein Austausch der Treiber 74LS244 gegen 74F244 hat keine grundsätzliche Verbesserung gebracht.


    Frage:

    Muss man RFRSH_N in die Adressdekodierung einer Speicherkarte einbeziehen oder kann man darauf verzichten,

    weil beim Refresh WR_N nicht aktiviert wird?


    Ich hänge die Screenshots einiger Messungen an.

  • Ich hab den Thread gar nicht mitgekommen. Ist ja richtig spannend.


    Du hast ja wenigstens ein gutes Messgeraet und gute Messungen gemacht.


    Mich verwirrt das digitale Signal bei WR_N. Welches ist das?

    Bei der V/div Angabe (unten links) steht meist ein Ohm Zeichen und A=Ampere. Was hat das zu sagen? Was misst du da? Steht auch bei den Cursormessungen.



    Wenn die Signale RD_N, WR_N, MREQ_N weder von der Z80-CPU Karte noch vom FDC getrieben werden, sehe ich einen sehr hohen Ripple auf

    diesen Signalen

    Das Ripple sieht nicht schoen aus, wurde mich aber nicht beunruhigen. Uebersprechen gibt es immer, je nach Qualitaet der Backplane mehr oder weniger, aber vor allem bei nicht getriebenen Signalen.


    Ein Austausch der Treiber 74LS244 gegen 74F244 hat keine grundsätzliche Verbesserung gebracht.

    Wuerde ich auch nicht machen bzw. wieder zurueckbauen.

    Desto schneller die Bausteine, desto mehr Stoerungen.


    Wie gross ist der High-Unterschied und auf welchem Screenshot kann man das sehen.

    Wuerde ich mir aber auch keine Sorgen wegen machen. Du hast eine Terminierung, die belastet den High-Pegel Ausgang natuerlich auch. Aber alles ueber 3V ist unkritisch.




    Was mich sehr wundert ist, warum wird der Bus nicht die ganze Zeit getrieben.

    Entweder sollte das die CPU machen (BUSREQ_N/BUSACK_N = 1) oder der DMA-Master (BUSREQ_N/BUSACK_N = 0).

    Woher kommt das Signal MEMTR_N (letzter Screenshot)?

    An den Stellen waere das BUSACK_N Signal sehr interessant.


    Muss man RFRSH_N in die Adressdekodierung einer Speicherkarte einbeziehen oder kann man darauf verzichten,

    weil beim Refresh WR_N nicht aktiviert wird?

    Nein, bloss nicht!

    Dann muesstest du ja fuer jede Speicherkarte einen eigenen Refresh erzeugen.

    Und mit dem WR_N wurdest du ja schreiben.

    Der Refresh wird meistens mit RAS-only gemacht und das kommt aus dem MREQ_N. Also alles gut.


    Also entweder die Speicherkarte macht ihren eigenen Refresh, dann muss sie ggf. das WAIT_N aktivieren koennen, oder sie nimmt den Z80-Refresh mit.

    Beim Z80-Refresh auf jeden Fall auf die DRAMs achten. Bei den 64kbit Typen (z.B. 4164) muessen diese mit einem 7bit Regresh auskommen.


    Viel Erfolg

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Ich habe inzwischen die Hälfte der ECB-Bus Signale direkt an der DIN41612 Steckleiste des Floppy Disk Controllers

    gemessen ohne dass die ECB-Bus Extender Karte eingeschoben war.

    Die Scope Probe habe ich über ca. 5 cm lange Drähte mit der Scope Probe verbunden.

    Auf diese Weise gemessen sehen die Signale am ECB-Bus recht gut aus.

    Nur bei wenigen ist noch ein wenig des Ripples zu messen, der mich bei meinen früheren Messungen beunruhigt hat.


    Der FDC-Controller kann nach den neuen Messungen die Signale auf den gleichen high-Level, ca. 3,6 Volt, treiben wie die Z80-CPU.


    Der ECB-Bus wird bei meinem System nicht dauernd getrieben. Deshalb ist ein aktiver Bus-Abschluß ganz praktisch.

    Wenn der FDC den IOPB aus dem Speicher liest oder wenn der FDC Daten von/zur Floppy transferiert holt er sich den ECB-Bus,

    den die Z80-CPU dann nicht mehr treibt. Der FDC treibt den ECB-Bus in dieser Phase nur während der

    eigentlichen Datenübertragung.

    Die Bustreiber des FDC für Adressen und Kontrollsignale werden enabled solange das FDC-interne Signal MEMTR_N low ist.

    Deshalb habe ich das Signal MEMTR_N in meine Messungen mit einbezogen.


    Der FDC nimmt den Takt für seine Z80 CPU vom ECB-Bus. Ich war etwas überrascht, zu entdecken, dass der Takt am ECB-Bus nur mit 4 MHz

    läuft. Ich hatte bisher angenommen, dass der ECB-Bus mit dem gleichen Takt läuft wie die CPU-Karte. Das wären in diesem Fall 8 MHz.

    Ich glaube, die 4 MHz sind ein Erfordernis des FDC. Würde der Takt schneller laufen würden vermutlich einige Zeitschleifen des FDC nicht mehr passen.


    Meine Frage, ob des RFRSH_N Signal in die Adressdekodierung einbezogen werden muß, bezieht sich auf die angehängte Schaltung.

    Ich habe einen Jumper vorgesehen, über den ich auswählen kann, ob das der Fall ist oder nicht.

    In der Praxis ergeben sich keine Unterschiede.


    Das Scope ist ein Tektronix MSO4054 mit 4 analogen Eingängen, einem Triggereingang und 16 digitalen Eingängen.

    Ich habe habe es als defekt bei Ebay ersteigert. Richtig reparieren kann ich es nicht, weil einige Kontakte unter einem hochpoligen Finepitch Stecker abgerissen sind. Ich habe Stecker und Platine auf Spannung montiert. So läuft es zunächst einmal und hält hoffentlich noch länger durch.


    Die Kalibrierung eines Kanals des Oszilloskops in A/Ohm statt in Volt ist ungewollt. Ich weiss nicht, wo man das bei dem Scope umstellen kann.

  • Die Scope Probe habe ich über ca. 5 cm lange Drähte mit der Scope Probe verbunden.

    ??? Rekursive Messung? :-)



    Der ECB-Bus wird bei meinem System nicht dauernd getrieben. Deshalb ist ein aktiver Bus-Abschluß ganz praktisch.

    Halb richtig.

    Ohne Bus-Abschluss wurde das System wahrscheinlich gar nicht funktionieren.



    Wenn der FDC den IOPB aus dem Speicher liest oder wenn der FDC Daten von/zur Floppy transferiert holt er sich den ECB-Bus,

    den die Z80-CPU dann nicht mehr treibt. Der FDC treibt den ECB-Bus in dieser Phase nur während der

    eigentlichen Datenübertragung.

    Die Bustreiber des FDC für Adressen und Kontrollsignale werden enabled solange das FDC-interne Signal MEMTR_N low ist.

    Deshalb habe ich das Signal MEMTR_N in meine Messungen mit einbezogen.

    Leider seh ich das Signal MEMTR_N nur im letzten Screenshot.


    Wenn der FDC sich den Bus mit BUSREQ_N und BUSACK_N holt, warum wird der Bus nur waehrend MEMTR_N getrieben?

    Warum haelt der FDC den Bus und macht nur alle 5us eine Datentransfer? In der Zeit kann doch die CPU weitermachen.

    Ich will nicht sagen das ist ein Fehler. Aber macht fuer mich z.Zt. keinen/wenig Sinn.


    Kannst du mal Messungen mit BUSACK_N und MEMTR_N machen/mailen?



    Meine Frage, ob des RFRSH_N Signal in die Adressdekodierung einbezogen werden muß, bezieht sich auf die angehängte Schaltung.

    Ist das die gesamte Schaltung oder nur ein Ausschnitt?

    Falls die gesamte Schaltung: Was willst du mit dem RFSH_N bei einem SRAM?



    Die Kalibrierung eines Kanals des Oszilloskops in A/Ohm statt in Volt ist ungewollt.

    Um die Kalibrierung wird es wohl nicht gehen.

    Aber falsche Einstellungen der Kanaele und/oder Tastkoepfe koennen massive Messfehler ergeben.



    der Takt am ECB-Bus nur mit 4 MHz

    Kannst du bitte mal klaeren, was mit welchem Takt laeuft.

    Auch hier kann es Probleme geben, wenn die CPU schneller laeuft als der ECB.



    Ich denke das reicht fuer heute.

    Viel Erfolg

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • 1. Messung mit 5 cm langen Anschlussdrähten vom Messobjekt zum Tastkopf.


    Ich benutze Tektronix TAP1500 Probes mit 1,5 GHz Bandbreite.


    Die Standard Clips für die aktiven Tastköpfe haben eine Länge von ca. 5 cm.


    Natürlich würde man realistischere Signalverläufe messen, wenn man die Tastköpfe direkt mit dem Messobjekt verbindet.


    Bei einer Taktfrequenz von 8 MHz sollten die 5 cm langen Leitungen aber kein Problem darstellen.




    2. Aktiver Busabschluss.


    Stimmt, ohne Busabschluss würde es nicht funktionieren.




    3. Der ECB-Bus wird nicht immer getrieben, nachdem der FDC sich den Bus geholt hat.


    Das ist halt so. Das Design des FDC kann ich nicht ändern.




    4. Kalibrierung des Oszilloskops.


    Ich habe die Probe jetzt auf V umgestellt. A/Ohm war aber auch kein Problem.




    5. RFRSH_N Signal in die Adressdekodierung einer SRAM-Karte einbeziehen oder nicht.


    Die Schaltung der 128 KB SRAM Karte, die ich hochgeladen habe ist komplett. Mehr benötigt man nicht.


    Meine Frage war, ob man die Adressdekodierung so designen sollte, dass RFRSH_N high (inaktiv) ist,


    wenn das SRAM selektiert ist (CS_N 0 low).


    Normaler Zugriff: A19-A17 =0 (über I/O-Port gesteuert), MREQ_N = 0, RFRSH_N = 1

    Refresh: A19-A17 =0 (über I/O-Port gesteuert), MREQ_N = 0, RFRSH_N = 0




    Wenn ich RFRSH_N = 1 also nicht dekodiere, wird der Chip-Select Eingang des SRAMs auch bei einem REFRESH aktiviert.

    Da passiert wohl nichts, weil WR_N während des REFRESH nicht aktiv ist.



    Weiss jemand, auf welchen Logikpegel A15-A8 des Z80 getrieben werden, während RFRSH_N aktiv (low) ist?



    6. MEMTR_N Signal.

    Das MEMTR_N Signal ist ein FDC-internes Signal und öffnet die Treiber für A(15:0) und für die Control-Signale wie WR_N, RDN,

    wenn es low ist. Es ist an dem OE_N Eingängen der 74LS244 angeschlossen.


    Ich lade zum Verständnis einige Messungen hoch. Bitte nicht zu kritisch betrachten, nur MRQ_N ist über kurze Strippen

    mit dem Tastkopf verbunden.

    Die Messung FDC_Hang.png zeigt eines meiner Probleme.

    Der FDC holt sich den Bus, schreibt einige Bytes in den Speicher und hängt dann, BUSAK_N = 0, MEMTR_N = 0, MREQ_N = 0, WR_N = 0.

    In diesem Fall gerät auf dem FDC etwas aus dem Tritt und der FDC hängt.


    Es gibt auch einen anderen Fehler.

    Der Datentransfer kommt von Floppy endet normal.

    Das Betriebssystem ISIS-II gigt seine Sign-on Meldung "ISIS-II Ver. 4.3" aus, stürzt dan aber ab.

    In dem Fall sind vermutlich falsche Daten in den Speicher übertragen worden.


    Für die weiteren Messungen habe ich in den Trace gezoomt.

    FDC_RD_IOPB-01 - FDC_RD_IOPB-01 zeigen, wie der FDC den Bus holt und sieben Bytes, den I/O-Parameter-Block aus dem Speicher liest.

    Der FDC interpretiert den I/O-Parameter-Block und führt die angeforderte Operation durch.


    FDC_WR_MEM-01 - FDC_WR_MEM-06 zeigen, wie der FDC den Bus für einen Datentransfer von der Floppy zum Speicher holt.

    Dann werden einigen Bytes vom FDC in den Speicher übertragen.

    Schon nach wenigen Bytes hängt der Transfer.


    Das soll erst einmal alles sein für heute.

  • Ich benutze Tektronix TAP1500 Probes mit 1,5 GHz Bandbreite.

    Ich habe die Probe jetzt auf V umgestellt. A/Ohm war aber auch kein Problem.

    Tolle Ausruestung mit den Probes.


    A/Ohm gibt's nicht und ist Bloedsinn.

    Das Ohm-Zeichen ist bei meinem DPO4104 das Zeichen, wenn der interne 50Ohm Abschlusswiderstand aktiv ist. Das wuerde bei passiven Probes zu Messfehlern fuehren. Aber wahrscheinlich ist das durch die aktiven Tastkoepfe inaktiv/egal/sonstwas.


    5. RFRSH_N Signal in die Adressdekodierung einer SRAM-Karte einbeziehen oder nicht.

    Ich wuerde den RFSH mit auf den Adressdekoder legen. Also Jumper unten im Schaltplan.

    Funktional ist es egal (du hast es mit WR_N ja schon erklaert), es entstehen aber weniger Signalwechsel.

    Eigentlich ist das RFSH an der Stelle sogar gut eingesetzt. Da hatte ich gestern einen Denkfehler.

    Weiss jemand, auf welchen Logikpegel A15-A8 des Z80 getrieben werden, während RFRSH_N aktiv (low) ist?

    Ja, keiner! :-)

    A7 ist '0', ausser jemand hat 0x80-0xFF ins R-Register geschrieben.

    A8-A15 sind nicht definiert. D.h. die Leitungen haben selbstverstaendlich einen stabilen Zustand, aber einen zufaelligen Wert.


    6. MEMTR_N Signal.

    Ich habe eine Vermutung.

    Der FDC hat keinen DMA, sondern die FDC-Interne CPU greift als Busmaster auf den Speicher. Zwischen den Lesezyklen muss die CPU ihren eigene Code abarbeiten, das dauert eben etwas. Sieht komisch aus, aber aendern ist nicht.


    Leider haben wir damit bisher keine Fehleranalyse, aber wenigstens handfestes Wissen.


    Wenn der Datentransfer haengt, sieht der Bus dann immer so aus?

    Hintergrund: Auf dem letzten Screenshoot bleibt der Transfer waehrend eines Speicherzugriffs (der FDC-CPU) haengen. Die einzige Moeglichkeit die CPU anzuhalten ist was WAIT_N Signal an der CPU. Oder es gibt irgendeine Logikschaltung auf dem FDC, die noch dazwischen haengt.

    Hast du einen Schaltplan des FDC? Hast du Bilder, auf denen man die Bausteile gut erkennen kann?


    Schoenen Abend

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Ich habe mal die beiden Seiten des FDC "fachgerecht" zusammen montiert.





    Ich will Fritz' seine Standardfrage nicht wegnehmen: :-)
    NIXDAS Hast du das EPROM schon ausgelesen und gesichert?

    Kannst du die PROMs auslesen?

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

    fritzeflink gefällt das.
  • Ich habe mir einen Minipro TL866CS Programmer zugelegt.

    Für den attraktiven Preis kann er viel, aber nicht alles.


    Ich lade das Binary der Floppy Controller Firmware mal hoch.

    Ich habe mir vor einiger Zeit mal die Mühe gemacht, das Binary zu disassemblieren.

    Leider musste ich feststellen, daß das Binary nicht mit meinem Listing übereinstimmt.