Hallo Besucher, der Thread wurde 4,8k mal aufgerufen und enthält 56 Antworten

letzter Beitrag von gibbuo1 am

SFD 1001 mit WAW IEEE 488 Modul

  • Ich habe mal die Schalter umgestellt. Da gibt es aber immer einen "Device not found" Error.

    Hast du die SFD1001 auf Adresse 8 umgelötet?

  • wenn die EPROM-Adresse geändert wird, dann muss sich bei 650x assembler üblicherweise auch das Programm also Eprom ändern, da die 65xx nur sehr begrenzt relokierbaren Code kannten, relokierbaren -und sei es nur auf Seitenbasis - code zu schreiben wäre sehr mühsam und umständlich geworden, d.h. die Chance ist nur recht klein, das sich die Mühe Jemand gemacht hätte... Die Option wurde wohl eher aus "Vorsicht" vorgesehen, oder es gab auch mehrere passene Eprom-stände...


    Was das reprogrammieren anbelangt: doch, wenn Dir ein oder mehrere Bit zurück auf "1" gekippt sind, dann kannst du die auch wieder überprogrammieren, sofern du den genau passenden richtigen inhalt hast!


    Löschen macht nix anderes, als alles auf 1 zu setzen, also auf 0xff byteweise. Aber Richtung 0 kannst du immer programmieren, nur in richtung 1 benötigt es einen löschvorgang oder eben zeit, licht, ionisierende strahlung etc...

  • Habe mal das EPROM vom WAW Modul ausgelesen. 2764@DIP28.BIN

    Das bringt mich aber jetzt nicht richtig weiter.


    Ruudi

    Welches Rom meintest du als du dies hier geschrieben hast:

    Rate zu ROM-Erneuerung mit dem Stand, der hier als funktionierend angegeben wurde!


    Togzip hatte mal bins abgehängt. hier und hier. Der ist aber als User gesperrt. :-(

    x1541 konnte dort aber die bins identifizieren. hier.

    Kannst du mal schauen was du über mein bin rausfinden kannst?


    Ansonsten bin ich über weitere Tips echt dankbar!!

  • Habe mal das EPROM vom WAW Modul ausgelesen. 2764@DIP28.BIN

    es ist zumindest eine normale C64 Einschaltmeldung in der Datei zu finden. Ein Standard C64 Kernal ist es aber nicht.


    Mit den IEC64 oder IEEE488 ROMs von Jann, Rex, und WAW hat es aber auch nichts zu tun:

    IEC64/Kernals/C64 at main · noway2pay/IEC64 · GitHub


    Kann mir auch nicht vorstellen dass das Ding funktioniert, weil schon die Vektoren am Ende des ROMs falsch aussehen. Vielleicht sind hier Adressleitungen verwürfelt worden beim Auslesen?

    Code: Floppy Fehlerkanal abfragen - Ausserdem kann ich bei "drive not ready" den I: und N: Befehl verwenden und notfalls den Kopf manuell zurückschieben. Und Finger weg vom Stepper!
    1. 10 open1,8,15 : rem 8 ist die Geräteadresse und das kann man bei Bedarf natürlich anpassen
    2. 20 get#1,a$:?a$;:ifst<>64goto20 : rem Das CLOSE 1 am Ende kann man sich sparen, weil beim RUN automatisch ein CLOSE ALL ausgeführt wird.
    3. RUN
  • Das und zwei Anleitungen als Word Dateien (die leider zu groß sind zum hier hochladen) hab ich bei mir unter HAW und IEEE488 gefunden.


    Ob die BIN von meinem Modul ist kann ich so nicht sagen.


    Alles nur zu reinen Archivzwecken hier zur Verfügung gestellt, übernehme KEINE Haftung für eventuelle Rechte Dritter. Falls unerwünscht bitte einfach löschen!

  • Vielleicht sind hier Adressleitungen verwürfelt worden beim Auslesen?

    da bleibe ich mal dabei.



    Ob die BIN von meinem Modul ist kann ich so nicht sagen.

    das BIN ist allemal interessant, am besten passt das WAW Kernal dazu aber auch so 20-30 verschiedene Bytes. (Hauptsächlich die Commodore Startmeldung wieder reingepatcht)


    Das D64 habe ich mir nicht angesehen.

    Code: Floppy Fehlerkanal abfragen - Ausserdem kann ich bei "drive not ready" den I: und N: Befehl verwenden und notfalls den Kopf manuell zurückschieben. Und Finger weg vom Stepper!
    1. 10 open1,8,15 : rem 8 ist die Geräteadresse und das kann man bei Bedarf natürlich anpassen
    2. 20 get#1,a$:?a$;:ifst<>64goto20 : rem Das CLOSE 1 am Ende kann man sich sparen, weil beim RUN automatisch ein CLOSE ALL ausgeführt wird.
    3. RUN
  • Vielleicht sind hier Adressleitungen verwürfelt worden beim Auslesen?

    da bleibe ich mal dabei.

    Ich habe das EPROM nochmal in meinen neuen T48 Programmer gelegt aber lese immer was anderes aus.

    Bei jeden Verify erhalte ich zw. 50 bis 80 Unterschiede.

    Ausgewählt habe ich AM2764A und CheckID ausgeschaltet.

    Der Chip ist ein AM2764ADC (siehe Foto https://www.forum64.de/wcf/ind…0709-202713568-small-jpg/)


    Ist das EPROM defekt, oder mein Programmer?

  • Ob die BIN von meinem Modul ist kann ich so nicht sagen.

    das BIN ist allemal interessant, am besten passt das WAW Kernal dazu aber auch so 20-30 verschiedene Bytes. (Hauptsächlich die Commodore Startmeldung wieder reingepatcht)


    Das D64 habe ich mir nicht angesehen.


    Das BIN von Ruudi ist identisch zu dem hier

  • Ist das EPROM defekt, oder mein Programmer?

    EPROM eher nicht, wenn der C64 normal startet. Vielleicht ein paar Bit gekippt aber mehr wohl nicht (was deine Fehler verursachen würde)


    Alte EPROMs machen manchmal komische Sachen bei etwas zu niedrigen Spannungen. Das könnte auf den EPROMMER hinweisen.


    Bestimmte Adressbereiche stimmen in deinem Readout ÜBERHAUPT nicht. Da ist bestimmt was vertauscht. Manchmal wurde das mit Absicht gemacht, als Kopierschutz. Das kann ich nun nicht wissen.

    $0000-$00ff ist identisch zum WAW

    $0100-$01ff ist identisch zum WAW

    $0200-$02ff ist identisch zum WAW bis auf $0200

    $0300-$03ff ist komplett unterschiedlich zum WAW

    $0400-$04ff ist leicht unterschiedlich, hier sind aber die Einschaltmeldungen

    $0500-$05ff ist identisch zum WAW bis auf ein Byte

    $0600-$06ff ist identisch zum WAW bis auf ein $0600

    $0700-$07ff ist komplett unterschiedlich zum WAW

    $0800 ein Unterschied

    $0A00-$0AFF Unterschied

    $0B00-$0BFF Unterschied

    $C000 drei Unterschiede

    $0e00-$0eff unterschiedlich

    $0f00-$0fff unterschiedlich

    $1200 ein Unterschied

    $1300-$13ff unterschiedlich


    für mich zeichnet sich da ein Muster ab, ich weiß nur nicht welches...

    Code: Floppy Fehlerkanal abfragen - Ausserdem kann ich bei "drive not ready" den I: und N: Befehl verwenden und notfalls den Kopf manuell zurückschieben. Und Finger weg vom Stepper!
    1. 10 open1,8,15 : rem 8 ist die Geräteadresse und das kann man bei Bedarf natürlich anpassen
    2. 20 get#1,a$:?a$;:ifst<>64goto20 : rem Das CLOSE 1 am Ende kann man sich sparen, weil beim RUN automatisch ein CLOSE ALL ausgeführt wird.
    3. RUN
  • Also die einzelnen Fehler sind doch bestimmt alles Lesefehler.

    Ich bekomme beim auslesen immer mehr Unterschiede.

    Können die unterschiedlichen Bereiche dann evtl. auch EPROM Fehler sein?


    Z.B. sind folgende Bereiche identisch:

    1900 - 19FF

    1B00 - 1BFF


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


    Und hier sind noch meine Einstellungen von der Prog SW:


    VCC Verify habe ich schon mal um 0.25V variiert und Puls delay auf das maximum von 1000us gestellt.

    Das gab aber keine Veränderung.

  • Verstehe ich das richtig, daß du bei den Leseversuchen immer etwas Unterschiedliches bekommst?

    Ist das Eprom schon paar Jahre älter? Dann schalte mal eine Diode in Reihe zum Vcc Pin. Das soll schon Wunder gewirkt haben, wenn die Eproms älter waren und nicht mehr zuverlässig lesbar waren. Hat irgendwas mit den Ladungen zu tun und wenn die Ub einen Ticken geringer ist, dann geht das wieder besser zu lesen. Schlagt mich nicht, wenn die Erklärung nicht ganz stimmt. Ich krieg es nicht mehr zusammen, ist zu lange her.

  • Alte EPROMs machen manchmal komische Sachen bei etwas zu niedrigen Spannungen. Das könnte auf den EPROMMER hinweisen.


    VCC Verify habe ich schon mal um 0.25V variiert und Puls delay auf das maximum von 1000us gestellt.


    Ist das Eprom schon paar Jahre älter? Dann schalte mal eine Diode in Reihe zum Vcc Pin. Das soll schon Wunder gewirkt haben, wenn die Eproms älter waren und nicht mehr zuverlässig lesbar waren.

    Kann sein dass ich falsch lag mit meiner Aussage, deshalb wäre das auf jeden Fall einen Versuch wert. Entweder das mit der Diode, oder wenns in der Eprommer Software geht, dann damit. Wobei Verify Spannung nicht Lesespannung ist, und es deshalb vielleicht nichts bringt.


    Gut wäre noch das ganze mal mit einem anderen Eprommer auszulesen, und natürlich auch mal direkt am C64. (da der Diskzugriff kaputt zu sein scheint, ROM Inhalt ins RAM kopieren, an eine "sichere" Adresse wo nichts überschrieben wird beim Reset, dann Modul abschalten, resetten, und mit normalem Kernal abspeichern auf Disk.

    Code: Floppy Fehlerkanal abfragen - Ausserdem kann ich bei "drive not ready" den I: und N: Befehl verwenden und notfalls den Kopf manuell zurückschieben. Und Finger weg vom Stepper!
    1. 10 open1,8,15 : rem 8 ist die Geräteadresse und das kann man bei Bedarf natürlich anpassen
    2. 20 get#1,a$:?a$;:ifst<>64goto20 : rem Das CLOSE 1 am Ende kann man sich sparen, weil beim RUN automatisch ein CLOSE ALL ausgeführt wird.
    3. RUN
  • Verstehe ich das richtig, daß du bei den Leseversuchen immer etwas Unterschiedliches bekommst?

    ...Dann schalte mal eine Diode in Reihe zum Vcc Pin. Das soll schon Wunder gewirkt haben, wenn die Eproms älter waren und nicht mehr zuverlässig lesbar waren...

    ..Entweder das mit der Diode, oder wenns in der Eprommer Software geht, dann damit. Wobei Verify Spannung nicht Lesespannung ist, und es deshalb vielleicht nichts bringt.

    Laut der Doku vom T48 ist die Einstellung der Verify Spannung auch die der Lesespannung.

    Habe nochmal mit 4,5 V gelesen und verified. Bringt aber keine Besserung.


    Gut wäre noch das ganze mal mit einem anderen Eprommer auszulesen, und natürlich auch mal direkt am C64. (da der Diskzugriff kaputt zu sein scheint, ROM Inhalt ins RAM kopieren, an eine "sichere" Adresse wo nichts überschrieben wird beim Reset, dann Modul abschalten, resetten, und mit normalem Kernal abspeichern auf Disk.

    Einen zweiten Programmer habe ich nicht. Habe mir diesen T48 ja extra hierfür gekauft :-)


    Dann habe ich das Eprom wieder in das WAW-Modul gesteckt. Um den Inhalt am C64 zu kopieren.

    Da hatte ich aber drei Probleme:

    - ich komme nicht mehr an die DIP schalter dran, wenn das Modul gesteckt ist

    - Wusste ich nicht auf Anhieb, wie ich Speicherbereiche am besten ins RAM kopieren kann

    - Habe ich jetzt beim Einschalten einen schwarzen Bildschirm. (Damit haben sich auch die ersten beiden Punkte erledigt)


    Ich vermute das EPROM ist jetzt endgültig hinüber. (Auf ESD etc. hatte ich geachtet und nur am T48 mehrfach ausgelesen)


    Naja, ich bestelle mir jetzt ein 28C64 EEPROM flashe den und probiere es damit dann nocheinmal aus.

    Das genannte EEPROM soll kompatibel sein. Oder gibt es hier andere Meinungen?


    Und nochmal vielen Dank für eure ganze Unterstützung !!

  • Hast die Kontakte des Eproms mal gereinigt, sprich mit ganz feinem Schleifpapier oder rauem Radiergummi oder Nagelfeile etc mal gesäubert (rauhes Papier/Karton tuts auch, auch an die Innenseiten denken!)


    Wenn man (mit ner Diode in Reihe z.b.) die Vcc niedriger macht als die Versorgung des Rests, dann provoziert man Leckströme, die ab einem gewissen Punkt auch Beschädigungspotential haben. Das was der Eprommer macht ist diesbezüglich ungefährlich, da der auch die Pegel seiner Ausgänge mit runter nimmt. Da wäre höher gehen bis auf 5.5 V sicher mal ne Option, der Eprommer ist auch gg. zu hohe Ströme geschützt, d.h. da kann man etwas spielen...


    Viel Erfolg!


    PS: ich würde ein echtes EPROM nehmen, wenn 2764 oder 27C64 zu teuer oder schwer zu beschaffen ist, dann eben ne größere Ausführung, 27C256 dürfte sehr verbreitet sein und dann mehrfach hintereinander reinbrennen und auf die Belegung der Sonderleitungen achten (/CS /OE /Progr etc)

  • Ich habe nochmal im Internet recherchiert und folgende interessante Seiten gefunden:


    Da hat ein "Adam Wilson" eine 2031LP Floppy repariert und dabei von einem Nachbau der "JANN Datentechnik from Berlin, REX Datentechnik from Hagen, and WAW Elektronik from Berlin" IEEE 488 Interfaces von einem "Dirk Wouters" (DL2DW) berichtet.

    https://www.pcbway.com/blog/En…dore_64_128_9d0715f0.html

    Leider ist der Link zum "since been reverse-engineered" , der eh schon zum Archive.org zeigte, nicht mehr vorhanden.


    Ein weiterer Link, der zu der Github Seite (aber auch bei Archive.org) von DL2DW zeigt ist nur teilweise vorhanden.

    https://web.archive.org/web/20…://github.com/DL2DW/IEC64


    Dafür ist aber die archivierte Seite von DL2DW sehr interessant.

    Dort schreibt Dirk Woters (DL2DW) folgendes:


    Zitat

    Vom Aufbau her sind alle 3 Karten Identisch, lediglich die Verteilung der Bauelemente und die Anschlüsse unterscheiden sich geringfügig im Detail. Wie schon weiter oben erwähnt, sind auch die unterschiedlichen Kernel ROMs bis auf die Einschaltmeldung absolut identisch.


    Auf dieser Seite gibt es u.a. einen Schaltplan der WAW IEEE488 Platine und Ansichten der verschiedenen Platinen vom Jann, Rex und WAW Modul.


    Und das fehlende Github Repro von DL2DW hat zum Glück anscheinend jemand geklont. Und das ist noch online ! (Stand 21.07.2024)

    Dort sind außer den Layoutdaten auch nochmal alle ROM der drei Hersteller drin.

    https://github.com/noway2pay/IEC64


    Und hier ist noch eine aktuelle Seite von Dirk Wouters (DL2DW):

    https://dirkwouters.de/nachbau…e-fuer-den-commodore-c64/

  • So, Urlaub vorbei...


    Neues 28C64 EEPROM für das WAW IEEE488 Modul bestellt und mit der WAW Kernal C64.bin aus dem Github Repo geflasht.

    SAVE und LOAD geht jetzt auch mit dem WAW-IEEE488 Modul. Sowohl auf der seriell angeschlossenen 1570 als auch auf der SFD1001! :thumbsup:


    Ab und zu zickt aber die SFD noch rum und will das Directory nicht laden. Da muss ich noch weiter schauen was da noch los ist.

    Aber ich erstmal bin ich einen großen Schritt weiter. :emojiSmiley-01:


    Von der Test Demo Diskette "sfd1001-testdemo-extra.d82.gz" klappte auch der "performance test" sowie der "auto test". Alllerdings musste ich dazu im Basic die "Open x,8.." auf "9" ändern, weil mein Laufwerk auf 9 "gelötet" ist.

    Die Demodiskette konnte ich von meiner 1570 mit dem "sfd xfer" Programm auf die SFD1001 Diskette kopieren.


    Die Bedienungsanleitung von WAW ist sehr "einfach". Besser ist die Anleitung von aus dem Github Repo.