Beiträge von fishermansfriendtoo

    Damit ich das jetzt richtig verstehe: Das Bild mit den invertierten "O" wird nur die ersten 2 Sekunden mit eingesetztem Ram gezeigt?

    Dann hätten wird RAM Zugriff zeitgleich von der CPU und durch die Videoschaltung. Kein einziges Zeichen (=Charakterrom-Adresse)bleibt lange genug im

    Bildschirmspeicher um vollständig dargestellt zu werden. Dazu muß nämlich jede 8x ausgelesen werden. Dabei werden die unteren Adressen A0-A2

    von der Videoelektronik durchgezählt. Erst dann ist der Charakter kpl. dargestellt. Das funktioniert scheinbar nur in den ersten zwei Sekunden.

    Du hast geschrieben, das du ein Oszilloskop hast. Überprüfe bitte die Adressleitungen, die das Video-Ram ansteuern.

    Wir erwarten, sofern der Prozessor das Ram nicht beschreiben will, einen simplen binären Zählvorgang für das Auslesen.

    Das bedeutet, das Signal an A0 wechselt an häufigsten, A1 nur noch halb so oft us.w. Kannst du das für alle Adressbits bestätigen?

    Gibt es statische Zustände?

    Wie sehen die Signale aus? Klare Unterscheidung zwischen High und Low Level z.B. 0,5 Volt für Low und 4,5 Volt für High?

    Hallo!

    Hast Du einen simplen Logiktester an der Hand. So ein stiftförmiges Gerät, daß High und Low Signale erkennt. Mit diesem mal die Adressen abfahren

    und schauen ob sich auf jeder Leitung was tut. Mit einem Logik-Analysator kenne ich mich nicht so aus. Kann somit nicht sagen, ob Du bei der

    Bedienung des Gerätes vielleicht eine falsche Einstellung vorgenommen hast und somit die Meßreihe mit Fehlern behaftet ist. Anmsatzweise ist ein

    binäres Zählen zu erkennen.

    Habe gerade mal gegooglet. Gute Nachricht: Die Bausteine sind grundsätzlich zu bekommen. Zwar war kein Lieferant darunter, der alle 3 Typen führt,

    aber bei eBay waren Anbieter mit sehr moderaten Versandkosten. (2 EUR) Ob ich die Typen habe, kann ich erst morgen sagen.

    Da uns (dir) ein funktionierender Pet für einen Signalvergleich fehlt, bleibt uns z.Zt. nur unser Logik-Verständnis.

    Ja muß, sonst werden nicht alle 1000 Speicherstellen im Ram angesprochen. Bei BA0 bis BA4 werden nur 16 Speicherstellen ausgewählt.= 16 mögliche/

    unterschiedliche Charakter für die ganze Bildschirmausgabe. Beim Auslesen durch den Prozessoer nur die ersten 16 Zeichen auf dem Bildschirm.

    Hänge mal einen Teil des Schaltplans mit der Video-Ausgabe an, damit wir gleiche Unterlagen haben.

    Die drei 157iger D2, D3, D4, Schalten die Adresssignale durch, die die Speicherstelle des Videorams bestimmen.

    Während der Bildschirmausgabe, die Vorrang hat, werden die "A" Eingänge durchgeschaltet. In diesem Falle müssen alle Adressen durchlaufen werden,

    damit der kpl. Inhalt ders Videorams auf dem Bildschirm dargestellt wird. In der Blank-Phase, die darauf folgt darf der Prozessoer das Videoram beschreiben

    bzw. auslesen. Ich würde jetzt mal schauen ob die A-Eingange der 157 angesprochen werden. Auch ob der Widerstand R40 noch als Pull-Up arbeitet.

    Der Zugriff von der Prozessorseite her( B-Eingänge) ist etwas schwieriger. da erwartungsgemäß erst einmal nur beim Start der gesamte Videospeicher

    gelöscht=1000x das Leerzeichen geschrieben wird. Danach folgt nur noch kurz die Einschaltmeldung. Dann ist ereinmal Schluß mit dem Zugriff.

    Ein Dauer-Drücken einer Taste müsste sich aber kurzfristig signaltechnisch bemerkbar machen. -> Weiß jetzt nicht wie oft dann das Zeichen auf dem

    regulär dargestellt wird.

    Bitte mal untersuchen.

    Habe noch 17 Jahren jetzt mal wieder den Elektron +3 ausgegraben und in Betrieb genommen. Auch meiner hat das ADFS 1.0

    Auch ist auf der Welcome-Disk, die ich damals wohl selbst aus einem Image erstellt habe (auf der Diskette ist meine Handschrift), dieses

    ominöse File "ZYSyshelp". Da habe ich mir jetzt mal näher angeschaut: Diese Datei ist ein Platzhalter auf der Diskette und belegt die ersten Spuren, weil

    ein Bug im ADFS den Zugriff auf diese ersten Spuren stört. Damit die Benutzerprogramme oder Daten nicht in diese Spuren geschrieben werden, hat

    man unmittelbar nach dem Formatieren der Diskette die ZYSyshelp Datei dorthin geschrieben. Deshalb bringt es auch nichts, diese Datei nachträglich auf die Diskette zu bringen. Das Formatierprogramm EFORMAT erledigt das alles zusammen, sprich erzeugt die ZYSyshelp Datei.

    Wie im Benutzerhandbuch beschrieben, sollte man sich davor hüten, diese Datei zu löschen.

    Der *Compact Befehl vom ADFS 1.0 ist auch buggy. Es wird bei nur 32k RAM der Bildschirmspeicher mit verwendet, nur stört ein blinkender Cursor und

    sorgt für eine kaputte Diskette - Lösung von Acorn: Das Blinken per *FX Befehl vorher abschalten.

    Ob es eine verbesserte ADFS Version zum Nachrüsten für den Electron gab, konnte ich noch nicht herausfinden.

    Verwendet wird ein 23128 ROM, das leider nicht vollständig zum 27128 ERPOM pinkompatibel ist. Mit einem Zwischensockel sollte es aber gehen.

    Hallo!

    Ich nehme mal an, du kannst nicht per *DIR LIBRARY Befehl in das Unterverzeichnis wechseln, weil die Diskette einfach einen Defekt hat.

    Du bist technisch auch nicht mit einem PC + 3,5" Diskettenlaufwerk ausgerüstet?

    Ich habe gerade ein Image der Welcome Disk Electron PLUS3 ADFS im Stardot Forum zum Download gefunden (ADF Format).

    Ich habe schon lange keine ADFS Disketten mehr aus Images reproduziert, das Equipment ist aber noch vorhanden und ich müsste mich ein wenig

    einarbeiten bzw. einlesen.

    Ich kenne jetzt den Inhalt der Welcome Disc nicht, aber kannst du andere Befehle ausführen, z.B. ein Programm starten?

    *LIB setzt ja nur einen Zeiger auf ein Verzeichnis, das bei Aufruf anderer Kommandos mit durchsucht wird, ähnlich dem Path Befehl beim MS-DOS.

    Setzt du *LIB LIBRARY (müsste es korrekt *LIB $.LIBRARY sein?), dann wird z.B. bei Aufruf von !TESTPROG (das Programm soll gestartet werden) zuerst

    das aktuelle Verzeichnis durchsucht und wenn es dort nicht steht automatisch auch das mit *LIB gesetzte Verzeichnis durchsucht.

    Gibt es auf der Diskette das Verzeichnis LIBRARY?

    Yupp!

    Das ist exakt das selbe Verhalten, das mein P2000T an den Tag legt.

    Ich hatte ja schon geschrieben, das ich per Anadisk die Diskette untersucht und den String MENU.BAS gefunden habe.

    Kein Einschalt- oder Begrüßungstext bzw. eine Copyright Meldung.

    Meine VOLORG Version bietet auch nur begrenzte Möglichkeiten, frei nach dem Motto: Alle Disketten sind beim freundlichen Philips Händler erhältlich.

    Zu exorbitanten Preisen versteht sich.

    Für mich ist auch unverständlich, das die BASIC Versionen Kassette und Disk nicht zueinander kompatibel sind. Was für ein Schwachsinn, das konnten

    andere Hersteller viel besser.

    Ich vermute, daß der ganze Rechner wohl eine geraume Zeit "unter" Wasser stand. Hochwasserschaden oder ähnliches. Das mit innerlich verrosteten

    Widerständen kenne ich aus beruflicher Erfahrung. Elektronische Steuerungen in ewig feuchter Umgebung (Fleischverarbeitende Betriebe). Auf den

    ersten Blick ist das nicht zu erkennen. Wenn man den Widerstand auslötet, sieht man auf der Platine darunter braune Stellen wo der Baustein auflag.

    Zum Teil löst sich dabei auch ein Bein ab, daß nur noch von der Lackierung der Bausteins gehalten wurde. Auch muß ich immer die Durchkontaktierungen

    prüfen, (Durchgang messen). Das Lötzinn hat hier oft Lochfras.

    Dem kann ich so nicht zustimmen. Mit Sicherheit steigt die Stromaufnahme, wenn die Schaltung arbeitet und was "leistet". Die Kondensatoren sind

    hier als passive Bauteile direkt mit der Spannungversorgung verbunden. Hier greift das ohmsche Gesetz, daß unabhängig von der Meßspannung gilt.

    Selbstverständlich gibt es bei Kondensatoren und Spulen noch die Eigenschaft der Spannungsfestigkeit. Diese kann bei Defekten herabgestzt sein und

    zu einen Durchschlagen bzw überspringen führen. Das dies bei nur 5V passiert und mit einem Multimeter nicht meßbar ist, ist mit in den letzten 35 Jahren noch nicht untergekommem. 136 Ohm ist bei 5V weit von einem Kurzschluß entfernt.

    Wenn tatsächlich die Versorgungsspannung durch Überlast im Betrieb zusammenbricht und der Fehlerauf dieser Platine liegt, dann an anderer Stelle.

    Ich kenne den Aufbau der Anlage nicht, aber ich würde beim Netzteil anfangen zu suchen.

    Nach eigener Statistik findet sich zu min 80% das Problem hier. Daher teste ich die immer erst die Funktion/Leistungsfähigkeit der Netzteile mit einer

    elektronischen Last. Hier funktioniert in der Regel auch eine z.B 20 Watt Glühbirne aus dem KFZ-Bereich. Erfahrungsgemäß sind die die Elkos im

    Netzteil taub. D.h. sie haben eine stark verminderte Kapazität und können die Spannung ab einer bestimmten Stromabnahme nicht mehr ausreichend

    puffern. Diese Defekte können schleichend oder schlagartig auftreten.

    Lt. Referece Manual besitzt jeder Record auf dem Tape einen Header mit Informationen, wohin (RAM Adresse) der folgende Datenblock geladen werden soll.

    Die Informationen aus dem Header selbst werden in einen eigenen RAM Bereich abgelegt.


    Was will ich erreichen? Eigentlich wollte ich auf das Tape System komplett verzichten, da ich ja eine Doppelfloppystation habe.

    Benutzen will ich den P2000T nicht, er sollte nur vollständig funktionieren damit ich ihn demonstrieren kann.

    So versuche ich jeden meiner Rechner am Leben zu halten bzw. zu vervollständigen.


    Lauffähige Software für den P2000T habe ich nur als Tape Images gefunden. Daher die Frage, wie bekomme ich die Software auf Disketten um sie

    von dort laden und starten zu können?

    Ich verwende deine Versionen. Meine Disk läuft definitiv nicht, hat ja auch ein anderes Layout. Die logische Tracknummer beginnt zwar, wie erwartet bei 1 und nicht wie sonst üblich bei 0 doch ist meine allererste Spur -blank-, absolut unformatiert. Bei deinem Image wird aber die erste Spur (0) bereits

    verwendet.

    Die VOLORG Basic Programme laufen. Ich habe u.a. eine Datendiskette erfolgreich mit beiden Laufwerken kopiert.

    Sind die Games auf den Tapes Basic Programme? Falls ja, wahrscheinlich gegen ein Auflisten geschützt, genau wie die VOLORG Programme, die dadurch

    auch nur per RUN" Befehl geladen und direkt gestartet werden können.

    Mein Ziel war, lediglich die verfügbaren Programme (Games) auf Diskette gespeichert zu haben. Irgendwie macht die Floppy-Station am P2000T sonst

    gar keinen richtigen Sinn. Nur die selbstgeschriebenen Programme darauf speichern?

    Wer kann auf seinem P2000T mit 48k RAM und Floppy unter 24k Disk Basic den Befehl PRINT FRE(0) absetzen und das Ergebnis mitteilen?

    Die Einschaltmeldung vom Disk Basic kommt auf meinem Rechner nicht.

    Ich habe die Diskette mit Anadisk beäugt und eine lesbaren String "MENU.BAS" gefunden, vielleicht wird dieses Startprogramm gesucht, aber nicht

    gefunden. Meine VOLORG Diskette ist lesbar und scheint korrekt zu arbeiten, nur das Formatieren einer neuen Diskette wird nicht angeboten.

    Wenn ich es richtig verstanden habe, wird mit dem TODisk Programm, der komplette Inhalt eines Tapes auf eine Diskette kopiert, aber nur in einem

    Stück, quasi als Backup - keine einzelnen Files also. Das bringt mir jedoch nichts.

    Andere Überlegung: Mit dem Excel Makro eine Tape-Datei in ein Diskettenimage schreiben soll ja gehen. Ich befürchte aber, das auch diese Tape Images

    einen gewissen Überhang an Daten enthalten. Die einzelnen Programme müssten wohl erst aus den Tape Images extrahiert werden.

    Hallo!

    Wie ich im Internet gelesen habe, gab/gibt es auch einige wenige Spiele für diesen Computer.

    Ich glaube dies Spiele waren, die man von Kasette laden konnte.

    Fragen die sich mir diesbezüglich stellen:

    1. Wurden diese Programme von Kasette gebootet oder erfolgte der "Zugriff" auf die Kasette über das

    Kasettenbasic aus dem Cartidge?

    2. Könnte man die Spielesoftware auch von der Diskette laden?

    Axel

    Danke für den Beitrag-

    Was ist vermisse ist eine Einschaltmeldung, wie beim Kasetten- bzw. Extended Basic. Auch soetwas wie soundsoviel Byte free taucht nicht auf.

    Hatte versuchshalber beim Start mal eine zweite Diskette ins Laufwerk B eingelgt. Jetzt gibt es kein I/O Error sondern ein file not found.

    Das würde demnach wohl so richtig sein. Ist lt. Aufdruck nur eine reine Datendiskette.

    Gibt es eigentlich keine deutsch-/ englischsprachigen Handbücher? Die wenigen, die ich gefunden habe, sind auf niederländisch.

    Eine Befehlsübesicht für Basic, egal welche Version, war da auch nicht dabei.

    Eine Diskette, die mit Volorg beschriftet ist, habe ich. Ist das eine Basic-Applikation oder arbeitet das Programm selstständig? Auch habe ich

    einige Eproms mit anscheinend unterschiedlichen Programmversionen vom Maintenance-Modul. Dabei sind 12k und 16K Versionen.

    Mir fehlt bei diesem System immer noch der Durchblick, um zu Entscheiden, ob es sich um Bedienfehler meinerseits handelt, oder ob ein Defekt vorliegt.

    Ein kurzer Zwischenbericht:

    Habe das IMD-Image auf eine Diskette geschrieben (mit 40 Spur Laufwerk und Diskette zuvor mit Magnet bearbeitet)

    Erster Test mit dem "alten" 24K Basic und anschließend mit "neuen" Eproms. Das Ergebnis ist anscheinend gleich:

    Es wird etwas von der Diskette geladen.

    Auf dem Bildschirm erscheint: "How many files...."

    Nach Bestätigung erfolgt wieder ein Diskettenzugriff.

    Dieser endet mit:

    "DISK I/O error

    OK"

    Ein print "Hallo" wird ausgeführt.

    Der Befehl FILES führt zu einem Diskettenzugriff mit der bekannten Fehlermeldung: disk i/o error.

    Wobei ich nicht weiß, ob dieses Basic diesen Befehl kennt. Wahrscheinlich aber hat diese Diskette auch keine Drirectory

    Werde morgen nochmals eine Diskette schreiben.

    Ein Unterschied zwischen meiner alten Diskette und der Neuen ist bemerkenswert:

    Alte Diskette: Spur 0 ist blank (unformatiert)

    Neue Diskette: Es gibt keine Spur 0 d.h. Spur 0 ist/heißt Spur 1

    Hallo!

    Es geht vorran, wenn auch nur in kleinen Schritten.

    Ich habe einen funktionierenden Eprom-Satz mit dem 16k Extended Basic gefunden.

    Nach einem Reset wird kurz auf das Floppylaufwerk 1 zugegriffen. Ich vermute es wird nach einer Art

    Autostart Datei gesucht. Da das Laufwerk leer ist, erhalte ich den Basic Eingabeprompt. Soweit o.k.


    Auch ich habe mit SamDisk meine 24k Basic Diskette eingelesen, mit einem 40 Spur Laufwerk

    begrenzt auf 35 Tracks und Head 0.

    Das Ergebnis ist interessant, schaut euch hierzu das Image mit der scan Option von SamDisk an.


    Gruß

    Axel

    p2kdb24.7z

    Aargh! Ich erinnere mich jetzt wieder daran, warum ich das Computer-Hobby vor 10 Jahren etwas "zurück geschraubt" hatte. :

    Ich arbeite an Problem "A" und bekomme am Ende nicht die erhoffte Lösung, sondern noch Problem "B" und "C" gratis dazu.

    Aktuell hatte ich versucht das Disketten-Image mit SAMDISK zurück zu schreiben. Geschrieben hat er, aber er hat "vergessen" dabei

    zu steppen. Es gibt nur einen Track, in dem das zuletzt Geschriebene steht. Mit anderen Programmen funktioniert die Hardware.

    Liegt das Problem nun bei SAMDISK oder fehlt die entsprechende Information im Image?

    Und weil es sich so schön ist: Das Lesen mit SAMDISK funktioniert! Es wird gesteppt.

    Eine andere Frage habe ich bezüglich des Rom-Cartidge: Das hat 4 Steckplätze für die 2732 Eproms. Es fehlt auf der Platine jedoch

    der Hinweis auf IC1, IC2, IC3, IC4. Der Aufdruck auf den Eproms gibt eine eindeutige Reihefolge auch nicht her: Z.B 8550, 8560, 8510, 8500

    (gelesen im Uhrzeigersinn) Existieren technische Unterlagen hierzu?

    Gruß

    Axel

    Hallo!

    Ich habe nur zwei Module. Bei beiden sind die Eproms gesockelt. Die Sockel bestehen aus einzelnen Lötkelchen. Dadurch bauen sie sehr flach und man

    erkennt dies erst bei näheren Hinsehen. Ich habe eine größere Anzahl an Eproms auch wohl mit verschiedenen Versionen und Testprogrammen.

    Die stammen allesamt aus der Philips-Reparaturwerkstatt in Hamburg. Ich habe jetzt 2 ganze Tage lang nur ausgelesen und sortiert, was für die

    P2000 Serie ist und was zu den MSXlern gehört. Ursprünglich waren es wohl nur 2732 Eproms (4kB) mit meistens 4 Stück pro Modul.

    Erschwerend kommt hinzu, das viele Eproms nur spärlich, unleserlich und z.T, gar nicht beschriftet wurden. Da brauchte man schon ein fotografisches Gedächnis um anhand der ersten Bytes zu erkennen zu welchen Programm (Modul) dieses Eprom jetzt gehört. Ich habe auch eine Anzahl an

    größeren Eproms 27128 (16K) auf denen der Inhalt der 4 Einzeleproms gespeichert wurde. Dabei habe ich später festgestellt, das der Inhalt der

    4 kleinen Eproms nicht in der ursprünglichen Reihenfolge abgespeichert sind. So liegt das 1. Eprom in den zweiten von vier 4kB Blöcken ab 1000h.

    Ein passendes Modul, daß diese Eproms aufnimmt habe ich nicht. Ich habe sogar ein Eprom gefunden (weil es beschriftet war) vom Type 27256

    =32kB. Auf diesem Eprom sind hintereinander ein 16K Basic und eine Version des 24K Basic gespeichert. Dabei hatte ich zuvor diesen Epromtype

    bei der ersten Sichtung gänzlich ausgeschlossen, da der P2000 nur den Adressraum für 16k bereithält. Ich könnte mir vorstellen, das die sich damnals in Hamburg irgendwas zusammengebaut haben, um nicht dauernd beim Testen/Fehlersuche die Module wechslen zu müssen. Jedenfalls muß ich

    mir die 256iger nochmals vornehmen. Da ich den P2000T mit Extenderboard und externen Doppellaufwerk erst seit einer Woche habe, fehlt mich

    auch noch etwas der Überblick. So habe ich jetzt drei Basics gefunden: Philips Kasetten-Basic, das Philips Extended Basic und das 24k Disc Basic.

    Vom einen"Extended Basic" habe ich bis jetzt noch nichts gelesen. Ich habe jetzt schon soviele Eprom ausgelsen und "gesichert", daß ich schon

    Probleme habe einen vernünftigen Dateinamen zu vergeben, da mein Eprommer und seine Software , die ich hierfür verwendet habe, auf DOS läuft.

    --> Nur 8 Zeichen.

    Ich werde somit das Ganze auf einem "moderneren System wiederholen müssen. Auf niederländischen Internetseiten habe ich auch Images gefunden,

    doch diese unterscheiden sich, nach erster Überprüfung, teilweise von dem, was ich gefunden habe. Wenn man will und sonst nichts zu tun hat, kann

    man dem auch noch auf den Grund gehen.

    Grüß

    Axel

    Hallo!

    Ich werde das Image ausprobieren, Danke!

    Wir haben auch hier einen kleinen Versionsunterschied 1.4 zu 1.6.

    Equipment fürs Zurückschreiben habe ich alles Erdenkliche, sollte demnach kein größeres Problem sein.

    Ich habe zwischenzeitlich ein Cartridge mit Eproms bestückt, die ein Maintenance u. Debug System enthalten.

    Mit dem Protokoll des Speichertests hadere ich noch ein wenig. Es gibt aber u.a. eine Diskcopy Funktion von

    Laufwerk 1 nach 3 mit Verify. Wenn das klappt, sollte mit dem Floppy Laufwerk und Controller Alles o.k. sein

    Für mich hat es den Anschein, dass von der Diskette erst gar nichts geladen wird.

    Die Fehlermeldung erscheint am oberen Bildschirmrand und eine Basic Startmeldung wird auch nicht ausgegeben.

    Zu einem Eingabeprompt kommt es ebenfalls nicht.


    Wie kritisch sind Versionsunterschiede zwischen ROM Cartridge und Diskette? Mein Modul hat die Nummer P 2306 8702 230 60014.

    Ist das eine Version 1.4? Die würde wohl zur vorhandenen Diskette passen. Cartridge und Diskette stammen aber aus unterschiedlichen Quellen.


    Meine Gedanken gehen aber auch noch in eine andere Richtung: Was, wenn ich auf meiner Expansion Card ein fehlerhaftes RAM habe? Würde das

    den Ladevorgang behindern? Der Rechner ist ja nicht in der Lage dahingehend Fehlermeldungen auszugeben.

    Hallo in die Runde!

    Ich bin jetzt dazu gekommen, aus mehreren Konvoluten ein Philips P2000T System mit Diskettenlaufwerken zusammenzustellen. Der "nackte" Rechner läuft und tut wie er sollte (WISY ROM Modul + diverse Datenkassetten).

    Ich habe ihm anschließend das Expansion Board mit dem Doppelfloppylaufwerk verpasst.

    Mein einziges BASIC ROM Modul ist das 24k Disk Basic, welches ja von einer Diskette nachlädt. Unter den wenigen Disketten, die ich für den P2000 ergattern

    konnte, ist auch eine originale für ein 24k Disc Basic u.a. mit dem Aufdruck "Part 2". Ist es die richtige?

    Laden mag der Rechner die nicht (Floppy läuft an und steppt auch) sondern quittiert mit Disk Load Error.

    Ich habe mit ANADISK die Diskette untersucht, wonach Track 0 (logisch 1 beim P2000) völlig unformatiert ist. Ab Track 1 (2) geht es los und Lesefehler gibt

    es mit ANADISK auch nicht.

    Ich suche also Diskettenimages für den P2000T/M zum Zurückschreiben.


    Grüße

    Aus meiner zuletzt gemachten Recherche hier ein Zitat aus dem FluxEngine Forum. Angemerkt sei noch, auch hier geht es hauptsächlich darum ein Image zu erzeugen und nicht um das Zurückschreiben desselben, was wir wollen. Es geht hier auch um die Technik, wie die Flux-Aufzeichner arbeiten.

    Für den Catweasel wird klar was mit der Unterstützung von hartsektorierten Disketten ab dem MK4 gemeint war.


    In einem weiteren Thread, ich hoffe ich finde den auch noch wieder, wurde noch bemängelt, das der Catweasel vom Hersteller zu stiefmütterlich supported wurde, weshalb nur wenige fähige Programmierer Software für ihn geschrieben haben, aber immerhin alles open source.

    Der Kryoflux ist aktuell, aber nicht open source und es hängt an seinen Entwicklern, uns die gewünschten Funktionen zu implementieren.


    Haben wir ein Abbild der ersten, scheinbar richtig gelesenen, Spur? Und zum Vergleich ein Re-Read von der erstellten Kopie? Wo sind mögliche

    Unterschiede entstanden, und können wir die Samplingrate verändern, um zu viel Datenmüll zu verhindern?



    In #retrocomputing #fluxengine news:

    A little while back someone sent my a Kryoflux image of my first hard sectored floppy disk, one which uses multiple index holes to identify where sectors are. These was for an AES Data Superplus / Lanier No Problem word processor. It was actually pretty easy to decode even without the index holes, as sectors could be identified by a magic number in the data stream. http://cowlark.com/fluxengine/disk-aeslanier.html

    However, since then I’ve received another one. This one’s for a Zilog MCZ 1/20, a very early Z80 development minicomputer from 1976. http://www.retrotechnology.com/restore/zilog.html

    This one’s interesting. 32 sectors, 128 bytes per sector (plus four bytes of metadata used to form a doubly-linked list with other sectors in a file), and very hard sectored. There’s no identifiable record separator. Instead, the controller waits for an index pulse, synchronises its clock against the bitstream, and then waits for the first data bit. This is the high bit of the sector number in the sector header, so once it’s seen that it knows where the byte boundaries are.

    The trouble is that this same sequence may be embedded inside perfectly valid data. I can’t reliably find it from looking at the data stream alone.

    What I probably need to do is to take into account the index information as well. Currently FluxEngine doesn’t do this, for simplicity — the only data it captures is the intervals between pulses (I attach a picture of the source code of the FPGA firmware which does it: yes, really). The index signal is a completely independent timing stream.

    The Kryoflux handles this by having multiple parallel timing streams. The Catweasel does (well, did) it by recording the state of the index signal on every pulse. From the firmware perspective, the latter’s preferable, although I’m not sure I have enough space in my coprocessor datapath thingy to actually do it; I can only have two more states in my FSM. (I could always add another FSM and chain them. I’m using 3, and my device has space for 24.) But when writing pulse streams, things get more complicated, as things are now no longer symmetrical: reading doesn’t produce data which I can write.

    From the decode perspective… ugh. Right now the decode pipeline is: Guess clock → Decode to raw bits → Segment into records → Parse each record and produce a bag of sectors → Assemble the sectors in the right order. Taking index information into account means my raw bitstream needs to be annotated somehow. It’s not a std::vector<bool> any more…

    I sense another major refactor coming along.


    Ein anderer Autor macht folgende Anmerkungen zum Schreiben hartsektorierter Disketten auf per Flux Basis:

    "

    Actually, I'm mucking with a catweasel card right now.


    I took Tim Mann's code as a starting point and I'm going from there. I


    don't have any use for his decoding routines nor of making virtual disk


    images since my needs are different. However, I can't imagine how many


    hours of work he saved me by having routines that locate the card in PCI


    space. Also, his "trackhist" program provided some very useful


    subroutines. With the help of Tim's code, it took me less time to


    modify/write the code to decode the disk format than it did to rig up


    the 34-pin to 50-pin ribbon cable adapter.


    Anyway, I can provide an example disk format where the catweasel, as it


    stands, can't write the disk image, at least not without some dodgey


    trial & error (try to write a track, read it back and if it is mucked


    up, try and adjust the write timing for the next attempt. Even then,


    there is a lot of luck involved).


    Hard sectored disks are a problem for the catweasel to write. There is


    a function to write from index mark to index mark, except the catweasel


    assumes there is just a single index mark per revolution. Thus, you can


    write one sector, but you can't even reliably tell it which sector you


    want -- it just starts at the next index hole that appears. Perhaps


    under DOS you can disable interrupts and figure out via polling when


    sector N is about to appear and use index-to-index write mode. Even


    this doesn't suffice for the disk format used by the Processor Tech


    Helios system. It ignored every other sector mark so that effectively


    there were 16 256B sectors instead of 32 128B sectors. Further, blocks


    of data could be larger than 256B -- they simply spanned more than one


    sector. Thus, this mode is useless for that scheme.


    You can do a write where you specify "wait for an index hole, then write


    this sequence of transitions". The problem is that due to speed


    variations you can't say that index 5 is going to come exactly (166 2/3


    ms / 32) after index 4. That is where you could try to write the whole


    track, then read everything back to see if you succeeded and if not,


    adjust the clock pulses wider or shorter to make things line up. Oh


    yeah, in this mode I think it doesn't wait for an index hole, it just


    goes whenever you tell it to, so good luck trying to get the data to


    line up with the index marks at all.


    As it turns out, now that I have the catweasel set up and running, there


    are three disk formats that I would personally find useful to be able to


    decode -- 8" Helios, 8" Wang 2200, and 5.25" Northstar. Guess what --


    all three are hard sectored formats. Luckily, I'm really only looking


    to use it to archive virtual disk images, not to create new disks."