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

    • Offizieller Beitrag

    Immer wenn's spannend wird, ist die Folge um.

    Immer diese Cliffhanger...

    :)

  • Ich habe das Gefühl, daß ich mich mit Imagedisk eingehend beschäftigen muss. Im Moment fehlt mir die Geduld.


    Ich lese also die ersten beiden ersten Sektoren der ISIS-II Floppy in den Speicher und entdecke zufällig die OPCODE Sequenz DB FF.

    Das ist doch eine Input Instruction vom Port 0FFh. Auf der Adresse wird doch beim MDS 800 der Boot-Switch abgefragt.

    Den Boot Switch gibt es bei meinem Rechner nicht und soweit ich mich erinnere bei den Intel Series II MDS auch nicht.

    Ich nehme eine 8080 Opcode Tabelle zur Hand und disassembliere die wichtigsten Stellen am Anfang des Bootloaders.


    Interessant, der Bootloader liest die Speicherzelle FFFFh im Monitorprogramm und entscheidet anhand des Inhalts,

    ob der Boot Switch abgefragt werden soll oder nicht.

    Wenn die Speicherzelle 00 ist, wird abgefragt, ob der Boot-Switch zurück gesetzt wurde, nachdem er zunächst für die Entscheidung Boot oder Monitorprogramm gesetzt war.

    Bei meinem Monitorprogramm ist die Speicherstelle auf Adresse FFFFh = 00 gesetzt.

    Das führt dazu, daß der Boot-Loader meinen Rechner als Intel Series I identifiziert und den Boot-Switch abfragt,

    Weil der Boot-Switch nicht vorhanden ist, hängt der ISIS-II Bootloader in einer ewigen Schleife.


    Ich programmiere eine neue Version des Monitorprogramms, bei dem auf Adresse FFFFh eine 01 abgelegt ist.


    Die Änderung wirkt. Nachdem ich den ISIS-II Boot-Vorgang ausgelöst habe greift der Floppy Controller nun mehrmals auf die

    Floppy zu, bleibt dann aber immer wieder mit dem altbekannten Symptom hängen, BUSAK ist dauerhaft aktiv (low).


    Komisch, bei der ISIS-II Version, die ich in den 80 ern benutzt habe und bei der Version, die Fritz für mich geschrieben hat,

    ist der Rechner nicht im Bootloader hängen geblieben.


    Bei meinem Monitorprogramm versucht der Rechner zunächst einmal von einem Double Density Laufwerk zu booten.

    Das wiederholt er 16 mal, bis er den FDC auf Single Density umprogrammiert und versucht von Single Density Disk zu booten.

    Das ist hier störend! Meist bleibt der Rechner bereits bei einem er 16 Bootversuche von Double Density Disk hängen, bevor er

    auf meine Single Density ISIS-II Floppy zugreift.

    Jetzt wäre es schön, eine Double Density ISIS-II Boot Diskette im 3,5 Zoll Format zu haben.

    Mehr dazu später.


    Jetzt lade ich hier den Bootsektor in Rohform und einige Zeilen disassemblierten Code hoch.

  • Jetzt wäre es schön, eine Double Density ISIS-II Boot Diskette im 3,5 Zoll Format zu haben

    Könnte ich ja machen. Allerdings kannst du auch selber mit IMD das 8" Image auf 3.5" schreiben.

    Ich weiss, es ist nicht immer so einfach, aber du kannst mir sagen welches Image du auf 3.5" benötigst damit ich dass mal hier testen und dokumentieren kann. Anschließend machst du dass dann nach Anleitung mit deinem System. :)


    Zitat

    Jetzt schließe ich das modifizierte 3,5 Zoll Laufwerk an den Rechner an und hole mir ein ISIS-II Ver. 4.3 im Single Density Format aus dem Internet.

    Das Image lässt sich ohne Probleme beim ersten Versuch auf die Floppy schreiben.


    Verstehe ich dass richtig, du hast deinen 486er benutzt ?


    Ich denke du hattest eine IMD Datei gefunden und geschrieben.


    Die RAW Dateien aus unserem gemeinsamen anfänglichen Versuch konnten nicht direkt mit IMD zurückgeschrieben werden, sondern

    mußten mit BIN2IMD geschrieben werden.


    ! Die 8" die ich dir gemacht habe sind natürlich auch als IMD vorhanden und können direkt per IMD auf 3.5" geschrieben werden. !


    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 falls vorhanden

    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 freundlichen Grüßen


    fritz

    Einmal editiert, zuletzt von fritzeflink ()

  • Ergänzung:


    ich konnte ohne Probleme die IMD Images auf 3.5" Diskette schreiben.

    Das sollte auch mit deinem 486er gehen.


    Die SS Disketten konnte ich mit 22disk auch einlesen und testen, für die DS Disketten habe ich noch nicht die korrekte Formatdefinition.

    Schreiben funktionierte für alle IMD Images problemlos.


    Probiere mal die DSDD Images aus.


    Hier ist auch eine Mailingliste zu MDS 800 ... http://lists.brouhaha.com/mailman/listinfo/intel-devsys

    und hier direkt deren Archive. http://lists.brouhaha.com/pipermail/intel-devsys/

  • Hallo Fritz, du hast es natürlich von Anfang an richtig angegangen.

    Ich musste erst noch eine Schleife drehen.


    Also, ich möchte gern eine 3,5 Zoll ISIS-II Boot-Diskette im Double Density Format haben.

    Im Internet finde ich leider nur ISIS-II Disketten Images im .IMG Format. Um Imagedisk zu verwenden, muss ich diese erst mit BIN2IMD konvertieren.

    Bei ISIS-II werden die Double Density Disketten mit 77 Tracks und 52 Sektoren zu 128 Bytes angesprochen.

    Ich konvertiere die .IMG Datei also mit der Vorgabe 77 Tracks und 52 Sektoren zu 128 Bytes in das .IMD-Format und versuche anschließend eine 3,5 Zoll Floppy mit dem erzeugten .IMD-Format zu beschreiben.

    Imgagedisk braucht für jeden Sektor elend lange und meldet anschließend bei jedem Track einen Fehler.

    Das hat also nicht wie erwartet funktioniert.

    Ich versuche den ersten Sektor der Diskette auf dem Zielrechner zu lesen und erstaunlicherweise hat Imagedisk zumindest in den ersten Sektor die erwarteten Daten geschrieben.

    Als ich versuche, weitere Sektoren zu lesen meldet der FDC einen Address Error. Die erzeugte Diskette ist unbrauchbar.

    Später formatiere ich eine Double Density Diskette an meinem Rechner mit dem Monitor-Kommando und lese diese anschließend am 80486 PC mit Imagedisk ein.

    Komisch, Imagedisk archiviert die Diskette mit der Organisation 77 Tracks, 26 Sektoren zu 256 Byte.

    Ich konvertiere anschliessend eine .IMG Datei mit diesen Parametern von .IMG nach IMD und bin ganz erstaunt, daß ich diese Datei mit Imagedisk problemlos auf eine 3,5 Zoll Diskette kopieren kann.

    Auf dem Zielrechner kann ich nun nicht nur den ersten Sektor sondern auch folgende mit dem Monitor einlesen.

    Allerdings hängt der Rechner immer noch, wenn ich mehr als zwei Sektoren einlesen will.

    Ich versuche trotzdem, ISIS-II zu booten.

    Meistens geht es schief, der Rechner hängt in der altbekannten Weise, BUSAK ist dauernd low.

    Zwei Mal komme ich aber weiter. Die ISIS-II Ver. 4.3 Meldung und der Command Prompt "-" erscheinen.

    Einmal kann ich sogar ein DIR-Kommando absetzen. Die Dateien werden aufgelistet aber anschließend erscheint der Command Prompt "-" nicht mehr.

    Im Prinzip könnte der Rechner funktionieren, der FDC arbeitet aber zu unstabil.

    Jetzt muss ich zunächst klären, warum der FDC hängen bleibt.

    Dazu muss ich mit größeren Kanonen schiessen und weitere Messgeräte anschliessen.

  • Gut, ich werde da auch mal einen Versuch mit ISIS auf 3.5" machen.


    Das Diskettenformat zu ISIS ist hier schön beschrieben.


    ISIS hat FM und M2FM (DD) Format, wobei M2FM nur mit den passenden Controller geschrieben werden kann.

    Unsere WD (17xx, 19xx) Controller machen FM und MFM.


    Ich denke zu ISIS hatte ich zu Begin IMD oder DMK Images, die CP/M Images waren nur RAW Images.

    Nun vereinfacht die Nutzung eines 3-5" Diskettenlaufwerkes die Handhabung.


    Bei ISIS-II werden die Double Density Disketten mit 77 Tracks und 52 Sektoren zu 128 Bytes angesprochen.

    Das ist jetzt DoubleSide oder SingleSide ?


    Welches Image hast du genommen ?


    Da du wohl beim Schreiben des ISIS Image Probleme hattest, probiere bitte mit anderen GAP Werten aus.

    Beim Schreiben zeigt IMD die 'geschätzten' GAP Werte als G1 und G2 an. In der IMD Konfiguration kannst du

    die Werte ändern.

    Ich hatte bei Disketten für den Genie III damit Probleme und eine Verringerung der Werte für beide GAPs brachte Abhilfe.

    Hier beschrieben unter Punkt 2



    2.1.5 R/W gap & Format gap

    The GAP lengths cannot be read from the disk, and using the wrong length can result in an unreadable copy. Unfortunately,

    determining the correct gap length can be "magic science". CALCULATED will use suggested values from the NEC databook if

    it exists for the disk format being used, otherwise an estimate is made based on the total track data size, sector size and

    number of tracks/sector. This may not be correct, and may result in a bad disk, or one which cannot be written. I have

    therefore provided the option to force specific gap length settings.

    If you have problems, try increasing/decreasing the calculated value Note that in general, the R/W gap must be less than the

    FORMAT gap.

    FORMAT = total gap between sectors, R/W = gap after READ/WRITE - and should fall somewhere in the middle of the

    FORMAT gap. Sometimes when a disk is made with an incorrect inter-sector gap size, it will read fine, however attempts

    to write the disk will corrupt it. This is because the inter-sector gap is too small, and the partial gap written at the end of

    a sector overflows into the next sector.

    If you find this is happening, and you are unable to determine good gap size values, another solution is to simply copy the

    entire disk on the target system - this should restore all of the gaps to the correct sizes as determined by your systems

    disk driver.


  • Die ISIS-II Floppy Images habe ich von dieser Seite geladen:


    http://www.nj7p.info/Computers/Old%20Software/software.html


    Die Single Density Floppy habe ich von dieser Datei generiert:

    9500007-07_ISIS-II_V4.2_Operating_System_V4.3_SD.IMD


    Die Double Density Floppy habe ich von dieser Datei generiert:

    9700003-08_ISIS-II_V4.2_Operating_System_Diskette_V4.3_DD.IMG

    Das .IMG-Image musste ich zunächst mit BIN2IMG in das .IMD-Format wandeln.

    Und dabei musste ich 77 Tracks, 26 Sektoren zu 256 Byte angeben.

    Erwartet hatte ich eigentlich 77 Tracks, 52 Sektoren zu 128 Byte.

    Außer Tracks, sectors, byte/sectors habe alle Settings auf Default belassen.


    Ich gehe davon aus, daß der Lakosa Floppy Controller in MODE 0 Single Sided Floppies unterstützt.

    Nach meiner Erinnerung gibt es die Möglichkeit, den Floppy Controller so zu konfigurieren,

    daß er eine Seite der Floppy als Drive 0 und die zweite Seite als Drive 1 (oder als Drive 2?) benutzt.

    Leider habe ich keine Beschreibung über die verschiedenen Disk-Modes ( 0, 1, 2 und 3).

  • Die Double Density Floppy habe ich von dieser Datei generiert:

    9700003-08_ISIS-II_V4.2_Operating_System_Diskette_V4.3_DD.IMG

    Ich denke diese Double Density Images sind M2FM (MMFM) Format und diese kann der WD Floppycontroller nicht schreiben. ?



    ISIS FLOPPY DISK FORMATS

    There are only 2 floppy disk formats used in the ISIS-II 8-inch disk images

    I hold. They are 256256 and 512512 byte images. These are images of

    the Intel SSSD and SSDD disks. The disk format used on the original

    256256 SD disks is IBM 3740 format FM, on the original 512515 DD disks

    is Intel M2FM, which no current FDC controller can read or write.


    The 256256 SD disks contain 26 128 byte sectors [1..26] on 77 tracks

    [0..76]. The 512512 DD disks contain 52 128 byte sectors [1..52] on

    77 tracks [0..76]. These disks are both single-sided. The sector skew on

    the 256256 SD disks is 1 on track 0, 12 on track 1, and 6 on all other

    tracks. The sector skew on the 512515 DD is 1 on track 0, 4 on track

    1, and 5 on all other tracks. This information came from the PLM80

    code for FORMAT and IDISK.

    Mit freundlichen Grüßen


    fritz

  • Ich habe jetzt die DD Diskette nach IMD gewandelt und sauber als IMD wieder auf Diskette geschrieben. Es gab keine Fehlermeldungen.

    mein Einwand mit M2FM bezieht sich wohl doch nur auf das lesen diese Disketten mit einem WD Controller.


    bin2imd isisdd.img isisdd /1 c=@label.txt N=77 DM=3 ss=128 sm=1-52 /v1

    oder......... %1.img %1


    Ich habe die Diskette vorher unter IMD gelöscht.

    Nach dem Setup auf die gewünschte Einstellung kann mit E)rase disk die Zieldiskette gelöscht werden.





  • ich habe das von dir generierte Image heruntergeladen und versucht dieses mit Imagedisk auf die von mir auf

    360 RPM umgebaute 3,5 Zoll Diskette zu spielen. Leider hat das nicht funktioniert.

    Es passiert das gleiche, wie bei meinem ersten Versuch mit 77 Tracks, 52 Sektoren zu 128 Bytes.

    Imagedisk tut lange rum und meldet für jeden Track einen Fehler.

    Dann habe ich mir überlegt, daß du evtl. mit einem nicht modifizierten Standard 3,5 Zoll Laufwerk gearbeitet hast.

    Ich habe dann versucht, das von dir generierte Image auf die in meinem 80486 Rechner eingebaute Standard 3,5 Zoll Diskette zu schreiben.

    Siehe da, Imagedisk ist durchgelaufen und hat die Diskette im Format 77T, 52 S, 128 Bytes beschrieben und keinen Fehler gemeldet.

    Anschliessend habe ich die so generierte Floppy mit Imagedisk eingelesen.

    Es sieht so aus als wäre das Zielformat korrekt geschrieben worden.

    Ich hänge einige Bilder an.

    Testen kann ich die Diskette heute nicht.

    Den Zielrechner habe ich gerade zerlegt.

    Morgen ist auch noch ein Tag.

  • :thumbup:


    Ich nutze in meinem Konvertierrechner die normalen PC Laufwerke.


    Aufpassen muß ich nur, wenn ich ein fest auf Drehzahl eingestelltes Laufwerk nehmen oder wenn das Image mit einem Laufwerk mit anderer

    Datenrate erstellt wurde.

    Dann muß ich die Datenratenkonvertierung nutzen, siehe Bild und Dokumentation.


    http://oldcomputers-ddns.org/public/pub/manuals/imd.pdf


  • Heute habe ich das Double Density ISIS-II Image ausprobiert.

    Leider kann ich die Diskette mit dem Z80-Rechner nicht lesen.

    Der Floppy Disk Controller meldet einen Address Error, sobald ich Track 00, Sector 1 einlesen will.


    Auf dem Zielrechner habe ich eine 3,5 Zoll Diskette formatiert, 77 Tracks, 52 Sektoren a 128 Bytes, Format Byte = E3.

    Diese Diskette habe ich dann auf dem 80486 PC mit Imagedisk eingelesen.

    Dazu habe ich ein auf 360 RPM modifiziertes Samsung SFD 321B Laufwerk benutzt.


    Imagedisk archiviert die Diskette mit der Organisation 77 Tracks, 26 Sektoren zu 256 Byte.

    Ich lade die IMD-Datei mal hoch.

    Vielleicht hilft dir die Datei, zu verstehen, wie das DD-Format auf meinem Zielrechner aufgebaut ist.


    Die Datei ist sehr kurz.

    Das liegt vermutlich daran, dass die Daten komprimiert sind und die Daten immer gleich sind.

  • Diese Diskette habe ich dann auf dem 80486 PC mit Imagedisk eingelesen.

    Dazu habe ich ein auf 360 RPM modifiziertes Samsung SFD 321B Laufwerk benutzt.


    Ich würde am PC für IMD ein normales 3.5" HD Laufwerk nutzen.


    ####

    Auf die Schnelle ohne Problemlösung

    ####


    IMD hat noch einige Zusatzprogramme welche hilfreich sind.

    Hier ein Auszug aus meiner menue.ext für den NortonCommander 5.

    Programme welche bei NC wegen der Erweiterung der gewählten Datei aufgerufen werden

    (Hier Dateierweiterung IMD)


    IMDU(tility) - Erstellt aus der komprimierten IMD eine RAW-Datei und speichert die Consolenausgabe nach *.log

    IMD: d:\disktool\imd\imdu !.! !.bin /b/e/y > !.log


    IMDA(nalyse) - Zeigt die Informationen zur gewählten IMD Datei auf Console an - speichert nach dateiname.txt

    IMD: d:\disktool\imd\imda !:!\!.!

    imd: d:\disktool\imd\imda !:!\!.! > !:!\!.txt


    IMDV(iewer) - betrachtet die IMD Datei wie ein Disketteneditor

    imd: d:\disktool\imd\imdv !:!\!.!


    ########


    Dein Image


    ########


    # IMDU:


    IMageDisk Utility 1.18 / Mar 07 2012

    IMD 1.18: 10/02/2020 12:12:39


    Double Density Diskette

    Formatted on ISECB Computer

    77 Tracks, 52 Sectors, 128 Bytes/Sector

    Format Byte E3


    2020/02/10

    Assuming 1:1 for Binary output

    0/0 500 kbps DD 26x256

    77 tracks(77/0), 2002 sectors (2002 Compressed)


    #########################################


    # IMDA:

    IMageDisk Analyzer 1.18 / Mar 12 2012

    IMD 1.18: 10/02/2020 12:12:39

    Double Density Diskette

    Formatted on ISECB Computer

    77 Tracks, 52 Sectors, 128 Bytes/Sector

    Format Byte E3


    2020/02/10

    Required cylinders: 77

    Required heads : 1

    Data rate : 500kbps

    Est. maximum track: 8951 bytes


    Possible drives/options to write RDF360E3.IMD :


    3.5" HD 80-track NOTE: *1 *2

    Double-step: OFF


    5.25" HD 80-track NOTE: *1

    Double-step: OFF


    8" 77-track

    Double-step: OFF


    *1 77 track image likely from 8" drive.

    *2 Should fit on 360rpm drive, 300rpm drive will leave long end gap.


    #########################################################

  • ich arbeite neben der Geschichte mit den Diskettenformaten seit einigen Tagen daran,

    zu messen, warum der Rechner bei einem Zugriff auf das Diskettenlaufwerk hängt.


    Viele Schritte waren notwendig.

    Heute habe ich den ersten kleinen Erfolg zu vermelden.

    Ich konnte ISIS-II Ver. 4.3 von einer im Single Density Format beschriebenen Diskette booten.

    Ich konnte sogar ein DIR Kommando ausführen und die auf der Diskette gespeicherten Dateien wurden angezeigt.

    Beim zweiten Aufruf des DIR Kommandos kam allerdings der Command Prompt nicht wieder.


    Bei einem zweiten Boot-Versuch verzweigte der Rechner nach einem Interrupt in das Monitorprogramm.


    Der Rechner läuft noch nicht stabil genug.


    Ich habe dann auf dem 80486 Rechner noch einmal eine Double Density Diskette mit Imagedisk generiert.

    Dazu habe ich eine Samsung SFD-321B benutzt, die ich auf 360 RPM umgebaut habe, benutzt.

    Ich hatte zuvor bereits eine .IMG Datei mit BIN2IMD nach IMD gewandelt mit den Parametern:

    77 Tracks, 26 Sektoren, 256 Byte/Sector

    (IS243DD.IMG)


    Ich konnte Track 00, Sektor 1 auslesen und habe gleich versucht ISIS-II von der Double Density Diskette zu booten.

    Hurra, ISIS-II Ver. 4.3 bootet von der Double Density Diskette.


    Daß ich mit der auf 360 RPM umgebauten Floppy erfolgreich sein würde, ist mir einleuchtend.

    Ich will Imagedisk und dem Zielrechner schließlich eine 8 Zoll Diskette vorgaukeln, die mit 360 RPM dreht.


    Warum ich allerdings das Format mit 77 Tracks zu 26 Sektoren mit 256 Bytes verwenden muß, ist für mich nicht einsichtig.


    Warum läuft der Rechner jetzt besser als zuvor?

    Ich sage nur "Signal-Integrity".

    An den nächsten Abenden werde ich unter diesem Thread aus dem Keller berichten,

    welche Schritte ich versucht habe, um näher an den Fehler ran zu kommen.


    Es bleibt noch einiges zu tun, stabil läuft der Rechner immer noch nicht, ein wenig besser als zuvor aber schon.


    Ich lade die die beiden Images, die ich erfolgreich booten konnte hier hoch.


    Hier ein Teraterm-Abzug des erfolgreichen Boot-Versuchs


    @inp 7e

    40

    @dread 0 0 1 1 8000


    INSERT DISK, TYPE CR !


    IOPB : 80 04 01 00 01 8000

    IOPB : 80 04 01 00 01 8000

    OK !

    @disp 8000 80ff

    00 .8000 C3 7D 30 4D 2A 0C ED EB CD 8F EB 2A 0C ED 3E 00 .}0M*#.....*#.>#

    00 .8010 41 C3 21 F8 C5 E1 4E 06 15 CD 44 F8 16 04 23 4E A.!...N##.D.###N

    00 .8020 06 16 CD 44 F8 15 C2 1E 30 C9 28 43 29 20 31 39 ##.D.#.#0.(C) 19

    00 .8030 37 35 2C 31 39 37 36 2C 31 39 37 37 2C 31 39 37 75,1976,1977,197

    00 .8040 38 2C 31 39 37 39 2C 31 39 38 30 2C 31 39 38 31 8,1979,1980,1981

    00 .8050 2C 31 39 38 32 20 49 4E 54 45 4C 20 43 4F 52 50 ,1982 INTEL CORP

    00 .8060 00 10 20 30 01 02 20 40 00 30 00 30 01 02 01 02 ## 0## @#0#0####

    00 .8070 40 00 50 10 01 01 02 02 00 00 31 F3 3A 31 F3 3A @#P#######1.:1.:

    00 .8080 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 UUUUUUUUUUUUUUUU

    00 .8090 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 UUUUUUUUUUUUUUUU

    00 .80A0 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 UUUUUUUUUUUUUUUU

    00 .80B0 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 UUUUUUUUUUUUUUUU

    00 .80C0 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 UUUUUUUUUUUUUUUU

    00 .80D0 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 UUUUUUUUUUUUUUUU

    00 .80E0 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 UUUUUUUUUUUUUUUU

    00 .80F0 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 UUUUUUUUUUUUUUUU

    @

    @isis


    INSERT ISIS-FLOPPY, TYPE CR !


    DOUBLE DENSITY !

    IOPB : 80 04 1A 00 01 3000

    ISIS-II, V4.3

    -dir i

    DIRECTORY OF :F0:970003.08

    NAME .EXT BLKS LENGTH ATTR NAME .EXT BLKS LENGTH ATTR

    ISIS .DIR 26 3200 IF ISIS .MAP 5 512 IF

    ISIS .T0 24 2944 IF ISIS .LAB 54 6784 IF

    ISIS .BIN 94 11756 SIF ISIS .CLI 25 2984 SIF

    ISIS .OV0 11 1279 SIF ATTRIB 41 5002 WSI

    COPY 70 8582 WSI DELETE 40 4917 WSI

    DIR 55 6908 WSI EDIT 59 7333 WSI

    FIXMAP 51 6396 WSI FORMAT 63 7849 WSI

    HDCOPY 49 6087 WSI HEXOBJ 35 4226 WSI

    IDISK 63 7931 WSI LIB 82 10227 WSI

    LINK 105 13074 WSI LINK .OVL 37 4578 WSI

    LOCATE 120 15021 WSI OBJHEX 28 3430 WSI

    RENAME 21 2439 WSI SUBMIT 40 4914 WSI

    VERS 17 1930 WSI SYSTEM.LIB 26 3128 WS

    PLM80 .LIB 45 5615 W FPAL .LIB 74 9125 W

    1360



    1360/4004 BLOCKS USED

  • Es geht doch schon weiter ....


    Beim Erstellen der Diskette mit IMD habe ich jetzt mal eine Interleave von 6 gewählt. Damit schreibt IMD die Diskette etwas schneller.


    Weshalb IMD mal von 52Sektoren a 128Bytes und dann aber von 26 a 256 schreibt bleibt mir ein Rätsel.


    Nebenbei habe ich das Schreiben der ISIS Images mal mit 5.25" probiert und habe das wegen vieler Schreibfehler abgebrochen.

    Mit freundlichen Grüßen


    fritz

    Einmal editiert, zuletzt von fritzeflink ()

  • Interessant, dieser Link auf das Programm, mit dem man ISIS-Dateien auslesen kann.


    Aber neue Erkenntnisse, wie die Daten auf meinen Disketten organisiert sind und wie sich das im Vergleich zu Original Intel Disketten verhält,

    habe ich nicht gewonnen. Im Kommentar des Programms wird gesagt, daß alle Intel Double Density Disketten doppelseitig sind.

    Das würde ich anzweifeln.


    Das Double Density Format der vom Lakosa FDC geschriebenen 8 Zoll Double Density Disketten ist evtl. nicht kompatibel zu dem der

    Intel Double Density Disketten. Ich vermute, daß ich immer Single Density Disketten verwendet habe, um Daten mit dem Intellec MDS in der Firma auszutauschen.


    Nun weiter mit den Messungen, mit denen ich versucht habe, den Fehler einzugrenzen.

    Hier kam es mir zugute, daß ich vor Weihnachten nach Ulm gefahren bin, wo ich einen Tektronix TLA-714 Logik State Analyzer erwerben konnte.

    Auf dem TLA-714 läuft die gleiche Firmware wie auf den TLA720 und TLA721, mit denen ich noch vor einigen Jahren gearbeitet habe.

    So konnte ich gleich loslegen, ohne mich in die Bedienung einarbeiten zu müssen.

    Also auf nach Ulm. Für die Hin- und Rückfahrt habe ich ziemlich genau 1000 km zurückgelegt und ziemlich genau 100 Liter Diesel verbrannt.

    Das war es mir aber wert. Auf dem Versandwege kann ziemlich viel schief gehen.

    Vom Weihnachtsmarkt in Ulm habe ich leider nur einen Ausschnitt gesehen. Die Anfahrt und die Suche nach einem Parkplatz haben zu lange gedauert.

    Es reicht noch für einen alkoholfreien Punsch und für eine Weisse. Das ist eine stinknormale Bratwurst.

    Ich hätte vielleicht doch eine Roode nehmen sollen.

    Um 18:00 ist die Übergabe bei der Verkäuferin. Das Gerät funktioniert. Der Kauf geht schnell über die Bühne.

    Sehr gut ist, dass alle Kabel beim Gerät sind. Sogar die Einzel-Litzen für 6 Pods sind dabei. Die Grabber für die Einzel-Litzen fehlen, aber das kennt man ja.

    Übernachtung auf dem Womo Stellplatz in Lauingen ca. 30 km nördlich von ULM und Rückfahrt am nächsten Tag.


    Im Gerät ist ein Einschub TLA 7N2 eingebaut, der 64 (68) Kanäle unterstützt. Um den ECB-Bus aufzuzeichnen benötige ich 48 Kanäle.

    Die verbleibenden 16 Kanäle reichen leider nicht, um die Signale des Z80 auf dem FDC Board aufzuzeichnen.

    Die 48 Kanäle kann man unmöglich einzeln am ECB-Bus anschließen. Ich habe mir ein Adapterboard gebastelt, das ich in einen

    ECB-Bus Slot einstecken kann und auf das die PODS direkt aufgesteckt werden können.

    • Offizieller Beitrag

    Im Gerät ist ein Einschub TLA 7N2 eingebaut,

    Ich habe noch ein paar Einschübe hier. Stehen eigentlich zum Verkauf, will aber kaum einer haben.

    Bei Interesse, meld dich mal.


    Um den ECB-Bus aufzuzeichnen benötige ich 48 Kanäle

    Was zeichnest du denn alles auf?

    16 Adressen + 8 Daten macht 24, noch ein paar Controls sind es ca. 30.

    Was gibt's sonst noch wichtiges?

  • An einem weiteren Einschub für den TLA-714 bin ich interessiert.

    Mein TLA-714 läuft mit Firmware 4.x. Deshalb kann ich einige neuere Einschübe nicht verwenden.

    Ich hänge eine Datei mit den Einschüben an, die für den TLA-714 passen.


    Beim ECB-Adapter habe ich einige Signale aufgelegt, die man nicht unbedingt benötigt, wie MEMD ( Memory Disable), 2PHI, IEI und IEO.

    Ich hänge zwei Dateien mit der Belegung des ECB-Bus Adapters an.

    In die 18-poligen Sockel können Widerstandsarrays, mit Pull-Up Widerständen eingesetzt werden.


    Daneben lade ich einen Screenshot des TLA-Setups hoch. Zu beachten ist, daß an PODs A2 und A3 Datenbus und Control Signale des Z80 auf dem Floppy Controller angeschlossen sind. Sie gehören nicht zum ECB-Bus Adapter.

    • Offizieller Beitrag

    Wenn ich mir deine Interface Belegung anschaue, warum willst du noch den Z80 anschliessen? Es sind doch alle Z80-Signal versorgt.


    M.W. solltest du auf dem TLA714 auch die Software 5.1 laufen lassen koennen. Bei meinem 721er geht's.

    Stimmt nicht, hab gerade die Release Notes gelesen. 715 geht, also haengts wahrscheinlich nur am Speicher o.ae.


    Dann haette ich 2 (oder 3 ?) TLA7N4 Option 6S (1M Depth, 200MHz State) fuer dich uebrig.

    Allerdings nur die Module, an Kabeln habe ich auch zuwenig.

    2 gleiche Module koennen intern zusammen geschaltet werden, auch ein Vorteil.


    Fuer Messungen kann ich dir aber gerne Kabels etc leihen. Auch 2 D1-Einschuebe.

    Ich weiss nicht, ob die TLA7P4 bei dir laufen, die haben 16M Speichertiefe. Fuer ganz wilde Messungen.


    Darf ich mal fragen, was du fuer den LA bezahlt hast?

  • Ich will nicht nur die Z80-Signale am ECB-Bus aufzeichnen. Auf dem Floppy Controller befindet sich ein weiterer Z80, den ich idealerweise

    gleichzeitig anklemmen würde. Im Moment benutze ich 48 Kanäle für den ECB-Bus. Die 16 noch freien Kanäle benutze ich zur Überwachung

    des Z80 auf dem FDC-Controller. Ich schliesse abwechselnd entweder den 16-Bit Adressbus des Z80 auf dem FDC-Controller oder den 8-Bit Datenbus

    und die wichtigsten Control-Signale an.


    In meinem TLA-714 ist ein Modul TLA-7N2 eingebaut mit 2 GHZ Timing, 100 MHz State und 256 K Speichertiefe.

    In mein Gerät kann ich maximal einen weiteren Einschub einbauen.

    Einer deiner TLA7N4 Option 6S (1M Depth, 200MHz State) wäre da sehr passend.

    Ich könnte den TLA-7N2 natürlich auch durch einen TLA7N4 ersetzen.


    Für die 8-Bit Welt, in der ich mich zur Zeit bewege, wären 138 zusätzlichen Kanäle mehr als genug.


    Ich weiß jetzt nicht, ob man Module mit verschiedenen Ausstattungen bzgl. Timing und Speichertiefe zusammenschalten kann.


    Ich habe für den Analyzer mit den Anschlusskabeln 330 € bezahlt.

    • Offizieller Beitrag

    Der Z80 auf dem FDC war mir nicht bewusst.


    Man kann unterschiedliche Module (Kanaele, Speichertiefe) zusammen schalten, aber nur unter bestimmten Bedingungen/Kompromissen.

    Genaues muss man im Service Manual nachschauen.


    330 EUR find ich ok.

  • Im Fehlerfall bleibt der Rechner einfach stehen, stürzt nicht etwa unkontrolliert ab.

    Statisch habe ich gemessen, daß der Flopppy Controller BUSREQ aktiviert hat und nicht wieder deaktiviert.

    Der Z80 auf dem Floppy Controller scheint zum absoluten Stillstand gekommen zu sein, obwohl die Inputs des Z80 auf den FDC wie WAIT_N, BUSREQ_N, RESET_N inaktiv sind. NMI_N, INT_N und HALT_N sind ebenfalls inaktiv.

    Ich schiebe die ECB-Bus Tracer-Karte ein und triggere den Logik-State Analyzer auf ein Timeout, BUSAK_B aktiv für einige Millisekunden.

    Ok, das funktioniert nicht gleich, Der Floppy Controller aktiviert BUSREQ_N bei jedem Floppy Zugriff zwei Mal. Zunächst aktiviert er BUSREQ_N zu Anfang und liest den IOPB über den ECB-Bus aus dem Speicher des Rechners. Dann vergeht viel Zeit, bevor der FDC das BUSREQ_N-Signal ein weiteres Mal aktiviert und die Daten von der Floppy in den Speicher des Rechners überträgt.

    Ich lasse den Logikanalyzer auf die zweite fallende Flanke des BUSAK_N Signals warten und triggere dann auf eine Timeout-Bedingung des ECB-Bus Write Signals. Einige Male kann ich auf den Fehler triggern indem ich den Triggerpunkt ganz weit nach hinten schiebe.

    Im Fehlerfall bricht die Übertragung einfach ab bei einem Schreibzugriff des FDC auf den Speicher des Rechners. BUSAK_N , MREQ_N und WR_N sind dauerhaft aktiv. Keines der Signale, die den Z80, der die Übertragung auf dem FDC steuert, anhalten könnte, ist aktiv.

    Ich muss noch einige Signale des Z80 auf dem FDC anklemmen. Zunächst klemme ich nur wenige Signale an, RD_N, WR_N, M1_N, MREQ_N, IOREQN.

    Der Rechner scheint in einer ganz kurzen Schleife zu laufen. Ich sehe nur zwei M1-Zyklen, gefolgt von Memory Read und Memory Write Zyklen.

    Was kann den Rechner hier stoppen?

    Ich habe noch 16 Kanäle frei. Im nächsten Schritt klemme ich A15:A0 des Z80 auf dem Floppy Controller an.

    Ich möchte wissen, wo im Programm der FDC-Rechner im Fehlerfall kreist.

    Zu dem Floppy Controller habe ich beim Kauf ein Listing der Firmware bekommen. Schon vor einiger Zeit musste ich feststellen, daß das Listing nicht zum Programm passt. Das Binary ist glatt doppelt so groß wie das laut Listing zu erwarten wäre. Da bin ich nachträglich noch ein wenig angefressen.

    Ich hatte schon vor einiger Zeit einen Disassembler auf das Binary losgelassen. Das Binary ist Disassembler-freundlich. Tabellen befinden sich am Ende des Codes. es sind so gut wie keine Texte embedded.

    Der Z80 auf dem FDC hängt hier in der LDIR Instruction, die einfach stehen bleibt.


    M059F LD DE,(M8009) ;

    EXX ; Strich-Register zur Adressierung I/O

    LD BC,(M8002) ; M8002 = Speicherstelle CPUPOR

    SET 1,B ; Set Busrequest active

    RES 0,B ; BIT 0 ????

    OUT (C),B ;

    EXX ; Normale Register

    LDIR ; LDIR +++++

    EXX ; Strich-Register zur Adressierung I/O

    RES 1,B ; Clear Busrequest

    RES 0,B ; BIT 0 ????

    OUT (C),B ;

    EXX ; Normale Register

    RET ;


    OK, die kopierten Tabstops kommen nicht an. Das muss ich korrigieren, sonst ist es nicht lesbar.

    3 Mal editiert, zuletzt von NIXDAS ()

    • Offizieller Beitrag

    BUSAK_N , MREQ_N und WR_N sind dauerhaft aktiv.

    Du meinst die Signale auf dem ECB?


    Wie werden die Signale auf dem FDC zum ECB erzeugt?

    BUSREQ scheint ja von einem IO-Port zu kommen.



    Irgendwie kam mir die ganze Geschichte bekannt vor. Jetzt habe ich mir den Thread nochmal ganz durchgelesen.

    Der Schaltplan aus Post #37 bzw oldcomputers ist der richtige?


    Der Z80 auf dem Floppy Controller scheint zum absoluten Stillstand gekommen zu sein, obwohl die Inputs des Z80 auf den FDC wie WAIT_N, BUSREQ_N, RESET_N inaktiv sind. NMI_N, INT_N und HALT_N sind ebenfalls inaktiv.

    NMI, INT und HALT halten die CPU nicht an. BTW: HALT ist ein Ausgang.

    BUSREQ wird erst am Ende eines Opcodes gesampled, RESET wuerde die Signale sofort beeinflussen.


    Bleibt dir nur WAIT, der wirklich den Zugriff so lange verzoegert wie es will.

    Wenn das WAIT wirklich nicht aktiv ist (kommt von IC19), koennen es nur Stoerungen auf dem Takt und/oder Versorgungsspannung sein.


    Was micht etwas wundert, bei der tollen Schaltung, das der PHI (Takt) vom ECB genommen ohne Buffer an die CPU geht. Und dann haengt noch ein 330R Pullup dran.

    Wer treibt denn das PHI auf der CPU?


    Wenn ich mir die Bilder des FDC auf oldcomputers anschaue, sind so gut wie keine 100nF Blockkondensatoren eingebaut. Bei der komplexen Schaltung das falsche Sparpotential.

    Ich seh gerade im Schaltplan sind 4 Stk eingezeichnet. :thumbdown:


    Kannst du mal nachschauen, bei welcher Adresse der Schreibzugriff haengen bleibt? Immer die gleiche?


    Die PROMs 256x8 (z.B. IC7, IC11), haben die OpenCollector-Ouputs? In deiner Belegungstabelle hast du das 1024x4 als OC gekennzeichnet, die anderen nicht.

    Die PullUps sind m.E. mit 330R etwas niederohmig. Das sind pro Widerstand rund 15mA. Koennen die PROMs das?



    So, jetzt langt's mal wieder.

    Viel Spass und viel Erfolg.

  • Wenn ich mir die Bilder des FDC auf oldcomputers anschaue, sind so gut wie keine 100nF Blockkondensatoren eingebaut. Bei der komplexen Schaltung das falsche Sparpotential.

    Ich seh gerade im Schaltplan sind 4 Stk eingezeichnet. :thumbdown:

    Vor einigen Jahren zeigte mir ein Freund ratlos eine Robotron-Karte, die unerklärliche Fehlfunktionen zeigte.

    Auf den ersten Blick fielen mir die nicht bestückten Abblockkondensatoren auf.

    Ich zeigte das dem Kerl. Nachdem er die Karte nachbestückt hatte, traten die Fehlfunktionen nicht mehr auf.


    Fehlende Abblockkondensatoren sind häufig vorzufinden.

    Ein Experiment, das ich irgendwann mal machen will, ist eine Grafikkarte von Kondensatoren zu befreien und das mal durchzutesten, wieviele Kondensatoren bestückt sein müssen bei a) Netzteil, das die Spezifikationen (Ripple etc) erfüllt und bei b) Netzteil mit niedrigen 4,7V und schwachen Elkos (2V Ripple).

    Grafikkarte deshalb, weil das die Effekte am grafischsten darstellt :)

  • Ihr seid auf der richtigen Spur mit den Abblockkondensatoren und den Störungen auf der Versorgungsspannung.

    Um das zu erkennen, habe ich aber noch ein paar Runden gedreht. Ich hoffe, dass ich die Story am Abend weiter erzählen kann.


    Dass der Clock des Z80 vom ECB-Bus abgenommen wird, hat mich auch erstaunt. Ich habe den Clock irgendwann nachgemessen

    und war erstaunt, daß das Ergebnis recht gut ausfiel.

    Ich habe dann trotzdem eine kleine Schaltung aufgebaut mit 16 MHz Quarz-Oszillator, 4-fach-Teiler und nachgeschaltetem Treiber.

    Das hat damals zwar für einen ganz sauberen Clock gesorgt, aber der Fehler hat sich dadurch nicht verändert.

    Im Zuge der Verdrahtung der Schaltung habe ich festgestellt, daß die Entwickler schon damals Probleme mit dem Clock gehabt haben müssen.

    Per Fädeldraht ist eine Änderung eingebaut worden, durch die der Clock vom ECB-Bus zunächst einmal über ein freies AND Gate gepuffert wird, bevor er der Schaltung zugeführt wird.

    Der 330 Ohm Pullup am Clock auf der FDC-Karte soll den high Pegel noch ein wenig anheben. An anderer Stelle habe ich gelesen, daß der Z80 besondere Anforderungen an den Clock hat. In anderen Schaltungen. z. B. bei Janich und Klass, habe ich gesehen, daß der Clock über zwei Transistoren getrieben wird.

    Auf der CPU-Karte wird der Clock über einen 74LS14 getrieben.


    Die Schreib-Zugriffe bleiben bei unterschiedlichen Adressen hängen. Die Situation ist aber immer die gleiche.

    Daten werden per LDIR vom Speicher des FDC in den Speicher des ECB-Rechners geschrieben.


    BUSREQ_N wird auf dem FDC über einen I/O-Port erzeugt.

    Im Listing weiter vorn ist zu sehen, wie BUSREQ_N vor dem LDIR-Befehl aktiviert wird und danach wieder deaktiviert wird.


    Die Schaltung des FDC auf auf oldcomputers ist der richtige. Funkenzupfer hat sich die Mühe gemacht, die beiden Hälften des Schaltplans zusammenzuführen, siehe weiter vorn in diesem Thread.


    Die PROMs und ihre Pull-Up-Widerstände muss ich mir ansehen.


    Vielen Dank für die vielen Anregungen!

    Einmal editiert, zuletzt von NIXDAS ()