Beiträge von Reinhard

    C64 halt. Ich versteh auch wenig, was die 'Leute an den Dingern herumschrauben und restaurieern müssen. Alle 4 oder 5 die ich hatte/habe, machten überhaupt keine Problemen, nicht mal die Ellefantenfüße aka Netzteile.

    Ja ist alles Original, sogar die Siegel sind unversehrt, war also noch nie aufgeschraubt!

    Und auch nicht vergilbt.

    Keine Ahnung, ob in diesen etwas moderneren C64 noch die gleiche Hardware drin ist wie im "Brotkasten" (PLA 82S100)...

    Heute Nacht dachte ich, dass es doch noch Probleme mit meiner FDC Schaltung gibt. Ich wollte den Drive Status abfragen - laut Datenblättern von WD und (Unlucky) Goldstar der Befehl $00) - was der Controller standhaft mit Unkown Command quittierte. Zu allem Unglück gab die manuelle Eingabe ein anderes Status Ergebnis zurück, als es die Programm gesteuerte Ausführung machte. Letztlich hab ich dann das Datenblatt des UPD765 zu Rate gezogen und den Befehlscode $04 ausprobiert...und tadaaa... der Drive Status wurde angezeigt.

    Echt blöde, da hat WD ein fehlerhaftes Datenblatt rausgebracht und alle schreiben einfach ab. Das ist ja wie in der Grundschule! :fpa:

    Immerhin sind bei Goldstar die Bezeichnungen der Register richtig, die sind nämlich bei WD durchrotiert (MST = ST0, ST0 = ST1 ...).

    Im Western Digital Datenblatt für den WD37C65A/B steht $04 drin, im Datenblatt für den WD37C65C $00 ... werde einer schlau draus ;)

    für diese DMA-Schaltung mit lokalem RAM könnte es zu Problemen bei Formatieren kommen.

    Da sehe ich kein Problem. Für die Formatierung benötigt man ja kein DMA. Du musst da ja nur für jeden Sektor im Track die benötigten Daten (ID, GAP3, etc) bereitstellen. Das kann man dann wieder Interrupt gesteuert, bzw. per Polling machen, da die Zeiträume zwischen zwei Anfragen des Controllers ja riesig sind. Ob der Controller irgendwas DMA gesteuert machen soll, kann ich ja per SPECIFY Befehl (Byte 3, Bit 0) angeben und so einzelne Befehle gezielt als non DMA ausführen.

    Du musst aber trotzdem pro Sektor 4 Bytes rasch an den Controller senden, damit er das ID-Feld erzeugen kann. Aber das passt natürlich in einen z.B. 2kB DMA-Puffer stets hinein.

    Klar, es werden kaum die A B C Typen separat gefertigt, sondern nach Fertigung vermessen und als A B C sortiert. Die A waren dann marginal billiger zu haben als B oder gar C. Bei Großstückzahlen hat man dann sogar bedarfsgerecht A B C benutzt, trotz der komplizierteren Logistik...

    PS: ich denke (ohne jetzt das Datenblatt zu studieren), dass es wie bei den meisten ICs ist: die steigende Flanke von WR oder CS latcht die Daten, was auch immer zuerst passiert.

    Ja, war/ist für den APPLE ][. Ich weiss aber nicht einmal mehr, ob der von mir entwickelt war, oder ob ich da mithalf, oder überhaupt nicht.

    Irgendwann war die Apple ][ Zeit vorbei und 4 MHz Z80 Systeme mit DMA die "Norm"

    Dann sollte man wohl auch tunlichst vermeiden eine A Variante durch ein C zu ersetzen oder andersherum.

    Außer in extrem speziellen, analog arbeitenden Schaltungen ist die Stromverstärkungsklasse so ziemlich egal.


    Elektor hat sogar mal TUN und TUP eingeführt:

    Transistor Universal NPN bzw. PNP, Stromverstärkung mindestens 100.

    Bzgl. Timing: Per Polling bekomme ich die Daten bei einem READ TRACK nur vollständig gelesen, wenn die Datenrate bei 250 kb/s MFM liegt. Dann hat die CPU 24 us Zeit ein einzelnes Datenbyte zu verarbeiten. Bei 500 kb/s sind es dann eben nur noch 12 us, was die 1MHz getaktete 6502 aber nicht hinbekommt. D.h. entweder ist die maximale Datenmenge auf einer Floppydisk dann eben auf 720KB beschränkt, oder ich bastele noch eine minimale DMA Schaltung mit Background Buffer an den FDC. Dazu würde ich dann aber ggf. auf ein GAL zurückgreifen, um nicht zu viele TTL Bausteinchen zu verbraten.

    Meines Wissens gibt es keine Software-Lösung um mit 1 MHz 500kBit/s zu verarbeiten.

    Ich habe mal mit dem SO (Set overflow) des 6502 als DMA request Eingang herumgespielt, weiss aber nicht mehr wie das damals[tm] ausging.

    Das ging ungefähr so:


    ; overflow clear

    ; warte auf DMA request:

    bvc *

    ; verarbeite byte


    letztendlich war dann ein MC6844 dran. Weiss aber nun nicht, ob Du den MC6844 alleine über den BUS an den 6502 dran bekommst, also ob es die passenden Signale auf dem Bus hat, um den 6502 anzuhalten.


    Weiss jetzt nicht, ob K2 schon mit Phi2 verknüpft ist.

    Falls nicht, dann ist es der klassische Fehler, beim 6502 den "Phi2 high" als AND in die /CS Bedingung zu vergessen.

    A0..A15 und R/W werden zusammen gültig BEVOR dann etwas später die Daten gültig werden und dann erst wird Phi2 high.

    Spannend! das ist eine gute Idee. Und die Überbrückung mit Relais macht man, weil die Verluste dann geringer sind?

    Ich schrieb doch weiter oben, dass die SSRs mit Triac erst bei einigen Volt nach (JEDEM) Nulldurchgang zünden.

    Und das dann 100x pro Sekunde (bei 50 Hz).

    Das macht ordentlich Störungen im Netz und auch etwas Verluste.


    Also Verbraucher mit Triac nach dem nächsten Nulldurchgang einschalten und danach den Triac mit einem Relaiskontakt überbrücken. Beim Abschalten umgekehrt, erst Relais abfallen lassen und dann den SSR abschalten. Der Schaltet dann beim nächsten Nulldurchgang ab aber nicht mehr ein.

    1. hier ein paar "Roh"Bilder: http://dl5uy.de/scratch/MicroVAX2000/

    2. wo könnte ich solch einen MFM-Emulator mal ausleihen, bzw. beschaffen. Ich weiss zwar, dass es sowas gibt, hatte aber bisher keinen Bedarf ;)

    3. Handbücher habe ich so einen "Laufenden Meter" mitbekommen

    4. Datenträger leider keine.


    Die Anlage war in einer Maschine als Steuerung drin (so wurde mir gesagt) und der Lochstreifenleser/Stanzer war da angeschlossen.

    24 Volt WECHSELSPANNUNG würden schon gehen. Zu beachten ist aber, dass der Triac erst bei wenigen Volt zündet. D.h. bei jeder Halbwelle fehlt ein wenig vom Anfang. Das macht dann schon etwas Phasenanschnitt und Störungen im Netz.

    Wir setzen solche Halbleiterrelais zum Schalten von Motoren ein, aber diese werden dann nach wenigern 10 Millisekunden durch ein Relais überbrückt.

    Ich fürchte, die Platte wird nicht besser.

    Zunächst startete das System durch bis zum Einloggen. User und Passwort kenne ich natürlich nicht.

    Danach nur bis zum Crash.

    Inzwischen kaum noch, die Platte macht ständig re-seeks.

    Ich habe die Platte mal ausgebaut, und man könnte die versuchen Bitweise zu lesen, ggf. auch an einem WD1002 Kontroller, welchen ich an einem Arduino dran habe. Falls das MFM Format kompatibel ist.

    Wenn der Thread mal verschoben ist, mache ich noch Bilder dazu. Da ist eine spezielle Erweiterung drin und ein zusätzlicher Boden unter dem System mit Platinen.

    Aber zurück zum Thema:

    Habe gestern die Beifang MicroVAX 2000 das erste mal eingeschaltet. (Beifang, weil die kam mit dem 8 Kanal Lochstreifen Leser/Stanzer mit).

    Festplatte ST251 geht noch und fängt nach einer Weile mit Seeken an - hört sich an, wie wenn das was bootet. Nach einer Weile tritt dann Ruhe ein.


    Dann eine Schnittstelle gesucht, wo die vielleicht was ausgibt. Am kombinierten 15-DSUB Video/Tastatur/Maus Anschluss kommt tatsächlich was auf dem AUX-RS232 raus. Bootet VMS bis zum Login.

    Wer bitte denkt sich sowas aus? (Ja, DEC natürlich...)


    Da ich natürlich keine Ahnung von Username/Passwort habe, kam ich da nicht weiter und habe einfach abgeschaltet und ein gescheites Kabel gelötet...


    Danach nochmals eingeschaltet und nun dies:


    Leider zuverlässig wiederholbar :(

    Bist Du sicher, dass es da wirklich eine "echte" Low-Level Formatierung gibt?


    Die Platte hat ja sicher keinen Schrittmotor mehr zum Anfahren von Tracks, d.h. Servoinformationen sind ab Werk auf zumindest einer Oberfläche. Wenn diese schlecht geworden sind, ist nichts mehr zu retten.


    "Low Level Format" ist in diesem Fall nur Neuschreiben der Datenfelder.