2022-01-16 01:10:43 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								# Commodore 64
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-10-16 01:53:05 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								a home computer with a synthesizer-grade sound chip of which people took decades to master. three oscillators with four selectable waveforms, ring modulation, oscillator sync, multi-mode filter and ADSR envelope.
							 
						 
					
						
							
								
									
										
										
										
											2022-01-16 01:10:43 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								very popular in Europe and mostly due to the demoscene, which stretched the machine's limbs to no end.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-10-16 01:53:05 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								two versions of aforementioned chip exist - 6581 (original chip) and 8580 (improved version with working waveform mixing and somewhat more consistent filter curves).
							 
						 
					
						
							
								
									
										
										
										
											2022-06-06 10:49:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-09-10 20:34:13 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## effects
  
						 
					
						
							
								
									
										
										
										
											2022-01-16 01:10:43 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-06-25 03:05:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  `10xx` : **change wave.**  the following values are accepted: 
						 
					
						
							
								
									
										
										
										
											2022-01-16 01:10:43 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  -  `00` : nothing
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  `01` : triangle
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  `02` : saw
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  `03` : triangle and saw
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  `04` : pulse
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  `05` : pulse and triangle
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  `06` : pulse and saw
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  `07` : pulse and triangle and saw
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  `08` : noise
							 
						 
					
						
							
								
									
										
										
										
											2023-06-25 03:05:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  `11xx` : **set coarse cutoff.**  `xx`  may be a value between `00`  and `64` . 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  _this effect only exists for compatibility reasons, and its use is discouraged._
							 
						 
					
						
							
								
									
										
										
										
											2022-01-16 01:10:43 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  -  use effect `4xxx`  instead.
							 
						 
					
						
							
								
									
										
										
										
											2023-06-25 03:05:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  `12xx` : **set coarse duty cycle.**  `xx`  may be a value between `00`  and `64` . 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  _this effect only exists for compatibility reasons, and its use is discouraged._
							 
						 
					
						
							
								
									
										
										
										
											2022-01-16 01:10:43 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  -  use effect `3xxx`  instead.
							 
						 
					
						
							
								
									
										
										
										
											2023-06-25 03:05:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  `13xx` : **set resonance.**  `xx`  may be a value between `00`  and `0F` . 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  `14xx` : **set filter mode.**  the following values are accepted: 
						 
					
						
							
								
									
										
										
										
											2022-01-16 01:10:43 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  -  `00` : filter off
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  `01` : low pass
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  `02` : band pass
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  `03` : low+band pass
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  `04` : high pass
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  `05` : band reject/stop/notch
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  `06` : high+band pass
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  `07` : all pass
							 
						 
					
						
							
								
									
										
										
										
											2023-06-25 03:05:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  `15xx` : **set envelope reset time.**  
						 
					
						
							
								
									
										
										
										
											2022-01-16 01:10:43 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  -  this is the amount of ticks the channel turns off before a note occurs in order to reset the envelope safely.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  if `xx`  is 0 or higher than the song speed, the envelope will not reset.
							 
						 
					
						
							
								
									
										
										
										
											2023-06-25 03:05:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  `1Axx` : **disable envelope reset for this channel.**  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  `1Bxy` : **reset cutoff** : 
						 
					
						
							
								
									
										
										
										
											2022-01-16 01:10:43 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  -  if `x`  is not 0: on new note
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  if `y`  is not 0: now
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  this effect is not necessary if the instrument's cutoff macro is absolute.
							 
						 
					
						
							
								
									
										
										
										
											2023-06-25 03:05:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  `1Cxy` : **reset duty cycle** : 
						 
					
						
							
								
									
										
										
										
											2022-01-16 01:10:43 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  -  if `x`  is not 0: on new note
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  if `y`  is not 0: now
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  this effect is not necessary if the instrument's duty macro is absolute.
							 
						 
					
						
							
								
									
										
										
										
											2023-06-25 03:05:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  `1Exy` : **change additional parameters.**  
						 
					
						
							
								
									
										
										
										
											2023-10-23 14:49:03 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  -  _this effect only exists for compatibility reasons, and its use is discouraged._
							 
						 
					
						
							
								
									
										
										
										
											2022-01-16 01:10:43 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  -  `x`  may be one of the following:
							 
						 
					
						
							
								
									
										
										
										
											2023-06-25 03:05:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    -  `0` : attack (`y` from `0`  to `F` )
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    -  `1` : decay (`y` from `0`  to `F` )
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    -  `2` : sustain (`y` from `0`  to `F` )
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    -  `3` : release (`y` from `0`  to `F` )
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    -  `4` : ring modulation (`y` is `0`  or `1` )
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    -  `5` : oscillator sync (`y` is `0`  or `1` )
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    -  `6` : disable channel 3 (`y` is `0`  or `1` )
							 
						 
					
						
							
								
									
										
										
										
											2023-10-23 14:49:03 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  `20xy` : **set attack/decay.**  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  `x`  is the attack.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  `y`  is the decay.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  `21xy` : **set sustain/release.**  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  `x`  is the sustain.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  `y`  is the release.
							 
						 
					
						
							
								
									
										
										
										
											2023-06-25 03:05:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  `3xxx` : **set duty cycle.**  `xxx`  range is `000`  to `FFF` . 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  `4xxx` : **set cutoff.**  `xxx`  range is `000`  to `7FF` . 
						 
					
						
							
								
									
										
										
										
											2023-08-04 12:11:53 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-09-10 20:34:13 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## info
  
						 
					
						
							
								
									
										
										
										
											2023-08-04 12:11:53 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-08-04 12:38:05 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								this chip uses the [C64 ](../4-instrument/c64.md ) instrument editor.
							 
						 
					
						
							
								
									
										
										
										
											2023-11-01 13:25:26 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								## channel status
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-11-01 19:37:28 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								the following icons are displayed when channel status is enabled in the pattern view:
							 
						 
					
						
							
								
									
										
										
										
											2023-11-01 13:25:26 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-11-01 19:37:28 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  channel is silent: 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -   it's not
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -   gate bit disabled
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -   gate bit disabled and test bit enabled
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -   test bit enabled
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -   ch3off enabled in filter mode