We're currently working on reverse-engineering the FB-01 Z80 firmware and making a reimplementation in regular C, to be used for emulation in DOSBox or as a standalone Windows MIDI device.
Now I wonder... if you would put a YM2151 and some modern microcontroller on an ISA card (such as an Atmel, like the HardMPU), you could run the new firmware on there, and create an IMFC clone.
Might have to revisit that idea once the reimplementation works in software.
This would be awesome, tackling yet another rare sound standard.
The FMonster has stereo Speech Thing but no Sound Blaster DAC/controller?
The FMonster itself will not have any DAC functionality. Optional daughterboard will have Speech Thing compatibility. Sound Blaster and/or another DMA-capable DAC is not planned. But it still can be added as another daughterboard.
Fagear wrote:What I plan to put onto main board of FMonter at the moment:
= clock generator
= DuoSID (2xSSI = 2xMOS6581) + address selector
= […] Show full quote
What I plan to put onto main board of FMonter at the moment:
= clock generator
= DuoSID (2xSSI = 2xMOS6581) + address selector
= CMS (Creative Music System = 2xSAA1099)
= OPL3 (1xYMF262)
= Tandy PSG (1xSN76489)
= Stereo OPL2 (2xAdLib/SB = 2xYM3812)
= CSM (Covox Sound Master = 1xAY8930)
= mixer/filter
And there will be an optional daughterboard, which for the moment is planned to host:
= MIDI host controller (HardMPU-compatible)
= Stereo 8-bit DAC (2xCovox Speech Thing = 2xADAD7524)
= OPN2 (Sega MD = 1xYM2612)
I'm throwing money at my screen but nothing is happening. Any idea why that is? Eh, we'll sort it out later 😎
This setup is pretty much ideal for running every sound option for Ultima VI. I'm also curious to see how hard we can finagle software to use all of these sound options alongside a primary sound card. For example, Ultima Underworld has dual-OPL2 support and I think Ultima Underworld II does as well. I'm hoping the software setup can point to something like a Sound Blaster Pro 2 using Sound Blaster Pro 1 settings, with the ports for the OPL2 support set specifically to the addresses on FMonster. Or, even better, being able to point all the dual OPL2 Pro Audio Spectrum games at this would be absolutely bananas.
Fagear wrote:
A chocolate bar. 😁
Add some copper heat sinks to these cards and call them peanuts.
Last edited by MrSmiley381 on 2019-07-13, 11:55. Edited 1 time in total.
I spend my days fighting with clunky software so I can afford to spend my evenings fighting with clunky hardware.
Seriously. You guys really don't want my kids to go to college....
Ditto dr.zeissler's question.....
386DX-40MHz-8MB-540MB+428MB+Speedstar64@2MB+SoundBlaster Pro+MT-32/MKII
486DX2-66Mhz-16MB-4.3GB+SpeedStar64 VLB DRAM 2MB+AWE32/SB16+SCB-55 MY BLOG RETRO PC BLOG: https://bitbyted.wordpress.com/
Just a very small update.
Did I tested even one debug board?.. Nope. 😢
But I've made another version of HardMPU-based block, more suitable for FMonster (narrow and tall, with jumpers on the top edge). 😐
Some components were changed, so it does not based on the original schematic. But should still work like one.
Total block width: 31.8 mm.
Too much work, repair projects, Covox Sound Master needs to be updated and worked on, BLASTERBOARD needs to be assembled and shot on video in a process and so on. 😵
PCBs are still not tested... 😢
But I've moved the project a little bit further.
Small update for MIDI host block (due to WaveBlaster header integration into design).
Interface parts with external connectors were added as well as internal WaveBlaster header.
Next, some things were re-thought in process of integrating all of the blocks into FMonster main board.
Now it is not just an outline and some blocks that were thrown in. 😎
I've tried to implement the sound mixer.
At first I thought that I'll pull output traces from each block to the right side of the board and then mix all of them there. But I quickly realized that there will be no place for all those traces on top of the board. AND I have to squeeze WaveBlaster header between those somehow. 😐 So, I've transitioned to an idea of "distributed mixer" with "pseudo-differential" buffers to prevent ground loops via outputs of multiple blocks.
Here is debug block of the mixer (with low-pass filter):
After several iterations of buffer amp design I've managed to squeeze it into 7.7 mm of height.
Than I've redesigned ISA bus along the bottom of the card.
And... CMS (Creative Music System) block didn't fit in between. At was the tallest block (about ~70 mm). Last revision of it was made almost a year ago. So... It was time to retrace CMS block. 😈
And I've done it.
New version is 2 mm thinner and (what mattered most) more than 10 mm lower. And now it fits. 😎
In the process I've added two linear regulators (one for each SAA1099, because one regulator will not supply enough current to both SAAs).
The next achievement - I've finished the right side of the main board that was not touched before.
What was done?
- determined set of connectors (line output 3.5 mm, 2x MIDI outputs mini-DIN, MIDI input mini-DIN)
- added mounting points for Keystone 9202 metal bracket (I will not supply it, I will supply PCB bracket, but Keystone 9202 can be installed if desired)
- added output low-pass filter
- added MIDI interface circuitry
All that resulted in a clear line from which I can put all synth-blocks. 😀
And that is almost ready FMonster main board! 😎
Only AY (CSM) block is not ready yet, everything else is in place and is fully connected (ISA, power, output, mixer).
I've changed order of the blocks, now 2xSID (DuoSID) block is on the right side of the main board and clock circuit is to the right side of this block. This was done to decrease number and length of clock traces on the board. For example, the only part that requires 14.318 MHz is OPL3 block. And now it is right to the right side of clock block with a shortest clock line.
Also there was one problem with sorting synth blocks... The WaveBlaster header. It should be as closest to the right side of the main board as possible.
Because, first, MIDI data trace should be short to prevent interference and, second, not to overweight the right, not supported, part of the board.
But WaveBlaster header is pretty long and spans for overall distance between main board and optional MIDI synth board. So, if there will be an output level trimmer below the header - it will become useless. And that was the problem - I had almost none combination of blocks that will give me that long distance without any trimmers! But I've managed to find and implement one. 😈
A small update.
I've got some respectable MIDI synths from Japan:
- classic Roland MT-32 (to test authentic games with Intelligent mode)
- Roland SC-55K (Karaoke version, without display and buttons, but for much cheaper; to check General MIDI)
- NEC XR385 (Yamaha DB50XG clone, also for much cheaper; for testing WaveBlaster header)
I have some questions for everybody reading this thread.
1) If you have XR385 and/or any other "full-size" "WaveBlaster-compatibles" (like Creative WaveBlaster - CT1900, Roland SCB-55, Yamaha DB50XG, etc.) can you measure dimensions of your boards? And relative positions of mounting holes from edges? I can't get enough precision from photos and scans from Internet on those measurements...
2) If you have any "full size" ISA boards, can you measure dimensions of your boards? Are those in check with specs? If you have a case that has support for edges of long cards - do those cards fit in those cases?