Re: [cc65] Need to pass drive number in addition to device number to cbm_opendir

From: Spiro Trikaliotis <ml-cc651trikaliotis.net>
Date: 2012-05-27 13:58:27
Hello,

* On Sun, May 27, 2012 at 01:26:36PM +0200 Oliver Schmidt wrote:
>    Hi Uz,
> 
>      What is wrong with assigning to _curunit?
> 
>    I was about to answer the same when I noticed that the 'subject' made a
>    distinction between "device" and "drive". So I thought he's asking for
>    something special beyond my C64 skills...

If I do not understand _curunit wrong, then he is asking something
different.

_curunit is the device number, i.e., 8, 9, 10 or 11 (if not having some
special device).

For opening a directory, you use (BASIC 2.0):

   OPEN 1,8,0,"$"

However, some devices (like 8050, 8250, and other double floppy drives)
can also have more than one drive (No. 0 and no. 1). In this case, you
open the directory (for device #8) with

  OPEN 1,8,0,"$0"  <- drive 0

  or

  OPEN 1,8,0,"$1"  <- drive 1


Note that single-drive devices also accept an opening for drive 0, as
this is the only one available.

Opening a file on some other devices is easier, as it is part of the
file name specification:

  OPEN 1,8,0,"SOMEFILE"

opens "SOMEFILE" on the last accessed drive

  OPEN 1,8,0,"0:SOMEFILE"

opens "SOMEFILE" on drive 0, and

  OPEN 1,8,0,"1:SOMEFILE"

opens "SOMEFILE" on drive 1.


So, payton is right: There is no way in cbm_opendir() to open a
directory on a specific drive for a device.

Regards,
Spiro.

-- 
Spiro R. Trikaliotis
http://www.trikaliotis.net/
----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo@musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.
Received on Sun May 27 14:31:55 2012

This archive was generated by hypermail 2.1.8 : 2012-05-27 14:31:59 CEST