[comp.sys.apple2] ProDOS Question

sb@pro-generic.cts.com (Stephen Brown) (06/06/90)

I have a couple questions about ProDOS. I have been reading my trusty Beneath
Apple ProDOS, and have become confused.
 
When it talks about the ONLINE (return names of one or all online volumes) MLI
call, it says that it will return the name of 1 volume if a specific unit
number is specified, in which case a 16 byte buffer is needed. It then goes 
on to say that if a zero (non specific) unit number is used, all volumes' names
will be provided, and a 256 byte buffer will will be needed. But I thought only
14 volumes were supported, which requires 14*16=224 bytes! I checked the
reference card, and indeed, in the system global page, there are 16 places in
the device driver address table, but two (for slot 0) are reserved. 
Why is a 256 byte buffer needed?
 
Also, in the discussion about the OPEN (open a file) MLI call, it says "more
than one OPEN may be issued to the same file is the file's access is WRITE
disabled (read only file)".  Why would you possibly OPEN the same file more
than once?

Thanks!
Dazed & Confused. Stephen Brown (Willowdale, Ontario, CANADA)

UUCP: crash!pro-generic!sb
ARPA: crash!pro-generic!sb@nosc.mil
INET: sb@pro-generic.cts.com

david@cs.uow.edu.au (David E A Wilson) (06/08/90)

sb@pro-generic.cts.com (Stephen Brown) writes:
>14 volumes were supported, which requires 14*16=224 bytes! I checked the
>reference card, and indeed, in the system global page, there are 16 places in
>the device driver address table, but two (for slot 0) are reserved. 

Slot 0, Drive 2 can be used if you patch in a pointer to an appropriate driver
and add it to the active device list. In my ProDOS 1.0 technical documentation
it has /RAM using S0,D2 rather than the current S3,D2.
Slot 0 Drive 1 cannot be used because of the special usage of volume number = 0.

David Wilson

dlyons@Apple.COM (David A. Lyons) (06/27/90)

In article <507.infoapple.net@pro-generic> sb@pro-generic.cts.com (Stephen Brown) writes:
>I have a couple questions about ProDOS. I have been reading my trusty Beneath
>Apple ProDOS, and have become confused.
> 
>When it talks about the ONLINE (return names of one or all online volumes) MLI
>call, it says that it will return the name of 1 volume if a specific unit
>number is specified, in which case a 16 byte buffer is needed. It then goes 
>on to say that if a zero (non specific) unit number is used, all volumes' names
>will be provided, and a 256 byte buffer will will be needed. But I thought only
>14 volumes were supported, which requires 14*16=224 bytes! I checked the
>reference card, and indeed, in the system global page, there are 16 places in
>the device driver address table, but two (for slot 0) are reserved. 
>Why is a 256 byte buffer needed?

You're right--only 256-32 bytes generally get filled with useful information.
Consider the extra space "room for expansion"--maybe ProDOS 8 will return
something useful to you there someday (as someone already pointed out, you
can manage 15 devices if you cheat a little and use slot 0 drive 2...and if
the system has a device that doesn't allow any block-level access, like a
network server, I don't see why it couldn't use slot 0 drive 1, giving you
a total of 16 devices).

Another possible answer (multiple choice, take your pick :-) : You need
256 bytes because that's how much ProDOS 8 pre-fills with zeroes before
it starts filling your buffer with interesting stuff.
-- 
David A. Lyons, Apple Computer, Inc.      |   DAL Systems
Apple II Developer Technical Support      |   P.O. Box 875
America Online: Dave Lyons                |   Cupertino, CA 95015-0875
GEnie: D.LYONS2 or DAVE.LYONS         CompuServe: 72177,3233
Internet/BITNET:  dlyons@apple.com    UUCP:  ...!ames!apple!dlyons
   
My opinions are my own, not Apple's.

dlyons@Apple.COM (David A. Lyons) (06/27/90)

In article <15095@reed.UUCP> reeder@reed.UUCP (Doug Reeder) writes:
>[...]  Does anyone know what happens
>if you open a write-enabled file, use SET_FILE_INFO to disable-writes, and
>open it again for read-only?

This is probably a non-issue, because I think it's documented somewhere
that the new attributes set with SET_FILE_INFO on an open file don't
necessarily go into effect until the file is closed.  (So, in this case,
you get to keep writing to the file if it was write-enabled when you
opened it.)
-- 
David A. Lyons, Apple Computer, Inc.      |   DAL Systems
Apple II Developer Technical Support      |   P.O. Box 875
America Online: Dave Lyons                |   Cupertino, CA 95015-0875
GEnie: D.LYONS2 or DAVE.LYONS         CompuServe: 72177,3233
Internet/BITNET:  dlyons@apple.com    UUCP:  ...!ames!apple!dlyons
   
My opinions are my own, not Apple's.

bgrave@ub.d.umn.edu (Brian Grave) (01/11/91)

Anyone out there have a relatively easy to read manual about ProDOS?
I've got an apple//c and I've been using DOS 3.30 for years now.
Recently I got a new disk with ProDOS and a Basic system on it and I
have no idea how to use it...

--
Brian Grave					bgrave@ub.d.umn.edu

"Bill my friend..."
	"Yes Ted my friend?"
"This has been a most excellent adventure."

djpadz@bonnie.ics.uci.edu (David Jay Padzensky) (01/11/91)

In <657@ub.d.umn.edu> bgrave@ub.d.umn.edu (Brian Grave) writes:

>Anyone out there have a relatively easy to read manual about ProDOS?
>I've got an apple//c and I've been using DOS 3.30 for years now.
>Recently I got a new disk with ProDOS and a Basic system on it and I
>have no idea how to use it...

Well, depending on what you're looking for, I'd recommend one of two
books:.  For simple-type stuff, I'd say Basic Programming in ProDOS is
a very good book.  If you're looking for something more technically
oriented, then I'd suggest Beneath Apple ProDOS.  Though it's written
with ProDOS 1.1.1 in mind, it's still an invaluable resource.

--
Dj Padzensky

_______________________________________________________________________________
Internet: djpadz@bonnie.ics.uci.edu | Neurotics build castles in the sky.