Notice: Trying to access array offset on value of type bool in /mnt/cpcwiki-httpdocs/includes/libs/IPSet.php on line 243

Notice: Trying to access array offset on value of type bool in /mnt/cpcwiki-httpdocs/includes/libs/IPSet.php on line 246

Notice: Trying to access array offset on value of type bool in /mnt/cpcwiki-httpdocs/includes/libs/IPSet.php on line 243

Notice: Trying to access array offset on value of type bool in /mnt/cpcwiki-httpdocs/includes/libs/IPSet.php on line 246
Changes - CPCWiki

Changes

PSG

309 bytes added, 20:41, 31 March 2025
/* 0Dh - Volume Envelope Shape (4bit) */
| 1111 || 0Fh || <code>/_________</code> || volume remains quiet
|}
 
==== Bit 3 (Continue) ====
We can observe that there are only 8 resulting shapes even though they are selected by using a 4-bit value. The continue bit does not exist internally.
In other words, we have:
shape = 1 if (ves >> 2 == 0) else 7 if (ves >> 2 == 1) else ves & 7
 
==== Bit 2 (Attack) ====
 
This bit is only responsible for the starting point of the envelope and the direction.
 
On other words, we have:
volume = 0 if attack else 15 # Start at 0 for attack, 15 for decay
direction = 1 if attack else -1 # Upward for attack, downward for decay
When using the volume envelope generator, the volume is always increased from 00h to 0Fh (or vice versa), it is not possible to specify a starting/ending point (like from 00h to 07h).
13,173
edits