Changes

Willy

2,576 bytes added, 11 April
/* I/O Ports */
Willy - [[MIDI ]] and OPL3 Soundcard adapter for CPC
It is the spiritual successor of the [[CPCISA]] project. [[File:Willy1.jpg]] [[File:Willy2.jpg]]
<br>
== Weblinks ==
* [https://pulkomandy.github.io/shinra.github.io/willy.htmlOfficial website]* [https://framagit.org/offset/willy-acepansion Willy ACEpansion] [https://framagit.org/shinra/vgmplay vgmplay] [https://framagit.org/shinra/sa2play sa2play] on Framagit* [http://www.roudoudou.com/ACE-DL/ OPL3 Player PackArchive ZIP] Huge pack containing 3887 OPL2/OPL3 tunes to be played on Amstrad CPC <br> == Cost ==* [https://opl.wafflenet.com/ The cost for a Willy soundcard adapter is 10€OPL archive] [https://vgmrips. This does not include any soundcard, you have to buy those separatelynet/packs/chip/ym3812 VGMrips OPL2] [https://vgmrips.net/packs/chip/ymf262 VGMrips OPL3]
<br>
== Compatible Serdaco soundcards ==
*[https://www.serdashop.com/S2P S2P soundcard] aka Roland MT-32 or General MIDI Wavetable Synth Synthesizer - based on SAM2695 (2014) - [[media:SAM2695.pdf|Datasheet]]*[https://www.serdashop.com/OPL3LPT OPL3LPT soundcard] aka AdLib Gold or Sound Blaster 16 - based on OPL3 (1990) - [[Media:YMF262 199110.pdf|DatasheetOPL3 datasheet]] [[Media:Yamaha yac512 datasheet.pdf|DAC datasheet]]*[https://www.serdashop.com/OPL2LPT OPL2LPT soundcard] [https://github.com/zjuyzj/OPL2LPT-Replica OPL2LPT-Replica] aka AdLib or Sound Blaster - based on OPL2 (1985) - [[mediaMedia:Yamaha_YM3812.pdf|DatasheetOPL2 datasheet]] [https://c64.xentax.com/media/Yamaha_YM3812_Application_Manual.pdf OPL2 application manual] [[Media:YM3014 DAC datasheet.pdf|DAC datasheet]]*[https://www.serdashop.com/CMSLPT CMSLPT soundcard] aka Creative Music System or Game Blaster - based on two SAA1099 (1984) - [[media:Philips_saa1099.pdf|DatasheetPhilips datasheet]] [[media:Mullard-saa-1099 datasheet.pdf|Mullard datasheet]]*[https://www.serdashop.com/TNDLPT TNDLPT soundcard] aka PCjr or Tandy Sound - based on SN76489 (1979) - [[media:Texas_instruments_sn76489an.pdf|Datasheet]]
*[https://www.serdashop.com/CVX4 CVX4 soundcard] aka Covox Speech Thing - [https://scalibq.wordpress.com/2017/11/28/the-covox-years/ Technical analysis]
 
Note: Like the MIDI synth functionality of the [[RSF3]], the S2P soundcard natively supports Wavetable MIDI. It doesn't require a software translation layer like the [[AMSDAP]] OPL4 & YRW801 ROM solution.
<br>
== I/O Ports ==
2 ports are used to control the [[MIDI ]] soundcard: &FEAC for data, and &FEAD for control and status. Sadly, that means it is not compatible with the [[EMR MIDI Interface]] which is located at ports &F8F2 and &F8F3.
3 ports are used to control the OPL3 soundcard: &FEBC and &FEBE are register select ports, and &FEBD is the data port. Again, we can regret it doesn't use the same ports as the [[AMSDAP|AMSDAP OPL4]].
<br>
<br>
=== Logsin and Exponent tables Algorithm ===
The OPL3 uses OPL chips generate sound efficiently, without using any multiplication or other costly arithmetic operations. Instead, they use two look-up tables, (exp and logsin) each containing 256 entries. [https://g.co/kgs/Da1vEi4 Source]
This is strong evidence that the OPL chip produces the sound without any multiplications, using The tables are used in this formula for 2-op "frequency modulated" (actually phase modulated) synthesis the formula:
out = exp(logsin(phase2 + exp(logsin(phase1) + gain1)) + gain2)
When such a table is used for calculation of the exponential, the table is read at the position given by the 8 LSB's of the input. The value + 1024 (the hidden bit) is then the significand of the floating point output and the yet unused MSB's of the input are the exponent of the floating point output.
==== Log-sin Logsin table ====
x = 0..255, y = round(-log(sin((x+0.5)*pi/256/2))/log(2)*256)
<br>
== OPL3 undeserved reputation == The OPL3 soundchip has been underused and unfairly criticized, largely due to 2 factors:* As OPL3 is compatible with OPL2, PC game producers did not make the effort to specifically exploit the OPL3 soundchip capabilities, instead they relied on inferior OPL2 tunes. These are the equivalent of the Speccy ports that gave the Amstrad CPC a bad reputation.* Western PC game developers in the early 90's also tended to produce music by using a master MIDI track on Roland MT-32, and then downgrading it for the various PC soundchips. The result was a cheesy so-called "MIDI" music. That was unfair for OPL3 (but also for MIDI, as Wavetable MIDI sounds way better than that). Examples of proper OPL3 music: [https://www.youtube.com/watch?v=a7I-QmrkAak MoonDriver] [https://www.youtube.com/watch?v=uyVOy02tW88 Paul the Penguin] [https://www.youtube.com/watch?v=6JlFIFz1CFY Zen Challenge] <br> == Links == *[https://moddingwiki.shikadi.net/wiki/OPL_chip Programmer's guide to OPL3]*[https://g.co/kgs/Da1vEi4 OPLx decapsulated]*[https://www.righto.com/search/label/dx7 Yamaha DX7 chip reverse-engineered] from die shots*[https://youtu.be/BCwn26FePAo Yamaha DX7 - Famous Sounds Demo] Yamaha FM synthesis chips defined the sound of the 1980s*[https://youtu.be/TVmZarPUc-Q Korg M1 Famous Songs and Sounds] Wavetable synthesizers dominated in the 1990s [[Category:Music and sound]] [[Category:Peripherals]] [[Category:Hardware]]
13,173
edits