Hello, Guest the thread was called720 times and contains 5 replays

last post from Unseen at the

sd2iec Basic-Programm zur Änderung der Laufwerks-ID

  • Huhu,


    Wie würde ein BASIC-Listing aussehen für ein Programm, welches die Änderung der Laufwerksnummer
    vom sd2iec durch Abfrage erlaubt, sprich, man startet es Programm und es kommt
    1. eine Info über die derzeitige Drive ID, z.B. "Derzeitige ID des sd2iec: 8"
    2. ne Abfrage a la "Neue ID des sd2iec:", wo man dann im gültigen Wertebereich (was ist das, 8-11?) eine Eingabe machen
    kann
    Geht sowas?


    Gruss
    plx

  • 1. eine Info über die derzeitige Drive ID, z.B. "Derzeitige ID des sd2iec: 8"


    Und wenn gerade mehr als eines angeschlossen ist?


    Quote

    wo man dann im gültigen Wertebereich (was ist das, 8-11?) eine Eingabe machen


    4-30

  • Wie willst Du das Basic-Programm denn laden lassen? Wenn Du es vom SD2IEC lädst, dann weist Du ja schon die Geräteadresse! Ansonsten ist das Auslesen der Device-Number der schwierigste Part, ich hatte das gerade mal probiert, aber das SD2IEC gibt seinen "Namen" nur direkt nach dem Einschalten über der Fehlerkanal aus. Ich wollte das so machen, das der C64 nach und nach die Fehlerkanäle der einzelnen ID ausliest und wenn "SD2IEC" zurück gekommen wär, hätte man gewusst, bei welcher ID das passiert wär. Da aber nach dem ersten Zugriff nur noch ein "OK" im Fehlerkanal zurück kommt, konnte ich das so nicht machen.


    Was am einfachsten wäre, wenn Du ein LCD an deinem SD2IEC hättest, das zeigt die Aktuelle ID immer an!


    Das Ändern der ID in Basic ist übrigens überhaupt kein Problem, dazu einfach mal die README (ist bei den Binaries dabei) lesen.


    PS:

    Code
    1. z.B. als Einzeiler:
    2. OPEN1,current address,15,"U0>"+CHR$(new address):CLOSE1 - change sd2iec device number to new address
    3. OPEN1,device address,15,"XW":close1 - this will save settings to eeprom (required if you want to set new device address as default)
  • Ja, ich weiss, habe die Eingabe zum Ändern schonmal gelesen, und dann dachte ich mir,
    es wäre doch schön praktisch, n BASIC-Programm zu haben, welches im Root der SD liegt,
    zum ändern. Ich habe leider keine ausreichenden BASIC-Kenntnisse, aber ich dachte, dass es
    möglich sei, dass das BASIC-Programm dann nach Eingabe der Adresse den von Dir gerade
    zitierten Befehl erstellt, also quasi in der Reihenfolge:
    - Frage (das) (sd2)IEC-Gerät(e) ab und zeige an, welche Adresse sie haben (welche Adresse es hat)
    - Lass den user das sd2iec auswählen, wessen Adresse geändert werden soll
    - Lass den user die ID eingeben
    - Generiere aufgrund der Auswahl des users den entsprechenden Befehl und führe ihn aus
    ...


    Ggf. macht es wirklich nur Sinn, wenn man EIN sd2iec angeschlossen hat, dann also ohne Geräte-Auswahl.
    Dann erübrigt sich natürlich auch die ID-Abfrage....


    Gruss
    plx

  • ich hatte das gerade mal probiert, aber das SD2IEC gibt seinen "Namen" nur direkt nach dem Einschalten über der Fehlerkanal aus


    Das machen andere Laufwerke wie z.B. die 1541 auch nicht anders. Aber du kannst ja mal das Kommando UI (I, nicht eins) senden.


    Quote

    OPEN1,current address,15,"U0>"+CHR$(new address):CLOSE1 - change sd2iec device number to new address


    Klappt übrigens auch bei der 1571 und 1581, für die 1541 muss man mit M-W direkt im Speicher die Adresse umstellen - was sd2iec auch erkennt und mindestens auf der 1571 mit der gleichen Adresse ebenfalls funktioniert.