IBM

Sound in AIX / Ultimedia Services / FC8244 / AIX OPL3

Due to multimedia being heavily phased out after AIX 4.3.3 and even more-so after AIX 5.3, there aren't many options when it comes to sound and particulalry applications for AIX, especially 7.1+. This is going to focus on AIX 5.3L since it's the last of the newest versions that received some attention as a 'desktop' oriented environment / and also the feature OS for the IntelliStation POWER 185 which I will be using as the machine to run AIX. If some of the UMS (Ultimedia Services) stuff fails, then I suppose a failover to OSS can be done and see how far that can go in its place.

The card that will be used for testing is the 8244 feature code, also known as 'IBM-4281', which is Crystal (Cirrus Logic) CS4281 implemented on a fairly basic PCB.

All of the capacitors are 10uF 25v generic 'canicon' branded--including on the outputs which is pretty low for decoupling (in fact usually you see 220uF or 470uF), this is common practice for OEMs to not pay attention to the spec sheets and just under-valued cheap parts to save money. So I pulled up the datasheet for the DAC (4299-JQZ) and guess what! Figure 18 on page 38 states 220uF is to be used for both stereo output decoupling capacitors. So basically IBM is 210uF short which will affect the filtering and gain of the output.

Image

I've already determined the two main outputs on the FC8244 (C30, C31). These connect to the right and left channels of the output jack accordingly. The solder work was done prior to checking the spec sheet (and I knew 10uF was way too small), however I decided to use 10uF bipolar Nichicon 'BP' series which will at least help a bit, they have the bright green sleeves. The 4299-JQZ datasheet does show polarization for the output, but this is done to save costs / and even if it did show bipolar OEMs would still use polar anyways. C37 and C23 were left alone with the original capacitors since they're not as important, I did replace the three bus capacitors with Rubycon YXF to ensure unwanted noise doesn't get through. If this experiment comes to full fruition, then I shall fix the output with bipolar 220uF, really you could even do 470uF since this card has so little filtering as it is...

(I won't get into the theory why bipolar capacitors should be used in decoupling for audio, but feel free to research that separately / and "bipolar" electrolytics are actually two polarized capacitors in tandem attached by the cathode, Nichicon BP just consolidates that into a tidy neat package)

Time to install the card into le POWER 185 , there's a few tidbits to go over: the utmost top PCI slot is 3.3v, now... virtually all of the computers I own and dealt with sport 5v slots (and then if 3.3v compatibility needs to be maintained, they have two slots). In this case the CS4281 is 3.3v exclusive, as such all implementations of it are always 3.3v, AND to top it off the 185 has a real genuine 3.3v exclusive PCI slot.

Image

The 185 mobo also (*cough choke gag* "planar") has a multimedia USB port thing for the two front USB ports to connect in. I don't think the pin arrangement that is in is standard, but it wouldn't be too hard to convert it to the 'regular' USB pinout and connect a front panel multibay with an SD reader and other goodies--ASSUMING AIX supports such deviltry. I added a green LED strip at the bottom to light up the insides green not that it will be seen much; usually light sneaks through the back

Image

All of the guts put back together (which are quite quintessential IBM) & you'll notice the lightpath diagnostics are on the side of the HDD cage--where all of the U320 magick happens with mystical rainbow cables. The disk in there is a nice 10K cheetah, the same family used in the M Pro 6225s.
---

I started playing with the UMS services on AIX 4.2.1 Bonus CD #1, again. The services I've attempted to install are as follows (I'm not installing the 'ultimedia devices' because they are legacy chips on legacy busses--MCA and ISA).

I:UMS.H_32x 2.2.1.0
I:UMS.demo 2.2.1.0
I:UMS.html.en_US.prog_gd* 4.3.2.0
I:UMS.html.en_US.user_gd* 4.3.2.0
I:UMS.info.en_US.user_gd* 4.2.2.0
I:UMS.objects 2.2.1.0
I:UMS.samples 2.2.1.0
I:UMS.speech 2.2.1.0
I:UMS.video_ext 2.1.8.0

*asterisked stuff has no requisites

After attempting to SMIT them, I get the following list of requisites:
bos.info.en_US.nav 4.1.0.0
bos.rte v=4, r<3 (Base Operating System Runtime)
bos.som.comp 4.1.3.0 (SOM Compiler)
bos.som.rte 4.1.3.0 (SOM Run-time Kernel and Interface Repository Framework)
bos.som.util 4.1.3.0 (SOMobjects Utility Classes)


There's one thing that disturbs me, and that's "bos.rte v=4, r<3", is that referring to the runtime or requiring that version of the OS itself? (excuse my neophyte inquiries, it's still something I'm learning).
---

Onto OPL3, I couldn't try out the CS4281's broken FM due to having no 3.3v PCI x86 computers that could run DOS, so I was wondering if I could just play around with that on AIX itself. Adlibtracker II does have the source code available for download:
http://www.adlibtracker.net/downloads.php

Now Free Pascal does support compiling into AIX, so-- would it be possible to just compile that source code onto AIX?
http://wiki.freepascal.org/FPC_AIX_Port

Really all that's required is for the program to run and speak to the CS4281 over port 388h (of course the port can be changed to whatever we want, but it sniffs that out by default). There are a few things that I don't quite understand, however:
#1 how exactly do you configure GNU BinUtils with "./configure --target=powerpc-ibm-aix5.3 --with-sysroot"
#2 there doesn't seem to be an AIX .RPM package for Free Pascal, so is it installed in some other arcane fashion with the mentioned snapshots?

I'm going to assume that compiling this on AIX itself would be easier than cross-compiling on Windows, correct me if I'm wrong .