Ich möchte von BASIC aus den Laufwerkstyp erkennen, um in einem kleinen Loader auszuwählen, ob ein Schnelllader (Transwarp in dem Fall) zum weiteren Laden benutzt werden soll.
Transwarp soll/kann nur bei einer echten 1541/1570/1571 benutzt werden.
Im Groben gibt es wohl drei Fälle:
1. An IEC hängt gar nichts; der Loader wurde z.B. von irgendeinem Modul direkt in den Speicher gekippt. Dann ist PEEK(186)=0 bzw. der Code hier tut: OPEN1,PEEK(186),1:CLOSE1:IFSTTHENPRINT"NIX AN IEC". Dann wäre wohl eine entsprechende Meldung und ein Versuch mit KERNAL-LOAD fällig.
2. An IEC hängt was, aber kein kompatibles Diskettenlaufwerk (sondern was sd2iec-basiertes oder ähnliches).
3. An IEC hängt eine kompatible Floppy (mit Original-ROM oder wahrschenlich kompatiblem ROM wie z.B. DolphinDOS).
Preisfrage, wie unterscheidet man 2 und 3? Fehlerkanal zum Auslesen der ROM-Version scheint nur direkt nach Reset des Laufwerks sicher zu gehen? Nach OPEN1,8,15,"I" bringt mir hier der Fehlerkanal (bei eingelegter Diskette) nur 00,OK,00,00. Bei OPEN1,8,15,"UJ" hängt sich der C64 hier im VICE auf. Seltsam. Muss man da direkt in das kalte "M-R"-Wasser springen oder gibt's einen anderen Trick?