Sync latest upstream changes, adapt fltkui for audio changes

This commit is contained in:
rdanbrook 2022-12-26 21:47:53 -06:00
parent 120fe102f3
commit 002f9d7941
13 changed files with 386 additions and 438 deletions

View file

@ -69,6 +69,18 @@
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="fourplayer" />
</peripherals>
<cartridge system="NES-NTSC" dump="ok" crc="00D2CB22" sha1="CCD60DBC65EC004956E972E116BDD114E8818E3E">
<board type="NES-NROM-256" mapper="0">
<prg size="32k" />
<chr size="8k" />
<pad h="1" v="0" />
</board>
</cartridge>
</game>
<game>
<cartridge system="NES-NTSC" dump="ok" crc="00E95D86" sha1="8957393A397DB102BCE5A64B4D85384D1F2E5D20">
<board type="NES-UNROM" mapper="2">
@ -767,6 +779,15 @@
</board>
</cartridge>
</game>
<game>
<cartridge system="Famicom" dump="unknown" crc="084F61CD" sha1="44BC6C4E8B3F6C635281B4C05382E8F316D8269E">
<board type="NAMCOT-3301" mapper="0">
<prg size="8k" />
<chr size="8k" />
<pad h="0" v="1" />
</board>
</cartridge>
</game>
<game>
<cartridge system="NES-NTSC" dump="ok" crc="085DE7C9" sha1="93339F07696CE1B98F1272613067482A02F47B95">
<board type="NES-SLROM" mapper="1">
@ -2018,6 +2039,16 @@
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="fourplayer" />
</peripherals>
<cartridge system="NES-NTSC" dump="ok" crc="1394DED0" sha1="B1C6A700A9F3B73666018E46515D376F06B8E9C2">
<board type="NES-UNROM" mapper="2">
<prg size="64k" />
</board>
</cartridge>
</game>
<game>
<cartridge system="NES-NTSC" dump="ok" crc="1394F57E" sha1="FD9079CB5E8479EB06D93C2AE5175BFCE871746A">
<board type="NES-SEROM" mapper="1">
@ -2835,6 +2866,17 @@
</board>
</arcade>
</game>
<game>
<peripherals>
<device type="zapper" />
</peripherals>
<cartridge system="NES-NTSC" dump="unknown" crc="1CA9C322" sha1="17869C4F55461D50E134CC3A4D15B89E7CAF8DE3">
<board mapper="258">
<prg size="128k" />
<chr size="128k" />
</board>
</cartridge>
</game>
<game>
<cartridge system="Famicom" dump="unknown" crc="1CED086F" sha1="46C0B521B3C595409C05972388909CCB0D5F6369">
<board mapper="5">
@ -4803,6 +4845,17 @@
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="fourplayer" />
</peripherals>
<cartridge system="NES-NTSC" dump="ok" crc="2DA5ECE0" sha1="F3554E45D3261157653643C23A378C0295A5F893">
<board type="NES-NROM-256" mapper="0">
<prg size="32k" />
<chr size="8k" />
</board>
</cartridge>
</game>
<game>
<cartridge system="Famicom" dump="unknown" crc="2DB7C31E" sha1="9BF95EEB404F103422E06214566C7D918ED4DC79">
<board mapper="1">
@ -4939,6 +4992,18 @@
</board>
</cartridge>
</game>
<game>
<cartridge system="Famicom" dump="ok" crc="2EA914FA" sha1="54F6E9C7F59D7A1B961F694716F5D4967BB55AA8">
<board type="KONAMI-VRC-4" mapper="25">
<prg size="128k" />
<chr size="128k" />
<chip type="Konami VRC IV">
<pin number="3" function="PRG A2" />
<pin number="4" function="PRG A3" />
</chip>
</board>
</cartridge>
</game>
<game>
<cartridge system="Famicom" dump="unknown" crc="2EBF2E0D" sha1="0E37A2766280D73F2921567348A8D360707A5924">
<board mapper="1">
@ -5064,6 +5129,20 @@
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="turbofile" />
</peripherals>
<cartridge system="NES-NTSC" dump="ok" crc="3046C4D5" sha1="1AF51255F2837484974DA44650B186333472C7B2">
<board type="NES-SXROM" mapper="1">
<prg size="512k" />
<vram size="8k" />
<wram size="32k" battery="1" />
<pad h="1" v="0" />
<chip type="MMC1" />
</board>
</cartridge>
</game>
<game>
<cartridge system="NES-PAL" dump="ok" crc="304FA926" sha1="EFFE8CCAA78F94F061B142042557B478B4B213EE">
<board type="NES-NROM-128" mapper="0">
@ -6706,6 +6785,19 @@
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="fourplayer" />
</peripherals>
<cartridge system="NES-NTSC" dump="ok" crc="40E1F09E" sha1="2B44E45C621D52C882C50BEF7A2F9B4C93DDF908">
<board mapper="2">
<prg size="64k" />
<vram size="8k" />
<wram size="8k" />
<pad h="1" v="0" />
</board>
</cartridge>
</game>
<game>
<cartridge system="NES-NTSC" dump="ok" crc="40ED2A9D" sha1="D4E9126D02C9923C3871FD352248F41298498D4E">
<board type="NES-SEROM" mapper="1">
@ -7966,6 +8058,18 @@
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="fourplayer" />
</peripherals>
<cartridge system="NES-NTSC" dump="ok" crc="4E6B9078" sha1="93FF8CEC778771C7200F785798E0D1599EE8FEB5">
<board type="NES-NROM-256" mapper="0">
<prg size="32k" />
<chr size="8k" />
<pad h="0" v="1" />
</board>
</cartridge>
</game>
<game>
<cartridge system="Famicom" dump="unknown" crc="4E7729FF" sha1="5FA23F88432006DCF6874EA36E9E7DA8934427BE">
<board mapper="182">
@ -8147,6 +8251,18 @@
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="fourplayer" />
</peripherals>
<cartridge system="Famicom" dump="ok" crc="4FF17864" sha1="5119F1D6B67C5E44D63BA1E7080A6FE17623415C">
<board type="NES-SLROM" mapper="1">
<prg size="128k" />
<chr size="128k" />
<chip type="MMC1B2" />
</board>
</cartridge>
</game>
<game>
<cartridge system="Famicom" dump="unknown" crc="4FFD17F0" sha1="27CB8AEAF0EA97A6C69D3D90BC056C5EB61695F6">
<board mapper="194">
@ -8961,6 +9077,19 @@
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="fourplayer" />
</peripherals>
<cartridge system="NES-NTSC" dump="ok" crc="58094016" sha1="8354E33F44156C42C7013EBBEACF378BFA6FD6B2">
<board mapper="4">
<prg size="64k" />
<chr size="128k" />
<wram size="8k" battery="1" />
<pad h="0" v="1" />
</board>
</cartridge>
</game>
<game>
<cartridge system="NES-NTSC" dump="unknown" crc="58152B42" sha1="1E49BDA9CEF18F6F5C2DA34910487713D364AA68">
<board mapper="79">
@ -9321,6 +9450,18 @@
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="fourplayer" />
</peripherals>
<cartridge system="NES-NTSC" dump="ok" crc="5B8D4378" sha1="7194D3DB031C9342BB473A4ADE364DB1631B5EC9">
<board mapper="34">
<prg size="32k" />
<vram size="12k" />
<wram size="8k" battery="1" />
</board>
</cartridge>
</game>
<game>
<cartridge system="NES-NTSC" dump="ok" crc="5BB62688" sha1="D6615439A90FC68758C4149F0CBBE6D1331451F3">
<board type="NES-DEROM" mapper="206">
@ -10082,6 +10223,16 @@
</board>
</cartridge>
</game>
<game>
<cartridge system="NES-NTSC" dump="ok" crc="633AFE6F" sha1="2F29F3DC724027FAD926BC9D4470A481884E42A5">
<board type="NES-HKROM" mapper="4">
<prg size="32k" />
<chr size="8k" />
<pad h="0" v="1" />
<chip type="MMC6B" battery="0" />
</board>
</cartridge>
</game>
<game>
<cartridge system="Famicom" dump="unknown" crc="63469396" sha1="C6FEF52264372FAB620D1E5EE6A3E60E46262775">
<board mapper="1">
@ -10836,6 +10987,18 @@
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="fourplayer" />
</peripherals>
<cartridge system="Famicom" dump="unknown" crc="69977C9E" sha1="C43D5F049F4F7862E6DECCA7500C0C23E349AF9F">
<board mapper="0">
<prg size="32k" />
<chr size="8k" />
<pad h="0" v="1" />
</board>
</cartridge>
</game>
<game>
<cartridge system="NES-NTSC" dump="ok" crc="6997F5E1" sha1="4C8716C4651973B5F6811D6CA9A0F1E2C4E26FA3">
<board type="NES-CNROM" mapper="3">
@ -11747,6 +11910,17 @@
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="fourplayer" />
</peripherals>
<cartridge system="NES-PAL" dump="ok" crc="73298C87" sha1="16151504C01A3E89C7893A87567B0F31DC651D96">
<board type="PAL-ZZ" mapper="37">
<prg size="256k" />
<chr size="256k" />
</board>
</cartridge>
</game>
<game>
<arcade system="Playchoice-10" dump="unknown" crc="732B0675" sha1="B50E2DCF63E724F3FE8E5ADED50F32AA95775676">
<board mapper="1">
@ -12066,6 +12240,15 @@
</board>
</cartridge>
</game>
<game>
<cartridge system="Famicom" dump="unknown" crc="76A6A813" sha1="0FE9120FD5ADC2790B0B9E8FADD136F9C66A709F">
<board type="NAMCOT-3301" mapper="0">
<prg size="8k" />
<chr size="8k" />
<pad h="0" v="1" />
</board>
</cartridge>
</game>
<game>
<cartridge system="NES-PAL" dump="ok" crc="76C161E3" sha1="0711BC8D0BF42A0829391C2320393A0D3DF2DD1F">
<board type="NES-SGROM" mapper="1">
@ -13583,6 +13766,15 @@
</board>
</cartridge>
</game>
<game>
<cartridge system="Famicom" dump="ok" crc="8589652D" sha1="0CC7ED7F5D7EE0959EE3724C3AF06EF8DF397C59">
<board type="NANJING" mapper="163">
<prg size="2048k" />
<wram size="8k" battery="1" />
<pad h="0" v="1" />
</board>
</cartridge>
</game>
<game>
<cartridge system="NES-NTSC" dump="ok" crc="8593E5AD" sha1="84D2B96C2821FDC246DD876932F4E1752DF1CA73">
<board type="NES-TLROM" mapper="4">
@ -14368,6 +14560,18 @@
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="fourplayer" />
</peripherals>
<cartridge system="NES-NTSC" dump="ok" crc="8C29D397" sha1="69612DDE41A2C52A802D9768D7C2942572939867">
<board type="NES-NROM-256" mapper="0">
<prg size="32k" />
<chr size="8k" />
<pad h="0" v="1" />
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="turbofile" />
@ -14832,6 +15036,17 @@
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="fourplayer" />
</peripherals>
<cartridge system="NES-NTSC" dump="ok" crc="90D2E9F0" sha1="2801AADD9D0308CF2C9069A2BB76242ECA5B1501">
<board type="NES-NROM-256" mapper="0">
<prg size="32k" />
<chr size="8k" />
</board>
</cartridge>
</game>
<game>
<cartridge system="NES-NTSC" dump="ok" crc="90D68A43" sha1="7698CE7AE3B83F12518169ECFEEE4D76D643C842">
<board type="NES-CNROM" mapper="3">
@ -15738,6 +15953,18 @@
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="fourplayer" />
</peripherals>
<cartridge system="NES-NTSC" dump="ok" crc="9908C6C9" sha1="0A98AB1B7D069A00ACA5D1EB5975C181B2F79E5A">
<board type="NES-CNROM" mapper="3">
<prg size="32k" />
<chr size="32k" />
<pad h="0" v="1" />
</board>
</cartridge>
</game>
<game>
<cartridge system="NES-NTSC" dump="ok" crc="990985C0" sha1="AA08F65D6333448F088D8DCE32F3895662B577DE">
<board type="NES-SLROM" mapper="1">
@ -16639,6 +16866,19 @@
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="fourplayer" />
</peripherals>
<cartridge system="NES-NTSC" dump="ok" crc="9FC43DD8" sha1="A4A44A54BA682223503BEABE55D5031B5C62B2A7">
<board mapper="34">
<prg size="32k" />
<vram size="8k" />
<wram size="8k" />
<pad h="1" v="0" />
</board>
</cartridge>
</game>
<game>
<cartridge system="Famicom" dump="ok" crc="9FD35802" sha1="C38AF729C2BE2940FCA620F86415FAE304F1D8C9">
<board type="HVC-CNROM" mapper="3">
@ -17116,6 +17356,16 @@
</board>
</cartridge>
</game>
<game>
<cartridge system="NES-NTSC" dump="ok" crc="A512BDF6" sha1="F794FDA12D34E611D58E652319ED583AE61B81E0">
<board type="NES-HKROM" mapper="4">
<prg size="32k" />
<chr size="8k" />
<pad h="0" v="1" />
<chip type="MMC6B" battery="0" />
</board>
</cartridge>
</game>
<game>
<cartridge system="Famicom" dump="unknown" crc="A531E1AB" sha1="0A0772721642DE00FE575CA109891E274251D815">
<board mapper="4">
@ -19834,6 +20084,15 @@
</board>
</cartridge>
</game>
<game>
<cartridge system="NES-NTSC" dump="unknown" crc="BD75ED79" sha1="2E2B42DA4E0F41F411C778B5A9B66AA9FBD1167E">
<board type="CAMERICA-BF9093" mapper="71">
<prg size="64k" />
<vram size="8k" />
<pad h="1" v="0" />
</board>
</cartridge>
</game>
<game>
<cartridge system="Famicom" dump="ok" crc="BD9D0E85" sha1="F82654BE44E4B01B3F9627D81232A086B1CF7599">
<board type="HVC-UNROM" mapper="2">
@ -20956,6 +21215,18 @@
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="pokkunmoguraa" />
</peripherals>
<cartridge system="Famicom" dump="unknown" crc="C7BCC981" sha1="8A0DEADD84A0967B1D2DB0634262C7BDBBB732B7">
<board mapper="3">
<prg size="32k" />
<chr size="32k" />
<pad h="0" v="1" />
</board>
</cartridge>
</game>
<game>
<cartridge system="Dendy" dump="unknown" crc="C7EDBC2E" sha1="E4414C160C7E91136C62D99154336035E5636EEB">
<board mapper="13">
@ -25504,6 +25775,14 @@
</board>
</cartridge>
</game>
<game>
<cartridge system="NES-NTSC" dump="ok" crc="F312D1DE" sha1="35C157A921156E47FD3F6573D150F54108D0EDFC">
<board type="NES-TXROM" mapper="4">
<prg size="16k" />
<chip type="MMC3A" />
</board>
</cartridge>
</game>
<game>
<cartridge system="NES-NTSC" dump="ok" crc="F31D36A3" sha1="00147962462C44354735861D0258D72314635458">
<board type="NES-TSROM" mapper="4">
@ -25618,17 +25897,6 @@
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="fourplayer" />
</peripherals>
<cartridge system="NES-PAL" dump="ok" crc="73298C87" sha1="16151504C01A3E89C7893A87567B0F31DC651D96">
<board type="PAL-ZZ" mapper="37">
<prg size="256k" />
<chr size="256k" />
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="fourplayer" />
@ -26698,6 +26966,16 @@
</board>
</cartridge>
</game>
<game>
<cartridge system="NES-NTSC" dump="ok" crc="FDC7C50B" sha1="5E8F67BEFB2B1BCBD0384E3144ACB2766FC3E443">
<board type="NES-ETROM" mapper="5">
<prg size="128k" />
<chr size="128k" />
<wram size="8k" />
<wram size="8k" battery="1" />
</board>
</cartridge>
</game>
<game>
<cartridge system="Famicom" dump="unknown" crc="FDD89C45" sha1="D25327E0F0D8539AE761DF861254BDE3A60FDD96">
<board mapper="0">
@ -26928,191 +27206,6 @@
</board>
</cartridge>
</game>
<game>
<cartridge system="NES-NTSC" dump="ok" crc="FDC7C50B" sha1="5E8F67BEFB2B1BCBD0384E3144ACB2766FC3E443">
<board type="NES-ETROM" mapper="5">
<prg size="128k" />
<chr size="128k" />
<wram size="8k" />
<wram size="8k" battery="1" />
</board>
</cartridge>
</game>
<game>
<cartridge system="Famicom" dump="unknown" crc="084F61CD" sha1="44BC6C4E8B3F6C635281B4C05382E8F316D8269E">
<board type="NAMCOT-3301" mapper="0">
<prg size="8k" />
<chr size="8k" />
<pad h="0" v="1" />
</board>
</cartridge>
</game>
<game>
<cartridge system="Famicom" dump="unknown" crc="76A6A813" sha1="0FE9120FD5ADC2790B0B9E8FADD136F9C66A709F">
<board type="NAMCOT-3301" mapper="0">
<prg size="8k" />
<chr size="8k" />
<pad h="0" v="1" />
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="fourplayer" />
</peripherals>
<cartridge system="NES-NTSC" dump="ok" crc="1394DED0" sha1="B1C6A700A9F3B73666018E46515D376F06B8E9C2">
<board type="NES-UNROM" mapper="2">
<prg size="64k" />
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="fourplayer" />
</peripherals>
<cartridge system="NES-NTSC" dump="ok" crc="90D2E9F0" sha1="2801AADD9D0308CF2C9069A2BB76242ECA5B1501">
<board type="NES-NROM-256" mapper="0">
<prg size="32k" />
<chr size="8k" />
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="fourplayer" />
</peripherals>
<cartridge system="NES-NTSC" dump="ok" crc="2DA5ECE0" sha1="F3554E45D3261157653643C23A378C0295A5F893">
<board type="NES-NROM-256" mapper="0">
<prg size="32k" />
<chr size="8k" />
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="fourplayer" />
</peripherals>
<cartridge system="Famicom" dump="unknown" crc="69977C9E" sha1="C43D5F049F4F7862E6DECCA7500C0C23E349AF9F">
<board mapper="0">
<prg size="32k" />
<chr size="8k" />
<pad h="0" v="1" />
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="fourplayer" />
</peripherals>
<cartridge system="Famicom" dump="ok" crc="4FF17864" sha1="5119F1D6B67C5E44D63BA1E7080A6FE17623415C">
<board type="NES-SLROM" mapper="1">
<prg size="128k" />
<chr size="128k" />
<chip type="MMC1B2" />
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="fourplayer" />
</peripherals>
<cartridge system="NES-NTSC" dump="ok" crc="00D2CB22" sha1="CCD60DBC65EC004956E972E116BDD114E8818E3E">
<board type="NES-NROM-256" mapper="0">
<prg size="32k" />
<chr size="8k" />
<pad h="1" v="0" />
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="fourplayer" />
</peripherals>
<cartridge system="NES-NTSC" dump="ok" crc="5B8D4378" sha1="7194D3DB031C9342BB473A4ADE364DB1631B5EC9">
<board mapper="34">
<prg size="32k" />
<vram size="12k" />
<wram size="8k" battery="1" />
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="fourplayer" />
</peripherals>
<cartridge system="NES-NTSC" dump="ok" crc="9FC43DD8" sha1="A4A44A54BA682223503BEABE55D5031B5C62B2A7">
<board mapper="34">
<prg size="32k" />
<vram size="8k" />
<wram size="8k" />
<pad h="1" v="0" />
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="fourplayer" />
</peripherals>
<cartridge system="NES-NTSC" dump="ok" crc="58094016" sha1="8354E33F44156C42C7013EBBEACF378BFA6FD6B2">
<board mapper="4">
<prg size="64k" />
<chr size="128k" />
<wram size="8k" battery="1" />
<pad h="0" v="1" />
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="fourplayer" />
</peripherals>
<cartridge system="NES-NTSC" dump="ok" crc="40E1F09E" sha1="2B44E45C621D52C882C50BEF7A2F9B4C93DDF908">
<board mapper="2">
<prg size="64k" />
<vram size="8k" />
<wram size="8k" />
<pad h="1" v="0" />
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="fourplayer" />
</peripherals>
<cartridge system="NES-NTSC" dump="ok" crc="9908C6C9" sha1="0A98AB1B7D069A00ACA5D1EB5975C181B2F79E5A">
<board type="NES-CNROM" mapper="3">
<prg size="32k" />
<chr size="32k" />
<pad h="0" v="1" />
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="fourplayer" />
</peripherals>
<cartridge system="NES-NTSC" dump="ok" crc="8C29D397" sha1="69612DDE41A2C52A802D9768D7C2942572939867">
<board type="NES-NROM-256" mapper="0">
<prg size="32k" />
<chr size="8k" />
<pad h="0" v="1" />
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="turbofile" />
</peripherals>
<cartridge system="NES-NTSC" dump="ok" crc="3046C4D5" sha1="1AF51255F2837484974DA44650B186333472C7B2">
<board type="NES-SXROM" mapper="1">
<prg size="512k" />
<vram size="8k" />
<wram size="32k" battery="1" />
<pad h="1" v="0" />
<chip type="MMC1" />
</board>
</cartridge>
</game>
<!--game>
<peripherals>
<device type="zapper" />
@ -27124,85 +27217,4 @@
</board>
</cartridge>
</game>-->
<game>
<peripherals>
<device type="fourplayer" />
</peripherals>
<cartridge system="NES-NTSC" dump="ok" crc="4E6B9078" sha1="93FF8CEC778771C7200F785798E0D1599EE8FEB5">
<board type="NES-NROM-256" mapper="0">
<prg size="32k" />
<chr size="8k" />
<pad h="0" v="1" />
</board>
</cartridge>
</game>
<game>
<cartridge system="Famicom" dump="ok" crc="8589652D" sha1="0CC7ED7F5D7EE0959EE3724C3AF06EF8DF397C59">
<board type="NANJING" mapper="163">
<prg size="2048k" />
<wram size="8k" battery="1" />
<pad h="0" v="1" />
</board>
</cartridge>
</game>
<game>
<cartridge system="NES-NTSC" dump="ok" crc="F312D1DE" sha1="35C157A921156E47FD3F6573D150F54108D0EDFC">
<board type="NES-TXROM" mapper="4">
<prg size="16k" />
<chip type="MMC3A" />
</board>
</cartridge>
</game>
<game>
<cartridge system="NES-NTSC" dump="ok" crc="A512BDF6" sha1="F794FDA12D34E611D58E652319ED583AE61B81E0">
<board type="NES-HKROM" mapper="4">
<prg size="32k" />
<chr size="8k" />
<pad h="0" v="1" />
<chip type="MMC6B" battery="0" />
</board>
</cartridge>
</game>
<game>
<cartridge system="NES-NTSC" dump="ok" crc="633AFE6F" sha1="2F29F3DC724027FAD926BC9D4470A481884E42A5">
<board type="NES-HKROM" mapper="4">
<prg size="32k" />
<chr size="8k" />
<pad h="0" v="1" />
<chip type="MMC6B" battery="0" />
</board>
</cartridge>
</game>
<game>
<cartridge system="NES-NTSC" dump="unknown" crc="BD75ED79" sha1="2E2B42DA4E0F41F411C778B5A9B66AA9FBD1167E">
<board type="CAMERICA-BF9093" mapper="71">
<prg size="64k" />
<vram size="8k" />
<pad h="1" v="0" />
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="zapper" />
</peripherals>
<cartridge system="NES-NTSC" dump="unknown" crc="1CA9C322" sha1="17869C4F55461D50E134CC3A4D15B89E7CAF8DE3">
<board mapper="258">
<prg size="128k" />
<chr size="128k" />
</board>
</cartridge>
</game>
<game>
<peripherals>
<device type="pokkunmoguraa" />
</peripherals>
<cartridge system="Famicom" dump="unknown" crc="C7BCC981" sha1="8A0DEADD84A0967B1D2DB0634262C7BDBBB732B7">
<board mapper="3">
<prg size="32k" />
<chr size="32k" />
<pad h="0" v="1" />
</board>
</cartridge>
</game>
</database>

View file

@ -238,7 +238,7 @@ namespace Nes
stream = NULL;
buffer.Reset( settings.bits );
buffer.Reset();
if (on)
{
@ -297,7 +297,7 @@ namespace Nes
if (!rate)
return RESULT_ERR_INVALID_PARAM;
if (rate < 11025 || rate > 96000)
if (rate < 44100 || rate > 96000)
return RESULT_ERR_UNSUPPORTED;
settings.rate = rate;
@ -306,23 +306,6 @@ namespace Nes
return RESULT_OK;
}
Result Apu::SetSampleBits(const uint bits)
{
if (settings.bits == bits)
return RESULT_NOP;
if (!bits)
return RESULT_ERR_INVALID_PARAM;
if (bits != 8 && bits != 16)
return RESULT_ERR_UNSUPPORTED;
settings.bits = bits;
UpdateSettings();
return RESULT_OK;
}
Result Apu::SetVolume(const uint channels,const uint volume)
{
if (volume > 100)
@ -421,7 +404,7 @@ namespace Nes
cycles.Update( settings.rate, settings.speed, cpu );
synchronizer.Reset( settings.speed, settings.rate, cpu );
dcBlocker.Reset();
buffer.Reset( settings.bits );
buffer.Reset();
Cycle rate; uint fixed;
CalculateOscillatorClock( rate, fixed );
@ -863,20 +846,10 @@ namespace Nes
{
streamed = stream->length[0] + stream->length[1];
if (settings.bits == 16)
{
if (!settings.stereo)
FlushSound<iword,false>();
else
FlushSound<iword,true>();
}
if (!settings.stereo)
FlushSound<iword,false>();
else
{
if (!settings.stereo)
FlushSound<byte,false>();
else
FlushSound<byte,true>();
}
FlushSound<iword,true>();
Sound::Output::unlockCallback( *stream );
}
@ -921,7 +894,7 @@ namespace Nes
#endif
Apu::Settings::Settings()
: rate(44100), bits(16), speed(0), muted(false), transpose(false), stereo(false), audible(true)
: rate(44100), speed(0), muted(false), transpose(false), stereo(false), audible(true)
{
for (uint i=0; i < MAX_CHANNELS; ++i)
volumes[i] = Channel::DEFAULT_VOLUME;
@ -2458,7 +2431,7 @@ namespace Nes
dcBlocker.Reset();
buffer.Reset( settings.bits, false );
buffer.Reset( false );
}
#ifdef NST_MSVC_OPTIMIZE

View file

@ -60,7 +60,6 @@ namespace Nes
void ClockDMA(uint=0);
Result SetSampleRate(dword);
Result SetSampleBits(uint);
Result SetSpeed(uint);
Result SetVolume(uint,uint);
uint GetVolume(uint) const;
@ -599,7 +598,6 @@ namespace Nes
Settings();
dword rate;
uint bits;
byte speed;
bool muted;
bool transpose;
@ -631,11 +629,6 @@ namespace Nes
return settings.rate;
}
uint GetSampleBits() const
{
return settings.bits;
}
uint GetSpeed() const
{
return settings.speed;

View file

@ -39,7 +39,7 @@ namespace Nes
Buffer::Buffer(uint bits)
: output(new iword [SIZE])
{
Reset( bits, true );
Reset( true );
}
Buffer::~Buffer()
@ -47,12 +47,12 @@ namespace Nes
delete [] output;
}
void Buffer::Reset(uint bits,bool clear)
void Buffer::Reset(bool clear)
{
pos = start = 0;
history.pos = 0;
std::fill( history.buffer, history.buffer+History::SIZE, iword(bits == 16 ? 0 : 0x80) );
std::fill( history.buffer, history.buffer+History::SIZE, iword(0) );
if (clear)
std::fill( output, output+SIZE, iword(0) );

View file

@ -59,7 +59,7 @@ namespace Nes
uint length;
};
void Reset(uint,bool=true);
void Reset(bool=true);
void operator >> (Block&);
template<typename,uint>

View file

@ -136,7 +136,6 @@ namespace Nes
enabled (e),
good (false),
stereo (false),
bits (0),
rate (0),
index (0),
buffer (NULL),
@ -268,14 +267,13 @@ namespace Nes
bool Tracker::Rewinder::ReverseSound::Update()
{
const dword old = (bits == 16 ? size * sizeof(iword) : size * sizeof(byte));
const dword old = size * sizeof(iword);
bits = apu.GetSampleBits();
rate = apu.GetSampleRate();
stereo = apu.InStereo();
size = rate << (stereo+1);
const dword total = (bits == 16 ? size * sizeof(iword) : size * sizeof(byte));
const dword total = size * sizeof(iword);
NST_ASSERT( total );
if (!buffer || total != old)
@ -296,10 +294,7 @@ namespace Nes
good = true;
index = 0;
if (bits == 16)
std::fill( static_cast<iword*>(buffer), static_cast<iword*>(buffer) + size, iword(0) );
else
std::memset( buffer, 0x80, size );
std::fill( static_cast<iword*>(buffer), static_cast<iword*>(buffer) + size, iword(0) );
return true;
}
@ -587,13 +582,13 @@ namespace Nes
{
NST_COMPILE_ASSERT( NUM_FRAMES % 2 == 0 );
if (!buffer || (bits ^ apu.GetSampleBits()) | (rate ^ apu.GetSampleRate()) | (stereo ^ uint(bool(apu.InStereo()))))
if (!buffer || (rate ^ apu.GetSampleRate()) | (stereo ^ uint(bool(apu.InStereo()))))
{
if (!good || !Update() || !enabled)
return NULL;
}
return bits == 16 ? StoreType<iword>() : StoreType<byte>();
return StoreType<iword>();
}
template<typename T,int SILENCE>
@ -632,14 +627,11 @@ namespace Nes
{
if (enabled & good)
{
input = (bits == 16) ? ReverseCopy<iword>( *target ) : ReverseCopy<byte>( *target );
input = ReverseCopy<iword>( *target );
}
else
{
if (bits == 16)
ReverseSilence<iword,0>( *target );
else
ReverseSilence<byte,0x80>( *target );
ReverseSilence<iword,0>( *target );
}
mutex.Unlock( *target );

View file

@ -181,7 +181,6 @@ namespace Nes
bool enabled;
bool good;
byte stereo;
byte bits;
dword rate;
uint index;
void* buffer;

View file

@ -62,11 +62,6 @@ namespace Nes
return emulator.cpu.GetApu().SetSampleRate( rate );
}
Result Sound::SetSampleBits(uint bits) throw()
{
return emulator.cpu.GetApu().SetSampleBits( bits );
}
Result Sound::SetVolume(uint channels,uint volume) throw()
{
return emulator.cpu.GetApu().SetVolume( channels, volume );
@ -97,11 +92,6 @@ namespace Nes
return emulator.cpu.GetApu().GetSampleRate();
}
uint Sound::GetSampleBits() const throw()
{
return emulator.cpu.GetApu().GetSampleBits();
}
uint Sound::GetVolume(uint channel) const throw()
{
return emulator.cpu.GetApu().GetVolume( channel );

View file

@ -262,7 +262,7 @@ namespace Nes
/**
* Sets the sample rate.
*
* @param rate value in the range 11025 to 96000, default is 44100
* @param rate value in the range 44100 to 96000, default is 44100
* @return result code
*/
Result SetSampleRate(ulong rate) throw();
@ -274,21 +274,6 @@ namespace Nes
*/
ulong GetSampleRate() const throw();
/**
* Sets the sample bits.
*
* @param bits value of 8 or 16, default is 16
* @return result code
*/
Result SetSampleBits(uint bits) throw();
/**
* Returns the sample bits.
*
* @return number
*/
uint GetSampleBits() const throw();
/**
* Sets the speaker type.
*

View file

@ -1814,35 +1814,54 @@ namespace Nes
break;
case 21:
if (submapper == 1)
if (submapper == 2 || wram >= SIZE_8K) // VRC4c
{
Chips::Type& chip = chips.Add(L"Konami VRC IV");
chip.Pin(3) = L"PRG A7";
chip.Pin(4) = L"PRG A6";
name = "KONAMI VRC4";
id = Type::KONAMI_VRC4_2;
}
else // VRC4a - submapper 1
{
Chips::Type& chip = chips.Add(L"Konami VRC IV");
chip.Pin(3) = L"PRG A2";
chip.Pin(4) = L"PRG A1";
name = "KONAMI VRC4";
id = Type::KONAMI_VRC4_0;
}
case 25:
if (submapper == 2)
{ // The correct board is VRC2 but the functionality is implemented in the VRC4 code currently
Chips::Type& chip = chips.Add(L"Konami VRC IV");
chip.Pin(3) = L"PRG A0";
chip.Pin(4) = L"PRG A1";
name = "KONAMI VRC2";
id = Type::KONAMI_VRC4_2;
break;
}
if (!this->chips.Has(L"Konami VRC IV"))
return false;
name = "KONAMI VRC4";
id = Type::KONAMI_VRC4_2;
break;
case 25:
if (submapper == 3 || wram >= SIZE_8K) // VRC2c, but emulated as VRC4
{
Chips::Type& chip = chips.Add(L"Konami VRC IV");
chip.Pin(3) = L"PRG A0";
chip.Pin(4) = L"PRG A1";
id = Type::KONAMI_VRC4_2;
name = "KONAMI VRC2";
break;
}
else if (submapper == 2 || prg >= SIZE_256K) // VRC4d
{
Chips::Type& chip = chips.Add(L"Konami VRC IV");
chip.Pin(3) = L"PRG A2";
chip.Pin(4) = L"PRG A3";
id = Type::KONAMI_VRC4_0;
}
else // VRC4b - submapper 1
{
Chips::Type& chip = chips.Add(L"Konami VRC IV");
chip.Pin(3) = L"PRG A0";
chip.Pin(4) = L"PRG A1";
id = Type::KONAMI_VRC4_1;
}
name = "KONAMI VRC4";
break;
case 22:
@ -1869,50 +1888,49 @@ namespace Nes
case 23:
if (submapper == 2)
if (submapper == 1) // VRC4f - Unknown, but plausibly World Hero?
{
Chips::Type& chip = chips.Add(L"Konami VRC IV");
chip.Pin(3) = L"PRG A3";
chip.Pin(4) = L"PRG A2";
chip.Pin(3) = L"PRG A1";
chip.Pin(4) = L"PRG A0";
name = "KONAMI VRC4";
id = Type::KONAMI_VRC4_0;
}
else if (submapper == 3)
else if (submapper == 2) // VRC4e
{
name = "KONAMI VRC2";
id = Type::KONAMI_VRC2;
break;
Chips::Type& chip = chips.Add(L"Konami VRC IV");
chip.Pin(3) = L"PRG A3";
chip.Pin(4) = L"PRG A2";
name = "KONAMI VRC4";
id = Type::KONAMI_VRC4_1;
}
if (prg >= SIZE_512K)
else if (prg >= SIZE_512K)
{
if (!this->chips.Has(L"Konami VRC IV"))
{
Chips::Type& chip = chips.Add(L"Konami VRC IV");
chip.Pin(3) = L"PRG A3";
chip.Pin(4) = L"PRG A2";
}
Chips::Type& chip = chips.Add(L"Konami VRC IV");
chip.Pin(3) = L"PRG A3";
chip.Pin(4) = L"PRG A2";
name = "BMC VRC4";
id = Type::BMC_VRC4;
}
else if (this->chips.Has(L"Konami VRC II"))
else // VRC2b - submapper 3
{
Chips::Type& chip = chips.Add(L"Konami VRC II");
chip.Pin(3) = L"PRG A1";
chip.Pin(4) = L"PRG A0";
chip.Pin(21) = L"CHR A10";
chip.Pin(22) = L"CHR A16";
chip.Pin(23) = L"CHR A11";
chip.Pin(24) = L"CHR A13";
chip.Pin(25) = L"CHR A14";
chip.Pin(26) = L"CHR A12";
chip.Pin(27) = L"CHR A15";
chip.Pin(28) = (chr >= SIZE_256K ? L"CHR A17" : L"NC");
name = "KONAMI VRC2";
id = Type::KONAMI_VRC2;
}
else if (this->chips.Has(L"Konami VRC IV"))
{
name = "KONAMI VRC4";
id = Type::KONAMI_VRC4_2;
}
else
{
return false;
}
break;
case 24:
@ -2355,13 +2373,6 @@ namespace Nes
case 78:
if (submapper == 1)
{
name = "JALECO JF-16";
id = Type::JALECO_JF16;
break;
}
if (submapper == 3)
{
name = "IREM-HOLYDIVER";
@ -2369,6 +2380,7 @@ namespace Nes
break;
}
// Default to submapper 1
name = "JALECO JF-16";
id = Type::JALECO_JF16;
break;

View file

@ -146,9 +146,7 @@ void audio_set_params(Sound::Output *soundoutput) {
// Set audio parameters
Sound sound(emulator);
sound.SetSampleBits(16);
sound.SetSampleRate(conf.audio_sample_rate);
sound.SetSpeaker(conf.audio_stereo ? Sound::SPEAKER_STEREO : Sound::SPEAKER_MONO);
sound.SetSpeed(Sound::DEFAULT_SPEED);

View file

@ -92,7 +92,7 @@ void config_file_write(const char *nstdir) {
fprintf(fp, "[audio]\n");
fprintf(fp, "; Valid values are 1 and 0.\n");
fprintf(fp, "stereo=%d\n\n", conf.audio_stereo);
fprintf(fp, "; Valid values are 11025, 22050, 44100, 48000, and 96000.\n");
fprintf(fp, "; Valid values are 44100, 48000, and 96000.\n");
fprintf(fp, "sample_rate=%d\n\n", conf.audio_sample_rate);
fprintf(fp, "; Valid values are 0 to 100.\n");
fprintf(fp, "volume=%d\n", conf.audio_volume);

View file

@ -142,11 +142,9 @@ static void cb_unlimited_sprites(Fl_Widget *w, long) {
static void cb_samplerate(Fl_Widget *w, long) {
switch (((Fl_Choice*)w)->value()) {
case 0: conf.audio_sample_rate = 11025; break;
case 1: conf.audio_sample_rate = 22050; break;
case 2: conf.audio_sample_rate = 44100; break;
case 3: conf.audio_sample_rate = 48000; break;
case 4: conf.audio_sample_rate = 96000; break;
case 0: conf.audio_sample_rate = 44100; break;
case 1: conf.audio_sample_rate = 48000; break;
case 2: conf.audio_sample_rate = 96000; break;
default: conf.audio_sample_rate = 48000; break;
}
@ -406,18 +404,14 @@ void NstConfWindow::populate() {
Fl_Choice *ch_samplerate = new Fl_Choice(20, 55, 160, 25, "Sample Rate");
ch_samplerate->align(FL_ALIGN_TOP_LEFT);
ch_samplerate->add("11025Hz");
ch_samplerate->add("22050Hz");
ch_samplerate->add("44100Hz");
ch_samplerate->add("48000Hz");
ch_samplerate->add("96000Hz");
switch (conf.audio_sample_rate) {
case 11025: ch_samplerate->value(0); break;
case 22050: ch_samplerate->value(1); break;
case 44100: ch_samplerate->value(2); break;
case 48000: ch_samplerate->value(3); break;
case 96000: ch_samplerate->value(4); break;
default: ch_samplerate->value(3); break;
case 44100: ch_samplerate->value(0); break;
case 48000: ch_samplerate->value(1); break;
case 96000: ch_samplerate->value(2); break;
default: ch_samplerate->value(1); break;
}
ch_samplerate->callback(cb_samplerate);