![]() ![]() Every entry of list have following format:īit 15=Interrupt fired when data from this entry is transferred Bit 14=Last entry of buffer, stop playing Other bits=Reservedīuffer Description List has 32 entries. When you have sound data is memory, you must describe it in Buffer Descriptor List. Number of samples whose was transfered from actual processed EntryĠ=Pause transferring 1=Transfer sound dataĠ=Remove reset condition 1=Reset this NABM register box, this bit is cleared by card when is reset completeįor IOC interrupt see below part Buffer Descriptor List. If you get some interrupt, you must clear this register by write value 0x1C otherwise the interrupt will be fired forever.Ġx08 0x18 0x28 Position in Current Entry Bit Software clears this bit writing 1 to it 1=Interrupt is firing Number of last Buffer Entry whose will be processedĠ=Current Entry not equal to Last Valid Entry 1=CE equal to LVE Number of Buffer Entry whose is actually processed Physical base address of Buffer Descriptor ListĠx04 0x14 0x24 Current Processed Entry Bit This register contains much more bytes, but you probably do not need them.Ġx00 0x10 0x20 Buffer Descriptor Base Address Bit Number of transferred Samples in Actual Processed EntryĠ=Device is in reset and can not be used 1=Resume to operational stateĠ0=2 channels 01=4 channels 10=6 channels 11=ReservedĠ1=16 and 20 bit samples are supported Other=Reserved, only 16 bit samples supported Number of Actual Processed Buffer Descriptor Entry Physical Address of Buffer Descriptor List NABM register box contains these registers: Here is list of all useful registers of BAR1 base address. There is no guarantee that sound cards always support some extended feature. You have to check Extended capabilites register to check whose features card support, and next enable them by setting bytes in Enable capabilites register. ![]() Some cards support more features like other sample rate than 48000. Default value of this register is 0x8000. This register is for recording sound something like Master Volume is for playing sound.Ġ db means max gain, 22,5 db means quietest gain, mute bit set means no gain. Only usable values of this register is 0x0000 what means inbuilt Microphone input and 0x0303 what means AUX input(for extern microphone).Ġ db means max gain, 22,5 db means quietest gain, mute bit set means no gain. ![]() Default value of this register is 0x8808. Default value of this register is 0x8008.Ġ1000b means 0 db, so 00000b means 12 db, 11111b means -34,5 db and mute bit set means no sound. Default value of this register is 0x8000.Ġ1000b means 0 db, so 00000b means 12 db, 11111b means -34,5 db and mute bit set means no sound. ![]() Writing any value info this register caused Register reset, what means that all NAM registers are changed into their default value.Ġ db means loudest output, 94,5 db means quietest output, mute bit set means no sound. Here is list of all useful registers of BAR0 base address. Before any work with card, you must set bit 0 and bit 2 in PCI Command Register for right functionality. Important notice is that these BARs can be I/O or MMIO. But, because today are used Intel HD Audio cards whose have subclass 0x03, you can probably expect every sound card with subclass 0x01 is sound card compatibile with AC97.ĪC97 use four BARs, but we need only BAR0 - Native Audio Mixer Base Address and BAR1 - Native Audio Bus Master Base Address. If you found sound card you can check VendorID and DeviceID if it is supporting AC97. Sound card is connected into PCI with class 0x04 and subclass 0x01.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |