New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MAD2.DSK crashes on a real //e (but works on AppleWin) #796
Comments
Sorry but MAD2.DSK (with $3318: $1A) is working on my real A2 (non-enhanced //e)... Edit: Both versions (with $3318: 1A or 19) are working on my real A2. |
Hmm... but for me on my real IIe (PAL/unenhanced): I wonder if it's a statistic thing... I will try running on my real IIe many times to see if I can get the original MAD2.DSK (with $3318: $1A) to work like you can. |
All I know is I've been using |
On a real IIe: I just tried MAD2.DSK ( It certainly is a mystery that it works on your real IIe! btw, the fix for AppleWin is easy, and clears up a little mystery for me: AppleWin/source/Mockingboard.cpp Line 1993 in f238be2
Well it shouldn't always be true , but only true if the 6522 interrupt occurred on the opcode's last cycle. This was an accidental bug, but now I know I can confidently fix it.
|
So probably related to the MegaAudio... |
Yes, maybe (probably?) as this emulates the 6522's using an FPGA - so maybe there's a subtle "out by 1" bug in their emulation? |
"Fixed" version of MAD2.dsk available on http://fr3nch.t0uch.free.fr/MAD2/MAD2.html |
With the above fix (for bIrqOnLastOpcodeCycle), then under emulation Mad Effect now has a graphical glitch. Sometimes there is a half-pixel glitch on the vertical edge where it transitions from GR to HGR mode. EDIT: NB. this glitch doesn't occur in "Color (RGB Monitor)" video mode... but this mode isn't NTSC. Trying on real Apple //e (PAL) hardware, then I can see a similar glitch, and also sometimes it is more pronounced extending for a full 7 pixels. So this is just a note that this isn't an emulation bug. |
@Archange427 sent me an mp4 showing this Mad Effect demo running glitch-free on his real Apple //e (PAL), but with MegaAudio sound-card. He thinks this can again probably be explained if the MegaAudio has 1 cycle difference in IRQ. |
Here's a test case which demonstrates the difference between a real Mockingboard/6522 and MegaAudio's emulated 6522: TestMegaAudio.zip It's an auto-booting DOS disk (Mockingboard in any slot), which loads and runs a small test code at $6000 (I've included the source code too). The theory is that the MegaAudio card's 6522 emulation is asserting the IRQ but 1 cycle late. So the test code sets the Timer1 to a count of 0x0001 in one-shot mode. Here's my understanding of the real 6522:
And the MegaAudio's 6522:
The code when run will finish with a BRK, with the result in A and X. A = 1 or 2, depending on the value of A when the interrupt occurred. Results:
I have passed this on to @PlamenVaysilov of a2heaven, who replied with:
|
AppleWin#796) . FT demo MAD2.DSK - original version now correctly crashes at start of full-screen scroller . FT demo MADEF.DSK - graphics glitch on vertical edge where it transitions from GR to HGR mode
As reported / discussed in sosaria7/appleinpc#11, MAD2.DSK (from Oct'19) crashes on a real //e.
I have confirmed this by testing on my non-enhanced //e.
To fix the image, hex edit MAD2.DSK at offset $3318: 1A->19.
This fixed version also works on AppleWin! ...so AppleWin has a bug in that it runs MAD2.DSK with both values (1A and 19):
The text was updated successfully, but these errors were encountered: