petSD+ Funktionsweise und Fehlersuche

  • I just tried the .bin file I sent you on my spare petsd+ and it updated fine from the SD card. I have never programmed the ATmega from the Minipro TL866.


    I use a USBasp programmer with a AVR atmega32 system board to set the fuses and program the initial .hex code. After that I add the .bin fie to the SD card and program it that way. I have also programmed it via AVRDUDE after compilation but it works either way.


    The only thing I can think of is that the petSD+ will only re-program itself from a .bin file on the SD card if the ID's match. I wonder if your intial programming didn't not work fully and it needed a few goes.


    Either way if it is working leave alone.


    The version would have been yesterday's date - it's based on the last version Nils posted with a few modifications for the OLED and Steves cbmSD Mini. I agree we may never get to the bottom of why are seeing startup issues but we should never give up :)

  • Mittlerweile haben auch die petSD+ ein Problem, welche anfangs immer einwandfrei gebootet haben.

    Aber die original petSD funktionieren noch? Bzw. auch firmwareabhängig? Oder noch nie untersucht worden?


    Habe noch eins, aber länger nicht benutzt. Ob das noch geht?

    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

  • Aber die original petSD funktionieren noch? Bzw. auch firmwareabhängig? Oder noch nie untersucht worden?


    Habe noch eins, aber länger nicht benutzt. Ob das noch geht?

    Ich hab meine erstes vor drei Jahren(?) von Dave Stevenson bestellt:

    Commodore PET (PetSD)

    Dies hatte von Anfang an Startprobleme.


    Dann habe ich mit weitere Geräte mit anderen Atmega's aufgebaut. Diese liefen Anfangs einwandfrei, jetzt stelle ich jedoch fest, dass es immer wieder zu Startproblemen kommt. Wohlgemerkt: Unabhängig vom Rechner.

    Auch werden Dateien nicht immer korrekt geschrieben und haben dann 0 Blocks. Deshalb prüfe ich immer direkt danach, ob die Datei korrekt geschrieben wurde.

    Dieses Problem könnte aber durchaus mit der verwendeten SD-Karte zusammenhängen (auch, wenn ich davon mehrere verwende, einige gehen, einige wohl ned immer).


    Es gab ja noch eine alte (erste) Version des petSD-Laufwerks. So eines habe ich jedoch nicht mehr hier.

  • I wonder if your intial programming didn't not work fully and it needed a few goes.


    Hm? For clearness: The "initial programming" ist programming with TL866, STK-500, AVRDUDE, USBasp or whatever of the SAME file, isn't it?


    With setting this fuses?

    Code
    CONFIG_EFUSE=0xFC
    CONFIG_HFUSE=0xD2
    CONFIG_LFUSE=0xF7


    Or is there anything more to do for the initial programming?

  • Diese liefen Anfangs einwandfrei, jetzt stelle ich jedoch fest, dass es immer wieder zu Startproblemen kommt. Wohlgemerkt: Unabhängig vom Rechner.


    Auch nicht sehr vertrauenserweckend... :grübel:


    Ich baue gerade noch 2 weitere Platinen auf (für dein großes Gehäuse :sunny:) und habe weitere (andere?) ATmegas im Zulauf. Ich werde das beobachten. Allerdings ist das halt auch nichts was man immer und ständig nutzt. Von daher ist deine Taktik des "defensiven Speicherns" (und Prüfens!) wohl wirklich anzuraten.

  • Es gab ja noch eine alte (erste) Version des petSD-Laufwerks. So eines habe ich jedoch nicht mehr hier.

    ja diese meinte ich. Leider weiß ich nicht wie ähnlich die sich sind, ob die mit der gleichen Firmware laufen usw. Ich habe nur dieses alte, das neue habe ich nicht.

    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

  • Diese liefen Anfangs einwandfrei, jetzt stelle ich jedoch fest, dass es immer wieder zu Startproblemen kommt. Wohlgemerkt: Unabhängig vom Rechner.


    Auch nicht sehr vertrauenserweckend... :ponder:


    Ich baue gerade noch 2 weitere Platinen auf (für dein großes Gehäuse :sunny:) und habe weitere (andere?) ATmegas im Zulauf. Ich werde das beobachten. Allerdings ist das halt auch nichts was man immer und ständig nutzt. Von daher ist deine Taktik des "defensiven Speicherns" (und Prüfens!) wohl wirklich anzuraten.

    There were two problems … one the startup and another is the save bug. With some ATmega chips files would not be saved properly.. they would have 0 bytes.


    So you have to save a program to the petsd+ and see if it can be reloaded. I am curious if the build I made recently overcomes the save bug as this one has disappeared now on my units … built up 5 .. if it unique to me then that's fine with me also.


    David’s website details the programming of the ATmega from initial programming using the .hex bootloader to the petsd+ nodiskemu code .. I used the usbasp to program the bootloader.


    The petsd+ will not update from the sd card if its ID doesn’t match the ID in the .bin file. I think if you have always programmed the .bin file from the minipro I am not sure if the ID is correctly set.. just my thought

  • AndyG : Can you give us some more informations about your bugfix? What was die issue? What did you change?

    • 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."

  • When I talked with David initially about using the MiniPro he said he did not have much success from what I recall - never got it to work reliably. He pointed me to the usbASP programmer.

  • I've been programming all of my Atmels with the MiniPro for years and have never had any problems. This device is very reliable.

    • 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."

  • David’s website details the programming of the ATmega from initial programming using the .hex bootloader to the petsd+ nodiskemu code


    Ah. Got it. I did not see this before. Thanks for the hint...

  • AndyG : Can you give us some more informations about your bugfix? What was die issue? What did you change?

    That's the problem - I used a different compiler on my Mac and added code for resetting OLED screens properly (and also changes for Steves SD board to remove the need for the additional resistors to simulate the presence of buttons) . That's all. Different compilers produce different output code - I did connect with Nils for words of wisdom but as understandably he has retired from the project after so many great years with it. Basically if it works for me good ....


    I still get issues with some ATmega's as described (which the debug version resolves) but for the ones that work correctly on startup the save issue hasn't been a problem unless the SD card is corrupted.


    Why I do not understand (unless its a timing issue of some sort in the base code) which is why I am being cautious here - it should not break anything if programmed on a different petSD+ but at your curiosity risk.

  • and added code for resetting OLED screens properly


    I'm afraid this breaks the correct initialisation of "normal" LCDs.


    Mine did not show anything usable with your bin...

    No it doesn't - the code is ignored if a LCD. I am running both. I have 2 OLED and 3 LCD all on the same build.


    The fact that yours would not update via a SD card is the root cause. The way round that I have found to rectify in this case is to reprogram the ATmega with the boot loader and then upload the nodiskemu on the SD card. That sets the ID. If yours is working now leave alone is my recommendation - have you tested the save bug ?

  • AndyG : Can you give us some more informations about your bugfix? What was die issue? What did you change?

    That's the problem - I used a different compiler on my Mac and added code for resetting OLED screens properly (and also changes for Steves SD board to remove the need for the additional resistors to simulate the presence of buttons) . That's all. Different compilers produce different output code - I did connect with Nils for words of wisdom but as understandably he has retired from the project after so many great years with it. Basically if it works for me good ....

    Ah, ok.


    Yes, this all looks like timing issues. Different compilers, different Atmel batches, aging hardware. This can all affect the timing. And if the design is out of spec, it will fail.

    • 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."

  • Ich kann nur daran erinnern das es mit der 2017er Version bei mir in zwei petsd+ überhaupt keine Probleme gibt. Ich habe die fw für mich noch an oled angepasst und die Menüführung optimiert.

    Es ist also eindeutig ein Softwareproblem, welches nur bei unterschiedlichen Atmega chargen differenziert Symptome zeigt!


    Auf die Uhr kann ich gut verzichten und den seriellen iec kann man ja auch verwenden, man benötigt lediglich einen Adapter.


    Ps: An ieee Bus müssen übrigens immer alle Geräte eingeschaltet sein!


    Christian

  • If yours is working now leave alone is my recommendation - have you tested the save bug ?


    I did not save much on this device up to now. Just a few little "hello world"-like things. I'll observe that.


    Indeed I won't touch this device for now. The upcoming two devices I'll program with bootloader etc.

  • I soldered two more devices today. This time I put the bootloader in the ATmegas and flashed the bin via SD. Worked flawlessly.


    I used the newest original version for the first try and it works on both devices, too. Strange. But I don't complain! :)


    I can't test them in depth now. They have no LEDs, no switches, no display and wait for their cases. I'll catch up later...

  • I mounted the first device in the bottom part of the case. So it's ready for first tests.


    Without IEEE connected it hangs after power on very often. But connected to the C710 I noticed no problem so far (switched on an estimated 20 times).


    Then I copied a d64-image and scratched everything in it to get an empty disk (formatting by "header ..." did not work; the disk is empty afterwards but the output of "catalog" is disturbed by an ugly header).


    Then I wrote a little program with two for-next-loops creating unique filenames "file-aa", "file-ab", ... and calling "dsave" for each. So I get many files on the disk. After 144 files I got "disk full". I knew there is a limit but I didn't remember how many files are allowed. The 144 matches this: https://www.c64-wiki.de/wiki/Diskette So it's O.K.


    And every file has a length of 1 block. No 0 block file has been created.


    What do you think? Is this a good test for the save bug? Or are the files too short? Or is the bug not that easy to provocate? :nixwiss:

  • Hallo CBM_BA bzw. tuti

    Ich habe Euren Meldungen bezüglich STL Dateien gelesen.

    Kann ich die STL Dateien auch bekommen?


    Danke & Gruss
    Jan

  • CBM_Ba : Das ist ja von dir. Ich würde das nicht ohne dein Wissen einfach schicken wollen. Nun hat der Jan dich aber nicht direkt angetriggert, was ich hiermit nachhole... :)

  • Da ich mit meiner PetDisk diese Woche so Schiffbruch erlitt und mit Steve Grays Idee mit der abgespeckten Version gefiel ((ich will weder IEC, noch Display, noch Uhr noch Buttons), ich aber lieber eine Karte mit "echtem" Stecker haben will und USB3 power und alles als header rausgeführt (auf die Idee von CBM_Ba mit dem kantigen Gehäuse schiel) hab ich gestern und heute gebastelt:


  • Keine SD-Karte? Wie bekommt man die Software drauf? :grübel:

    • 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 karten pcb aus china für 2 euro auf den header. Wie beim chiptesterpro.

    Aber dann ist es ja wieder Gebastel. :tüdeldü:


    Naja, ich will nicht meckern. Immerhin kein SMD. Also ich bin da auf jeden Fall auch dabei.

    Aber nur, wenn das Ding noch einen Adress-Schalter/Jumper bekommt. Oder wie ist das gedacht?


    Zum Befüllen hänge ich das Ding notfalls über den ZoomFloppy-Adapter an den PC. ;)

    • 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."

  • Jumper für die ID, GUUUUTER hinweis. Schon gefunden wie das geht. Das MUSS rein.

    Als speicher braucht's natürlich eine SD. Da ich die für mich aber irgendwie "vorne" in einem Gehäuse haben will aber den IEEE hinten und das Board eher klein -> einfach diese 2 Euro Fertigmodule nutzen, entweder als SD: https://www.reichelt.de/arduin…rd-module-sd-p282683.html oder MicroSD: https://www.reichelt.de/entwic…bo-microsd-2-p266045.html

    (fertiges) Kabel dazwischen, win-win. LED (eine dual mit 2 leitungen für power/error und eine für activity) ebenso an einen header. Resettaster auch.

  • Gaaaanz blöde Frage: Das Dingelchen kann man also an dem IEEE488 Parallelport anschließen und es emuliert dann eine Diskettenstation und/oder Festplatte? Wie kann ich denn dann etwas auswählen?


    Ich hätte jedenfalls auch an zwei solchen Teilchen großes Interesse - derzeit habe ich an meinem PET-2001 und an meinem CBM-8296 keine Speichermöglichkeiten...


    :)Franky