Wir machen einen Bj. 1978 PET 2001-8 fit für dessen Ausstellung auf der Hack & Make in Nürnberg

  • Exakt. Habs Bild (allerdings in besserer Qualität als hier im Thread) durch die OCR geschickt und dann erheblich nachkorrigiert. War aber spaßiger als es abzutippen. Abtippen ist noch schlimmer als eine Datasette ohne Zählwerk zu benutzen. :)

    Die Datasetten mit Zählwerk kamen erst zu VC20 und C64-Zeiten. Für die Weicheier. :D

    Ne, ich hätte mir schon manchmal ein Zählwerk gewünscht und es gab damals Bauanleitungen für elekronische Bandzähler mit Siebensegmentanzeige.

    Deswegen hatte ich ja auf jeder Kassette nur ein Programm. Dann braucht man kein Zählwerk. Und sowiele Programme hatte man ja anfangs nichts.


    Und von irgendeinem etwas besseren Hifi-Hersteller gab es sogar ein Tapedeck mit Interface für den PET. Da konnte man dann jede Position programmgesteuert anfahren. Leider habe ich dazu nie wieder eine Info gefunden, obwohl es mindestens einen Artikel in einer Computerzeitschrift darüber gab, an den ich mich noch so dunkel erinnern kann.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Das wird nur eine kleine sub-Veranstaltung. Das ist primär die Consumenta, da ist an den letzten beiden Tagen Erfindermesse und vom FabLab Nbg. dann noch die Hack und Make. Und ich werde zwei Tische haben, wo ein klein bisschen Vintage Computing gezeigt wird. PET ist der Hauptdarsteller.


    Anwesende mein Kuumpel Rolando und ich und viele FabLab Leute.


    mfg. Klaus Loy

    Wir subben/suppen hier in Stuttgart auch nur rum


    ist CBM_Ba da?

    Zuletzt repariert:

    10.11. defektes µT RAM im Apple //e ersetzt

    10.11. defektes µT RAM im Atari 130XE ersetzt

    12.11. VC20 mit black screen: defekter Videotransistor ersetzt

  • Zum Studer A721 (nicht meine Internetseite):

    https://revoxman.de/angebot-studer-a721.html

    "Mehr" geht kaum in Sachen Tapedecks. ;)

    Nakamichi Dragon ?

    Nakamichi DRAGON | Hifi-Wiki

    Gruß Torsten

    BFZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, MSX VG8010, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500 & 1200, Atari Portfolio, HP200LX, IBM PC5155, TP755c, TP755cx, T20, T41, T61, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e, Sharp PC1401 & PC1403H, TI59 m. PC-100c, HP48SX & HP48GX


    An die Person, die meine Schuhe versteckt hat, während ich auf der Hüpfburg war: Werd' erwachsen! :motz:


    ::matrix::

  • Wir subben/suppen hier in Stuttgart auch nur rum


    ist CBM_Ba da?

    Juhu!
    Leider nein- ich sitze etwa 85km entfernt daheim und ergötze mich an saftorangefarbigen Bodenbelägen. :mrgreen:

    irgendwann treffe ich dich und dann gebe ich dir so richtig einen mit. Ich glaube es waren zwei Drucker ;)

    Zuletzt repariert:

    10.11. defektes µT RAM im Apple //e ersetzt

    10.11. defektes µT RAM im Atari 130XE ersetzt

    12.11. VC20 mit black screen: defekter Videotransistor ersetzt

  • Darüber ließe sich evtl. streiten. Ich hatte ein 680ZX von Nakamichi und besitze noch vier 48x-Modelle (480/482/482Z). Klanglich (subjektiv) deutlich wärmer, irgendwie angenehmer, grad im Bass.

    Aber die Mechanik in einem Nakamichi kann nicht ansatzweise mit der in einem Revox oder Studer mithalten. Die Decks aus Fernost sind sicherlich exzellent, beim dran schrauben jedoch präferiere ich das Schweizer Modell. :)

    irgendwann treffe ich dich und dann gebe ich dir so richtig einen mit. Ich glaube es waren zwei Drucker ;)

    Ooooooh jaaaapp! Ich freue mich schon drauf! <3

  • Und von irgendeinem etwas besseren Hifi-Hersteller gab es sogar ein Tapedeck mit Interface für den PET. Da konnte man dann jede Position programmgesteuert anfahren.

    Cool. Vor so zwei jahren hatte ich den einfall ein hifi doppeldeck mit 2x autoreverse, 2x record und remotebuchse zu erwerben. Und dann irgendwas derbes genau in dieser Richtung damit zu machen. Zum Glück ist das projekt dann ganz schnell eingeschlafen weil das deck schon kaputt angekommen ist.

  • mal blöd zwischenrein gefragt. Wer von den üblichen Verdächtigen wäre an der Veranstaltung dann da? Nürnberg ist von hier nicht sooo weit weg.

    ..kommt drauf an, ob klaly sich noch dran erinnert, dass er mich eigentlich auch eingeladen hatte... :tüdeldü:


    Anwesende mein Kuumpel Rolando und ich und viele FabLab Leute.

    oh - offensichtlich nicht mehr :cry2:

    ich bin signifikant genug:razz:

  • erinnern tut er sich schon.

    Wenst magst kannst ja mit deinem Zeug kommen. Es wär halt Samstag UND Sonntag.

  • Hatte schon die idee ob ich mich mal überwinde mein rumstaubendes efinix evalboard auf das thema datasette anzusetzen. Ist zwar völlig oversized gegenüber einem arduino nano aber wäre schon witzig. Das wäre dann so dass man am pc ein prg per usb/com abschickt und und der efinux fiddelts um auf ttl. Und dann das uart vielleicht mal mit rx/tx + rts/cts gemacht dass der pc gebremst wird und nur immer ein byte schickt. Oder halt der interface chip.

  • Hatte schon die idee ob ich mich mal überwinde mein rumstaubendes efinix evalboard auf das thema datasette anzusetzen. Ist zwar völlig oversized gegenüber einem arduino nano aber wäre schon witzig. Das wäre dann so dass man am pc ein prg per usb/com abschickt und und der efinux fiddelts um auf ttl. Und dann das uart vielleicht mal mit rx/tx + rts/cts gemacht dass der pc gebremst wird und nur immer ein byte schickt. Oder halt der interface chip.

    Kann man machen. Wenn man es mit einem Arduino macht, dann haben andere auch was davon. Vorausgesetzt man bringt es, im Gegensatz zu meinem Projekt, zu Ende. ;)

    Deswegen verwende ich gerne verbreitete Standard-Komponenten.


    Aber jeder wie er mag. ;)

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Das ist korrekt. Aber ich habe gar keinen Überblick was es eh schon alles gibt.

    "SD -> Floppy" gibts, aber wird vom PET-Ur-ROM nicht unterstützt?

    "SD - > Tape": ? gibts was ? gibts nix?

    "Live per USB/RS232 was reinschieben auf Floppy oder Tape"?

    Live hat ja den Charme wenn man am PC entweder BASIC schreibt oder Assembler-Binaries generiert, dass man die gleich ins Zielsystem reinladen kann. Das mit SD-Karten ist ja wiederum eher für Archiv-Spiele interessant.

    Einmal editiert, zuletzt von Rolando ()

  • Das einzige, was ich in dieser Richtung kenne, ist das hier:

    Sales | Luigi Di Fraia's Homepage

    Aber ist aber alles kommerziell. Der verkauft den Kram und veröffentlich nichts.


    Ansonsten kenne ich kein Projekt, wo eine Datasette direkt an einem Mikrocontroller-Board mit eigenen Lese- und Schreibroutinen angeschlossen wurde.


    Mir ging es bei meinem Projekt darum, alte Kassetten zu lesen, die sonst eben nicht mehr lesbar sind. Zum Beispiel durch Veränderung des Leseparameter. Oder durch wiederholtes Lesen. Mit etwas Glück kann man mal den einen und mal den anderen Block lesen und kommt so irgendwann zu einem vollständigen Programm. Auch so eine Frequenzanalyse, wie Lugia Di Fraia sie macht und anzeigt, hatte mir vorgeschwebt. Ich habe das alles in der Zeit gemacht, als ich gerade einige Datasetten repariert habe. Da hätte ich mir eben auch ein paar erweiterte Testmöglichkeiten gewünscht.


    Als die Datasetten alle liefen, habe das Projekt dann nicht weiterverfolgt, weil ich plötzlich das Lesen von Disketten viel spannender fand. Das habe ich aber auch nicht zuende gemacht. Ich bin da manchmal etwas sprunghaft. :D

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

    2 Mal editiert, zuletzt von detlef ()

  • Cooler Link mit vielen yts (youtubes).

    Arduino hätte natürlich tatsächlich auch eine Reihe von Vorzügen. Nachteile würden mir gar keine einfallen... Deswegen hab ich den jetzt auch zu meinem Lieblingscompter gemacht im Profil. Auch wenns nicht retro ist. Aber für Retro. :)

    -5V I/O

    -Strom-Versorgung direkt über den Cassettenport

    -USB alles an Board
    -billig
    -jeder kanns nachbauen
    -ADC onboard (schnell genug? keine Ahnung)

  • Ich finde die Sachen von Luigi eigentlich auch toll. Wenn das Open Source wäre, hätte ich es damals vielleicht sogar gekauft.

    Aber Closed Source Projekte unterstütze ich nicht. Und wenn ich soviel Geld bezahle (82 Pfund + Steuer + Versand), dann erwarte ich mehr als eine Black Box.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Hab jetzt mal geforscht.

    Theorieteil:
    Alle Arduinos haben quasi kaum RAM. Nano=2KiB .... 2560er=8KiB. Taugt alles nix um irgendwelche PRG-Files (effektiv ja bis zu 64 KiB bei einem C64 oder so) komplett in den Arduino zu bringen dass ers dann direkt aus seinem RAM in den PET bringt.

    Praxisteil:
    Wie ist das jetzt mit RTS/CTS? Hab ich nie benutzt und es ist am China Arduino Nano auch gar nicht vorgesehen. Aber der CH340G kann es. In meinem geliebten HTerm gibt es einen Knopf "CTS Flow Control". Und tatsächlich, wenn ich diesen anhake, auf "Connect" drücke und dann mit "Send file" eine riesige Datei senden will, schickt das Windows 200 Byte irgendwohin, entweder in den Treiber oder bis in den China-CH340G und bleibt dann stehen. Und weiter passiert nichts. Nun gibts an dem CH340G einen (ich meine unbeschalteten) Pin #9 "CTS#". Das ist ein Eingang mit pull-up. Und tatsächlich: wenn ich diesen Pin nun mit einem 470 Ohm gegen GND lege geht der Transfer scheinbar immer im 200 Byte Raster weiter. Ergo: Ich kann das Nano-PCB leicht modifizieren, indem ich mit Fädeldraht einen AVR-GPIO auf den CH340G-Pin#9 löte und kann dadurch die Übertragung beliebig "pausieren". Genau das was ich brauche.


  • Meine Lösung wäre, an den Arduino einen SD-Card-Slot anzuschließen und die Transfers zwischen SD-Card und Datasette machen.

    SD Card Module with Arduino: How to Read/Write Data
    In this tutorial, you’ll learn how to use SD and micro SD cards with Arduino in a simple project to measure the environment temperature. By ElectroPeak.
    create.arduino.cc


    Dann kann man auch mehrere Files hintereinander Lesen und Schreiben und man kennt auch gleich die Programmnamen.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Sowas hab ich mal für TRS-80 gemacht, hat super funktioniert.
    Arduino Nano, SD-Card Modul.
    Arduino hat mit der SD-Lib Files häpchenweiße im "Vordergrung" von der Karte gelesen und in einen Ringpuffer geschrieben.
    In einer "Interrupt Task", hinreichend schnell hab ich aus dem Ringpuffer die Bytes raus geholt und Bitweise im passenden Raster an den TRS-80 Kassetenport gegeben. Das hat einwandfrei funktioniert.
    Die Daten mussten lediglich schneller von der SD-Karte kommen, als wie sie in dem Bitstream raus geschickt wurden.
    Das Ganze war ein bisschen ein hin getüfftel, aber es hat geklappt.

    Das File muss hierzu nicht in den RAM rein passen. Es müssen lediglich im Filepuffer immer genügend Daten enthalten sein.
    Wenn mal Zeit und Lust wäre, könnte man das auf PET erweitern.
    Aber ich vermute sowas gibt es schon, siehe Links wesentlich weiter oben.

    mfG. Klaus Loy

  • Aber ich vermute sowas gibt es schon, siehe Links wesentlich weiter oben.

    Welchen Link meinst du genau?

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • SD ist jetzt für mich erstmal sekundär.

    -Erstens mal bin ich mir sicher dass es sowas schon gibt. Wahrscheinlich zuhauf.
    -Zweitensmal wie schon beschrieben ist mir das für den Einsatz als Entwicklungstool zu uncharmant wenn ich immer ein File auf SD schreiben muss und dann die Karte vom PC in den Arduino, von dort verschicken und für die nächste Iteration wieder zurück in den PC and so on. Selbiges wenn es um Spiele geht hab ich ja evtl. die Idee genau dieses eine aus dem Internet laden zu wollen.
    -Drittens (Hauptgrund) habe ich mich jetzt grad schon in dieses RTS/CTS reingefressen und es gefällt mir sehr gut. :)

  • -Erstens mal bin ich mir sicher dass es sowas schon gibt. Wahrscheinlich zuhauf.

    Du kennst dich ja anscheinend schon sehr gut aus. Dann bin ich mal gespannt. ;)

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Naja mit dem auskennen ist das so eine Sache. Es lief abends paar Stunden super und dann hatte ich so 1~2h ein Brett vorm Kopf. Nichts ging mehr. Hab dann in der Verzweiflung einfach einen "alten" Sourcecode in den Arduino geladen und das ging dann wieder wie "damals", also halt vor 4h als ich angefangen habe quasi. Ich verstehs nicht. Nachmittags hab ich ja kurz den Pin CTS# gecheckt und meinte, er wäre hi mit Pullup (blockiert) und wenn man ihn auf gnd .... :weinen::wand:

    Ich bin sooo doof!!!!! Genauso ist es ja. Und genau so hab ichs anfangs im Sourcecode auch gemacht. Und dann hat sichs irgendwie im Kopf gedreht und ich dachte hi=wäre frei und lo=blockiert. OK, verstanden, danke!

    Jedenfalls hab ich massiv rumgefiddelt und der aktuelle Stand ist jetzt der, dass wenn man das CTS# nur minimal kurz wie z.B. 10µs low zieht, dann kann man sich kontrolliert genau ein Byte reinziehen. Also bei 115200 Baud wo ein Byte 87µs lang ist.

    Und dann ist halt generell noch offen, ob man zwecks Timing/Jitter mit dem Arduino-"Betriebssystem" arbeiten können wird oder ob man das mit cli() stilllegen muss und sich sein byte so baremetal-mäßig aus dem UART rausziehen.

  • Naja und dann ist da noch eine konzeptionelle Unschönheit. Ich dachte eigentlich man könne es so machen, dass man den Arduino an den CBM ansteckt womit er bootet und einsatzbereit ist und dann geht man mit dem Terminal seiner Wahl drauf und schickt ein Binary (PRG) und der Arduino fiddelts in TTL in den CBM rein. Aber das geht nicht weil der CBM braucht im Headerbereich die bytemäßige Länge (und Zieladresse und Dateiname idealerweise) und die hat erst nicht wenn die Übertragung anfängt.

    Ergo braucht es leider ein "Tool" wie z.B. ein python-Skript was vorneweg irgendwie diese drei Meta-Informationen schickt. Ärgerlich. Aber ich gehe da bisher von einem PRG-File aus wo nur die Zieladresse, nicht aber die Bytelänge und ein Dateiname mit drinsteht. Aber ich hab mir noch die das TAP Format angesehen. Vielleicht ist da ja alles drin. Das wäre natürlich cool.

  • Hier steht dass im TAP die Bytesize drin ist. Von Dateiname steht nix. Aber das wird dann im Datenbereich drin stehen. TAP ist ja quasi ein sendefertiges Format. Da muss man wahrscheinlich nur die ersten bytes überspringen und den Rest dann umcodieren von Short/Medium/Long auf die Pulsbreite des GPIOs.
    https://www.c64-wiki.com/wiki/TAP
    Naja, erstmal die Nacht drüber schlafen.

  • mal ne blöde Frage: der Tape-Port is doch beim PET der gleiche, wie beim C64? ..kann der dann auch Files vom


    laden? ..das hab ich nämlich ...bring ich mal mit am Samstag

    ich bin signifikant genug:razz:

  • mal ne blöde Frage: der Tape-Port is doch beim PET der gleiche, wie beim C64? ..kann der dann auch Files vom

    Das ist ja im Prinzip ein Tapuino. Ich weiß jetzt nicht ob da auch eins drinsteckt.

    Tapuino habe ich am CBM getestet und das hat funktioniert. Zumindest lesend. Aber ich wüsste nicht, warum schreiben nicht auch funktionieren solllte.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Ergo braucht es leider ein "Tool" wie z.B. ein python-Skript was vorneweg irgendwie diese drei Meta-Informationen schickt. Ärgerlich. Aber ich gehe da bisher von einem PRG-File aus wo nur die Zieladresse, nicht aber die Bytelänge und ein Dateiname mit drinsteht. Aber ich hab mir noch die das TAP Format angesehen. Vielleicht ist da ja alles drin. Das wäre natürlich cool.

    Wenn du sowieso ein Programm auf der PC-Seite verwendest, dann kannst du auch blockweise mit Blockbestätigung übertragen .

    Dann muss man auch nicht die Arduinos für den Handshake modifizieren.

    So habe ich das hier gemacht:

    GitHub - detlefgerhardt/TapecartFlasher: Windows/Arduino tool for writing and reading C64 Tapecart modules
    Windows/Arduino tool for writing and reading C64 Tapecart modules - GitHub - detlefgerhardt/TapecartFlasher: Windows/Arduino tool for writing and reading C64…
    github.com


    Hier steht dass im TAP die Bytesize drin ist. Von Dateiname steht nix. Aber das wird dann im Datenbereich drin stehen. TAP ist ja quasi ein sendefertiges Format. Da muss man wahrscheinlich nur die ersten bytes überspringen und den Rest dann umcodieren von Short/Medium/Long auf die Pulsbreite des GPIOs.

    Genau so ist es.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

    4 Mal editiert, zuletzt von detlef ()

  • blockweise mit Blockbestätigung übertragen

    Das hast du irgendwie recht.


    Apropos blockweise: Am C64 steht da dass immer 192 Byte Blöcke übertragen werden, dann die Wiederholung, dann der nächste block. Und das sehe ich nur auf den Header zutreffend. Der ist 192 Byte groß gefolgt von der Wiederholung. Aber dann kommt der komplette Rest, also vielleicht 7 KiB bei den space invaders und dann desSen Wiederholung.


    Und was ich auch nicht verstehe: wenn ich zuvor ein Basic Programm im Speicher hatte und lade nun von kassette und das läuft nun eine weile und bricht dann aber mit LOAD ERROR ab, dann habe ich immer noch das alte Programm im Speicher? Das kann ja eigentlich nur bis zu einer bestimmten Größe so sein. Ich hab ja nur 8 KiB.