Hi There,
That thread reminds me of a (very) old wish of Olivier Zardini to have
a program to launch "DOS 3.3" disk images. He asked me to write that
piece of code around 1993 but I saw no interest in it at that time.
The principle was simple:
- launch a ProDOS SYS file
- display a menu of all the images contained in a IMAGES directory
(just to bypass the 51 files limit of the root folder)
- select an image
- load it into the IIgs memory (safely with the Memory Manager :-)
- start the program in $B700
The requirements
- rewrite of the $BD00..$BFxx (xx is important) area. $B800..$BCC
would be of no use
- patch the RESET vector each time the RWTS is called and let it point
to a ProDOS QUIT MLI code
- save zero page variables used by ProDOS
- pay attention to the DOS 3.3 patches (if DOS 3.3 is used) in the
$BFxx..$BFFF area. See now why the xx was important? It is used by
ProDOS
- handle the READ/WRITE/FORMAT RWTS calls
- do the magic, keeping into mind the different interleaving (if
useful) between ProDOS and DOS 3.3, as well as the length of a sector
vs the length of a block
From what I understand from Oliver's recent proposal and the use of
AUX RAM is that DHGR games would not be supported unless the cache is
above $6000.
Furthermore, there are disk images that use the AUX RAM to save data
(e.g. sprites or code) - I know such a program would not allow all of
the disk images to be played but as we have no memory protection
scheme, I believe we can't assume having a reliable cache in AUX RAM
and therefore it should not be used. I also know that a IIgs version
would restrict its use to IIgs owners :-)
As the access is performed through a file image then ProDOS requires a
buffer area of $400 bytes, memory usage would be tight in the RWTS
area $B700..$BFFF therefore the RWTS code would need to be really
optimized.
I am adding a IIgs version to my to-do list, target date is "when
ever" :-)