Skip to content
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

Bejeweled issue with Phasor enabled #753

Closed
peterferrie opened this issue Jan 28, 2020 · 6 comments
Closed

Bejeweled issue with Phasor enabled #753

peterferrie opened this issue Jan 28, 2020 · 6 comments

Comments

@peterferrie
Copy link

https://github.com/jeremysrand/a2bejwld/
To reproduce the effect: enable Mockingboard sounds in the Bejeweled options screen and then start a game.
The jewels will fall to fill the board, and then interrupts start firing endlessly. ProDOS will panic after the stack overflows; TR just hangs.
The AppleWin Mockingboard option works flawlessly, so maybe an IRQ ACK issue with the Phasor?
It looks very similar to the Rescue Raiders issue with the Phasor, but (to me) not clearly identical.

@tomcw
Copy link
Contributor

tomcw commented Jan 28, 2020

I've had a quick look.

The interrupt is from the speech chip (even though in the options I said no speech!). There's a write of 0xC0 to the speech chip's register 0, causing an interrupt, which (for Phasor) never gets cleared. NB. 0xC0 = IRQ (bit7:6) + phoneme 0 which is PA0 (or no sound).

For Mockingboard, the speech chip is emulated differently to the Phasor's.

Given that Phasor is compatible with Mockingboard, I don't know why I did them differently... but probably due to inspection of the Phasor disk's speech code, ie. the speech demo on the Phasor disks only worked when I emulated the speech chip like this.

NB. The Phasor has 4 DIP switches, one of which selects Mockingboard mode. Perhaps the speech chip behaves differently depending on the mode?
https://downloads.reactivemicro.com/Apple%20II%20Items/Hardware/Phasor/Phasor%20Manual.pdf

Anyway, I must revisit all of this. Ideally by trying with a real Phasor card.

@tomcw
Copy link
Contributor

tomcw commented Jan 28, 2020

It looks very similar to the Rescue Raiders issue with the Phasor

Yes, I think it is the same as #698.

@tomcw
Copy link
Contributor

tomcw commented Apr 5, 2020

AppleWin 1.29.11.0, Enhanced //e, Phasor in slot-4:

  • 2.3: boots & works fine (auto-detection: speech is off)
    • manually enabling speech, saving then rebooted and starting game: RESTART SYSTEM-$01
  • 2.4: hangs during boot: RESTART SYSTEM-$01
  • 2.5: hangs during boot: RESTART SYSTEM-$01
    • NB. boots fine with Mockingboard in slot4&5

@tomcw
Copy link
Contributor

tomcw commented Apr 5, 2020

Anyway, I must revisit all of this. Ideally by trying with a real Phasor card.

Bejeweled 2.5 works with a real Phasor (SW1=CLOSED, ie. Phasor mode or SW1=OPEN, ie. MB mode)

  • Boots fine, correctly auto-detects Mockingboard & Speech.
  • Game starts and says something (sounds like "yoal", but from the source code looks like it should be "Go"!)
    • New a2bejwld issue raised here

@tomcw tomcw added this to the 1.29.12 milestone Apr 7, 2020
@tomcw
Copy link
Contributor

tomcw commented Apr 26, 2020

@peterferrie - this is now fixed in AppleWin 1.29.12.0 here.

@tomcw
Copy link
Contributor

tomcw commented May 12, 2020

Closing fixed issue

@tomcw tomcw closed this as completed May 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants