Skip to content

Spec improvements / cleanup #3

@rb6502

Description

@rb6502

Hi Kelvin! I'm implementing your WDM protocol in MAME's IIgs driver right now, starting with the conceptually simpler MLI intercept version for ProDOS 8. I've completed the first half of the functionality where we can boot with ATINIT in place and the WDM hooks operating and ProDOS works normally with the emulated disk drives even though all the MLI calls are trapping up into the emulator. Next up is actually adding the functionality for accessing the host.

Currently you put the necessary patch code in slot 7's register area at $C0F0. I feel your pain in finding 11 free bytes anywhere in an Apple II that aren't on the language card, but $C0F0 is a non-starter, as you probably already know. MAME emulates the CFFA2, the Apple II Rev. C SCSI Card, and the AE Vulcan IDE and all 3 are commonly parked in slot 7.

For this, I'd suggest defining a spec for a slot card to emulate where the CnXX space has a 4-byte ID and maybe 192 bytes of RAM. Then ATINIT simply needs to scan for the ID and place any patches there.

We have an implementation in MAME for host file access on NuBus Macs involving an emulated NuBus card that accepts open/read/write/seek/close/change directory/delete commands and a matching classic MacOS driver. I prefer the cleanliness of that approach since it keeps OS internals from leaking out wholesale into the emulator code, but that may be unavoidable with ProDOS 8 regardless.

Cheers!
-RB

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions