Schrijver
| Question for PSG Experts:
|
PingPong msx professional Berichten: 869 | Geplaatst: 23 September 2007, 21:42   |
Hi, all.
The PSG evelope register have 4 bits:
-continue (bit 3)
-attach (bit 2)
-alternate (bit 1)
-hold (bit 0)
Now, the question - about the continue bit - when it's == 0 the output wave form envelope we get is controlled only by the attach bit, if 1 you get an increasing amplitude, if 0 you get a decreasing amplitude.
HOWEVER - here is the question - this kind of waveform could also be optained with continue = 1 and 001 for the others bits or 111 in the case of raising amplitude. But then, what is the use of continue bit? it was useless?
summarizing
00XX is the same of 1001 and
01XX is the same of 1111
making the bit 3 a useless bit. Is there anything of wrong? Why they created a so stupid and useless bit3?
I'm getting very confused.
|
|
Edwin msx professional Berichten: 591 | Geplaatst: 23 September 2007, 22:37   |
There is logic to what the bits actually do in the envelope generator. With the continue bit off, the envelope goes off after one period. Which indeed results in a wave that can be created another way as well. So effectively it doesn't really add anything. Accept it, don't try to make sense of it.  |
|
PingPong msx professional Berichten: 869 | Geplaatst: 24 September 2007, 21:20   |
Umh, ok.
But now another question:
does,choosing another evelope shape when the current is in progress always reset the amplitude to it's initial state? In other words:
suppose i have e raising envelope in progress from zero to max that is not yet reached to its' max amplitude, then i set an envelope waveform that is a fading one (from max to 0). Does the PSG start do decay from the current amplitude or always start from max to 0 when i set the waveform?
in the latter case is there a way (without sw modulation) to have a waveform that starts from 0 reach, for example to 80% of max amplitude then decay to 20% and stay for a while before reaching to 0? (ADSR)
|
|
Edwin msx professional Berichten: 591 | Geplaatst: 24 September 2007, 21:40   |
Pick up SEE and try it. Nothing like hearing it for yourself.  |
|
PingPong msx professional Berichten: 869 | Geplaatst: 24 September 2007, 21:45   |
What is SEE? where i can find this? thx.
|
|
Edwin msx professional Berichten: 591 | Geplaatst: 24 September 2007, 22:00   |
SEE is Sound Effect Editor. Basically the PSG registers in tracker style. You can download it from Konamito's page iirc.
|
|
manuel msx guru Berichten: 3368 | Geplaatst: 24 September 2007, 22:23   |
|
|
PingPong msx professional Berichten: 869 | Geplaatst: 25 September 2007, 08:27   |
thx, manuel & edwin
|
|
AuroraMSX
 msx master Berichten: 1227 | Geplaatst: 29 September 2007, 13:14   |
Quote:
| Does the PSG start do decay from the current amplitude or always start from max to 0 when i set the waveform?
|
The envelope generator retriggers when a new envelope shape is set. Listen to this small BASIC program:
10 sound 0,200: sound 1,0: sound 11,32: sound 12,32: sound 7,&B10111110
20 sound 13,4: sound 8,16
30 time=0
40 if time<30 then 40
50 sound 13,0 ' switch envelope!
60 time=0
70 if time<50 then 70
80 sound 8,0
You'll hear the volume go up and then the "ping" when the envelope is switched... volume
^
| \
| |\
| /: \
|/ : \_
+--^------>time
|
`-- envelope change
So, you'll not be able to do ADSR like envelopes this way.
|
|
PingPong msx professional Berichten: 869 | Geplaatst: 29 September 2007, 13:42   |
thx, auroramsx, so it's not so simple to get adsr without sw intervention i see...
|
|
AuroraMSX
 msx master Berichten: 1227 | Geplaatst: 29 September 2007, 18:27   |
Quote:
| thx, auroramsx, so it's not so simple to get adsr without sw intervention i see...
|
I'd say its impossible |
|
|
|
|