carlostex wrote:What i'm hoping is that shock__ can have access to moturimi1's card and help Fagear with tracing what's left to be traced. That's not everything that needs to be done though, there is a PAL chip on the Covox Sound Master that needs to be probed and then its function replicated either by a GAL or some 74 series logic.
Yep, I can not proceed with reverse engineering of that card without some information about traces. If the card was in my hands it will be completed in a day, with card staying intact. But no such luck. And I'm not too concerned about PAL IC, because it definitely manages address decoding. Not only for AY chip, but also for DB-9 ports that can be dropped I think. If we'll find, at what addresses AY chip is present on that card (by software tests or by manuals for that card) I now can create a new decoder with 74HC138, no big deal.
carlostex wrote:One of the things i've been wondering is how difficult it would be to clone an IBM Music Feature Card. There would be absolutely no need to replicate the MIDI interface on the card which would greatly simplify it. I don't know about parts availability but at least the YM2164 FM chip seems to be available in UTSOURCE. Get rid of the MIDI interface, just keeping the sound capabilities and another rare sound option biting the dust.
Scali wrote:You can't get rid of the MIDI interface, unless you want to move it into software.
Namely, the IMFC is basically the same thing […]
Show full quote
You can't get rid of the MIDI interface, unless you want to move it into software.
Namely, the IMFC is basically the same thing as a Roland LAPC-I card: it's a MIDI interface with a MIDI module connected to it.
The YM2164 cannot be accessed directly by the host. It contains a Z80 processor and its own firmware, and is basically a Yamaha FB-01 module.
The only way to access it is via the MIDI interface (the interface is connected both to the onboard FB-01 module and the external MIDI ports).
MIDI interface?...
keropi wrote:well, I don't know if it will help in this specific application but the PCMIDI interface will be available in daughterboard form so a potential IMFC card could use that instead of cloning the IMFC mpu stuff...?
Well... that. We are working with keropi now to adapt his PCMIDI clone card for my board (and probably not only mine). 😎
The attachment 2018-07-26 22.05.16.png is no longer available
In the ideal scenario all synths will fit on the board and also you will be able to, first, plug in a daughterboard that keropi will make and after that you'll get functional MIDI In/Out at the bracket (with UART and Intelligent modes support as well) and a WaveBlaster header on the board itself. So you can attach any Roland/Yamaha/DreamBlaster/whathaveyou midi daughterboard into what will become an evil brick of the sound. 😈 🤣
Also I've started working on 8-bit DAC which probably will end up on the card if there will be space left for it.
It will be Covox Speech Thing - compatible. But I don't want just to put mono R-2R DAC. At least I'll go with proper latched and buffered ADC IC like AD7524 and an opamp at the output. But the aim is to make it stereo... That's where I have problems for now. As I've managed to find, there are at least two variants of how you can get stereo Covox.
Path 1) Put two DACs (whatever they are) to the same port and strobe them with two control pins (1 and 14) of the LPT connector.
The attachment Covox_stereo_strobed.png is no longer available
For start, I don't have an LPT port on my board. Making user to connect some bulky cable to existing LPT and plug it somewhere into the board is just nonsense.
So, I have to implement necessary functions of the LPT myself. Decoding address, putting a bus driver - no big deal. But... "True" LPT has not one but three registers: Data, Status, Control and allows writes to Data and Control and reads from all three. Fortunately, Covox doesn't need to read anything, so read function and Status register could be dropped. But I have to implement at least two lines of Control register that go to pins 1 and 14. Address decoder will be pretty complicated, great number of additional logic ICs have to be put on the board where is not much space left. Not a good idea.
And also this approach will probably not work with "simple" Covox output without control line strobe.
The attachment full_LPT.png is no longer available
Path 2) Put two DACs to two different ports and treat them as two Covoxes in the system. At least one tracker does support such configuration (LPT1+LPT2) as I know (I do not know much about Covox for the moment). Now I do not need to strobe anything and I can drop Control register as well. So only Data register is left, which is pretty simple. Also any type of output (strobed or not) will work. And if software supports two DACs on two ports - stereo will work as well. 😎
But there is one annoying thing: mono/stereo switch. If software will output only mono into one DAC it will not be dual mono, it will be sound only from left channel. Putting switch somewhere on the edge of the card or the bracket and forcing user to switch it whenever he changes Covox software or played tracks - also nonsense.
So, I have to implement some kind of automatic switch. I've found a schematic (from Dave Boyd) for the variant of Covox stereo DAC with 555 timer and some misc parts to provide automatic mono fallback, but there was a good number of discrete parts that would take space. Also it relies on analog timing circuit with a cap that can go bad. Not the best implementation in my opinion.
There is a problem: I didn't find how various software treat LPT1+LPT2 Covox configuration. I assume that it interleaves addresses like that: 378/278/378/278/378/278... If that is true, I already have a solution. If not... I have to research and engineer more.
BTW, here are some reengineered blocks of the board.
OPL2 before:
The attachment OPL2_2018-05-25_01.png is no longer available
OPL2 now:
The attachment OPL2_2018-05-25_02.png is no longer available
Length reduced from 59.4 mm to 48.9 mm while gaining more useful ports, jumpers moved to the top edge and there is "OPL2 active" LED there!