|
|||||||
![]() |
|
|
Thread Tools |
|
|
#1 | |
|
Tail Razer
Join Date: Jun 2005
Location: Bernyurass, AZ - USA
Posts: 4,027
Rep Power: 0 ![]() ![]() |
AC97 Registers...
Has anyone mapped them?
I made simple little program to query all the ac97 registers via kxctrl.exe -gac97 x and heres the output. Code:
AC97[reg=0]=1990 AC97[reg=1]=0 AC97[reg=2]=0 AC97[reg=3]=0 AC97[reg=4]=8000 AC97[reg=5]=0 AC97[reg=6]=801f AC97[reg=7]=0 AC97[reg=8]=0 AC97[reg=9]=0 AC97[reg=a]=801e AC97[reg=b]=0 AC97[reg=c]=8008 AC97[reg=d]=0 AC97[reg=e]=8008 AC97[reg=f]=0 AC97[reg=10]=8808 AC97[reg=11]=0 AC97[reg=12]=8808 AC97[reg=13]=0 AC97[reg=14]=8808 AC97[reg=15]=0 AC97[reg=16]=8808 AC97[reg=17]=0 AC97[reg=18]=808 AC97[reg=19]=0 AC97[reg=1a]=0 AC97[reg=1b]=0 AC97[reg=1c]=0 AC97[reg=1d]=0 AC97[reg=1e]=0 AC97[reg=1f]=0 AC97[reg=20]=200 AC97[reg=21]=0 AC97[reg=22]=0 AC97[reg=23]=0 AC97[reg=24]=0 AC97[reg=25]=0 AC97[reg=26]=f AC97[reg=27]=0 AC97[reg=28]=200 AC97[reg=29]=0 AC97[reg=2a]=0 AC97[reg=2b]=0 AC97[reg=2c]=bb80 AC97[reg=2d]=0 AC97[reg=2e]=0 AC97[reg=2f]=0 AC97[reg=30]=0 AC97[reg=31]=0 AC97[reg=32]=bb80 AC97[reg=33]=0 AC97[reg=34]=0 AC97[reg=35]=0 AC97[reg=36]=0 AC97[reg=37]=0 AC97[reg=38]=0 AC97[reg=39]=0 AC97[reg=3a]=0 AC97[reg=3b]=0 AC97[reg=3c]=0 AC97[reg=3d]=0 AC97[reg=3e]=0 AC97[reg=3f]=0 AC97[reg=40]=0 AC97[reg=41]=0 AC97[reg=42]=0 AC97[reg=43]=0 AC97[reg=44]=0 AC97[reg=45]=0 AC97[reg=46]=0 AC97[reg=47]=0 AC97[reg=48]=0 AC97[reg=49]=0 AC97[reg=4a]=0 AC97[reg=4b]=0 AC97[reg=4c]=0 AC97[reg=4d]=0 AC97[reg=4e]=0 AC97[reg=4f]=0 AC97[reg=50]=0 AC97[reg=51]=0 AC97[reg=52]=0 AC97[reg=53]=0 AC97[reg=54]=0 AC97[reg=55]=0 AC97[reg=56]=0 AC97[reg=57]=0 AC97[reg=58]=0 AC97[reg=59]=0 AC97[reg=5a]=302 AC97[reg=5b]=0 AC97[reg=5c]=0 AC97[reg=5d]=0 AC97[reg=5e]=80 AC97[reg=5f]=0 AC97[reg=60]=22 AC97[reg=61]=0 AC97[reg=62]=0 AC97[reg=63]=0 AC97[reg=64]=0 AC97[reg=65]=0 AC97[reg=66]=0 AC97[reg=67]=0 AC97[reg=68]=0 AC97[reg=69]=0 AC97[reg=6a]=0 AC97[reg=6b]=0 AC97[reg=6c]=0 AC97[reg=6d]=0 AC97[reg=6e]=0 AC97[reg=6f]=0 AC97[reg=70]=0 AC97[reg=71]=0 AC97[reg=72]=0 AC97[reg=73]=0 AC97[reg=74]=0 AC97[reg=75]=0 AC97[reg=76]=0 AC97[reg=77]=0 AC97[reg=78]=3e AC97[reg=79]=0 AC97[reg=7a]=0 AC97[reg=7b]=0 AC97[reg=7c]=4352 AC97[reg=7d]=0 AC97[reg=7e]=5913 AC97[reg=7f]=0 AC97[reg=80]=1990 AC97[reg=81]=0 AC97[reg=82]=0 AC97[reg=83]=0 AC97[reg=84]=8000 AC97[reg=85]=0 AC97[reg=86]=801f AC97[reg=87]=0 AC97[reg=88]=0 AC97[reg=89]=0 AC97[reg=8a]=801e AC97[reg=8b]=0 AC97[reg=8c]=8008 AC97[reg=8d]=0 AC97[reg=8e]=8008 AC97[reg=8f]=0 AC97[reg=90]=8808 AC97[reg=91]=0 AC97[reg=92]=8808 AC97[reg=93]=0 AC97[reg=94]=8808 AC97[reg=95]=0 AC97[reg=96]=8808 AC97[reg=97]=0 AC97[reg=98]=808 AC97[reg=99]=0 AC97[reg=9a]=0 AC97[reg=9b]=0 AC97[reg=9c]=0 AC97[reg=9d]=0 AC97[reg=9e]=0 AC97[reg=9f]=0 AC97[reg=a0]=200 AC97[reg=a1]=0 AC97[reg=a2]=0 AC97[reg=a3]=0 AC97[reg=a4]=0 AC97[reg=a5]=0 AC97[reg=a6]=f AC97[reg=a7]=0 AC97[reg=a8]=200 AC97[reg=a9]=0 AC97[reg=aa]=0 AC97[reg=ab]=0 AC97[reg=ac]=bb80 AC97[reg=ad]=0 AC97[reg=ae]=0 AC97[reg=af]=0 AC97[reg=b0]=0 AC97[reg=b1]=0 AC97[reg=b2]=bb80 AC97[reg=b3]=0 AC97[reg=b4]=0 AC97[reg=b5]=0 AC97[reg=b6]=0 AC97[reg=b7]=0 AC97[reg=b8]=0 AC97[reg=b9]=0 AC97[reg=ba]=0 AC97[reg=bb]=0 AC97[reg=bc]=0 AC97[reg=bd]=0 AC97[reg=be]=0 AC97[reg=bf]=0 AC97[reg=c0]=0 AC97[reg=c1]=0 AC97[reg=c2]=0 AC97[reg=c3]=0 AC97[reg=c4]=0 AC97[reg=c5]=0 AC97[reg=c6]=0 AC97[reg=c7]=0 AC97[reg=c8]=0 AC97[reg=c9]=0 AC97[reg=ca]=0 AC97[reg=cb]=0 AC97[reg=cc]=0 AC97[reg=cd]=0 AC97[reg=ce]=0 AC97[reg=cf]=0 AC97[reg=d0]=0 AC97[reg=d1]=0 AC97[reg=d2]=0 AC97[reg=d3]=0 AC97[reg=d4]=0 AC97[reg=d5]=0 AC97[reg=d6]=0 AC97[reg=d7]=0 AC97[reg=d8]=0 AC97[reg=d9]=0 AC97[reg=da]=302 AC97[reg=db]=0 AC97[reg=dc]=0 AC97[reg=dd]=0 AC97[reg=de]=80 AC97[reg=df]=0 AC97[reg=e0]=22 AC97[reg=e1]=0 AC97[reg=e2]=0 AC97[reg=e3]=0 AC97[reg=e4]=0 AC97[reg=e5]=0 AC97[reg=e6]=0 AC97[reg=e7]=0 AC97[reg=e8]=0 AC97[reg=e9]=0 AC97[reg=ea]=0 AC97[reg=eb]=0 AC97[reg=ec]=0 AC97[reg=ed]=0 AC97[reg=ee]=0 AC97[reg=ef]=0 AC97[reg=f0]=0 AC97[reg=f1]=0 AC97[reg=f2]=0 AC97[reg=f3]=0 AC97[reg=f4]=0 AC97[reg=f5]=0 AC97[reg=f6]=0 AC97[reg=f7]=0 AC97[reg=f8]=3e AC97[reg=f9]=0 AC97[reg=fa]=0 AC97[reg=fb]=0 AC97[reg=fc]=4352 AC97[reg=fd]=0 AC97[reg=fe]=5913 AC97[reg=ff]=0 AC97[reg=0]=1990 AC97[reg=1]=0 AC97[reg=2]=0 AC97[reg=3]=0 AC97[reg=4]=8000 AC97[reg=5]=0 AC97[reg=6]=801f AC97[reg=7]=0 AC97[reg=8]=0 AC97[reg=9]=0 AC97[reg=a]=801e AC97[reg=b]=0 AC97[reg=c]=8008 AC97[reg=d]=0 AC97[reg=e]=8008 AC97[reg=f]=0 AC97[reg=10]=8808 AC97[reg=11]=0 AC97[reg=12]=8808 AC97[reg=13]=0 AC97[reg=14]=8808 AC97[reg=15]=0 AC97[reg=16]=8808 AC97[reg=17]=0 AC97[reg=18]=808 AC97[reg=19]=0 AC97[reg=1a]=0 AC97[reg=1b]=0 AC97[reg=1c]=0 AC97[reg=1d]=0 AC97[reg=1e]=0 AC97[reg=1f]=0 AC97[reg=20]=200 AC97[reg=21]=0 AC97[reg=22]=0 AC97[reg=23]=0 AC97[reg=24]=0 AC97[reg=25]=0 AC97[reg=26]=f AC97[reg=27]=0 AC97[reg=28]=200 AC97[reg=29]=0 AC97[reg=2a]=0 AC97[reg=2b]=0 AC97[reg=2c]=bb80 AC97[reg=2d]=0 AC97[reg=2e]=0 AC97[reg=2f]=0 AC97[reg=30]=0 AC97[reg=31]=0 AC97[reg=32]=bb80 AC97[reg=33]=0 AC97[reg=34]=0 AC97[reg=35]=0 AC97[reg=36]=0 AC97[reg=37]=0 AC97[reg=38]=0 AC97[reg=39]=0 AC97[reg=3a]=0 AC97[reg=3b]=0 AC97[reg=3c]=0 AC97[reg=3d]=0 AC97[reg=3e]=0 AC97[reg=3f]=0 AC97[reg=40]=0 AC97[reg=41]=0 AC97[reg=42]=0 AC97[reg=43]=0 AC97[reg=44]=0 AC97[reg=45]=0 AC97[reg=46]=0 AC97[reg=47]=0 AC97[reg=48]=0 AC97[reg=49]=0 AC97[reg=4a]=0 AC97[reg=4b]=0 AC97[reg=4c]=0 AC97[reg=4d]=0 AC97[reg=4e]=0 AC97[reg=4f]=0 AC97[reg=50]=0 AC97[reg=51]=0 AC97[reg=52]=0 AC97[reg=53]=0 AC97[reg=54]=0 AC97[reg=55]=0 AC97[reg=56]=0 AC97[reg=57]=0 AC97[reg=58]=0 AC97[reg=59]=0 AC97[reg=5a]=302 AC97[reg=5b]=0 AC97[reg=5c]=0 AC97[reg=5d]=0 AC97[reg=5e]=80 AC97[reg=5f]=0 AC97[reg=60]=22 AC97[reg=61]=0 AC97[reg=62]=0 AC97[reg=63]=0 AC97[reg=64]=0 AC97[reg=65]=0 AC97[reg=66]=0 AC97[reg=67]=0 AC97[reg=68]=0 AC97[reg=69]=0 AC97[reg=6a]=0 AC97[reg=6b]=0 AC97[reg=6c]=0 AC97[reg=6d]=0 AC97[reg=6e]=0 AC97[reg=6f]=0 AC97[reg=70]=0 AC97[reg=71]=0 AC97[reg=72]=0 AC97[reg=73]=0 AC97[reg=74]=0 AC97[reg=75]=0 AC97[reg=76]=0 AC97[reg=77]=0 AC97[reg=78]=3e AC97[reg=79]=0 AC97[reg=7a]=0 AC97[reg=7b]=0 AC97[reg=7c]=4352 AC97[reg=7d]=0 AC97[reg=7e]=5913 AC97[reg=7f]=0 AC97[reg=80]=1990 AC97[reg=81]=0 AC97[reg=82]=0 AC97[reg=83]=0 AC97[reg=84]=8000 AC97[reg=85]=0 AC97[reg=86]=801f AC97[reg=87]=0 AC97[reg=88]=0 AC97[reg=89]=0 AC97[reg=8a]=801e AC97[reg=8b]=0 AC97[reg=8c]=8008 AC97[reg=8d]=0 AC97[reg=8e]=8008 AC97[reg=8f]=0 AC97[reg=90]=8808 Anyway - all that aside - am I re-inventing the wheel? Are these registers mapped out somewhere - I will host them on a web page for easy reference, even if I have to map them my self. But any info on known ones will be a great help. Also, am I to assume than various AC97 codecs will have different registers? Like, are there some registers on some codecs that are not on others? My card shows up as; Quote:
Opinions expressed are welcome. p.s. I was attempting to answer this post: http://www.hardwareheaven.com/general-...ml#post1206168 When I came up with my hair brained idea.... I simply automated making a batch file to query kxctrl.exe like.. Continued next post.... |
|
|
|
|
|
|
|
|
Tail Razer
Join Date: Jun 2005
Location: Bernyurass, AZ - USA
Posts: 4,027
Rep Power: 0 ![]() ![]() |
Re: AC97 Registers...
test.bat contains
Code:
kxctrl.exe -gac97 0 >> Results.txt kxctrl.exe -gac97 1 >> Results.txt kxctrl.exe -gac97 2 >> Results.txt kxctrl.exe -gac97 3 >> Results.txt kxctrl.exe -gac97 4 >> Results.txt kxctrl.exe -gac97 5 >> Results.txt kxctrl.exe -gac97 6 >> Results.txt kxctrl.exe -gac97 7 >> Results.txt kxctrl.exe -gac97 8 >> Results.txt kxctrl.exe -gac97 9 >> Results.txt kxctrl.exe -gac97 A >> Results.txt kxctrl.exe -gac97 B >> Results.txt kxctrl.exe -gac97 C >> Results.txt kxctrl.exe -gac97 D >> Results.txt kxctrl.exe -gac97 E >> Results.txt kxctrl.exe -gac97 F >> Results.txt kxctrl.exe -gac97 10 >> Results.txt kxctrl.exe -gac97 11 >> Results.txt kxctrl.exe -gac97 12 >> Results.txt kxctrl.exe -gac97 13 >> Results.txt kxctrl.exe -gac97 14 >> Results.txt kxctrl.exe -gac97 15 >> Results.txt kxctrl.exe -gac97 16 >> Results.txt kxctrl.exe -gac97 17 >> Results.txt kxctrl.exe -gac97 18 >> Results.txt kxctrl.exe -gac97 19 >> Results.txt kxctrl.exe -gac97 1A >> Results.txt kxctrl.exe -gac97 1B >> Results.txt kxctrl.exe -gac97 1C >> Results.txt kxctrl.exe -gac97 1D >> Results.txt kxctrl.exe -gac97 1E >> Results.txt kxctrl.exe -gac97 1F >> Results.txt kxctrl.exe -gac97 20 >> Results.txt kxctrl.exe -gac97 21 >> Results.txt kxctrl.exe -gac97 22 >> Results.txt kxctrl.exe -gac97 23 >> Results.txt kxctrl.exe -gac97 24 >> Results.txt kxctrl.exe -gac97 25 >> Results.txt kxctrl.exe -gac97 26 >> Results.txt kxctrl.exe -gac97 27 >> Results.txt kxctrl.exe -gac97 28 >> Results.txt kxctrl.exe -gac97 29 >> Results.txt kxctrl.exe -gac97 2A >> Results.txt kxctrl.exe -gac97 2B >> Results.txt kxctrl.exe -gac97 2C >> Results.txt kxctrl.exe -gac97 2D >> Results.txt kxctrl.exe -gac97 2E >> Results.txt kxctrl.exe -gac97 2F >> Results.txt kxctrl.exe -gac97 30 >> Results.txt kxctrl.exe -gac97 31 >> Results.txt kxctrl.exe -gac97 32 >> Results.txt kxctrl.exe -gac97 33 >> Results.txt kxctrl.exe -gac97 34 >> Results.txt kxctrl.exe -gac97 35 >> Results.txt kxctrl.exe -gac97 36 >> Results.txt kxctrl.exe -gac97 37 >> Results.txt kxctrl.exe -gac97 38 >> Results.txt kxctrl.exe -gac97 39 >> Results.txt kxctrl.exe -gac97 3A >> Results.txt kxctrl.exe -gac97 3B >> Results.txt kxctrl.exe -gac97 3C >> Results.txt kxctrl.exe -gac97 3D >> Results.txt kxctrl.exe -gac97 3E >> Results.txt kxctrl.exe -gac97 3F >> Results.txt kxctrl.exe -gac97 40 >> Results.txt kxctrl.exe -gac97 41 >> Results.txt kxctrl.exe -gac97 42 >> Results.txt kxctrl.exe -gac97 43 >> Results.txt kxctrl.exe -gac97 44 >> Results.txt kxctrl.exe -gac97 45 >> Results.txt kxctrl.exe -gac97 46 >> Results.txt kxctrl.exe -gac97 47 >> Results.txt kxctrl.exe -gac97 48 >> Results.txt kxctrl.exe -gac97 49 >> Results.txt kxctrl.exe -gac97 4A >> Results.txt kxctrl.exe -gac97 4B >> Results.txt kxctrl.exe -gac97 4C >> Results.txt kxctrl.exe -gac97 4D >> Results.txt kxctrl.exe -gac97 4E >> Results.txt kxctrl.exe -gac97 4F >> Results.txt kxctrl.exe -gac97 50 >> Results.txt kxctrl.exe -gac97 51 >> Results.txt kxctrl.exe -gac97 52 >> Results.txt kxctrl.exe -gac97 53 >> Results.txt kxctrl.exe -gac97 54 >> Results.txt kxctrl.exe -gac97 55 >> Results.txt kxctrl.exe -gac97 56 >> Results.txt kxctrl.exe -gac97 57 >> Results.txt kxctrl.exe -gac97 58 >> Results.txt kxctrl.exe -gac97 59 >> Results.txt kxctrl.exe -gac97 5A >> Results.txt kxctrl.exe -gac97 5B >> Results.txt kxctrl.exe -gac97 5C >> Results.txt kxctrl.exe -gac97 5D >> Results.txt kxctrl.exe -gac97 5E >> Results.txt kxctrl.exe -gac97 5F >> Results.txt kxctrl.exe -gac97 60 >> Results.txt kxctrl.exe -gac97 61 >> Results.txt kxctrl.exe -gac97 62 >> Results.txt kxctrl.exe -gac97 63 >> Results.txt kxctrl.exe -gac97 64 >> Results.txt kxctrl.exe -gac97 65 >> Results.txt kxctrl.exe -gac97 66 >> Results.txt kxctrl.exe -gac97 67 >> Results.txt kxctrl.exe -gac97 68 >> Results.txt kxctrl.exe -gac97 69 >> Results.txt kxctrl.exe -gac97 6A >> Results.txt kxctrl.exe -gac97 6B >> Results.txt kxctrl.exe -gac97 6C >> Results.txt kxctrl.exe -gac97 6D >> Results.txt kxctrl.exe -gac97 6E >> Results.txt kxctrl.exe -gac97 6F >> Results.txt kxctrl.exe -gac97 70 >> Results.txt kxctrl.exe -gac97 71 >> Results.txt kxctrl.exe -gac97 72 >> Results.txt kxctrl.exe -gac97 73 >> Results.txt kxctrl.exe -gac97 74 >> Results.txt kxctrl.exe -gac97 75 >> Results.txt kxctrl.exe -gac97 76 >> Results.txt kxctrl.exe -gac97 77 >> Results.txt kxctrl.exe -gac97 78 >> Results.txt kxctrl.exe -gac97 79 >> Results.txt kxctrl.exe -gac97 7A >> Results.txt kxctrl.exe -gac97 7B >> Results.txt kxctrl.exe -gac97 7C >> Results.txt kxctrl.exe -gac97 7D >> Results.txt kxctrl.exe -gac97 7E >> Results.txt kxctrl.exe -gac97 7F >> Results.txt kxctrl.exe -gac97 80 >> Results.txt# seems to start over here kxctrl.exe -gac97 81 >> Results.txt kxctrl.exe -gac97 82 >> Results.txt kxctrl.exe -gac97 83 >> Results.txt kxctrl.exe -gac97 84 >> Results.txt kxctrl.exe -gac97 85 >> Results.txt kxctrl.exe -gac97 86 >> Results.txt kxctrl.exe -gac97 87 >> Results.txt kxctrl.exe -gac97 88 >> Results.txt kxctrl.exe -gac97 89 >> Results.txt kxctrl.exe -gac97 8A >> Results.txt kxctrl.exe -gac97 8B >> Results.txt kxctrl.exe -gac97 8C >> Results.txt kxctrl.exe -gac97 8D >> Results.txt kxctrl.exe -gac97 8E >> Results.txt kxctrl.exe -gac97 8F >> Results.txt kxctrl.exe -gac97 90 >> Results.txt kxctrl.exe -gac97 91 >> Results.txt #seems to end here kxctrl.exe -gac97 92 >> Results.txt kxctrl.exe -gac97 93 >> Results.txt kxctrl.exe -gac97 94 >> Results.txt kxctrl.exe -gac97 95 >> Results.txt kxctrl.exe -gac97 96 >> Results.txt kxctrl.exe -gac97 97 >> Results.txt kxctrl.exe -gac97 98 >> Results.txt kxctrl.exe -gac97 99 >> Results.txt kxctrl.exe -gac97 9A >> Results.txt kxctrl.exe -gac97 9B >> Results.txt kxctrl.exe -gac97 9C >> Results.txt kxctrl.exe -gac97 9D >> Results.txt kxctrl.exe -gac97 9E >> Results.txt kxctrl.exe -gac97 9F >> Results.txt |
|
|
|
|
|
|
|
Tail Razer
Join Date: Jun 2005
Location: Bernyurass, AZ - USA
Posts: 4,027
Rep Power: 0 ![]() ![]() |
Re: AC97 Registers...
kX API hw\ac97.h shows...
Code:
#define AC97_REG_RESET 0x00 #define AC97_REG_MASTER_VOL 0x02 // line control #define AC97_REG_SURROUND_DAC_VOL 0x04 // in Live! 5.1: Center/Subwoofer -> routing somewhere? #define AC97_REG_MONO_VOL 0x06 // play control; TAD OUT // #define AC97_REG_MASTER_TONE 0x08 // bass(4)+treble(4) #define AC97_REG_PC_BEEP_VOL 0x0A #define AC97_REG_PHONE_VOL 0x0C // TAD IN #define AC97_REG_MIC_VOL 0x0E #define AC97_REG_LINE_VOL 0x10 #define AC97_REG_CD_VOL 0x12 #define AC97_REG_VIDEO_VOL 0x14 // FIXME: is changed in crea'beta7 on master change #define AC97_REG_AUX_VOL 0x16 #define AC97_REG_PCM_VOL 0x18 #define AC97_REG_REC_SELECT 0x1A #define AC97_REG_REC_GAIN 0x1C // analog gain #define AC97_REG_REC_GAIN_MIC 0x1E #define AC97_REG_GENERAL 0x20 #define AC97_REG_3D_CTRL 0x22 // #define AC97_REG_MODEM_RATE 0x24 // Reserved in 2.1? #define AC97_REG_PWR_DWN_CTRL 0x26 #define AC97_REG_PWR_DWN_STAT 0x26 #define AC97_REG_EXTENDED_ID 0x28 /* Extended Audio ID */ #define AC97_REG_EXTENDED_STATUS 0x2a /* Extended Audio Status */ #define AC97_PCM_FRONT_DAC_RATE 0x2c /* PCM Front DAC Rate */ //#define AC97_REG_PCM_SURR_DAC_RATE 0x2e /* PCM Surround DAC Rate */ //#define AC97_REG_PCM_LFE_DAC_RATE 0x30 /* PCM LFE DAC Rate */ //#define AC97_REG_PCM_LR_DAC_RATE 0x32 /* PCM LR DAC Rate */ //#define AC97_REG_PCM_MIC_ADC_RATE 0x34 /* PCM MIC ADC Rate */ #define AC97_REG_CENTER_LFE_MASTER 0x36 /* Center + LFE Master Volume */ #define AC97_REG_SURROUND_MASTER 0x38 /* Surround (Rear) or Center/Subwoofer Master Volume */ #define AC97_REG_MULTICHANNEL_SELECT 0x74 // Vendor-specific: ST AC9708 #define AC97_SIGMATEL_ANALOG 0x6c /* Analog Special */ #define AC97_SIGMATEL_DAC2INVERT 0x6e #define AC97_SIGMATEL_BIAS1 0x70 #define AC97_SIGMATEL_BIAS2 0x72 #define AC97_SIGMATEL_CIC1 0x76 #define AC97_SIGMATEL_CIC2 0x78 #define AC97_REG_VENDOR_ID1 0x7C #define AC97_REG_VENDOR_ID2 0x7E Any help/tips/opinions are welcome. |
|
|
|
|
|
#4 |
|
h/h member-shmember
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,639
Rep Power: 69 ![]() ![]() ![]() ![]() ![]() ![]() |
Ответ: AC97 Registers...
>Seems like some registers are multiple bytes
>but I am confused why I dont simply see 1 byte for each register.... all registers are of 2 bytes size actually -gac97 command takes a memory address not really a register index (and same you see in the ac97.h, all registers have an even address) e.g. it doesn't make sense to read -gac97 3 for example - as there's no register there (well, logically "register" at address 3 is a half of register @2 and half of register @4 , but kxctrl just returns a dummy value for it (0 in this case)) >Has anyone mapped them? What (if i may ask) for? (yes, there're certain vendor specific registers here and there, but i doubt if ac97 can have anything interesting - just by definition and max's spoiling the fun again!)Speaking of information, one starts with inventor's specification (http://download.intel.com/support/mo...b/ac97_r23.pdf) and goes further with vendor-specific docs (for example Integrated Device Technology, your codec seems to be "stac9750") (btw. it's something wrong with the dump above, registers [7c, 7e] should return [8384, 7650] (e.g. the values shown in kX's "about") P.S. >I was attempting to answer this post: ... ah, i see now. i suppose writing something like 0808 to reg10 should help
__________________
Last edited by Max M.; Dec 27, 2008 at 11:04 AM. |
|
|
|
|
|
|
||
|
Tail Razer
Join Date: Jun 2005
Location: Bernyurass, AZ - USA
Posts: 4,027
Rep Power: 0 ![]() ![]() |
Re: AC97 Registers...
Thanks Max, your explanation made much sense to me...
Quote:
the 3d control register (h22) the ac97 spec shows more then the (edited) 4 states that kx mixer supports. And is shows 16 levels of 'effect depth' - I dunno, I think is somewhat interesting. Then I also see some EQ control register too... but for some reason (I imagine has to do with compatibility) not implemented in kX at all. Ok, not *really* interesting - but not completely worthless either. Quote:
Perhaps doing all them queries like I did in that batch file causes some errors? Edit: When running the batch file - kxctrl.exe will open my first card, which is a CT4832. While, opening kX console will use the currently selected device. So, those dumps are of a different card. /edit Thanks again for the links and info. Last edited by Maddogg6; Dec 28, 2008 at 05:25 PM. |
||
|
|
|
![]() |
| Thread Tools | |
|
|