Skip to content

Add "SLIM card" support for the Macintosh Portable - #381

Open
rezafouladian wants to merge 4 commits into
twvd:masterfrom
rezafouladian:portable-slim-cards
Open

rezafouladian wants to merge 4 commits into
twvd:masterfrom
rezafouladian:portable-slim-cards

Conversation

@rezafouladian

Copy link
Copy Markdown
Contributor

This adds emulation for the unreleased "SLIM card" system for the Macintosh Portable.

The basics of the system:

  • RAM or ROM based cards
  • Two card slots
  • Supports card sizes of 512KB, 1MB, 1.5MB, or 2MB
  • Software ejectable
  • Bootable

The original Portable's decoder includes specific CS lines which could be remapped using registers to rearrange where in memory they were triggered. This is not currently used in the emulation since the ROM only ever checks 0x500000 and 0x700000 for the cards.
It's unclear what method they would have used on the released product. The Portable's ROM never interacts with those registers so there's no way for them to have been configured without additional software.

Right now save states only save the path for the connected image, not the contents, so that might be something to add in the future.

Add basic SLIM card support for the Macintosh Portable
Prevents a video related panic when restoring a save state on the Portable.
Reinsert SLIM cards when restoring a save state.
Code formatting fixes.
@twvd

twvd commented Sep 26, 2026

Copy link
Copy Markdown
Owner

Very cool! I tested it but found one issue and one small UX thing..

UX thing: when the cards are ejected a toast should be shown, like with floppies/CDs.

Issue:

  • Boot System 7.1
  • Insert an empty card (create blank image). Popup comes to initialize the card, initialize it.
  • Eject the just-formatted card in the guest OS (drag to trash).
  • Load the same image in the slot.
  • ..the card doesn't appear
Screenshot_20260926-123737

I'll share the card file with you on Discord, in case that helps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants