mamedev / mame

MAME
https://www.mamedev.org/
Other
8.35k stars 2.03k forks source link

apple2gs - adb desktop interrupt #7146

Closed ksherlock closed 3 years ago

ksherlock commented 4 years ago

When command-control-escape is pressed, the ADB MCU should generate an interrupt and set bit 5 of the ADB Command/Data Register ($c026) which will cause the text-based control panel to be invoked. This does not seem to happen.

Here's a screenshot of the action NDA with command-control-escape pressed. (Modifiers are based on the event manager, not raw modifier key register, so command = bit 8 and control = bit 12). In an other emulator, this can't happen because the control panel takes over.

image

m_glu_regs

    00 00 00 00 80 7F 20 00 00 00 80 00 ** ** ** **   ...... .........
rb6502 commented 4 years ago

I'm assuming given the reference to m_glu_regs that you compiled with the RUN_ADB_MICRO #define changed to 1? That's an experimental configuration that emulates a ROM 0/1 motherboard in a IIe case with a IIe keyboard connected. On ROM 3 you currently have no keyboard or mouse at all in that configuration, but the ADB microcontroller is running for real and handshaking with the 65816. Bitsavers just recently dumped the internal microcontroller ROMs from a few dozen ADB peripherals so we do hope to make that configuration a lot less experimental soon and run all of the original code (and support things like Burger Becky's games downloading code to the ADB microcontroller).

The text control panel doesn't work with the simulation code either (the default RUN_ADB_MICRO = 0), but the parameters of that failure are somewhat different.

ksherlock commented 4 years ago

I tested with plain normal mame .223 via homebrew. I'm barking up the wrong tree with the glu_regs.