VOGONS


MCA Adlib card -- just need pictures

Topic actions

Reply 20 of 68, by TrekkiesUnite118

User metadata
Rank Newbie
Rank
Newbie

So I've also been taking a look at the DMA capable P82C612. This is what the MCA Sound Blaster used so I've been seeing if maybe it could be used to make something more capable than an adlib clone. So far I've been playing with the idea of connecting it to something like an ES1668 which is what the Sound Piper and Chip Chat cards used. So far I've come up with this:

https://i.imgur.com/PoucPvD.png

Again the same things apply, I'm basically just playing connect the dots between the data sheets and would need someone more experienced to step in and check it. Also this is just the connections between the MCA bus, the P82C612, and the ESS chip. There's nothing for the output, mixing, MIDI/Gameport, External Wave Table, etc. Also not all of the POS stuff is really figured out either. I don't think it would be too hard though, as there's tons of examples in the P82C612's data sheet.

Reply 22 of 68, by elianda

User metadata
Rank l33t
Rank
l33t

Hello

I just found this thread by accident after _Roffe_ send me personal message through the forum.

After all the years I own and have this card in my gallery 1) I recently get quite a lot requests either by Discord or forum PMs or threads like this popup. Mostly it is hard for me to know who is actually requesting information due to a missing introduction.
The only one that directly contacted me by email as given on my website was Eric Schlaepfer also known from e.g. https://twitter.com/TubeTimeUS and http://tubetime.us/
He has already published a reverse engineered SB 1.0 and MPU IMC openly on github at https://github.com/schlae/snark-barker an https://github.com/schlae/mpu-imc
As soon as there is progress on the Adlib MCA there will be also information published openly in the same way.

I would strongly recommend to team up in one way or another instead of attempting to make three independent developed clones.

There is currently the theory that my Adlib MCA is not broken at all, it is just too slow for the Model 80. I currently have no other IBM PS/2 to test. Maybe shock__ still has one?

1) It was already a very long time here in my old gallery: https://mail.lipsia.de/~enigma/neu/pictures.html

Retronn.de - Vintage Hardware Gallery, Drivers, Guides, Videos. Now with file search
Youtube Channel
FTP Server - Driver Archive and more
DVI2PCIe alignment and 2D image quality measurement tool

Reply 23 of 68, by TubeTimeUS

User metadata
Rank Newbie
Rank
Newbie

Hey folks, just a quick post to chat about what I've been working on (https://twitter.com/TubeTimeUS/status/1162557495841189888). Yes, that's an Ad Lib MCA card based on photos that elianda/enigma provided. Here is the current status...

I have a design that I'm about 90% sure matches the original. I had to do a quite a bit of forward engineering as well since many traces on the top were completely covered by parts, and there are other parts which were shadowed by other parts whose existence I had to infer. All this involved extensive study of the 82C611 datasheet as well as the IBM MCA specification documents. This also enabled me to come up with PAL code that should work, although it won't be exactly the same as the original. Boards are on order, so stay tuned as to my progress in the coming weeks. I fully expect to spend some time with my PS/2 Model 50 and a logic analyzer to get this to work.

That being said, there are some design problems with the original card:

  • Timing issues make the card incompatible with later MCA bus machines. This probably explains why the card is not even detected by the BIOS on elianda's machine, which is a Model 80 that runs with a faster bus cycle. The reason for this is that the card uses LS series TTL which is a bit too slow. Another reason is that the YM3812 is too slow for fast MCA machines, so even if the logic were replaced with HCT or F series devices, audio playback may not work correctly, and auto-detect routines may not work at all since they read from the I/O port.
  • I'd like to modify the design to add wait states to make it compatible with more machines. The 82C611 has provisions for doing this, but for whatever reason the Ad Lib engineers chose not to implement it.
  • Finally, the 82C611 itself has been obsolete for a long time and I can't find a good source for it. I have ordered and received a few of them from a Chinese supplier, but their stock is nearly depleted. After studying the datasheet and the MCA spec, I think it's feasible to replace it with a CPLD since the logic isn't terribly complex.

So I've made a lot of progress, but there are still some things I need help with:

  • People who have PS/2 systems other than the Model 50 and the Model 80 to beta test the card
  • People knowledgeable about MCA bus timings that can recommend PS/2 models to test the card with
  • Recommendations for CPLDs to use for the 82C611 replacement. This could eventually turn into an 82C612 replacement which could be quite useful for another project that might be on my list...
  • Also if anyone is knowledgeable about the 82C611 it would be good to have help reverse engineering it. I'll take a crack at it myself, naturally. If you want to do that, best to order the parts now before they go out of stock!

Of course, I plan to release the schematic and files just like the other cards. I'd rather hold off on that until I know that I have a card that at least works in the Model 50 with the 82C611. Hopefully it'll just work, and then I can release the files soon!

Reply 25 of 68, by _Roffe_

User metadata
Rank Newbie
Rank
Newbie

Sounds like there are a lot going on with this card 😀
As iam not an expert on MCA and re engineering stuff with waitstate and so on, my ide was to just put a card in a pin out machine that gives me a cad with all the layers and circuits, and then just get all the ICś..
OFC there will be work to be donr any ways, but yes, that pin out machine helps a lot!
Just make a quick clone 😀

Last edited by _Roffe_ on 2019-09-07, 13:24. Edited 1 time in total.

Reply 27 of 68, by TubeTimeUS

User metadata
Rank Newbie
Rank
Newbie
_Roffe_ wrote:

And the PAL chip dose not seem to have any lock bits or security, so should be easy to copy the code from it 😀

Really we don't even need that. It's just an address decoder and a tiny bit of glue logic which I was able to reverse engineer from understanding how the card is supposed to work. 😀

Reply 28 of 68, by _Roffe_

User metadata
Rank Newbie
Rank
Newbie

Sounds even more great 😀
Iam off to the woods to sleep in my hammok but iam back in 1-2 days 😀
My friend and i really want to make this work, both for the fun of it but I also want a sound card to my Model 70 😀

Reply 29 of 68, by shock__

User metadata
Rank Oldbie
Rank
Oldbie

I don't own any PS/2 machines this point.
But both thumbs up for reverse engineering this extremely rare card.

Current Project: new GUS PnP compatible soundcard

[Z?]

Reply 30 of 68, by PhantomEight

User metadata
Rank Newbie
Rank
Newbie
TubeTimeUS wrote:
So I've made a lot of progress, but there are still some things I need help with: […]
Show full quote

So I've made a lot of progress, but there are still some things I need help with:

  • People who have PS/2 systems other than the Model 50 and the Model 80 to beta test the card
  • People knowledgeable about MCA bus timings that can recommend PS/2 models to test the card with
  • Recommendations for CPLDs to use for the 82C611 replacement. This could eventually turn into an 82C612 replacement which could be quite useful for another project that might be on my list...
  • Also if anyone is knowledgeable about the 82C611 it would be good to have help reverse engineering it. I'll take a crack at it myself, naturally. If you want to do that, best to order the parts now before they go out of stock!

I have a model 60 with a two different CPU upgrades. A Kingston SX/25GAM and an IBM 486SLC2 50Mhz. I can swap them and test with both. Been meaning to find an original 286 just to have it, but haven't had a reason yet.

Reply 32 of 68, by TubeTimeUS

User metadata
Rank Newbie
Rank
Newbie

Quick update--the card is basically working (see https://twitter.com/TubeTimeUS/status/1173758579020402689) but there appears to be some sort of setup conflict with the hard drive that makes me run the setup disk every cold boot. Once I figure this out, I'll need to make a decision.

One thing I could do is release the card the way it is (with the 82C611 and no wait states). This card is close to the original design but uses a hard to get part (the aforesaid 82C611) and won't run on faster MCA machines.

Another approach is to replace the 82C611 with a CPLD. I've been looking into parts from Atmel, Lattice, and Xilinx. Some are 5V natively and others are 5V tolerant and would require some level shifters. In any case I want a device that can be easily programmed using openocd and a simple FTDI cable or Bus Pirate type thing. This part should be available from the usual suspects (Digi-Key, Mouser, etc) and implement wait states.

Of course, I could always do both. I like the idea of the 82C611 equivalent in a CPLD because that could lead to more advanced sound cards for MCA machines. On the other hand, eeguru on the VCF forums is working on some sort of magical universal MCA bus sound card (http://www.vcfed.org/forum/showthread.php?618 … 0736#post580736) so perhaps I won't bother.

Any suggestions?

Reply 33 of 68, by root42

User metadata
Rank l33t
Rank
l33t

I have no PS/2 machine, so I am currently not in the target audience, but having a genuine, reverse engineering of the MCA Adlib would be very cool, despite the efforts of eeguru. Since the 82C611 is rare, I would also recommend to go for the CPLD. This will make it more likely that people actually build this card.

YouTube and Bonus
80486DX@33 MHz, 16 MiB RAM, Tseng ET4000 1 MiB, SnarkBarker & GUSar Lite, PC MIDI Card+X2+SC55+MT32, OSSC

Reply 34 of 68, by Benedikt

User metadata
Rank Oldbie
Rank
Oldbie
TubeTimeUS wrote:

One thing I could do is release the card the way it is (with the 82C611 and no wait states). This card is close to the original design but uses a hard to get part (the aforesaid 82C611) and won't run on faster MCA machines.

Another approach is to replace the 82C611 with a CPLD. I've been looking into parts from Atmel, Lattice, and Xilinx. Some are 5V natively and others are 5V tolerant and would require some level shifters. In any case I want a device that can be easily programmed using openocd and a simple FTDI cable or Bus Pirate type thing. This part should be available from the usual suspects (Digi-Key, Mouser, etc) and implement wait states.

My suggestion is to keep the design the way it is and to move the 82C611 emulation to a separate project.
The CPLD would then sit on a small (and therefore dirt cheap) adapter board that either plugs into the board itself via 2.54mm pin headers or into the PLCC socket via 1.27mm pin headers.
This approach would also allow people to repair or upgrade existing MCA boards.

Does the MCA bus use 5V CMOS or 5V TTL levels? A 5V tolerant 3.3V CMOS part should be 5V TTL compatible.

Reply 35 of 68, by eeguru

User metadata
Rank Newbie
Rank
Newbie

It will be a while before my card becomes available and it will likely not have OPLx support until it goes FOSS. And MCA support will be after ISA - so at least mid-2020. So it's worth-while to press forward.

I have a working test card for MCA that uses a MachXO2 and what I call 'full' level translation. I built the card before a lot of lessons learned with ISA test sound cards. It uses mostly SN74LVC8T245DGVR ICs for single and bi-directional level translation (TR1 and TR2 grouped signals), SN74LVC07ADGVR open-drain drivers for the IRQ outputs, and a combination of both for tri-state in/outs like PREEMPT#, BURST# and the arbitration lines.

In the ISA variation of the test cards, I've used ATF1502/4s for essentially individual tri-state control of signals like ISA ready, ZWS#, and IO16#/MEM16# as well as muxing of DMA and IRQ signals since there only needs to be one active at a time (IRQ and DMA are arbitrated and muxed for internally amongst the cores). This conserves a lot of pins on the FPGA as well as reduces the level translation count.

I was hoping Eric would be able to make VCF-MW this past week to chat about MCA. But I guess I'll have to catch up at PNW. I'm open to talk and share my MCA solution if you're interested in either using it or comparing notes.

The BFA3K sound card project was officially announced at MW in a talk. Jim should have the video posted any day now.

In the mean time, I'll clean up the MCA Verilog this weekend so I can share it more freely. I don't have DMA or bus-mastering support yet. Still trying to find time among-st other priorities.

Reply 36 of 68, by Benedikt

User metadata
Rank Oldbie
Rank
Oldbie

There are suitable professional PLCC adapters for the 82C611 emulation part:
https://ae.rsdelivers.com/product/winslow/w93 … itch-ic/7419650

They are a bit pricey but look like something that can indeed be improvised with 1.27mm pin headers and perhaps a square piece of PCB for mechanical support.

Reply 37 of 68, by TubeTimeUS

User metadata
Rank Newbie
Rank
Newbie

Today I finished building and testing a version of my MCA Adlib clone that uses an off-the-shelf CPLD instead of the hard-to-find 82C611. (https://twitter.com/TubeTimeUS/status/1197326314979512320)

I've implemented a synchronous extended transfer cycle for read operations since the YM3812 requires a 200ns-wide pulse for reads. However, I can't test it on my model 50Z because it defaults to 1WS transfers for all IO operations.

For that I will need some volunteers who have a PS/2 model 70, 80, or 90 to test a prototype card for me, since these models have the shortest transfer cycle times. People who also have access to a logic analyzer will get priority since I may need some confirmation that the cycle is working properly. Even better (but not required) is if that person has the ability to reprogram Xilinx CPLDs. I use the FTDI FT2232H Mini Module along with the xc3sprog software. Also, if someone has a Model 55, 65, or 95 (slow ones) it would also be nice to get it tested since those have medium speed transfer cycles and it would be nice to check compatibility.

At this point I could, within the next few days, release the original clone of the card requiring the 82C611. This card, although very close to the original, does not support synchronous extended transfer cycles and won't work in faster PS/2 models. Anyone have any thoughts about that? I figure most people will want to wait for the CPLD version.

Reply 38 of 68, by pentiumspeed

User metadata
Rank l33t
Rank
l33t

https://comp.sys.ibm.ps2.hardware.narkive.com … annel-interface
And many other MCA chipsets.

I had PS/2 machines including 95 desktop but unfortunately went out. I currently have 70 running 20Mhz on a 16MHz motherboard (small motherboard type). Keep in mind the much rarer 70-A type which use daughterboard processor with 64K cache using intel 385 cache controller to go with 25Mhz CPU/FPU. And way more rarest is 70-B which is same type of daughterboard but using a 486 but A and B uses same board, different firmware.

I do have incomplete model 80 which is board with cache (25Mhz, 8MB set, cable and floppy drive) what I needed is complete tower case for 60, 65 or low end 80 to put my parts in.

Cheers, pentiumspeed

Great Northern aka Canada.

Reply 39 of 68, by TubeTimeUS

User metadata
Rank Newbie
Rank
Newbie

Since I have a running CPLD implementation, I figured there's no reason not to release the existing P82C611 version!

Twitter announcement here: https://twitter.com/TubeTimeUS/status/1205968405309689856

Git repo here: https://github.com/schlae/plaid-bib

Happy holidays everyone!