[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Question on ProDOS SmartPort drive remapping



David Wilson <mcs6502@gmail.com> wrote:

> On Dec 18, 2:33 am, mdj <mdj....@gmail.com> wrote:
> > I'd aim for 6502 64k machines with lowercase support, and try to be
> > compatible with ProDOS v1.9 as well.
> 
> Support for Smartport devices with more than 2 drives (4 in slot 5)
> was only added with P8 2.0.x so my program will not be able to do
> anything on 1.9.
> 
> I would refer you to ProDOS Technical Note #23 but I cannot find one
> that is new enough to include the v2.0.x versions of ProDOS.

I have a copy dated May 1992 which covers 2.0.1, but nothing later.

I don't recall where I got it - I except it was the last update from
APDA or on Apple's FTP server, or maybe Resource Central.

I seem to remember there was a "partial" update of some of the technical
notes rather than a complete replacement of the master set, and I might
have stumbled upon it by accident rather than receiving official notice.

I'll have a hunt around my IIgs to see if I can find the original files
in my download archives. I'm working from a complete set of technotes I
copied to my Mac about ten years ago.

Here is the portion describing 2.0.1 (reformatted slightly):

PRODOS 8 V2.0.1

   o   ProDOS 8 now supports more than two SmartPort devices per slot by
       remapping the third device and beyond to different slots.
       There's still a limit of 14 devices altogether, though.
   o   ProDOS 8 version 2.0.1 and later require a 65C02 microprocessor
       or equivalent; you get RELOCATION/CONFIGURATION ERROR if you
       don't have one.  ProDOS 8 tests for a 65C02 by setting
       binary-coded decimal (BCD) mode and adding $01 to $99, which is
       the largest negative BCD value representable in an 8-bit
       register.  65C02 microprocessors correctly clear the N flag when
       the addition wraps to zero; 6502 microprocessors do not.

       Since all of Apple's 65C02 or greater computers also have
       lower-case capability, the ProDOS 8 splash screen now uses
       lower-case letters.  After only nine years, too.

   o   The file's been rearranged again, so if you have a program that
       patches the P8 file, it probably breaks now.  Please learn your
       lesson and write a .SYSTEM program that patches ProDOS 8 in
       memory and not on disk.
   o   The prefix is now set correctly when launching Applesoft
       programs.
   o   Old never-used code to handle call $42 is now gone.
   o   Removed some RAM-disk code that was not used.
   o   ProDOS 8 now sets the prefix to empty when you try to set the
       prefix to "/".
   o   The Apple IIgs clock driver inside ProDOS 8 now limits the year
       to the range 00 through 99.
   o   Sparse seedling files are now truncated properly.
   o   When filling up a volume with a WRITE call, ProDOS 8 used to
       return the disk full error but leave the file's mark set past the
       file's EOF.  This is now fixed.
   o   If you try to mount a new volume but all eight VCB slots are
       filled, ProDOS 8 now tries to kick out the first volume in the
       table with no open files.  If all volumes have open files, you'll
       still get error $55.
   o   The new quit code (introduced with 1.9) now beeps and lets the
       user try another subdirectory if the one they chose can't be
       opened.  Previously it went forward to the next volume.
   o   The new quit code also now closes a directory if it gets a ProDOS
       error in the directory read loop.
   o   When synthesizing a directory entry for a volume, ProDOS 8 always
       used to assume the directory was four blocks long (for 51 files).
       The /RAM disk's directory is shorter than this (one block), and
       ProDOS 8 no longer returns funky errors when trying to read past
       the end of this shortened directory.  The EOF and blocks used are
       now returned as $200 and 1, respectively.
   o   The system death messages are now displayed in the center of the
       40-column screen, bordered by inverse spaces.  This is an
       improvement over the line of garbage showing at the bottom of the
       screen since approximately version 1.5.
   o   The new quit code was rearranged to clear the screen prior to
       loading the selected application.  This insures that MSLOT
       ($07F8) points to the "boot" slot prior to starting the
       application.  In this way, you can launch the ProDOS file from
       GS/OS to start up GS/OS.  (Note that MSLOT must be set properly
       for this to work.)
   o   If the device search code at start time finds a SCSI SmartPort, a
       SmartPort status call is issued to device #2.  This lets the
       Apple II High-Speed SCSI card build its device tables and return
       the true number of devices connected.  Without this, it always
       returns "4" for slot 5 or "2" for any other slot.
   o   KVERSION is now $21.


KNOWN PRODOS 8 V2.0.1 BUGS

   o   ProDOS 8 still doesn't behave perfectly when 14 or more devices
       are present.  Specifically, the /RAM driver tends to install
       itself without checking to see whether or not there's room in the
       device table.

CAUTION : ProDOS 8's remapping of SmartPort devices may interfere with
          intelligent SmartPort peripherals that were already doing
          their own remapping.  ProDOS 8 remaps additional SmartPort
          devices, even if the SmartPort firmware already did this on
          its own, and this can cause problems.  We never said this
          would work, but we never said it wouldn't--ProDOS 8 has no way
          to determine what remapping has already been done.  If you
          make such a card and your customers have problems, tell them
          to disable your SmartPort remapping and let ProDOS 8 do it
          all.

-- 
David Empson
dempson@actrix.gen.nz