3.4 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			3.4 KiB
		
	
	
	
	
	
	
	
Neo Geo/Yamaha YM2610
originally an arcade board, but SNK shortly adapted it to a rather expensive video game console with the world's biggest cartridges because some people liked the system so much they wanted a home version of it.
its soundchip is a 4-in-1: 4ch 4-op FM, YM2149 (AY-3-8910 clone) and 2 different format ADPCM in a single package!
effects
- 10xy: set LFO parameters.- xtoggles the LFO.
- ysets its speed.
 
- 11xx: set feedback of channel.
- 12xx: set operator 1 level.
- 13xx: set operator 2 level.
- 14xx: set operator 3 level.
- 15xx: set operator 4 level.
- 16xy: set multiplier of operator.- xis the operator (1-4).
- yis the mutliplier.
 
- 18xx: toggle extended channel 2 mode.- 0 disables it and 1 enables it.
- only in extended channel 2 chip.
 
- 19xx: set attack of all operators.
- 1Axx: set attack of operator 1.
- 1Bxx: set attack of operator 2.
- 1Cxx: set attack of operator 3.
- 1Dxx: set attack of operator 4.
- 20xx: set SSG channel mode.- xxmay be one of the following:- 00: square
- 01: noise
- 02: square and noise
- 03: nothing (apparently)
- 04: envelope and square
- 05: envelope and noise
- 06: envelope and square and noise
- 07: nothing
 
- 21xx: set noise frequency.- xxis a value between 00 and 1F.
- 22xy: set envelope mode.- xsets the envelope shape, which may be one of the following:- 0: \___decay
- 4: /___attack once
- 8: \\\\saw
- 9: \___decay
- A: \/\/inverse obelisco
- B: \¯¯¯decay once
- C: ////inverse saw
- D: /¯¯¯attack
- E: /\/\obelisco
- F: /___attack once
 
- if yis 1 then the envelope will affect this channel.
 
- 23xx: set envelope period low byte.
- 24xx: set envelope period high byte.
- 25xx: slide envelope period up.
- 26xx: slide envelope period down.
- 29xy: enable SSG auto-envelope mode.- in this mode the envelope period is set to the channel's notes, multiplied by a fraction.
- xis the numerator.
- yis the denominator.
- if xoryare 0 this will disable auto-envelope mode.
 
- 30xx: enable envelope hard reset.- this works by inserting a quick release and tiny delay before a new note.
 
- 50xy: set AM of operator.- xis the operator (1-4). a value of 0 means "all operators".
- ydetermines whether AM is on.
 
- 51xyset SL of operator.- xis the operator (1-4). a value of 0 means "all operators".
- yis the value.
 
- 52xyset RR of operator.- xis the operator (1-4). a value of 0 means "all operators".
- yis the value.
 
- 53xyset DT of operator.- xis the operator (1-4). a value of 0 means "all operators".
- yis the value:- 0: +0
- 1: +1
- 2: +2
- 3: +3
- 4: -0
- 5: -3
- 6: -2
- 7: -1
 
 
- 54xyset RS of operator.- xis the operator (1-4). a value of 0 means "all operators".
- yis the value.
 
- 55xyset SSG-EG of operator.- xis the operator (1-4). a value of 0 means "all operators".
- yis the value (0-8).- values between 0 and 7 set SSG-EG.
- value 8 disables it.
 
 
- 56xx: set DR of all operators.
- 57xx: set DR of operator 1.
- 58xx: set DR of operator 2.
- 59xx: set DR of operator 3.
- 5Axx: set DR of operator 4.
- 5Bxx: set D2R/SR of all operators.
- 5Cxx: set D2R/SR of operator 1.
- 5Dxx: set D2R/SR of operator 2.
- 5Exx: set D2R/SR of operator 3.
- 5Fxx: set D2R/SR of operator 4.
