Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
vendor:yamaha:opl2 [2019/04/07 23:46]
lord_nightmare fix formatting
vendor:yamaha:opl2 [2019/12/23 12:26]
lord_nightmare fix test register notes, and add note about the "dac test"
Line 25: Line 25:
 === YM2413 Instruments === === YM2413 Instruments ===
 There is at present no die image of YM2413. In the near future, [[https://whitequark.org|whitequark]] will provide a die image suitable for RE. It is anticipated that the instruments ROM will be an implant ROM. This implies a delayering or staining to read out its contents. There is at present no die image of YM2413. In the near future, [[https://whitequark.org|whitequark]] will provide a die image suitable for RE. It is anticipated that the instruments ROM will be an implant ROM. This implies a delayering or staining to read out its contents.
-=== YM2413 TEST register (0x0F) === 
-<code> 
-TEST (0x0F) 
- 76543210 
- |||||||\- DAC test enable (enables DAC output from the top 4 bits of address 0x10 (0x10 is normally the frequency LSB bits for channel 0) 
- ||||||\-- ? 
- |||||\--- ? 
- ||||\---- This bit, if set, silences the FM sound output. How exactly is unknown. (On YM2151 this bit freezes the phase counters and lfo counters) 
- |||\----- ? 
- ||\------ ? 
- |\------- ? 
- \-------- ? 
-</code> 
  
 === YM2413 D0/D1 debug state === === YM2413 D0/D1 debug state ===
Line 58: Line 45:
  
  
-=== VRC7 TEST register (0x0F) ===+=== YM2413 and VRC7 TEST register (0x0F) ===
 <code> <code>
 TEST (0x0F) TEST (0x0F)
  76543210  76543210
- |||||||\- if 1, Disables Car/Mod EG units, EG output is forced to 0 (max volume)+ |||||||\- if 1, Disables Car/Mod EG units, EG output is forced to 0 (max volume). This can be used as a crude DAC test, see below.
  ||||||\-- if 1, resets (and holds, while active) the Trem and Vib LFO counts to 0  ||||||\-- if 1, resets (and holds, while active) the Trem and Vib LFO counts to 0
  |||||\--- if 1, resets (and holds, while active) the PG count for Car/Mod at 0 (this effectively silences the chip)  |||||\--- if 1, resets (and holds, while active) the PG count for Car/Mod at 0 (this effectively silences the chip)
Line 72: Line 59:
 </code> </code>
  
 +If bit 0 is set, this can be combined with setting bit 2, and writing the 'desired DAC' (really, offset in the SINE ROM) value to register 0x10 (or any of the other frequency registers). Bit 2 will reset the phase generator offset to 0 every tick, which combined with 0x10 to set the frequency LSB (which is added to the phase generator offset), can be used to crudely force the DAC to any specific value in the sine wave. Setting the frequency MSB should also similarly affect this, I assume.
  
 === VRC7 Debug Mode === === VRC7 Debug Mode ===
 
vendor/yamaha/opl2.txt ยท Last modified: 2019/12/30 18:27 by lord_nightmare
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution 4.0 International
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki