VOGONS


FMonster, the monster of sound synth

Topic actions

Reply 260 of 275, by digistorm

User metadata
Rank Member
Rank
Member

Isn't it true that the OPL chip uses a quarter sine wave stored in ROM to generate the 4 basic oscillator modes? So, "technically", an OPL2 chip is a "wavetable" synthesizer 😊

Reply 262 of 275, by Tiido

User metadata
Rank l33t
Rank
l33t

If that sample could be updated then it could qualify as a wavetable, alas that's not how those chips work 🤣 (though later Yamaha synths such as SY77, SY99 and stuff in Saturn can modulate arbitrary samples together, with unmodulated channels being just vanilla sampler stuff with ADSR and perhaps effect on top).
Yamaha used log-transformed sample in the OPx chips, so that they could get away without using multiplication and instead only need adds, massively cutting down logic required on the silicon at cost of some loss of accuracy and few other tidbits. Later fancy stuff uses actual multipliers and linear samples can then be easily used.

T-04YBSC, a new YMF71x based sound card & Official VOGONS thread about it
Newly made 4MB 60ns 30pin SIMMs ~
mida sa loed ? nagunii aru ei saa 😜

Reply 263 of 275, by Fagear

User metadata
Rank Member
Rank
Member

An update on debug block verification .
I've tested SID-containing one.
Basically, it works as intended:
https://www.youtube.com/watch?v=uJK9DpSWL8Y

It works with "SSI-2001 compatible" games. And it works with "*.SID" file players.
But it has heat problems when using with 8580 SID.
I have to look into that and, maybe, change a little power supply section. For example, I could drop 12 -> 5 V in two steps instead of one as I do now.
Now there is a single 78L05, that dissipates (12-5)*0.11 = 0.77 W of heat when working with 8580. And it has very small copper polygons to take that heat away.
I can drop that voltage in two stages: 12 -> 9 V and 9 -> 5 V, I already have 78L09 in the BOM. Total heat will be the same: (12-9)*0.11 = 0.33 W and (9-5)*0.11 = 0.44 W, but it can be spread out on two ICs. Also I can try to get more solid copper around those regulators.

Next, I've tested "SID emulators" nano Swin SID and ARMSID on DuoSID in comparison with "real" 8580R5.
https://www.youtube.com/watch?v=lzNurp6aA2A

I don't have FPGASID and don't have plans to buy one because of its price.
Also I've compared output noise level of SSI-2001 replica, FMonster debug block and DuoSID. And I'm happy with the result.
There are power consumption measurements too.

New BIG soundcard: FMonster.
Covox Sound Master replica
Innovation SSI-2001 replica & DuoSID.
My audio/video collection.

Reply 264 of 275, by carlostex

User metadata
Rank l33t
Rank
l33t

Hi Fagear, i have a couple of questions.

So in DuoSID both SID chips listen on the same base port? From what i can see there's only 1 base port selection which means both SID chips Will play the same thing. Wouldn't it be better to have a different base port for SID 1 and SID 2? That way maybe a custom AIL driver could be made that would actually use 6 independent voices.

I tried Legend of Kyrandia with Bristlehog's custom SSI AIL driver and it actually sounds great but unfortunately 3 voices are not enough to play all melody lines. A custom driver for DuoSID that would use both SID chips for 6 voices would be awesome, but if the base port on the card is the same then 3 voices go to waste.

Other question: let's say i get a FMonster PCB from you and i just assemble the blocks that i'm interested in, DuoSID + COVOX SM+ TANDY + CMS. Will thoso blocks work fine if i don't assemble the missing blocks, dual OPL2 and OPL3? Or do i need to assemble all blocks for the card to work?

Reply 265 of 275, by Fagear

User metadata
Rank Member
Rank
Member
carlostex wrote on 2020-07-12, 19:13:

So in DuoSID both SID chips listen on the same base port? From what i can see there's only 1 base port selection which means both SID chips Will play the same thing. Wouldn't it be better to have a different base port for SID 1 and SID 2?

Earlier DuoSID and FMonster had user-selectable port for each SID, but user could choose only one setting for each SID.
So user could put both SID's either on one address (to get full mono playback, but "wasting" one of the SIDs) or on different addresses (to get true stereo playback, but suffer with one-channel mono in non-stereo software).
At the moment I'm planning to add a possibility to select multiple addresses for each SID (as I did with OPL2 block), so user can choose more than one address for each SID.
For example, set jumper for 0x280 (default for SSI-2001) for both SIDs and in addition set 0x260 for the left one and 0x2A0 for the right one.
So legacy software, that uses only mono output for SSI-2001 will still play through both channels (via 0x280) but newer stereo-aware software can utilize stereo via 0x260 + 0x2A0 with no need to dig up the card from the case and switch jumpers.

carlostex wrote on 2020-07-12, 19:13:

Other question: let's say i get a FMonster PCB from you and i just assemble the blocks that i'm interested in, DuoSID + COVOX SM+ TANDY + CMS. Will thoso blocks work fine if i don't assemble the missing blocks, dual OPL2 and OPL3? Or do i need to assemble all blocks for the card to work?

Design of the FMonster allows every block to be independent in most cases. I'll have to write down some table and/or manual for separate block assembly.

There are some (very few) shared components and those are located near ISA slot, so those can be found easily.
The main issue will be with clock source. FMonster doesn't use clocks from ISA bus and relies on onboard ones.
All clock generators are in the clock part of the SID clock block (probably it's a good idea to call that block "clock gen block"). There are four clock generators.
Almost every block uses derivative of 14.318 MHz generator, so it should be installed in 90% cases.
OPL3 block gets full 14.318 MHz.
CMS block needs 7.159 MHz, that's 14.318 MHz/2, so you'll need to add one 74HC74D in SID clock block for that.
SN PSG and OPL2 blocks need 3.58 MHz, that's 7.159 MHz/2 so in addition to above you'll have to install another 74HC74D in OPL2 block (even if you are not assembling OPL2 block).
SID and AY blocks have wide range of available clocks so you can get by just with 14.318 MHz generator or you will have to install some or all of other three generators (4.0 MHz, 14.0 MHz, 17.735 MHz) in SID clock block.

Other than those clock sources - blocks are independant. You can assemble only one SN PSG block, put 14.318 MHz generator and 74HC74 in SID clock block and one 74HC74 in OPL2 block, solder in shared components (reset inverter, high address decoder and output audio filter) and you are good to go.
You can never assemble any other blocks or you can add some later if you want.

New BIG soundcard: FMonster.
Covox Sound Master replica
Innovation SSI-2001 replica & DuoSID.
My audio/video collection.

Reply 266 of 275, by carlostex

User metadata
Rank l33t
Rank
l33t
Fagear wrote on 2020-07-12, 20:15:
Earlier DuoSID and FMonster had user-selectable port for each SID, but user could choose only one setting for each SID. So user […]
Show full quote

Earlier DuoSID and FMonster had user-selectable port for each SID, but user could choose only one setting for each SID.
So user could put both SID's either on one address (to get full mono playback, but "wasting" one of the SIDs) or on different addresses (to get true stereo playback, but suffer with one-channel mono in non-stereo software).
At the moment I'm planning to add a possibility to select multiple addresses for each SID (as I did with OPL2 block), so user can choose more than one address for each SID.
For example, set jumper for 0x280 (default for SSI-2001) for both SIDs and in addition set 0x260 for the left one and 0x2A0 for the right one.
So legacy software, that uses only mono output for SSI-2001 will still play through both channels (via 0x280) but newer stereo-aware software can utilize stereo via 0x260 + 0x2A0 with no need to dig up the card from the case and switch jumpers.

That's actually pretty awesome Feature, but i'm not too crazy about using yet another base address. Specially using 260h which is commonly used by a Gravis Ultrasound. That's where i set my GUS cards.

I'd rather use 280h and 2A0h for left and right
SID's and have just the left one play on a single channel than taking another base address. If you really want to do things the way you described, maybe its better to use contiguous addresses, like 2A0h - 2C0h.

I also remember that default Covox Sound Master port is 280h so this would be another reason for DuoSID to take only 2 base addresses max.

I could for Covox Sound Master do the same i did for the CMS/Game Blaster, and patch software for a new base address we all agree on. This way we avoid conflicts.

2COh also seems to be, for now, the favorite address to redirect writes to the Tandy Sound chip SN76489. I don't see a big issue as we can as easily just use a different port, 1E0h seems fine, and that was the address Tandy chose for the later 1000's the RLX and the RSX.

Fagear wrote on 2020-07-12, 20:15:
Design of the FMonster allows every block to be independent in most cases. I'll have to write down some table and/or manual for […]
Show full quote

Design of the FMonster allows every block to be independent in most cases. I'll have to write down some table and/or manual for separate block assembly.

There are some (very few) shared components and those are located near ISA slot, so those can be found easily.
The main issue will be with clock source. FMonster doesn't use clocks from ISA bus and relies on onboard ones.
All clock generators are in the clock part of the SID clock block (probably it's a good idea to call that block "clock gen block"). There are four clock generators.
Almost every block uses derivative of 14.318 MHz generator, so it should be installed in 90% cases.
OPL3 block gets full 14.318 MHz.
CMS block needs 7.159 MHz, that's 14.318 MHz/2, so you'll need to add one 74HC74D in SID clock block for that.
SN PSG and OPL2 blocks need 3.58 MHz, that's 7.159 MHz/2 so in addition to above you'll have to install another 74HC74D in OPL2 block (even if you are not assembling OPL2 block).
SID and AY blocks have wide range of available clocks so you can get by just with 14.318 MHz generator or you will have to install some or all of other three generators (4.0 MHz, 14.0 MHz, 17.735 MHz) in SID clock block.

Other than those clock sources - blocks are independant. You can assemble only one SN PSG block, put 14.318 MHz generator and 74HC74 in SID clock block and one 74HC74 in OPL2 block, solder in shared components (reset inverter, high address decoder and output audio filter) and you are good to go.
You can never assemble any other blocks or you can add some later if you want.

That is fantastic.

Please add me to the list for a PCB.

Reply 267 of 275, by carlostex

User metadata
Rank l33t
Rank
l33t

Any progress on the FMonster?

Been thinking about this: pairing a dual OPL2 block that can be configured with 388/9h for left OPL2 and 38A/Bh for right OPL2 and a Pro Audio Spectrum 16 card could be a poor man's PAS compatible setup. This would require to mute the OPL3 on the PAS 16 mixer, or to take more extreme measures, desolder the OPL3 completely.

Since the FMonster offers this dual OPL2 block i'm very keen on testing this, so i would indeed only leave the OPL3 block unpopulated.

I'm still very interested in a PCB or possibly a complete kit minus OPL3 block.

Reply 268 of 275, by Sphere478

User metadata
Rank l33t++
Rank
l33t++
carlostex wrote on 2020-09-26, 00:58:
Any progress on the FMonster? […]
Show full quote

Any progress on the FMonster?

Been thinking about this: pairing a dual OPL2 block that can be configured with 388/9h for left OPL2 and 38A/Bh for right OPL2 and a Pro Audio Spectrum 16 card could be a poor man's PAS compatible setup. This would require to mute the OPL3 on the PAS 16 mixer, or to take more extreme measures, desolder the OPL3 completely.

Since the FMonster offers this dual OPL2 block i'm very keen on testing this, so i would indeed only leave the OPL3 block unpopulated.

I'm still very interested in a PCB or possibly a complete kit minus OPL3 block.

I also would like to know the latest news on this project

Sphere's PCB projects.
-
Sphere’s socket 5/7 cpu collection.
-
SUCCESSFUL K6-2+ to K6-3+ Full Cache Enable Mod
-
Tyan S1564S to S1564D single to dual processor conversion (also s1563 and s1562)

Reply 269 of 275, by Fagear

User metadata
Rank Member
Rank
Member
carlostex wrote on 2020-09-26, 00:58:

Any progress on the FMonster?

Sphere478 wrote on 2021-01-28, 02:41:

I also would like to know the latest news on this project

Sorry for a long delay from the last update.
Yes, there are some updates.

I've tested 2xSAA1099 debug block (Creative Music System compatible). It is based on Tronix's schematics with some changes.
https://youtu.be/WBGyWLHU8hI

The PCB is pretty old, it's 01 version from 2018. Of course there where some errors - I've forgot to connect /OE pin of 74HC245 data bus buffer and debug board prevented the system from POSTing. I've quickly found the error, added a bodge wire and system booted.

SAA1099s run pretty hot, on the 01 version PCB those were powered directly from ISA bus, but as test revealed it lead to excessive noise on the output, so I rewired SAAs power through a 7805 regulator with radiator that was getting pretty warm.
I've updated PCB project adding a 5V regulator for each SAA synth (regulators I use are 100 mA max, that's at the limit with one SAA) and big copper polygons for heatsinking.

Overall debug block worked ok, but with some problems. Major one - one of the synths was glitching. I had only two of those at the time, so I couldn't replace glitching one and proceeded with tests only on one synth (without some voices).
Most of the tests run fine, music plays, PCB gets detected in software that performs CMS detection via different methods, thanks to Tronix's research on that.
I've found some small errors in that schematic' though, but those didn't affect board's performance in any way.
Basically, I've minimized noise provided from ISA to SAA ICs and resolved bus conflict within the board itself. Those fixes didn't require any additional components, just some rewiring.

MVI_1031_snapshot.jpg
Filename
MVI_1031_snapshot.jpg
File size
80.35 KiB
Views
3962 views
File comment
Internal data bus conflict
File license
CC-BY-4.0

Later I've discovered that second (glitching) SAA synth was intermittent: its performance got better when I touched GND of that IC. That has nothing to do with contact in the DIP socket, only electric contact of me to its GND made a difference. I didn't investigate this grounding issue further, but I still have that IC on hand and I've bought some more SAA1099s for testing.
But there was a problem with DIP sockets. I've made my own sockets from female headers with round holes, but than I've replaced those with regular ones while debugging. And I discovered, that those sockets have too much plastic and it interferes with SMD components that I've put under ICs.

I've made some corrections to PCB project to avoid that in future versions. Also this debug block was the tallest one, so I basically fully re-routed it for the new version, shaving 2 cm of height in progress.

CMS_upd.png
Filename
CMS_upd.png
File size
118.52 KiB
Views
3962 views
File license
CC-BY-4.0

New BIG soundcard: FMonster.
Covox Sound Master replica
Innovation SSI-2001 replica & DuoSID.
My audio/video collection.

Reply 270 of 275, by Fagear

User metadata
Rank Member
Rank
Member

I've also had checked OPL2 debug block (AdLib-compatible).
I was very slow to begin testing this block, so PCB design changed several times before I've got to assemble one. So I've tested version 02.
https://youtu.be/A7bA6h1Hsso

YM3812 is purely digital IC, it does not output analog audio, it needs a DAC - YM3014B. Because of that OPL2 power was connected directly to ISA power lines but DAC was powered through 5V regulator. As a result output noise was less than noise floor of my audio capture, which was great.
The schematic is pretty simple and is not based directly on any other one. Synth IC, DAC connections from datasheet, output opamp from datasheet, data bus buffer (74HC245) is on every debug block, custom address decoder on two 74HC138 that allows different ports (including AdLib's 0x388).

OPL2_2018-08-16.png
Filename
OPL2_2018-08-16.png
File size
57.16 KiB
Views
3878 views
File comment
PC9.ReOPL2.02
File license
CC-BY-4.0

To my surprise, the board just worked. No strange noises, no glitches. Every program and game just worked.
Except for one exception, in Ultima IV music was glitching, but I've found out that if I slowed down test machine (disabled Turbo) it was ok. I didn't have original AdLib or a clone card, so I could not compare, so I've assumed that it was sound driver error in that game.
Later I've found out that there is a patch for Ultima IV, that fixes problems with AdLib cards in fast PCs. I didn't test it, but I assume that it will fix problems with my board as well.
Synth itself and its DAC run cool.

As long as debugging process was very uneventfull I decided to check a dozen of YM3812 ICs that I've bought from China. Most of thost had clearly visible signs of remarking, but that didn't affect their performance in any way.
But I've found some malfunctioning synths. To summarize, in every order from China there were 1-2 defective IC. Two of those produced lound click on start-up and were humming during music playback. But one chip was special... it was internally shorted and was rising in temperature very quickly when powered on. It could reach 100 degrees if left powered for a minute.
So I've decided to spice up my video and supplied that shorted IC with a little bit more voltage and current until it popped.

2020-08-03 02.02.40.png
Filename
2020-08-03 02.02.40.png
File size
164.11 KiB
Views
3878 views
File comment
YM3812 short circuit
File license
CC-BY-4.0

Also, here are some recordings from AdPlay:
https://youtu.be/CsFjrv0YGuc

In regards of further development of this debug block. I've already have doubled it (with shared power stages and address decoder) and I want to make an 2xYM3812 block for "stereo OPL2".

OPL2_2018-10-08.png
Filename
OPL2_2018-10-08.png
File size
212.03 KiB
Views
3878 views
File comment
PC9.ReOPL2.03
File license
CC-BY-4.0

New BIG soundcard: FMonster.
Covox Sound Master replica
Innovation SSI-2001 replica & DuoSID.
My audio/video collection.

Reply 271 of 275, by carlostex

User metadata
Rank l33t
Rank
l33t

A little off topic, but i would love to test one of these dual OPL2 blocks of yours with a PAS16 and see if i could eventually simulate a dual OPL2 original PAS card. It would involve muting the OPL3 on the PAS16 of course, but i feel like i could pull this off.

Reply 272 of 275, by matze79

User metadata
Rank l33t
Rank
l33t

Well i guess this will remain incomplete now for a long time..

https://www.retrokits.de - blog, retro projects, hdd clicker, diy soundcards etc
https://www.retroianer.de - german retro computer board

Reply 273 of 275, by carlostex

User metadata
Rank l33t
Rank
l33t
matze79 wrote on 2022-03-06, 13:33:

Well i guess this will remain incomplete now for a long time..

Well, with the current situation, this could take a looooong time.

Reply 274 of 275, by Fagear

User metadata
Rank Member
Rank
Member

Hello, everyone. Time for long overdue update.

SN PSG block is technically finished (have to order last PCB revision for final inspection).

CMS (Creative Music System) SAA block was thoroughly tested and source of sound glitches was found: SAA1099 really doesn't like to get power from one power line and data referenced to the other.
After a little of brainstorming and testing, I've switched power source for both SAAs to direct +5V from ISA bus, removed one linear regulator and supplied power from the remaining regulator to output stage of SAAs (Iref pins).

2022-12-25 02.32.36.jpg
Filename
2022-12-25 02.32.36.jpg
File size
224.26 KiB
Views
1471 views
File comment
SAA1099 power debugging
File license
Fair use/fair dealing exception

No more glitches, no additional noise, less parts and heat output. Also I've returned low-pass filter onto the block itself because SAAs give out PWM output, that should be filtered first.

DS1Z_QuickPrint17.png
Filename
DS1Z_QuickPrint17.png
File size
24.13 KiB
Views
1471 views
File comment
SAA1099 raw PWM output
File license
Fair use/fair dealing exception

So, technically CMS block is also done.

AY block was tested and debugged. All frequencies are selectable, every AY-variant runs at the same target frequency (no div /2 on AY8930). Output mux works as intended. I've had to write additional DOS program to test CSM/AY block.
I've encountered a strange behaviour with AY-3-8910A, which caused system to crash when testing registers with my software. AY8930, YM2149, KC89C72 and even AVR-AY worked fine.
The problem with AY8910 was too low high-level output signal which caused 74HC245 buffer to oscillate and cause havok on the ISA bus.

2022-12-01_21-56-36.png
Filename
2022-12-01_21-56-36.png
File size
26.27 KiB
Views
1471 views
File comment
74HC245 oscillating
File license
Fair use/fair dealing exception

I've added pull-up on internal data bus of the AY blocks and that solved the problem.
Seems like CSM (Covox Sound Master) AY block is also ready for prime time.

DAC boards were tested, stereo AD7528 is no good for double mono mode, AD7524 works great. https://www.youtube.com/watch?v=d-_dEVZssfU&t=17095
My logic for auto-stereo detection works fine, but there was a trouble with the fact that most of Covox Speech Thing compatible software looks for LPT1 record in CMOS data and with no LPT controller in the system most of the software refuses to work with the DAC.
There is a software workaround: it's possible to alter CMOS data (with debug.exe command or with specially written software) to write 0x378 in place of LPT1 address even if there is no LPT controller and everything will work.
But I wanted a true hardware solution and added hardware "emulator" for LPT controller, so POST procedure will detect DAC block as "LPT controller" automatically.
I've made a new PCB revision with additional ICs and it works perfectly. If jumper is set, POST will detect LPT1 at 0x378 and LPT2 at 0x278 for stereo DAC. PNG
Stereo DAC block is ready to be used on the 2nd stage of the FMonster.

SID block was also finished and I've also took the opportunity to test fit mounting hardware on that block.

2022-12-31 02.08.57.jpg
Filename
2022-12-31 02.08.57.jpg
File size
391.41 KiB
Views
1471 views
File comment
Mounting hardware
File license
Fair use/fair dealing exception

There is one thing: SID block also contains clock gen. I've used 74HC192 counters which were a legacy part from SSI-2001 replica project. You still can buy those ICs but those are pretty rare and not cheap.
Also while updating AY block I couldn't get a required divider with 74HC192s. This prompted me to search for a replacement and I've set on 74HC193s which are pretty silimar to 192s and can give me the required divider.
I've made a new divider circuit for SID block as well (192 was replaced by 193 to keep BOM in check), updated and assembled new AY and SID blocks. All worked well.

2022-08-28 21.59.54.jpg
Filename
2022-08-28 21.59.54.jpg
File size
311.35 KiB
Views
1471 views
File comment
SID debug block (FMonster)
File license
Fair use/fair dealing exception

But one thing still bothered me: 74HC193s were still hard to find in stores. I've asked for help in my Discord and got a recommendation to use 74HC393s.
Those are pretty different, double binary counters in a slightly smaller case, but I've made some calculations and mockups and determined that I could replace all 74HC193s with 74HC393s.
I removed some 74HC74s (/2 and /4 dividers) on the way and put 74HC08s were I needed odd dividers. It all balanced out to be in roughly the same footprint, a little re-organized.
But now my design uses cheap and readily available 74HC393 counters. So AY and SID were redesigned again for that reason.
I've also updated DuoSID board with all new blocks.

OPN2 (Sega MD) block gives me headaches with high noise levels, low output levels and distorted sound. I need to go deeper with power supply of that synth. https://www.youtube.com/watch?v=2VuYXo-_DEk&t=574

OPL2 (Adlib) block was the single block that worked "out of the box" and gave me no problems. But that was the mono variant.
I want a stereo OPL2 block. And I don't want to mess around with jumpers all the time or hear mono only from the left channel.
Thanks to lazy designers of the PAS it is the problem, 'cause they used "mono OPL2" address as "left OPL2" address.
I've tried to come up with some clever logic that can detect access to the right OPL2 chip, but OPL2 has many registers, every software works differently with those, access order and frequency are all over the place.
I've even tried to monitor digital output for the DAC for the silence, but that had proven to be difficult with hard logic, no simple circuit can manage that.
So, at the moment, I've settled on combination of some logic plus RC delay circuit with the trigger. I have to see how that'll work yet. And RC time constant has to be tuned.
Basically, if there are any writes to "right OPL2" chip, circuit will automatically switch into "stereo" mode and will send 0x388 to the left IC and 0x38A to the right IC.
RC circuit will provide timeout function for those accesses for about ~1 s. Software usually polls OPL2 chip much more frequently even if nothing is changing.
When timeout expires, board will switch into "mono" mode and copy writes to 0x388 into both OPL2 ICs and also (later addition) it will copy output from the left OPL2 chip to the right channel as well.
Reads from 0x388 will still return data only from left OPL2 chip in any mode. And "Sound Blaster" accesses through 0x220/0x222 will always go to left/right chips with no mixing.
So I see jumper pack as:
- 0x388/0x38A (Adlib, PAS with auto-stereo)
- 0x220/0x222 (SB Pro)
- 0x240/0x242 (SB Pro)
First jumper can be set independently from second and third position. 2nd and 3rd are mutually exclusive.
So it will work sort of like my auto-stereo for DAC.

OPL3 block works... sorta. It produces sound but problem is with its detection. OPL3 was pretty late in the game and it mostly was used on Sound Blaster board and compatibles and was a "default" additional synth, but not a separate board.
So, many games and other programs refuse to recognize OPL3 presence if those can not detect Sound Blaster or compatible board with all its additional DSPs, mixers, registers.
It will be pretty difficult to implement "Sound Blaster emulation" for detection purposes and also OPL3 is not too dissimilar from OPL2.
And there is a fact that FMonster will not give a proper PCM playback output as Sound Blaster will do.
So it is pretty logical to assume that FMonster will be installed alongside with some PCM-capable board, that... almost certainly will already have OPL3 chip onboard.
My decision for the moment is to axe OPL3 altogether from the FMonter project. It has no place or purpose in it.

MIDI host (based on HardMPU) was tested. Works fine with WaveBlaster header synths and with DIN5 external boxes (tested with SC-55K, MU-90B and MT-32): https://www.youtube.com/watch?v=bZp54Ub9AEw
Didn't test IRQ fuctions yet. My board is compatible on software level but has slightly different schematic from HardMPU to accommodate BOM of the FMonster.

New BIG soundcard: FMonster.
Covox Sound Master replica
Innovation SSI-2001 replica & DuoSID.
My audio/video collection.