SBEMU icon indicating copy to clipboard operation
SBEMU copied to clipboard

AMD Geode AC'97 support request

Open hooddy opened this issue 1 year ago • 10 comments

Is it possibly to add AMD CS5536 Geode companion AC'97 compatible onboard card? https://www.amd.com/content/dam/amd/en/documents/archived-tech-docs/datasheets/33238G_cs5536_db.pdf

hooddy avatar May 14 '24 08:05 hooddy

Theoretically yes, but to make it work, a PC with such audio controller is needed for debugging.

crazii avatar May 16 '24 20:05 crazii

Theoretically yes, but to make it work, a PC with such audio controller is needed for debugging.

It would be nice if ya find time and motivation. But I can live and without it for sure. I can not port linux-driver coz i'm not a coder.

hooddy avatar May 17 '24 11:05 hooddy

OK, I'll try to find one with such audio controller in the mean time. what's your PC that equipped with this one?

crazii avatar May 17 '24 11:05 crazii

Its Russian netbook Cameron Maxmedia NB-1060, the same as Russian netbook Roverbook Neo U101. Both is Chinese Malata PC-81001 netbook in origin. Its quite old and there almost none info for it available.

There is Brazil description of the same netbook https://www.hardware.com.br/artigos/proview-81001/

hooddy avatar May 17 '24 13:05 hooddy

I have also a machine with this chipset - it is an UNO-1150GE von advantech https://support.elmark.com.pl/advantech/pdf/UNO-1150Gds.pdf. I am also not experienced in linux driver porting, but i could test some results.

ElTentakel avatar Sep 07 '24 08:09 ElTentakel

Even if I have no experience with driver porting, I thought I'll give it a try. But unfortuantly some functions are missing which suspect are very important, especially snd_ac97_set_rate. I assume that is necessary to set the sample rate and thus be implemented? Do you have any hints how to handle this?

Screenshot 2024-09-16 203529

/edit: maybe we don't have to set the sample rate at all? Standard for AC97 is 48000, so maybe it doesn't have to be set.

ElTentakel avatar Sep 16 '24 17:09 ElTentakel

Chiming in. I took three Geode LX boards, TR 2350 from Fujitsu-Siemens (they seems to be decommissioned Amilo A220 or something like that) - I wanted to gift them to my friends (we're all over 40, I even printed custom cases) because it seems great for retroemulation (it also has a PATA connector!). The audio is from a Realtek ALC. Obviously SBemu isn't detecting the card... let me know if something is moving on that front.

ConteZero76 avatar Mar 18 '25 16:03 ConteZero76

I've a couple of ALIX1/3 boards from pcengines.ch and I'm trying to work on this: https://github.com/No0ne/SBEMU/commit/59dd0764f71ae062ef6a8a425a7977fcf6298e5f But at the moment its neither finished nor working yet, it crashes after detecting the chip.

No0ne avatar May 17 '25 19:05 No0ne

I've a couple of ALIX1/3 boards from pcengines.ch and I'm trying to work on this: No0ne@59dd076 But at the moment its neither finished nor working yet, it crashes after detecting the chip.

Hi, i build it under DOS and added some debugging infos. Seems that private_data is 0x0, so you get a null pointer dereference:

https://github.com/crazii/SBEMU/commit/59dd0764f71ae062ef6a8a425a7977fcf6298e5f#diff-6f3b6c0db41db0683143a0241bc72efc7997ccb56c01658e27e009dbd1de8344R255

int snd_cs5535audio_create(struct snd_card *card,
				  struct pci_dev *pci)
{
	struct cs5535audio *cs5535au = card->private_data;
	int err;
...

geodedbg("pci_resource_start\n");
	cs5535au->port = pci_resource_start(pci, 0); // <--- right here

If i find more time I might look into it. I just wanted to share my findings.

/edit: looking through the other drivers, cs5535au must be allocated manually with kzalloc, see als4000.c:912

        acard = kzalloc(sizeof(*acard), GFP_KERNEL);
        if (!acard)
          return -ENOMEM;
        card->private_data = acard;

with that, sbemu is at least starting, but i can hear nothing. Also Doom hangs at sound initialization and reports, that it getting no response from the soundcard. Maybe the audio part is not starting properly?

ElTentakel avatar Sep 02 '25 09:09 ElTentakel

Cool thanks, I've currently no time to work on this until next year. Would be great if could manage to get sound out of it.

No0ne avatar Sep 04 '25 08:09 No0ne