zellyn / a2audit

Apple II audit routines: for testing your Apple II or emulator
MIT License
29 stars 6 forks source link

Add 'Reset MMU' test for //e's #12

Open tomcw opened 2 years ago

tomcw commented 2 years ago

On Slack, #coding, @xotmatrix said (11th April):

If you put your JMP ($FFFC) in the stack page it will reset the Apple //e MMU, just like it would if you pressed Reset. Bit of a weird quirk with it; because the MMU doesn't have Reset pin, instead it looks for three accesses to $01xx and then $FFFC on address bus to know when a Reset happened.

This subroutine will reset the MMU by itself when it's in the stack page.

100: 2C FC FF   ; BIT $FFFC
103: 60         ; RTS

No emulators appear to support it (AppleWin, MAME, microM8). Also from Slack, it's just a //e thing, so not supported on //c or IIgs.

xotmatrix commented 2 years ago

Oh dear. This is where I gain my infamy among long-suffering Apple II emulator writers.