Hallo Besucher, der Thread wurde 8,9k mal aufgerufen und enthält 22 Antworten

letzter Beitrag von Freddy am

BASIC 4.5 for C64 mode

  • Anyway, there are some 'errors'

    "CATALOG FROM DISK IN DRIVE :8" sould be 0 instead of DRIVE: 8 OR it should display like this: "CATALOG FROM DISK IN Drive: 0 UNIT: 8"

    In C64 mode a LOAD"$",8 shows the directory of the "build in" disc. So I think that 8 is the correct drive number? :gruebel

    In -> Singledrive Units, ommitting the Drive parameter always uses DRIVE 0: and never refers to DRIVE 1: (which ist second DRIVE in DualDrive Units).


    Siehe WIKI ->https://de.wikipedia.org/wiki/CBM-Diskettenlaufwerke

    "

    Commodore-8-Bit-Diskettenlaufwerkseinheiten („Units“) waren deshalb eigenständige Computer mit einem oder zwei vom eigentlichen Computer unabhängigen Prozessoren. Eine Unit verfügte über ein oder zwei Laufwerke („Drives“)."



    Add: I can also imagine that on the C65 they use DRIVE:0 for the internal Drive and use DRIVE :1 for the additional Drive in the mini-DIN externaldrive connector (mostly not fitted). Because reading 'preliminary manual' they clearly state that the external drive is handled by the internal FDC circuitery..

    Don't confuse with the IEC, because that one is for older drives (1541,71,81) and for CBM-printers.

  • You need to check the carry bit before checking A: if the routine returns with C set, there was an error. Only in this case must A be checked for the actual error number.

    Yes, you're right. :thumbup: After last sourcecode mofication the missing check of bcc was lost, sorry.

    This is the correct code (snippet):

  • I did some more reading in the preliminary manual about the FDC (CSG4171-F011).

    It is designed with extra register to acces external drives.

    Technicaly F011 can control 8 (eight!) Drives.

    Code
    1. Data from the control register is sent to both the local drive
    2. (DR0) and all of the serially connected expansion drives (DR1-DR7).


    Code
    1. DS2-DS0 these three bits select a drive (drive 0 thru drive 7). When
    2. DS0-DS2 are low and the LOCAL input is true (low) the DR0
    3. output will go true (low).

    See also:

    So they tell us that the DOS (software) is not adapted to support more than 1 external drive.

    I tink it's due because they did not upgraded the DOS to accept DRIVE >1 for the UNITS.


    Not sure, but I guess that C65 always use UNIT #8 for internal F011 controler and thus external drive would be UNIT #8 DRIVE 1.

    Also I guess that it would be problematic to attach a 'normal (old)' UNIT (1541/71/81) with UNIT # <9