noop wrote:
As I can understand - it is always 4 ports for "native" OPL3. Or 2 ports in "OPL2 mode".
640K!enough wrote:I found this nice document with details for Creative cards. Interestingly, while it does seem to support Scali's assertion that Creative only exposes FM functionality at 388H/389H, it also states that the range at 38AH and beyond is "reserved for future expansion".
Yep, I've had that document and indeed, there is OPL at 388 in all of them (for AdLib compatibility I presume). Nevertheless in cards with OPL3 there are olny two ports available (if we'll stick to specs).
The attachment 2018-07-23 22.27.21.png is no longer available
The attachment 2018-07-23 22.51.22.png is no longer available
noop wrote:Adlib never actually had a jumper to allow other ports than 388h, despite promising it in the documentation. Therefore, old Adlib-compatible software often does not support other ports without patches.
Adlib Gold theoretically supported remapping, in practice, nearly everybody still expects OPL series chips at 388h.
Yes, AdLib had a footprint on the board to support addresses 0x218, 0x288, 0x318 and 0x388, but there was hardwired link to 0x388 instead of jumpers.
I'm thinking about removing all that 0x218/0x288/0x318 nonsense and add 0x228 instead, which is used on all SB cards.
Tiido wrote:YMF711/715/718/719 chips put OPL3 on 388...38B range, and if YMF704/721 is present it fills entire 388..38F range (extra ports are for the sampler and CPU part).
Thank you for the information!
So...
OPL2 was assumed at ports 0x388...0x389 on AdLib, at 0x228...0x229 and at 0x388...0x389 on early SB cards.
OPL3 was assumed at ports 0x388...0x38B on AdLib Gold, PAS, (probably some) SB cards, Yamaha boards, at 0x220...0x223 (0x2*0...0x2*3) on Sound Blaster Pro and SB16+.
The attachment 2018-07-23 23.30.31.png is no longer available
I think I'll choose set of ports 0x228, 0x388 for OPL2. Probably I'll add SB variants of base port: 0x248, 0x268 if it will be not very difficult. Two ports will be available.
For OPL3 I'll choose 0x220 and 0x388. Probably I'll add 0x240, 0x260 as I've mentioned above. Four ports will be available.
If anybody has any useful information about OPL2/OPL3 - please post it! I'm still in process of researching.
In the meantime I've made "address decoder simulator/visualizator" in M$ Excel. And with it's help I've redid address decoder for CMS block to support 0x210 and other addresses from original card.
The attachment ports_CMS.png is no longer available
The attachment ports_OPL3.png is no longer available