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

Phasor noisy playback #659

Closed
tomcw opened this issue Jun 28, 2019 · 3 comments
Closed

Phasor noisy playback #659

tomcw opened this issue Jun 28, 2019 · 3 comments
Labels
bug
Milestone

Comments

@tomcw
Copy link
Contributor

@tomcw tomcw commented Jun 28, 2019

Applied Engineering's Phasor Music Player
/SONGS/Tune 15. Toccata.Fugue is noisy

  • OK: 1.26.2.0, 1.26.3.0, 1.26.3.1, 1.26.3.2
  • NG: 1.26.3.4, 1.27.0.0, 1.28.8.0

Repro:

  • 1 (Music Programs)
  • 1 (Phasor Music Player)
  • //SONGS
  • 15 (Toccata.Fugue)

NB. Loading the save-state test image (phasor-fugue.aws) the playback is clean. But re-selecting song 15, and the playback is noisy.

@tomcw tomcw added the bug label Jun 28, 2019
@tomcw

This comment has been minimized.

Copy link
Contributor Author

@tomcw tomcw commented Jun 28, 2019

Likely change from 1.26.3.2 -> 1.26.3.4 (that caused this regression):
. [Bug #320] Mockingboard/Phasor: support 'inactive' function like real hardware

@tomcw

This comment has been minimized.

Copy link
Contributor Author

@tomcw tomcw commented Nov 11, 2019

At the end of a song the player does the following clean-up:

$C490 = 00 		; reset all AY8910's
$C490 = 04 (PC=4432)	; set INACTIVE for all 4 "units"

$C490 = 07 (PC=442E)	; LATCH: reg# = ORA = 0x06 (Noise period)
$C490 = 04 (PC=4432)
$C490 = 06 (PC=442E)	; WRITE: value = ORA = 0x10
$C490 = 04 (PC=4432)

$C490 = 07 (PC=442E)	; LATCH: reg# = ORA = 0x07 (Mixer)
$C490 = 04 (PC=4432)
$C490 = 06 (PC=442E)	; WRITE: reg# = ORA = 0x38 (Noise disable / Tone enable)
$C490 = 04 (PC=4432)

There was only 1 state variable for each Phasor 6522/2xAY8910.
So in the above sequence, ($C490)=LATCH(07) would set device-A to LATCH mode, but not device-B.

Adding a 2nd stateB variable allows the 6522/AY8910's to all be correctly reinitialised.

@tomcw tomcw closed this in 3c6d5d1 Nov 11, 2019
@tomcw tomcw added this to the 1.29.5 milestone Nov 11, 2019
@tomcw

This comment has been minimized.

Copy link
Contributor Author

@tomcw tomcw commented Nov 11, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant
You can’t perform that action at this time.