Blog: Intel HD Audio support for AQEMU (and other bugs): aqemu-0.8.2-fix_soundhw-1.patch

File aqemu-0.8.2-fix_soundhw-1.patch, 17.2 KB (added by retracile, 9 years ago)

Backport of upstream sound card support patch

  • Main_Window.cpp

    diff --git a/Main_Window.cpp b/Main_Window.cpp
    index f8cb244..d56eddf 100644
    a b void Main_Window::Connect_Signals() 
    325325        connect( ui.CH_PCSPK, SIGNAL(clicked()),
    326326                         this, SLOT(VM_Changet()) );
    327327       
     328        connect( ui.CH_HDA, SIGNAL(clicked()),
     329                         this, SLOT(VM_Changet()) );
     330       
     331        connect( ui.CH_cs4231a, SIGNAL(clicked()),
     332                         this, SLOT(VM_Changet()) );
     333       
    328334        connect( ui.CH_Fullscreen, SIGNAL(clicked()),
    329335                         this, SLOT(VM_Changet()) );
    330336       
    bool Main_Window::Create_VM_From_Ui( Virtual_Machine *tmp_vm, Virtual_Machine *o 
    810816        if( ui.CH_AC97->isChecked() ) snd_card.Audio_AC97 = true;
    811817        else snd_card.Audio_AC97 = false;
    812818       
     819        if( ui.CH_HDA->isChecked() ) snd_card.Audio_HDA = true;
     820        else snd_card.Audio_HDA = false;
     821       
     822        if( ui.CH_cs4231a->isChecked() ) snd_card.Audio_cs4231a = true;
     823        else snd_card.Audio_cs4231a = false;
     824       
    813825        tmp_vm->Set_Audio_Cards( snd_card );
    814826       
    815827        // Memory
    void Main_Window::Update_VM_Ui() 
    14981510        if( tmp_vm->Get_Audio_Cards().Audio_AC97 ) ui.CH_AC97->setChecked( true );
    14991511        else ui.CH_AC97->setChecked( false );
    15001512       
     1513        if( tmp_vm->Get_Audio_Cards().Audio_HDA ) ui.CH_HDA->setChecked( true );
     1514        else ui.CH_HDA->setChecked( false );
     1515       
     1516        if( tmp_vm->Get_Audio_Cards().Audio_cs4231a ) ui.CH_cs4231a->setChecked( true );
     1517        else ui.CH_cs4231a->setChecked( false );
     1518       
    15011519        // RAM
    15021520        if( tmp_vm->Get_Memory_Size() < 1 )
    15031521        {
    void Main_Window::Update_Info_Text( int info_mode ) 
    21162134                        cell_cursor = cell.firstCursorPosition();
    21172135                       
    21182136                        if( ui.CH_sb16->isChecked() || ui.CH_es1370->isChecked() || ui.CH_Adlib->isChecked() ||
    2119                                 ui.CH_AC97->isChecked() || ui.CH_GUS->isChecked()        || ui.CH_PCSPK->isChecked() )
     2137                                ui.CH_AC97->isChecked() || ui.CH_GUS->isChecked()        || ui.CH_PCSPK->isChecked() ||
     2138                                ui.CH_HDA->isChecked() || ui.CH_cs4231a->isChecked() )
    21202139                        {
    21212140                                cell_cursor.insertText( tr("Yes"), format );
    21222141                        }
    void Main_Window::Apply_Emulator( int mode ) 
    60996118                        if( curComp.Audio_Card_List.Audio_PC_Speaker ) ui.CH_PCSPK->setEnabled( true );
    61006119                        else ui.CH_PCSPK->setEnabled( false );
    61016120                       
     6121                        if( curComp.Audio_Card_List.Audio_HDA ) ui.CH_HDA->setEnabled( true );
     6122                        else ui.CH_HDA->setEnabled( false );
     6123                       
     6124                        if( curComp.Audio_Card_List.Audio_cs4231a ) ui.CH_cs4231a->setEnabled( true );
     6125                        else ui.CH_cs4231a->setEnabled( false );
     6126                       
    61026127                        // Other Options
    61036128                        Update_Disabled_Controls();
    61046129                        break;
  • Main_Window.ui

    diff --git a/Main_Window.ui b/Main_Window.ui
    index 92d4898..c7a7e3a 100644
    a b  
    11701170                 </property>
    11711171                </widget>
    11721172               </item>
     1173               <item row="2" column="0">
     1174                <widget class="QCheckBox" name="CH_HDA">
     1175                 <property name="text">
     1176                  <string>Intel HDA</string>
     1177                 </property>
     1178                 <property name="checked">
     1179                  <bool>false</bool>
     1180                 </property>
     1181                </widget>
     1182               </item>
     1183               <item row="2" column="1">
     1184                <spacer>
     1185                 <property name="orientation">
     1186                  <enum>Qt::Horizontal</enum>
     1187                 </property>
     1188                 <property name="sizeHint" stdset="0">
     1189                  <size>
     1190                   <width>21</width>
     1191                   <height>20</height>
     1192                  </size>
     1193                 </property>
     1194                </spacer>
     1195               </item>
     1196               <item row="2" column="2">
     1197                <widget class="QCheckBox" name="CH_cs4231a">
     1198                 <property name="text">
     1199                  <string>cs4231a</string>
     1200                 </property>
     1201                </widget>
     1202               </item>
    11731203              </layout>
    11741204             </widget>
    11751205            </item>
    To Disable This Function in Current VM choose &quot;Don't Use Embedded VNC Displ 
    47364766  <tabstop>CH_Remove_RAM_Size_Limitation</tabstop>
    47374767  <tabstop>CH_sb16</tabstop>
    47384768  <tabstop>CH_AC97</tabstop>
     4769  <tabstop>CH_HDA</tabstop>
    47394770  <tabstop>CH_es1370</tabstop>
    47404771  <tabstop>CH_GUS</tabstop>
     4772  <tabstop>CH_cs4231a</tabstop>
    47414773  <tabstop>CH_Adlib</tabstop>
    47424774  <tabstop>CH_PCSPK</tabstop>
    47434775  <tabstop>CH_Fullscreen</tabstop>
  • System_Info.cpp

    diff --git a/System_Info.cpp b/System_Info.cpp
    index 32ca029..b5c535b 100644
    a b Available_Devices System_Info::Get_Emulator_Info( const QString &path, bool *ok, 
    23632363               
    23642364                if( qemu_dev_name == "sb16" ) tmp_dev.Audio_Card_List.Audio_sb16 = true;
    23652365                else if( qemu_dev_name == "es1370" ) tmp_dev.Audio_Card_List.Audio_es1370 = true;
    2366                 else if( qemu_dev_name == "gus" ) tmp_dev.Audio_Card_List.Audio_Adlib = true;
    2367                 else if( qemu_dev_name == "adlib" ) tmp_dev.Audio_Card_List.Audio_PC_Speaker = true;
    2368                 else if( qemu_dev_name == "pcspk" ) tmp_dev.Audio_Card_List.Audio_GUS = true;
     2366                else if( qemu_dev_name == "gus" ) tmp_dev.Audio_Card_List.Audio_GUS = true;
     2367                else if( qemu_dev_name == "adlib" ) tmp_dev.Audio_Card_List.Audio_Adlib = true;
     2368                else if( qemu_dev_name == "pcspk" ) tmp_dev.Audio_Card_List.Audio_PC_Speaker = true;
    23692369                else if( qemu_dev_name == "ac97" ) tmp_dev.Audio_Card_List.Audio_AC97 = true;
     2370                else if( qemu_dev_name == "hda" ) tmp_dev.Audio_Card_List.Audio_HDA = true;
     2371                else if( qemu_dev_name == "cs4231a" ) tmp_dev.Audio_Card_List.Audio_cs4231a = true;
    23702372                else
    23712373                {
    23722374                        if( ! qemu_dev_name.isEmpty() )
  • VM.cpp

    diff --git a/VM.cpp b/VM.cpp
    index e45fcbb..2dedadd 100644
    a b QStringList Virtual_Machine::Build_QEMU_Args() 
    51595159        if( Audio_Card.Audio_PC_Speaker && Current_Emulator_Devices.Audio_Card_List.Audio_PC_Speaker ) audio_list << "pcspk";
    51605160        if( Audio_Card.Audio_GUS && Current_Emulator_Devices.Audio_Card_List.Audio_GUS ) audio_list << "gus";
    51615161        if( Audio_Card.Audio_AC97 && Current_Emulator_Devices.Audio_Card_List.Audio_AC97 ) audio_list << "ac97";
     5162        if( Audio_Card.Audio_HDA && Current_Emulator_Devices.Audio_Card_List.Audio_HDA ) audio_list << "hda";
     5163        if( Audio_Card.Audio_cs4231a && Current_Emulator_Devices.Audio_Card_List.Audio_cs4231a ) audio_list << "cs4231a";
    51625164       
    51635165        if( audio_list.count() > 0 )
    51645166        {
  • VM_Devices.cpp

    diff --git a/VM_Devices.cpp b/VM_Devices.cpp
    index 09def34..8ae5468 100644
    a b bool Emulator::Load( const QString &path ) 
    424424                        tmpDev.Audio_Card_List.Audio_PC_Speaker = (thirdElement.firstChildElement("PC_Speaker").text() == "yes");
    425425                        tmpDev.Audio_Card_List.Audio_GUS = (thirdElement.firstChildElement("GUS").text() == "yes");
    426426                        tmpDev.Audio_Card_List.Audio_AC97 = (thirdElement.firstChildElement("AC97").text() == "yes");
     427                        tmpDev.Audio_Card_List.Audio_HDA = (thirdElement.firstChildElement("HDA").text() == "yes");
     428                        tmpDev.Audio_Card_List.Audio_cs4231a = (thirdElement.firstChildElement("cs4231a").text() == "yes");
    427429                       
    428430                        // Video Cards
    429431                        tmpDev.Video_Card_List.clear();
    bool Emulator::Save() const 
    780782                thirdElement.appendChild( domText );
    781783                deviceElement.appendChild( thirdElement );
    782784               
     785                thirdElement = domDocument.createElement( "HDA" );
     786                domText = domDocument.createTextNode( (tmpDev.Audio_Card_List.Audio_HDA ? "yes" : "no") );
     787                thirdElement.appendChild( domText );
     788                deviceElement.appendChild( thirdElement );
     789               
     790                thirdElement = domDocument.createElement( "cs4231a" );
     791                domText = domDocument.createTextNode( (tmpDev.Audio_Card_List.Audio_cs4231a ? "yes" : "no") );
     792                thirdElement.appendChild( domText );
     793                deviceElement.appendChild( thirdElement );
     794               
    783795                domElement.appendChild( deviceElement );
    784796               
    785797                // Video Cards
  • VM_Devices.h

    diff --git a/VM_Devices.h b/VM_Devices.h
    index 2dfa0cd..e163cb5 100644
    a b class VM 
    4444                // Virtual Machine State
    4545                enum VM_State { VMS_Running, VMS_Power_Off, VMS_Pause, VMS_Saved, VMS_In_Error };
    4646               
    47                 // x86 audio cars ( one or more )
     47                // x86 audio cards ( one or more )
    4848                class Sound_Cards
    4949                {
    5050                        public:
    class VM 
    5454                                bool Audio_PC_Speaker;
    5555                                bool Audio_GUS;
    5656                                bool Audio_AC97;
     57                                bool Audio_HDA;
     58                                bool Audio_cs4231a;
    5759                               
    5860                                Sound_Cards()
    5961                                {
    60                                         Audio_sb16 = Audio_es1370 = Audio_Adlib = Audio_PC_Speaker = Audio_GUS = Audio_AC97 = false;
     62                                        Audio_sb16 = Audio_es1370 = Audio_Adlib = Audio_PC_Speaker = Audio_GUS = Audio_AC97 = Audio_HDA = Audio_cs4231a = false;
    6163                                }
    6264                               
    6365                                bool operator==( const Sound_Cards &v ) const
    class VM 
    6769                                                Audio_Adlib == v.Audio_Adlib &&
    6870                                                Audio_PC_Speaker == v.Audio_PC_Speaker &&
    6971                                                Audio_GUS == v.Audio_GUS &&
    70                                                 Audio_AC97 == v.Audio_AC97 )
     72                                                Audio_AC97 == v.Audio_AC97 &&
     73                                                Audio_HDA == v.Audio_HDA &&
     74                                                Audio_cs4231a == v.Audio_cs4231a )
    7175                                        {
    7276                                                return true;
    7377                                        }
  • os_templates/FreeBSD

    diff --git a/os_templates/FreeBSD 4.aqvmt b/os_templates/FreeBSD 4.aqvmt
    index a42b016..d35782e 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker>
    2323            <Audio_GUS>false</Audio_GUS>
    2424            <Audio_AC97>false</Audio_AC97>
     25            <Audio_HDA>false</Audio_HDA>
     26            <Audio_cs4231a>false</Audio_cs4231a>
    2527        </Audio_Cards>
    2628        <Check_Free_RAM>false</Check_Free_RAM>
    2729        <Memory_Size>64</Memory_Size>
  • os_templates/FreeBSD

    diff --git a/os_templates/FreeBSD 7.aqvmt b/os_templates/FreeBSD 7.aqvmt
    index 2f03555..9538218 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker>
    2323            <Audio_GUS>false</Audio_GUS>
    2424            <Audio_AC97>false</Audio_AC97>
     25            <Audio_HDA>false</Audio_HDA>
     26            <Audio_cs4231a>false</Audio_cs4231a>
    2527        </Audio_Cards>
    2628        <Check_Free_RAM>false</Check_Free_RAM>
    2729        <Memory_Size>256</Memory_Size>
  • os_templates/FreeBSD

    diff --git a/os_templates/FreeBSD 8.aqvmt b/os_templates/FreeBSD 8.aqvmt
    index 2f03555..9538218 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker>
    2323            <Audio_GUS>false</Audio_GUS>
    2424            <Audio_AC97>false</Audio_AC97>
     25            <Audio_HDA>false</Audio_HDA>
     26            <Audio_cs4231a>false</Audio_cs4231a>
    2527        </Audio_Cards>
    2628        <Check_Free_RAM>false</Check_Free_RAM>
    2729        <Memory_Size>256</Memory_Size>
  • os_templates/Linux

    diff --git a/os_templates/Linux 2.0.aqvmt b/os_templates/Linux 2.0.aqvmt
    index bc1ce2a..c322332 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker>
    2323            <Audio_GUS>false</Audio_GUS>
    2424            <Audio_AC97>false</Audio_AC97>
     25            <Audio_HDA>false</Audio_HDA>
     26            <Audio_cs4231a>false</Audio_cs4231a>
    2527        </Audio_Cards>
    2628        <Check_Free_RAM>false</Check_Free_RAM>
    2729        <Memory_Size>64</Memory_Size>
  • os_templates/Linux

    diff --git a/os_templates/Linux 2.4.aqvmt b/os_templates/Linux 2.4.aqvmt
    index 83719fb..faf8a64 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker>
    2323            <Audio_GUS>false</Audio_GUS>
    2424            <Audio_AC97>false</Audio_AC97>
     25            <Audio_HDA>false</Audio_HDA>
     26            <Audio_cs4231a>false</Audio_cs4231a>
    2527        </Audio_Cards>
    2628        <Check_Free_RAM>false</Check_Free_RAM>
    2729        <Memory_Size>128</Memory_Size>
  • os_templates/Linux

    diff --git a/os_templates/Linux 2.6 x86_64.aqvmt b/os_templates/Linux 2.6 x86_64.aqvmt
    index 0896e34..af3e482 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker>
    2323            <Audio_GUS>false</Audio_GUS>
    2424            <Audio_AC97>false</Audio_AC97>
     25            <Audio_HDA>false</Audio_HDA>
     26            <Audio_cs4231a>false</Audio_cs4231a>
    2527        </Audio_Cards>
    2628        <Check_Free_RAM>false</Check_Free_RAM>
    2729        <Memory_Size>256</Memory_Size>
  • os_templates/Linux

    diff --git a/os_templates/Linux 2.6.aqvmt b/os_templates/Linux 2.6.aqvmt
    index 4f737aa..ccef137 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker>
    2323            <Audio_GUS>false</Audio_GUS>
    2424            <Audio_AC97>false</Audio_AC97>
     25            <Audio_HDA>false</Audio_HDA>
     26            <Audio_cs4231a>false</Audio_cs4231a>
    2527        </Audio_Cards>
    2628        <Check_Free_RAM>false</Check_Free_RAM>
    2729        <Memory_Size>256</Memory_Size>
  • os_templates/MacOS

    diff --git a/os_templates/MacOS X x86.aqvmt b/os_templates/MacOS X x86.aqvmt
    index 69c8fab..281c76d 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker>
    2323            <Audio_GUS>false</Audio_GUS>
    2424            <Audio_AC97>false</Audio_AC97>
     25            <Audio_HDA>false</Audio_HDA>
     26            <Audio_cs4231a>false</Audio_cs4231a>
    2527        </Audio_Cards>
    2628        <Check_Free_RAM>false</Check_Free_RAM>
    2729        <Memory_Size>1024</Memory_Size>
  • os_templates/Windows

    diff --git a/os_templates/Windows 2000.aqvmt b/os_templates/Windows 2000.aqvmt
    index fd1bb24..e0d28f0 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker>
    2323            <Audio_GUS>false</Audio_GUS>
    2424            <Audio_AC97>false</Audio_AC97>
     25            <Audio_HDA>false</Audio_HDA>
     26            <Audio_cs4231a>false</Audio_cs4231a>
    2527        </Audio_Cards>
    2628        <Check_Free_RAM>false</Check_Free_RAM>
    2729        <Memory_Size>192</Memory_Size>
  • os_templates/Windows

    diff --git a/os_templates/Windows 7 x64.aqvmt b/os_templates/Windows 7 x64.aqvmt
    index fa45afe..551f258 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker>
    2323            <Audio_GUS>false</Audio_GUS>
    2424            <Audio_AC97>false</Audio_AC97>
     25            <Audio_HDA>false</Audio_HDA>
     26            <Audio_cs4231a>false</Audio_cs4231a>
    2527        </Audio_Cards>
    2628        <Check_Free_RAM>false</Check_Free_RAM>
    2729        <Memory_Size>1024</Memory_Size>
  • os_templates/Windows

    diff --git a/os_templates/Windows 7.aqvmt b/os_templates/Windows 7.aqvmt
    index c1f9735..1b5ca28 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker>
    2323            <Audio_GUS>false</Audio_GUS>
    2424            <Audio_AC97>false</Audio_AC97>
     25            <Audio_HDA>false</Audio_HDA>
     26            <Audio_cs4231a>false</Audio_cs4231a>
    2527        </Audio_Cards>
    2628        <Check_Free_RAM>false</Check_Free_RAM>
    2729        <Memory_Size>1024</Memory_Size>
  • os_templates/Windows

    diff --git a/os_templates/Windows 9X.aqvmt b/os_templates/Windows 9X.aqvmt
    index a0bfa87..bb1d7ef 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker>
    2323            <Audio_GUS>false</Audio_GUS>
    2424            <Audio_AC97>false</Audio_AC97>
     25            <Audio_HDA>false</Audio_HDA>
     26            <Audio_cs4231a>false</Audio_cs4231a>
    2527        </Audio_Cards>
    2628        <Check_Free_RAM>false</Check_Free_RAM>
    2729        <Memory_Size>128</Memory_Size>
  • os_templates/Windows

    diff --git a/os_templates/Windows Vista x64.aqvmt b/os_templates/Windows Vista x64.aqvmt
    index 148a5bc..a93cbbf 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker>
    2323            <Audio_GUS>false</Audio_GUS>
    2424            <Audio_AC97>false</Audio_AC97>
     25            <Audio_HDA>false</Audio_HDA>
     26            <Audio_cs4231a>false</Audio_cs4231a>
    2527        </Audio_Cards>
    2628        <Check_Free_RAM>false</Check_Free_RAM>
    2729        <Memory_Size>1024</Memory_Size>
  • os_templates/Windows

    diff --git a/os_templates/Windows Vista.aqvmt b/os_templates/Windows Vista.aqvmt
    index c4504a2..368cee7 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker>
    2323            <Audio_GUS>false</Audio_GUS>
    2424            <Audio_AC97>false</Audio_AC97>
     25            <Audio_HDA>false</Audio_HDA>
     26            <Audio_cs4231a>false</Audio_cs4231a>
    2527        </Audio_Cards>
    2628        <Check_Free_RAM>false</Check_Free_RAM>
    2729        <Memory_Size>1024</Memory_Size>
  • os_templates/Windows

    diff --git a/os_templates/Windows XP x64.aqvmt b/os_templates/Windows XP x64.aqvmt
    index f4b7bc3..496e1a3 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker>
    2323            <Audio_GUS>false</Audio_GUS>
    2424            <Audio_AC97>false</Audio_AC97>
     25            <Audio_HDA>false</Audio_HDA>
     26            <Audio_cs4231a>false</Audio_cs4231a>
    2527        </Audio_Cards>
    2628        <Check_Free_RAM>false</Check_Free_RAM>
    2729        <Memory_Size>256</Memory_Size>
  • os_templates/Windows

    diff --git a/os_templates/Windows XP.aqvmt b/os_templates/Windows XP.aqvmt
    index 32d1fd3..78dc2f3 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker>
    2323            <Audio_GUS>false</Audio_GUS>
    2424            <Audio_AC97>false</Audio_AC97>
     25            <Audio_HDA>false</Audio_HDA>
     26            <Audio_cs4231a>false</Audio_cs4231a>
    2527        </Audio_Cards>
    2628        <Check_Free_RAM>false</Check_Free_RAM>
    2729        <Memory_Size>256</Memory_Size>