Beiträge von Rolando

    Das ist ja heute das Problem, dass die Hardware stabil ist

    Diese Aussage möchte ich revidieren. Der gestern neu aufgesetzte Rechner versteht sich nicht mit einer SATA-HDD. Jetzt dachte ich dass bei Dell die 12V auf dem Stromstecker weggespart wurden weil man für SSDs ja nur noch 5V braucht. Hatte dafür auch einen Treffer auf Google. Aber wir haben hier in der Firma >= 5 Stück gleiche Maschinen sodass man quervergleiche und Messungen anstrengen kann. Und es scheint, dass ich mit meinem Händchen den einen Rechner aus der Jahresproduktion erwischt habe wo die 12V vom Netzteilstecker 3 cm weiter tatsächlich nicht zu dem SATA-Stromstecker weiterkommen.

    Eigentlich wollte ich genau dieses Gebastel am PET machen und nicht am WIn11 Rechner.

    SN = 0631030, Made in U.S.A.
    Chipdatecodes durch die Reihe Ende 1979, also PET + Expansion. Ich vermute dass das Gerät as-it-is von einem mit viel Not oder Druck am Geldbeutel erwoben wurde.

    Es kommt kein Rauch beim Einschalten aber auch bis auf paar (ca. 4) unscharfe vertikale Streifen kein Bild am Schirm. Auch nach Demontage der Erweiterung nicht.
    Da muss also ganz vorne durchgestartet werden mit der Fehlersuche. Trafo, Gleichrichtung, Elko, 5 VC, Ripple, Clock, ...

    Leute, danke, ihr seid ja Spitze!

    Stimmt, aus meinem Bild ging gar nicht hervor, dass das ein Chiclet-2001 ist, also wohl recht früher Bauart solange die Tasten noch auf Halde lagen. Mit der SN schau ich jetzt dann mal.

    War leider den kompletten Tag damit beschäftigt, einen Win11-Rechner neu aufzusetzen weil sich der alte Win10 "isoliert" hat, wie Admin Abed es nannte. Das ist ja heute das Problem, dass die Hardware stabil ist dafür die Software fragil. Tagelang habe ich versucht ein Backup zu erstellen. Vorgestern ist das über Nacht endlich geglückt. Am nächsten früh waren dann alle Festplatten schreibgeschützt. Und heute konnte ich mich nicht mal mehr anmelden. Jeden Tag liegt ein anderes Ei im Nest.

    Daher jetzt der PET. Da kann man sich relativ sicher sein, dass es nicht an Softwareupdates oder am Virenscanner oder sonstiger Software liegt wenn was nicht geht oder ultra-langsam läuft.

    Habe gerade in data becker '64 intern', seite 171, eine info gefunden zum thema datasette und zwar was mit den zwei gleichen aufzeichnungen hintereinabder beim lesen passiert. Demnach gäbe es tatsächlich eine aet rudimentäre datenkorrektur. Man muss sich das wohl mal im rom listing ansehen. Und dann ist noch die frage wie es 5 jahre früher im pet implementiert ist.

    Cool, aber doch nicht sooo cool. Das wären dann günstigstenfalls $30.34 für die Bestellung vom 100er x1, d.h. für einen 6550 Adapter mit seinen 22 Pins anteilig $6.67.

    Naja man kanns ja mal im Hinterkopf behalten wenn es konkret werden sollte. Man müsste sich dann eher so 100 x5 bestellen und schaun dass man die dann innerdeutsch weiterverkloppt (Forum/ebay).

    Aber vielleicht findet man ja auch noch eine normalere Bezugsquelle. Der Hersteller ist ja in UK und der Shop in USA. Da muss es doch noch was anderes geben.

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    Diese Messerchen sind scheinbar von einer Firma "Batten & Allen" und heißen "BA3760" oder besser gesagt hießen.

    Der "D’Asaro Designs" hat die wohl mal selbst in seinem Shop gehabt.
    http://www.dasarodesigns.com/product/batten…edge-clip-pins/

    Dort ist auch dieser Link auf das Datasheet.
    http://dasarodesigns.com/wp-content/upl…tl-15-06-09.pdf

    Und wenn man 10 Jahre lang auf ebay wartet, dann tauchen die dort vielleicht mal auf. Aktuell ist hier tatsächlich irgendwas ähnliches von dem Hersteller drin aber mit 1.27mm pitch, 5000 Stück und 300€ mit Versand. :)
    https://www.ebay.de/itm/121717927283

    Ich mach auch mal einen Screenshot damit das erhalten bleibt wenn es auf ebay wieder weg ist.

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    Helau!

    Ich bin aktuell auch im Thema defekte 6550/6540 Bausteine drin.

    Bin dann eben auch auf diesen "D’Asaro Designs" gestoßen mit seinen schönen Artikeln s. Post #4 weiter oben.
    ROM: http://www.dasarodesigns.com/product/6540-rom-adapter/
    RAM: http://www.dasarodesigns.com/product/mps-65…01-ram-adapter/
    Leider scheint mir, dass der Kollege out-of-business ist seit wahrscheinlich <4 Jahren.

    Und dann hatte ich letzte Woche so eine rudimentäre Grundidee für einen vielleicht GAL-basierten Pöppel mit 4-pin DIP-Schalterchen wo man ein vielleicht 16 KiB großes EPROM verwendet und einen 4-poligen DIP-Schalter um 12 verschiedenste Einmappungen zu realisieren.

    Modus #0: 2 KiB auf $c000

    Modus #1: 2 KiB auf $c800

    Modus #2: 2 KiB auf $d000

    Modus #3: 2 KiB auf $d800

    Modus #4: 2 KiB auf $e000

    Modus #5: 2 KiB auf $f000

    Modus #6: 2 KiB auf $f800

    Modus #7: 4 KiB auf $c000

    Modus #8: 4 KiB auf $d000

    Modus #9: 4 KiB auf $f000

    Modus #10: 8 KiB auf $c000

    Modus #11: 16 KiB auf $c000 unter disablung von $e800

    Ich wüsste aber nicht wie man das dann implementiert. Ist erstmal nur eine dumme Idee. Auf jeden Fall ist schon mal unschön, dass man sich wahrscheinlich von mehreren Nachbarsockeln die Signale SELx (x=C/D/E/F) zusammensuchen muss.

    Drittes Problem. Das war dann so in der Nacht vor der Messe gegen 3 Uhr. Nix ging mehr in Sachen Arduino-Übertragung. Den PET hatte ich in der Nacht oft stundenlang in LOAD/SEARCHING stehen in der Hoffnung dass der immer was auf den Bildschirm schreibt (FOUND / LOADING / LOAD ERROR) wenn er was erkennt. Dann hab ich mal Reset gemacht und dann warf mir das BASIC 3071 Bytes entgegen. Bin dann irgendwann gegen 5 Uhr ins Bett. Und hab dann noch paar mal beim Aufs-Klo-gehen eingeschaltet und immer waren die 3071 Byte auch im abgekühlten Zustand. Pech.

    Auf der Messe hatte klaly dann seinen RCT(P) dabei und der Meldete, dass einer der 8 oberen RAM-Bausteine einen Treffer hat. Hab den dann ganz nach oben gesteckt sodass ich jetzt aktuell 6xxx Bytes habe und schauen muss wie ich den einen kaputten RAM ersetze.

    Hab mir dann auf der Messe als "Schau-Programmieren" einen einen BASIC-Hex-Dumper geschrieben der besagt dass die mittleren beiden Bits stuck-at-one sind. Also sehr ähnliches Fehlerbild wie bei dem kaputten ROM-Baustein "H7".

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    Schön dass wir da waren!

    Kleiner Nachtrag von mir. Freitag hatte ich meinen Arduino-Pöppel prinzipiell startklar mit dem man eigentlich ein TAP-File Binär per USB von jedem beliebigen Rechner mit jedem beliebigen Terminal was [Flusskontrolle, Hardware Handshakte, RTS/CTS] einschalten kann schicken kann. Habe die Arduino-Software dann im Verlauf der Nacht immer mehr verbessert sodass man Informiert wird was gerade passiert und v.a. ob was schief gelaufen ist auf der Neucomputer/USB/Arduno-Seite.

    Das erste Problem war, das(s) komischerweise nur wenige Rechner in der Lage sind die Daten schnell genug zu liefern. Das Ding ist: Der AVR-Kern hat nur einen Buffer von 1 Byte, d.h. ein Byte ist abholbereit und ganz intern kann "parallel" ein weiteres Byte in ein Schieberegister oder whatever einlaufen. Dann haben wir im Arduino die Betriessystemschicht (nenne ich mal so". Dort ist die Buffertiefe 63 Byte. Der China-USB-Chip CH340G am China-Arduino-Nano hat vermutlich ~256 Byte Buffer (Annahme von mir aufgrund von eigenen Verhaltensbeobachtungen). Was ich nun mit meinem leicht modifizierten Nano mache (Leitung zwischen D2 und und dem CTS#-Pin com CH340G): Ich sauge mir initial 50 Byte in den Betriebssystem-Buffer (immer durch kurze 10µs low-Pulse auf CTS#. Dann beginne ich mit der Transferroutine zum PET. Die Idee ist jetzt dass ich während den typ. 1-3 Minuten Übertragung immer mal einen CTS-Puls mache und dadurch ein oder kein Byte in den Buffer reinbekomme. Dadurch ist der Jitter auf der PET-Seite einigermaßen kontrollierbar ohne dass man tiefer in die Trickkiste greifen muss. OK. Was jetzt passiert: Auf dem PC auf dem ich das so entwickelt habe hats es funktioniert wie gedacht. Auf dem Laptop auf dem ichs dann im Zusammenspiel mit dem PET ausprobieren wollte ging nix. Auf einem fetteren (für meine Verhätnisse; i7) Win10-Laptop gings wieder. Auf einem alten Netbook mit Mint gings leider nicht. Auf klalys nagelneuem Notebook gings auf der Messe ohne Buffer-Underflow-Meldsung seitens des Nanos aber die Übertragung dauerte 10min, sehr sehr komisch. Der Ablauf ist jedenfalls folgender. Ein Win10-PC schickt scheinbar immer 200 Byte vermutlich über den Treiber bis in den CH340G rein. Wenn in dem nur noch ~50 Byte im Buffer sind, dann haut der PC wieder neue 200 Byte drauf, sodass dann ~250 Byte drin sind. D.h. der zeitkritische Punkt ist jender wo nur noch 50 Byte im CH340G. Wenn da vom PC nicht schnell was nachkommt dann krachts.

    OK. zweites Problem war dass der PET nichts verstanden hat. Nach einer Weile dachte ich mir... Wie schauts denn mit dem Thema Phase/Polarität (also des READ-TTL-Signals) auf dem TAPE-Stecker aus? Nur weil man in der Doku diese Puls-Perioden immer als High-dann-Low sieht und die auf dem Band dann als postive und negative Amplitude sind (keine Ahnung wie das dann als Magnetiesierung auf dem Band ist) heißt das ja nicht, dass das TTL-Signal grad anders zum ist. Und so wars dann auch. Einfach in der Arduino-Source 1-0 zu 0-1 gemacht und alle Übertragungen waren auf einmal von Erfolg gekrönt (wie gesamt wenn man einen der wenigen passenden Laptops vorne dran hatte).

    Jedenfalls hab ich jetzt mal ein TAP (Aliens.tap) gefunden was irgendwie einen "Novaload" Schnelllader vorneweg hat. Da schaut mein Diagramm so zu aus.

    Gefällt mir was ich sehe, muss ich mir selbst auf die Schulter klopfen. :applaus:

    Leider gibts keine echte Zeitachse in Sekunden. Aber ich würd annehmen:
    -kurzer 2 Sekunden Lead-in (die üblichen 10s wird sicher die Leseroutine gar nicht brauchen)
    -Header mit Wiederholung mit Standard-Timing. Da wo die rote Linie für 1-2 Pixel unterbrochen ist und stattdessen in der türkisenen Linie ein Pixel gelb ist, vermute ich mal die Mitte, nämlich diese "60 Impulse Synchronisation" in der Datenstruktur.
    -2 Sekunden Pause
    -Schnelllader mit Wiederholung. Unwesentlich länger als der Header, also wohl ca. 250 Byte payload schätze ich mal.
    -Dann unmittelbare Umschaltung auf das proprietäre Aufzeichnungformat mit kürzeren Perioden und nur noch 2 Periodenlängen und statistisch höhere Häufigkeit auf der kürzeren Periode.

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    Mir gings erst ähnlich mit dem Verständnis. Aber dann hab ich einfach mal angefangen mich mit python in das WAV reinzufressen (WAV ist im Prinzip nur noch eine Stufe näher an der Physik verglichen mit TAP) und dann führte aber relativ schnell eins zum anderen.

    Und durch das Crackerbuch (ab Seite 149) hab ich dann auch noch verstanden, dass man auf der Datasette auch (sogar von BASIC aus) selbst Daten absetzen kann (OPEN/PRINT/GET/CLOSE und so). Die werden dann wohl immer zu 192 Byte-Blöcken im RAM vorgehalten und erst wenn man z.B. CLOSE #1 sagt auf das Band geschrieben oder wenn mehr als 192 Byte im RAM sind.

    Da du die analysierten TAP-Files leider nicht angehängt hat, kann man leider auch nichts nachvollziehen. Auch nicht die "Knackser".

    Die verwendete TAP-Sammlung: siehe #254
    (Da ist mir grad akustisch aufgefallen dass dieses dog-star-adventure.wav ganz anders klingt als der Rest.
    Und mein c16_tape.tap hänge ich an mit Fake-Endung.

    Zwecks der Knackser, aber die sind jetzt nicht sooo wichtig z.B. die space invaders: #128

    Wenn's dich beruhigt, ich verstehe die Diagramme auch nicht, obwohl ich weiß, wie die Datenaufzeichnung funktioniert.

    Verstehst du die Diagramme in den Videos vom Luigi? Z.B. hier ab 1:30
    https://youtu.be/0aKqacraOI0?t=90
    Ist vermutlich fast das gleiche was ich mache nur halt bei ihm live, während ich es aus einem TAP aus der Konserve zeiche. Und er hat halt noch die 3 Sollzonen in dunkelblau eingezeichnet und legt die aktuellen Messwerte hell drüber. Bei mir sind dafür die Falschfarben drin wodurch man noch eine Dimension mehr Information drin hat.

    So jetzt Thema physikalische Datasette. Habe die interne Datasette, den hinteren Port#2, Multimeter, 470-Ohm-Widerstand, ein Multimeter und einen hingelöteten Reset-Taster. Und eine neuere 1531 Datasette (vom C16) mit einem Adapter auf den alten Platinenstecker. Hier meine Notizen.

    Intern: Wenn ich einschalte und einen Garbage-Screen habe, was vorkommt, weil vielleicht das Timing am Reset-Generator schlecht ist ODER ich halte den Reset-Taster dann läuft der Motor des internen Tapes und zwar immer - unabhängig ob irgendeine Laufwerkstaste gedrückt ist. Sobald der BASIC-Screen kommt, ist der Motor aus. Motor bleibt erstmal auch aus wenn ich z.B. Play gedrückt habe. Der geht erst an wenn man LOAD/SAVE tippt. D.h. der Motor wird direkt vom Computer getrieben. Und dieser mechanische Schalter, der detektiert, ob eine Taste gedrückt ist, ist ausschließlich ein Sensor. Solange ich nicht LOAD/SAVE gedrückt habe kann ich also auch nicht spulen. [Nachtrag: Wenn ich mir den vierten Absatz nochmal durchdenke, kommt mir das fast wie ein Software-Bug vor.]

    Port#2: Im Fall gehaltener Reset ist Funkstille am Motor wenn das Laufwerk angesteckt ist. Sobald das BASIC läuft, ist der Motor benutzbar, läuft aber nur wenn eine Taste gedrückt ist. D.h. anders als beim internen Laufwerk geht dieser Sense-Kontakt auch zum PET, aber die eingehende Motorleitung treibt den Motor nicht direkt, sondern nur wenn auch eine Taste gedrückt ist, läuft der Motor. Da hat man also was verbessert bei der Eigenkonstruktion gegenüber dem off-the-shelf Laufwerk im PET.

    Und eines habe ich jetzt auch verstanden durch bisle rumspielen: Wenn ich z.B. sage LOAD und drücke PLAY, dann läuft der Motor. wenn ich jetzt drücke RUN/STOP dann bleibt der Motor stehen. Jetzt möchte man meinen, dass der PET den Strom von der MOTOR-Leitung genommen hat und ich nun nicht mehr spulen kann. Aber da hat damals einer mitgedacht! Der PET fühlt auf der SENSE-Leitung und wenn der PET feststellt, dass STOP (an der Datasette) gedrückt wurde dann hakt die Motor-Sperre softwaremäßig aus und ab da wenn man wieder <<, >> oder PLAY (oder REC) drückt, dann gibt der PET wieder Spannung auf den MOTOR. D.h. man hat da einiges als Logik in Software laufen wo man sich eigentlich gar keine Gedanken macht und meint dass passiert alles autark/mechanisch im Laufwerk.

    Und meßtechnisch kann ich zum Port #2 sagen (kein Laufwerk angesteckt), dass auf Pin #3 (MOTOR) zunächst alles floating ist. Das Multimeter lädt da über die Zeit die Spannung hoch oder so. Pin #6 (SENSE) hat 5V per pull-up im PET. Wenn ich den mit 470-Ohm auf Pin #1 (GND) ziehe, bekomme ich 6.7V (unbelastet!) auf Pin #3 (MOTOR). Desweiteren sind Pin #4/5 (READ/WRITE) scheinbar defaultmäßig auf 5V.

    Mit pausen hab ich kein problem. Aber mit den knacksern. Wie kommt man überhaupt zu einem TAP?

    Geht da einer her, steckt eine datasette ins hifideck und spielts in den computer (sprich digitalisierts) in ein WAV und dieses wird dann per Tool reduziert in ein TAP?

    In einem z.b. C64 ist das ja kaum so einfach möglich zwecks speicherplatz. Oder... Hängt man einfach seine datasette an den pc-parallelport? Hab ja keine Ahnung.