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

Re: Virtual serial drive



On Thursday, September 20, 2012 8:08:37 AM UTC-5, schmidtd wrote:
> On 9/20/2012 12:18 AM, Hugh Hood wrote:
> 
> > David:
> 
> >
> 
> > If you're still fishing for feature additions, how 'bout:
> 
> >
> 
> > (i) Allowing the ADT Pro Server side to serve an entire folder/directory on
> 
> > the host, in addition to its present capability of serving ProDOS disk
> 
> > images.
> 
> >
> 
> > This would resemble Mark Munz's DejaIIx capability, in that it can take a
> 
> > folder full of files and 'emulate' a ProDOS volume with it. Obviously, the
> 
> > file names would have to be valid ProDOS file names in order for the Apple
> 
> > II end to work with them, and the 32 Meg volume size limitation would need
> 
> > to be ignored, and 'formatting' could not be allowed, etc ...;
> 
> >
> 
> > (ii) Allowing the virtual drive 'install' software to overwrite the Disk II
> 
> > driver so that you wouldn't have to install the driver in its present
> 
> > location. This would permit operation with more programs (at the cost of
> 
> > Disk II capability, of course);
> 
> >
> 
> > (iii) Provided (ii) were available, what about making the driver a SYSTEM
> 
> > file that could autorun right after ProDOS upon boot?; and,
> 
> >
> 
> > (iv) Having a CDA (on the IIGS) that could 'signal' the Server side to
> 
> > switch to another disk image?
> 
> >
> 
> >
> 
> > Remember, you asked for 'suggestions'. The second request (ii) above is
> 
> > probably the most desired, BTW.
> 
> 
> 
> I'd really like to do (ii) - does anyone know a recipe for replacing the 
> 
> Disk II code with your own?  I think I know where the code lives (and I 
> 
> think it's on the Language card), but I don't have any idea about all 
> 
> the vectors I'd need to change to completely replace it.  Is it as 
> 
> simple as manipulating the device table and count as I already do for s2d1?

I believe it is the device table pointer that you speak of.  Also, please do not feel you have to reinvent the wheel for the prodos volume -- Jace already has the code to create a prodos filesystem from a physical directory.  It's not perfect, but I have used it to load 17-block size HGR pictures with no issue so I think it should be a great starting point.  The filesystem object is already designed to let you retrieve blocks, and it builds out directory nodes and such on the fly.

The only part that is not solved by my code is how to handle writes.  Because of how prodos updates files (and also because a file might grow larger and then change from a leaf to a sapling or to a big tree later on) I didn't want to have to deal with it.  If you're okay with the read-only affair (or if you want to fix the code to support writes) then it's yours for the borrowing. :-)

Also, if you see any way to improve on it, I'm very happy to add you to the Jace project to commit code as you see fit.

-B