Post by James Davis Post by Bobbi
Is there any hard drive support for Apple II softcard CP/M or UCSD Pascal?
I guess DOS 3.3 support is addressed by means of DOS.MASTER. Is there a
similar hack for CP/M and/or Pascal I wonder?
Don't know about CP/M, but Pascal should work right out of the box, just
like ProDOS does, on a hard disk drive.
Out of the box, earlier versions of Apple II Pascal could only boot from
5.25" drive. Later versions (1.2, 1.3) added support for 3.5" drives and
in principle can boot from a SmartPort hard drive.
The big catch: Apple II Pascal does not support the concept of
directories. Everything is at the root level of the volume, with a
limited number of entries in the directory (77 comes to mind). In
addition, Apple II Pascal requires files to be stored contiguously, with
a manual compacting mechanism to defragment free space between files.
This makes a hard drive unwieldy.
The solution Apple came up with for the ProFILE was software called
Pascal ProFile Manager. When used on an Apple II, the ProFILE could be
divided into two areas: a ProDOS area (at the start of the drive) and a
Pascal area (at the end of the drive). The Pascal area was identified in
the ProDOS directory using a special storage type that ProDOS knew not
Within the Pascal area there could be multiple Pascal volumes, which
needed to be sized similarly to floppy disks (due to the limited number
of directory entries) unless you had a small number of big files on a
volume. Pascal ProFILE Manager ran in Apple II Pascal and managed the
Pascal area on a ProFILE, allowing you to create/delete and
mount/unmount volumes as required. If volumes were deleted it was
necessary to compact the Pascal area to combine free space (i.e. remove
external fragmentation between volumes).
You still booted Pascal from a floppy, which had PPM installed to allow
access to the ProFILE.
Apple never updated PPM to work on other hard drives - it looked
specifically for a ProFILE.
The other use of a hard drive I encountered for Pascal was the Nestar
networking system, which my school used from about 1983 (we got it
second hand so it would have been a few years old by then) until the
school decommissioned it some time after I left at the end of 1985.
Nestar involved a dedicated Apple II running the file server, which
could use (in configurations I encountered) a dual 8-inch floppy drive,
a 20 MB hard drive or a 40 MB hard drive. These hard drives were
physically huge: about a foot high, two feet wide and four feet deep.
The floppy drive was about a foot high, two feet wide and two feet deep.
The network used a parallel bus, with a card in each client Apple II.
The server was running a seriously hacked version of Apple II Pascal
which was able to boot from the Netstar floppy or hard drive. The
server's drive had a set of mountable volumes, somewhat like PPM,
managed through software running on the server (and/or a client-based
server manager - I forget the exact details). The volumes were tagged
with the type of file system they contained: DOS 3.3, Pascal, CP/M or
SOS (for the Apple ///) and there was a permission scheme to determine
which users had read-only, read/write or no access to each volume. As
with PPM, volumes could be created/deleted, mounted/unmounted and there
was a compaction mechanism to deal with external fragmentation.
The system was too old to support ProDOS, but I reverse engineered the
network interface card firmware and was able to modify it to add a
ProDOS driver (borrowing some code from the Pascal driver), which used
the SOS volume type for ProDOS.
Apple II client machines were able to operate without a floppy drive.
They booted over the network from the server, loading a startup screen
which prompted for the user login details. The user account selected a
suitable volume, and it was possible to boot DOS 3.3 or Pascal (and
ProDOS with my modified firmware) over the network. We never used CP/M
so I don't know exactly how that worked. We also didn't have any Apple
/// machines but I expect they needed to boot from floppy which loaded a
network driver, after which they could access server volumes.
For Apple II Pascal, the client booted into a modified Pascal kernel
loaded from the server, which could deal with accessing the volume from
the server and mounting/unmounting other volumes. There were also tools
that ran in DOS 3.3 (and I think I did one for ProDOS) to manually mount
and unmount additional volumes from the server.