Jump to content

ATI AC 97 Sounds (SB400) effort


  • This topic is locked This topic is locked
695 replies to this topic

#101
scousi

scousi

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 308 posts

Ahhhh, okay. I've worked with a lot of hardware, but sound cards are the one thing I haven't messed with in driver terms. It makes sense now why the interrupt wasn't firing - it doesn't have to. So it does indeed appear to be in the getDMAEngineHardwarePointer function. I just don't understand why the hardware pointer doesn't appear to be incrementing. I'll keep poking around the Linux source and let you guys know if there's anything of import that we missed.


I've never dealt with sound either. I had written firmware for Motorola HC16 microcontroller and the SHARC DSP.

Maybe it is firing and needs to be serviced as far as the hardware goes. But OSX doesn't expect anything.

But even if you enable all interrupts, they still don't seem to ever receive any.

#102
thedopefishlives

thedopefishlives

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 205 posts
I think the interrupt handling has something to do with our problem. If there was a way to reliably tell whether the interrupt was firing, I'd like to know about it. I think the interrupt handler's "ack" function is what causes the DMA hardware pointer to increment. In other words, I think the hardware is doing the following:
Set up the DMA
Start running
Transfer data via DMA
Signal interrupt for data completion
Wait for acknowledgment
Increment hardware pointer and continue
And we get stuck on that last part, because the interrupt isn't being serviced. If you look at the Linux driver's interrupt service routine, that's what it does, as well as running some PCM routines that I presume have been handled somewhere (I get a clicking noise in my speakers when the first sound is triggered, so something happens).

#103
EdFlyer

EdFlyer

    Computer Lackey

  • Members
  • PipPipPip
  • 159 posts

I think the interrupt handling has something to do with our problem. If there was a way to reliably tell whether the interrupt was firing, I'd like to know about it. I think the interrupt handler's "ack" function is what causes the DMA hardware pointer to increment. In other words, I think the hardware is doing the following:
Set up the DMA
Start running
Transfer data via DMA
Signal interrupt for data completion
Wait for acknowledgment
Increment hardware pointer and continue
And we get stuck on that last part, because the interrupt isn't being serviced. If you look at the Linux driver's interrupt service routine, that's what it does, as well as running some PCM routines that I presume have been handled somewhere (I get a clicking noise in my speakers when the first sound is triggered, so something happens).


I can also confirm the click, and from what I can tell in debug logs is that we do all that, but yeah, the problem is with the position. I was hoping that if we got that position working then we'd get something happenning, but not yet.

#104
Roxas

Roxas

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts
Hi i also have ATI AC97 onboard sound, however i have device id 4341.
My laptop vendor site says it's a Realtek ALC 250, am i dealing with the SB400 ATI sound card, wich you guys have a hard time with, or am i dealing with another type and the normal AppleAC97 kext should work for me?(it doesn't i tried hehe).

#105
thedopefishlives

thedopefishlives

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 205 posts
I'm still confused why the hardware pointer isn't advancing. Maybe we're not setting up the DMA properly?

#106
EdFlyer

EdFlyer

    Computer Lackey

  • Members
  • PipPipPip
  • 159 posts
Roxas what driver do you use in linux?

#107
jackcrack

jackcrack

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 4 posts
So is this driver ready? I've been reading the thread and it sounds like it works with some cards and not others. I have a Conexant AC-Link Audio card with
Vendor ID 1002
Dev 4370
I am new to MacOS and a horrible programmer but would like to get my ound working. If it works the will someone please tell me how to get/install it.
Thanks

#108
fireshark

fireshark

    Your Mom

  • Members
  • PipPipPipPipPipPip
  • 489 posts
NO

#109
EdFlyer

EdFlyer

    Computer Lackey

  • Members
  • PipPipPip
  • 159 posts

So is this driver ready? I've been reading the thread and it sounds like it works with some cards and not others. I have a Conexant AC-Link Audio card with
Vendor ID 1002
Dev 4370
I am new to MacOS and a horrible programmer but would like to get my ound working. If it works the will someone please tell me how to get/install it.
Thanks



the driver is in a pre-alpha stage. Aka, not working yet, but it compiles. You have the right card, but you won't have sound yet.

#110
Roxas

Roxas

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts
Well according to google's linux results (i have no linux) my card is also an ixp type.
Meaning ill be dreaming of sound hehe.
Seriously i would abandon windows xp in a sec if i could just get my sound working, for then my whole multimedia apple intel os x experience would be complete.

#111
EdFlyer

EdFlyer

    Computer Lackey

  • Members
  • PipPipPip
  • 159 posts
roxas, if you know how to, compile the kext from scousi's earlier post and add your ID into the info.plist, and then see if the driver loads for your card. You won't have sound yet, but if it loads up and you get the same errors we've reported then your card should be supported once all is said and done.


If anyone else has non 4370 hardware they'd like to test in this way, do it, and let us know what happens.

FAQ #1: This is not a working driver, just some stuff that kind of does something.
FAQ #2: No other ATI IXP hardware other than sound is being worked on right now
FAQ #3: when installing make sure you do the proper ownership and permissions
FAQ #4: when testing stuff, list what version of MAC OS X your running.
FAQ #5: kthnxbye

#112
Roxas

Roxas

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts
If i can get by finding the time i will certainly will.
Thanx Edflyer.

#113
Elv13

Elv13

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 318 posts
can we have a compilled version, i have not enough space to install xcode

#114
EdFlyer

EdFlyer

    Computer Lackey

  • Members
  • PipPipPip
  • 159 posts
hey scousi, can you post ur latest code that you have, the cleaned up version?

#115
thedopefishlives

thedopefishlives

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 205 posts
Welp, folks, I graduated college this weekend, and I don't have a full-time job yet, so I might have a little time to devote to this project and see what's going wrong. Expect me when you see me!

#116
EdFlyer

EdFlyer

    Computer Lackey

  • Members
  • PipPipPip
  • 159 posts
well dopefish, congrads on college, and maybe a job at apple after this little project may be in order for you.

you come in with IOKIT experience, they may like that.

#117
Elv13

Elv13

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 318 posts
i installed xcode 2.3 and tryed to compile the project, i got an error, missing file in /var/root/desktop/AppleAc97.../atiixp.../the .cpp

i am a noob in xcode, why do i got thast and how can i compile the source succefully?
it will nt work, i know but i want to try something

#118
zelda

zelda

    InsanelyMac Protégé

  • Members
  • PipPip
  • 57 posts
Creat directory /var/root/desktop

mkdir /var/root/Desktop

and copy your Apple...AC97.. files to /var/root/Desktop

cp -r AppleAC* /var/root/Desktop

Tariq

#119
Elv13

Elv13

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 318 posts
what the ****
i get permission denied when i do sudo cd /var/root
why is xcode need that, on linux or windows i never saw that kind of problem

EDIT:
Building target “AppleAC97AudioATIIXP” of project “AppleAC97Audio” with configuration “Default” — (1 error)
		cd /Users/emmanuellepagevallee/ATIAppleAC97Audio-5
	setenv ASCII_OUTPUT_ANNOTATION YES
	setenv ENABLE_APPLE_JAM_EXTENSIONS YES
	setenv ENABLE_APPLE_JAM_OUTPUT_ANNOTATION YES
	setenv GROUP emmanuellepagevallee
	setenv NATIVE_ARCH i386
	setenv USER emmanuellepagevallee
	/Developer/Private/jam -d1 -j1 JAMBASE=/Developer/Makefiles/pbx_jamfiles/ProjectBuilderJambase JAMFILE=/Users/emmanuellepagevallee/ATIAppleAC97Audio-5/build/AppleAC97Audio.build/Default/AppleAC97AudioATIIXP.build/AppleAC97AudioATIIXP.jam build ACTION=build _DEFAULT_GCC_VERSION=4.0 GCC_VERSION_IDENTIFIER=4_0 CONFIGURATION=Default BUILD_STYLE=Default CPP_HEADERMAP_FILE=/Users/emmanuellepagevallee/ATIAppleAC97Audio-5/build/AppleAC97Audio.build/Default/AppleAC97AudioATIIXP.build/AppleAC97AudioATIIXP.hmap SRCROOT=/Users/emmanuellepagevallee/ATIAppleAC97Audio-5 OBJROOT=/Users/emmanuellepagevallee/ATIAppleAC97Audio-5/build SYMROOT=/Users/emmanuellepagevallee/ATIAppleAC97Audio-5/build DSTROOT=/tmp/AppleAC97Audio.dst
Missing file or directory: /private/var/root/Desktop/ATIAppleAC97Audio-5/AppleAC97AudioATIIXP/AppleAC97AudioATIIXP.cpp
		Missing file or directory: /private/var/root/Desktop/ATIAppleAC97Audio-5/AppleAC97AudioATIIXP/AppleAC97AudioATIIXP.cpp
Build failed (1 error)


#120
thedopefishlives

thedopefishlives

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 205 posts
Alrighty then, just got back from vacation, time to throw some heart and soul into this project :)





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy