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

"ProDOS 3" - ideas



Thinking about whether ProDOS could be ported to the /// in such a way that ordinary software would run.

I believe it can, but it would require a major rewrite of ProDOS. Additionally, some other things would need to be considered, some of which affect my emulator.

1. Is there something I'm forgetting about the reset code? Has anyone gone through the firmware to see if there's anything that needs to be hit to unlock it, which I might neglect to do during a reset?

2. The code can't sit at the traditional D000-FFFF without removing the ROM.

3. It is possible to get RAM across the whole C000-CFFF area. (Only C600-C6FF is used by Star. It's probably not wise to touch C500-C7FF, as those should be reserved for handling the hardware assigned to those slots. But it may be possible to use C800-CFFF as part of a memory mover, or for disk i/o.)

4. ProDOS-8 1.7 source code is out in the wild, but it's in some weird dialect, which differs enough from ca65 that porting is hell for someone who barely speaks a lick of 6502. :(

5. My suggestion is that the Cxxx area be used for some memory banking-related code, while "ProDOS-3" sits on bank 1 from 2000-5000 and the selector above it; it may need to use Star code in the initialization to load the Apple ][+ ROM as well, all of which will need to be combined into a single loader. It might even be possible to call it SOS.KERNEL and use the SOS bootloader to launch it - meaning ProDOS-3 and ProDOS-8 could be on the same disk to boot the same disk and run the same software.

6. As for the selector, perhaps it could be like the ProDOS-8 1.9/2.x one... the /// certainly does have 80-column mode. And perhaps we could lie to software and say we're a 64K //e?

Only some of this I could prolly do, but I can try to do what I can for it.

-uso.