uno2iec nachgebaut, wer kann helfen?

Es gibt 29 Antworten in diesem Thema, welches 9.800 mal aufgerufen wurde. Der letzte Beitrag (6. Januar 2017 um 16:30) ist von mc71.

  • Ich habe mir nach der Anleitung im Lemon64 Forum das uno2iec nachgebaut mit einem Arduino Nano.
    Bitte melde dich an, um diesen Link zu sehen.


    Sketch upload funktioniert. Von den Arduino Pins bis zum Test 64 habe ich auch alles durchgepiept.
    Leider blinkt der Arduino nur rum. Das soll aber aufhören sobald er sich mit dem Programm verbindet auf dem Rechner.
    Passiert leider nicht. Treibermäßig ist alles in Ordnung, da der Sketchuplad funktioniert. Im Programm selber ist auch die richtige serielle Schnittstelle ausgewählt.
    Am C64 kriege ich nur ein Device not present.

    Der Reset des Arduinos über die Software wird ausgeführt.

  • Alle Pins richtig verbunden?
    Das war damals mein Problem, als ich das mal zusammengebaut habe.

    Wem ein leeres EPROM fehlt, braucht ein EPROM-Lösch-Gerät

    Mein GitHub: Bitte melde dich an, um diesen Link zu sehen.
    EasyFlash3 DIY: Bitte melde dich an, um diesen Link zu sehen.

    Mein Discogs: Bitte melde dich an, um diesen Link zu sehen.

  • Ich habe dies mal auskommentiert. Jetzt kriege ich beim kompilieren einen Fehler.


    iec_driver.cpp: In member function 'void IEC::testINPUTS()':
    iec_driver.cpp:472: error: 'Information' was not declared in this scope
    iec_driver.cpp:472: error: 'FAC_IEC' was not declared in this scope
    iec_driver.cpp:472: error: 'Log' was not declared in this scope
    iec_driver.cpp: In member function 'void IEC::testOUTPUTS()':
    iec_driver.cpp:486: error: 'Information' was not declared in this scope
    iec_driver.cpp:486: error: 'FAC_IEC' was not declared in this scope
    iec_driver.cpp:486: error: 'Log' was not declared in this scope
    uno2iec.cpp.o: In function `__static_initialization_and_destruction_0':
    C:\Users\Cihan\Desktop\arduino-1.0.6/uno2iec.ino:29: undefined reference to `IEC::IEC(unsigned char)'
    uno2iec.cpp.o: In function `loop':
    C:\Users\Cihan\Desktop\arduino-1.0.6/uno2iec.ino:89: undefined reference to `IEC::testOUTPUTS()'
    uno2iec.cpp.o: In function `waitForPeer':
    C:\Users\Cihan\Desktop\arduino-1.0.6/uno2iec.ino:152: undefined reference to `IEC::setDeviceNumber(unsigned char)'
    C:\Users\Cihan\Desktop\arduino-1.0.6/uno2iec.ino:153: undefined reference to `IEC::setPins(unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)'
    uno2iec.cpp.o: In function `setup':
    C:\Users\Cihan\Desktop\arduino-1.0.6/uno2iec.ino:73: undefined reference to `IEC::init()'

  • Was genau hast Du denn auskommentiert und warum?

    Yes, I'm the guy responsible for the Bitte melde dich an, um diesen Link zu sehen. cross assembler. And some Bitte melde dich an, um diesen Link zu sehen..

  • So sieht es standardmäßig aus.

    // Define this if you want no logging to host enabled at all. Saves valuable space in flash.
    //Bitte melde dich an, um diesen Link zu sehen. NO_LOGGING
    // Enable this for verbose logging of IEC and CBM interfaces.
    //Bitte melde dich an, um diesen Link zu sehen. CONSOLE_DEBUG// Enable this to debug the IEC lines (checking soldering and physical connections). See project README.TXT
    //Bitte melde dich an, um diesen Link zu sehen. DEBUGLINES
    // This should be defined if the RESET line is soldered in the IEC DIN connector. When defined it will give the
    // arduino to go into a reset state and wait for the CBM to become ready for communiction.
    Bitte melde dich an, um diesen Link zu sehen. HAS_RESET_LINE
    // Define this if you want to include the support for the MAX7219 display library in this project.
    // What it does is showing loading progress on the display and some nice scrolling of the filename and other
    // stuff on the display. The display hardware can be bought cheap here at dx.com:
    // Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen. USE_LED_DISPLAY


    so momentan


    // Define this if you want no logging to host enabled at all. Saves valuable space in flash.
    //Bitte melde dich an, um diesen Link zu sehen. NO_LOGGING
    // Enable this for verbose logging of IEC and CBM interfaces.
    //Bitte melde dich an, um diesen Link zu sehen. CONSOLE_DEBUG// Enable this to debug the IEC lines (checking soldering and physical connections). See project README.TXT
    Bitte melde dich an, um diesen Link zu sehen. DEBUGLINES
    // This should be defined if the RESET line is soldered in the IEC DIN connector. When defined it will give the
    // arduino to go into a reset state and wait for the CBM to become ready for communiction.
    Bitte melde dich an, um diesen Link zu sehen. HAS_RESET_LINE
    // Define this if you want to include the support for the MAX7219 display library in this project.
    // What it does is showing loading progress on the display and some nice scrolling of the filename and other
    // stuff on the display. The display hardware can be bought cheap here at dx.com:
    // Bitte melde dich an, um diesen Link zu sehen.
    //Bitte melde dich an, um diesen Link zu sehen. USE_LED_DISPLAY


    Mit der in der Readme angegeben Library zum Max7219 gibt es auch einen Fehler beim kompilieren.

    uno2iec.ino: In function 'void setup()':uno2iec:72: error: 'class Max7219' has no member named 'resetScrollText_p'
    uno2iec.ino: In function 'void loop()':
    uno2iec:91: error: 'class Max7219' has no member named 'resetScrollText_p'
    'class Max7219' has no member named 'resetScrollText_p'


    Wenn ich das dann auskommentiere habe ich erstmal ruhe damit.
    Aber durch das aktivieren der Debuglines kann ich nicht mehr kompilieren.
    Bitte melde dich an, um diesen Link zu sehen.

  • Sieht tatsächlich nach einem Bug aus. Der Autor hat DEBUGLINES wohl schon lange nicht mehr benutzt: Ist es definiert, wird das Symbol "Information" angesprochen, und das ist tatsächlich nicht deklariert. Die obigen Fehler sind also völlig korrekt.
    Ergo: Auf DEBUGLINES verzichten, oder dem Autor mitteilen, oder selber fixen.

    Yes, I'm the guy responsible for the Bitte melde dich an, um diesen Link zu sehen. cross assembler. And some Bitte melde dich an, um diesen Link zu sehen..

  • Ich hab damals auch nur das Bitte melde dich an, um diesen Link zu sehen. USE_LED_DISPLAY weggemacht. Dann lief es beim 2. Anlauf.
    Hatte wie gesagt einen Fehler bei den IOs gemacht.
    Wenn der Rest (Host Programm) bereits mit dem Arduino sprechen kann (via USB) dann hat wohl nur der IEC Bus ein Problem.
    Hab damals auch einen Arduino Nano verwendet. 3 Widerstände hat man benötigt, soviel ich weiß?

    Edit: das war damals mein Post, auf dem Foto kann man leider die Widerstände nicht gut erkennen:
    Bitte melde dich an, um diesen Link zu sehen.

    Wem ein leeres EPROM fehlt, braucht ein EPROM-Lösch-Gerät

    Mein GitHub: Bitte melde dich an, um diesen Link zu sehen.
    EasyFlash3 DIY: Bitte melde dich an, um diesen Link zu sehen.

    Mein Discogs: Bitte melde dich an, um diesen Link zu sehen.

  • Schaltplan:

    Bilder

    Wem ein leeres EPROM fehlt, braucht ein EPROM-Lösch-Gerät

    Mein GitHub: Bitte melde dich an, um diesen Link zu sehen.
    EasyFlash3 DIY: Bitte melde dich an, um diesen Link zu sehen.

    Mein Discogs: Bitte melde dich an, um diesen Link zu sehen.

  • tulan hast du das noch am laufen? Oder anders gefragt, das Gebilde besteht aus 2 Einheiten.
    Sofware, was kompiliert werden muss mit QT und die Hardware als Arduino. Wenn der Sketch korrekt übertragen wurde ist der Hardwarteil erledigt.
    Von etwaigen Anschlüssen mal abgesehen. Die Verbindung zum Rechner besteht aus USB. Diese Verbindung besteht ja.

    In der Software kann ich nur den COM Port auswählen und die Baudrate. So wie ich es im englischen Teil rausgelesen habe, muss die Blinkerei am Arduino aufhören,
    sobald dieser sich mit der Software verbindet.

    Mein Ansatz ist bis jetzt, das die Software falsch kompiliert wurde. Deswegen jetzt die Frage, hat jemand eine funktionierende Software kompiliert und kann mir diese schicken?

    Die 3 Widerstände in Reihe wurden mit eingelötet.

  • Hast du das ganze unter Windows oder Linux am Laufen?
    Ich hab das alles unter Linux ausprobiert und des hat wunderbar geklappt.
    Unter Windows könnte ich mir höchstens noch ein Problem mit dem USB/Serial Port vorstellen.

    Wem ein leeres EPROM fehlt, braucht ein EPROM-Lösch-Gerät

    Mein GitHub: Bitte melde dich an, um diesen Link zu sehen.
    EasyFlash3 DIY: Bitte melde dich an, um diesen Link zu sehen.

    Mein Discogs: Bitte melde dich an, um diesen Link zu sehen.

  • Soviel ich noch in Erinnerung habe, kann man den Arduino mit der QT Software auch reseten.
    Wenn das funktioniert, dann kann man das auch an der LED erkennen (wegen Bootloader usw.)
    Außerdem sieht man in der QT Software ja sowieso Log Einträge, ob der Arduino mit dem QT Programm redet. (siehe Foto von meinem damaligen Post)

    Wem ein leeres EPROM fehlt, braucht ein EPROM-Lösch-Gerät

    Mein GitHub: Bitte melde dich an, um diesen Link zu sehen.
    EasyFlash3 DIY: Bitte melde dich an, um diesen Link zu sehen.

    Mein Discogs: Bitte melde dich an, um diesen Link zu sehen.

  • Hallo Tulan, der Reset mittels der Software klappt. Ich würde ja im Lemon64 Forum den Macher anschreiben, aber irgendwie kommt der Aktivierungslink nicht an.

    Edit: Es funktioniert. Ich musste die Baudrate auf 57600 stellen

  • Na oisdann!

    Wem ein leeres EPROM fehlt, braucht ein EPROM-Lösch-Gerät

    Mein GitHub: Bitte melde dich an, um diesen Link zu sehen.
    EasyFlash3 DIY: Bitte melde dich an, um diesen Link zu sehen.

    Mein Discogs: Bitte melde dich an, um diesen Link zu sehen.

  • tulan hast du es schonmal geschafft von d64 auf Diskette zu kopieren?
    Bei mir passiert einfach nichts beim kopieren. Reagiert einfach nicht.

    Habe dem uno2iec die Geräteadresse 8 und dem 1541-II 9 gegeben.
    Dracopy, fcopy und Speedcopy gehen leider nicht.

  • Ich bin mir nicht sicher ob man auf den simplen Bus 2 Geräte hängen kann. (Wegen der Widerstände beim Arduino)
    Es kann sein, dass der Bus dadurch mehr belastet ist, und dass es deswegen nicht geht.
    Hast du probiert, ob du das 1541-II auch normal ansprechen kannst?
    Das uno2iec kann außerdem keine Speedloader unterstützen, weil es keine echte Floppy nachbildet, sondern nur das Standard-Protokoll spricht, daher werden auch die Kopierprogramme nicht funktionieren.

    Wenn du einzelne PRGs kopieren möchtest, sollte das aber möglich sein, sofern der IEC Bus korrekt arbeitet.
    1.) LOAD "PROGRAMM",8
    2.) SAVE "PROGRAMM",9

    Wem ein leeres EPROM fehlt, braucht ein EPROM-Lösch-Gerät

    Mein GitHub: Bitte melde dich an, um diesen Link zu sehen.
    EasyFlash3 DIY: Bitte melde dich an, um diesen Link zu sehen.

    Mein Discogs: Bitte melde dich an, um diesen Link zu sehen.

  • Bitte melde dich an, um diesen Link zu sehen. UNICOPY? auf der 1541 Demo Disc

    Wem ein leeres EPROM fehlt, braucht ein EPROM-Lösch-Gerät

    Mein GitHub: Bitte melde dich an, um diesen Link zu sehen.
    EasyFlash3 DIY: Bitte melde dich an, um diesen Link zu sehen.

    Mein Discogs: Bitte melde dich an, um diesen Link zu sehen.