sd2iec gebaut, und nun?

Es gibt 75 Antworten in diesem Thema, welches 11.173 mal aufgerufen wurde. Der letzte Beitrag (9. April 2014 um 12:27) ist von Unseen.

  • Benutz doch auch den cbm-browser, wie in Beitrag Bitte melde dich an, um diesen Link zu sehen. empfohlen, der ist echt genial, bzw. klein und fein würd ich sagen.

    Was mir dann noch aufgefallen ist, wenn der Schreibschutz an der SD-Karte aktiviert ist, dann kann man keine D64 laden. Liegt das daran, daß er die Daten dabei temporär auf die SD-Karte auspacken muß? Geht das nicht on thy fly?

  • Was mir dann noch aufgefallen ist, wenn der Schreibschutz an der SD-Karte aktiviert ist, dann kann man keine D64 laden. Liegt das daran, daß er die Daten dabei temporär auf die SD-Karte auspacken muß? Geht das nicht on thy fly?


    Nein, das liegt daran, dass die FatFs-Library beim Öffnen einer Datei mit Read+Write-Zugriff prüft, ob das Medium schreibgeschützt ist und ggfs. einen Fehler wirft.

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Gibt es da eigentlich einen Trick oder ein Tool, um das Laden von Images beim SD2IEC komfortabler zu gestalten?


    Wie kbr schon schrieb, einfach einen Datei-Browser (Filebrowser) benutzen. Ich finde, daß der Bitte melde dich an, um diesen Link zu sehen. der Beste ist, denn den kann man auch mit Schnelladern, wie SJ-Load, kombinieren.
    Bitte melde dich an, um diesen Link zu sehen. habe ich schonmal was dazu geschrieben (Da gibt es auch SJ-Load als Download)

    Und Bitte melde dich an, um diesen Link zu sehen. habe ich mal was zu den Tasten am SD2IEC geschrieben und den Umgang mit der autoswap.lst-Datei


  • Nein, das liegt daran, dass die FatFs-Library beim Öffnen einer Datei mit Read+Write-Zugriff prüft, ob das Medium schreibgeschützt ist und ggfs. einen Fehler wirft.


    naja gut, aber solange man nur lesen will, könnte man den Fehler ja ignorieren, oder verweigert da die Library den weiteren Zugriff?

  • naja gut, aber solange man nur lesen will, könnte man den Fehler ja ignorieren, oder verweigert da die Library den weiteren Zugriff?


    Da etwas anderes als FR_OK zurückgegeben wurde hat die Library die Datei nicht geöffnet.

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • ok, da besteht also noch Verbesserungspotential. Die Library find ich eh ein bischen aufgeblasen, und schluckt sehr viel Speicher...

  • Du hast ja den Code. Viel Vergnügen :)

    Bitte melde dich an, um diesen Link zu sehen.- Bitte melde dich an, um diesen Link zu sehen.- Bitte melde dich an, um diesen Link zu sehen.
    -
    User ignorieren? AdBlock!www.forum64.de##ARTICLE[data-user-id="xxxxx"]

  • ok, da besteht also noch Verbesserungspotential.


    Nö, das funktioniert hier problemlos. Wenn du unbedingt antike Softwareversionen einsetzen willst ist das alleine dein Problem.

    Zitat

    Die Library find ich eh ein bischen aufgeblasen, und schluckt sehr viel Speicher...


    Machs besser?

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Sagt mal, ihr lest doch wirklich immer nur die Hälfte ?( Ich hab doch schon paar Mal geschrieben, ob das an meiner alten Version liegen kann, und daß ich den ATmega1284 schon bestellt habe, damit ich möglichst schnell auf die aktuelle Version updaten kann.

    Dann kann ich mir den Code auch gerne mal näher ansehen, ich würde sicher nicht an einer alten Version anfangen zu verbessern...

  • Sorry, Post Bitte melde dich an, um diesen Link zu sehen. klang nicht mehr so danach :)

    Aber ja, der neue Code macht alles besser :)

    Bitte melde dich an, um diesen Link zu sehen.- Bitte melde dich an, um diesen Link zu sehen.- Bitte melde dich an, um diesen Link zu sehen.
    -
    User ignorieren? AdBlock!www.forum64.de##ARTICLE[data-user-id="xxxxx"]

  • Das war nur, weil bislang mir niemand gesagt hat, daß das im aktuellen Code behoben ist. Dann ist ja alles gut :thumbup:

  • So, heute ist der ATmega1284P angekommen, ich bin grad noch am Programmieren, und wunder mich über die Fuse-Bits bzgl. des Bootloaders, denn da liest man überall mal soll 0x92 als hfuse einstellen, das bedeutet aber 2K Boozsize, der Bootloader ist aber doch 4K groß, dann müsste es doch 0x90 sein?

    Seltsamerweise funktioniert es aber mit beiden Einstellungen...

  • denn da liest man überall mal soll 0x92 als hfuse einstellen, das bedeutet aber 2K Boozsize


    Schau mal genauer hin: Worte oder Bytes?

    Zitat

    der Bootloader ist aber doch 4K groß


    Das sind auf jeden Fall Bytes

    Zitat

    Seltsamerweise funktioniert es aber mit beiden Einstellungen...


    Pures Glück - über den leeren Flashspeicher läuft die CPU noch einfach so hinweg, die 8 Byte lange Signatur am Ende enthält aber einen datenabhängigen Teil und wenn man die "richtige" CRC erwischt könnte da auch eine Endlosschleife entstehen.

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Jup danke, daß die AVR's ja das Flash in Words adressieren, wird mich immer wieder verwirren...

  • Naja, mit der neuen Firmware funktioniert jetzt zwar LOAD"*",8, aber LOAD"//:FB",8 funktioniert nicht mehr, wenn man sich in einem Image befindet :(

    Das war doch ein ganz nettes Feature in der alten Firmware, kann man das wieder haben?

  • Naja, mit der neuen Firmware funktioniert jetzt zwar LOAD"*",8, aber LOAD"//:FB",8 funktioniert nicht mehr, wenn man sich in einem Image befindet :(

    Das war doch ein ganz nettes Feature in der alten Firmware, kann man das wieder haben?


    Das war ein Bug in der alten Firmware und hätte nie funktionieren dürfen. Ausserdem würde es Zugriffe innerhalb von DNP-Images kaputtmachen wenn // da drin auf einmal einen Zugriff ausserhalb des Images bewirkt.

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Hm, dann könnte man dafür doch bestimmt eine andere Syntax finden, die nicht mit einem Image kollidiert...

  • Hm, dann könnte man dafür doch bestimmt eine andere Syntax finden, die nicht mit einem Image kollidiert...


    Ich bin mir im Augenblick nicht mal sicher wie das damals überhaupt funktioniert haben kann - intern werden alle Zugriffe über ein API abstrahiert, welches über einen Funktionspointer je nach Imagetyp/Direktzugriff aufgerufen wird. Den Pointer gibts einmal pro Partition, d.h. wenn gerade in einer Partition ein Image gemounted ist dann zeigt der Pointer fest auf die D64-Funktionen und Zugriffe auf FAT-Dateien gehen erst wieder wenn der beim Unmounten zurückgestellt wird. Von daher ist mir gerade etwas unklar, wie das überhaupt mal funktioniert haben kann - aber 0.6 ist seeehr lange her und hat intern noch einiges deutlich anders (und unschöner) gemacht.

    Für häufig verwendete Tools würde ich ja eh die Lösung mit einem zusätzlichen Flashchip (2 oder 4 MB serielles Flash) favorisieren, der als weitere Partition angesprochen wird und unabhängig von der Karte immer da ist, aber da ich wohl der einzige Nutzer davon war und es mir bei den a2iec-Änderungen ein wenig im Weg war ist das wieder rausgeflogen.

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • klingt gut, aber wie wäre es denn, dafür das EEPROM zu nutzen? Da liegt doch im Moment kaum was drin, und der FB würde da doch reinpassen, zumindest im 1284P.