You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bug reported by Grouik on the French Touch page, in the comments.
Btw, we can also win a few cycles by cheating a little as AppleWin does not require sending an "inactive function" to AY8910 after each operation (unlike a real Mockingboad).
For the Mockingboard’s "bug", I noticed that at the time of my first tests with one MB. I do not remember what version of AppleWin I used (I apologize in advance if it has already been corrected or if I was just a bug with my PC or others. I did not do more tests since).
So, to set a value for one of the registers, systematically we must use this sequence of instructions (one way or another):
LDA #01 ; register #
STA $C401,Y ; ORA1 (data)
LDA #$07 ; Set fct « Set PSG Reg # »
STA $C400,Y ; ORB1 (fct)
LDA #$04 ; Set fct « Inactive »
STA $C400,Y ; ORB1 (fct)
LDA #$xx ; value to set
STA $C401,Y ; ORA1 (data)
LDA #$06 ; Set fct « Write DATA »
STA $C400,Y ; ORB1 (fct)
LDA #$04 ; Set fct « Inactive »
STA $C400,Y ; ORB1 (fct)
(sorry, you already know that…)
This is the working method for real APPLE II (and AppleWin).
But with AppleWin, we can just use:
LDA #01 ; register #
STA $C401,Y ; ORA1 (data)
LDA #$07 ; Set fct « Set PSG Reg # »
STA $C400,Y ; ORB1 (fct)
LDA #$xx ; value to set
STA $C401,Y ; ORA1 (data)
LDA #$06 ; Set fct « Write DATA »
STA $C400,Y ; ORB1 (fct)
without sending the "inactive function" after each other fct.
Working with AppleWin but no sound at all with a real MB.
This is not really a problem because all programs using a Mockingboard use the right method!
The text was updated successfully, but these errors were encountered:
Bug reported by Grouik on the French Touch page, in the comments.
For the Mockingboard’s "bug", I noticed that at the time of my first tests with one MB. I do not remember what version of AppleWin I used (I apologize in advance if it has already been corrected or if I was just a bug with my PC or others. I did not do more tests since).
So, to set a value for one of the registers, systematically we must use this sequence of instructions (one way or another):
(sorry, you already know that…)
This is the working method for real APPLE II (and AppleWin).
But with AppleWin, we can just use:
without sending the "inactive function" after each other fct.
Working with AppleWin but no sound at all with a real MB.
This is not really a problem because all programs using a Mockingboard use the right method!
The text was updated successfully, but these errors were encountered: