removed 098 snd due to problems with it
authornotaz <notasas@gmail.com>
Mon, 18 Jun 2007 20:29:35 +0000 (20:29 +0000)
committernotaz <notasas@gmail.com>
Mon, 18 Jun 2007 20:29:35 +0000 (20:29 +0000)
git-svn-id: file:///home/notaz/opt/svn/fceu@168 be3aeb3a-fb24-0410-a615-afba39da0efa

drivers/gp2x/menu.c
fce.c
fceu098.c
fcoeffs098.h [deleted file]
filter098.c [deleted file]
filter098.h [deleted file]
ppu098.c
sound.c
sound.h
sound098.c [deleted file]
sound098.h [deleted file]

index 337402a..d3eb71e 100644 (file)
@@ -1084,7 +1084,7 @@ static void draw_menu_options(int menu_sel)
        gp2x_text_out15(tl_x,  y,      "Scaling:       %s", strscaling);                                // 0\r
        gp2x_text_out15(tl_x, (y+=10), "Show FPS                   %s", Settings.showfps?"ON":"OFF");   // 1\r
        gp2x_text_out15(tl_x, (y+=10), "Frameskip                  %s", strframeskip);                  // 2\r
-       gp2x_text_out15(tl_x, (y+=10), "Accurate mode (slow)       %s", Settings.accurate_mode?"ON":"OFF");\r
+       gp2x_text_out15(tl_x, (y+=10), "Accurate renderer (slow)   %s", Settings.accurate_mode?"ON":"OFF");\r
        gp2x_text_out15(tl_x, (y+=10), "Enable sound               %s", soundvol?"ON":"OFF");\r
        gp2x_text_out15(tl_x, (y+=10), "Sound Rate:           %5iHz", Settings.sound_rate);             // 5\r
        gp2x_text_out15(tl_x, (y+=10), "Force Region:              %s",\r
diff --git a/fce.c b/fce.c
index 73e8845..19d2be4 100644 (file)
--- a/fce.c
+++ b/fce.c
@@ -28,8 +28,7 @@
 #include       "fce.h"
 #include       "fceu098.h"
 #include       "sound.h"
-#include       "sound098.h"
-#include        "svga.h"
+#include       "svga.h"
 #include       "netplay.h"
 #include       "general.h"
 #include       "endian.h"
@@ -1278,14 +1277,12 @@ void FCEUI_SetEmuMode(int is_new)
    {
     ResetNES=ResetNES098;
     PowerNES=PowerNES098;
-    SetSoundVariables=SetSoundVariables098;
     FCEUI_Emulate=FCEUI_Emulate098;
    }
    else
    {
     ResetNES=ResetNES081;
     PowerNES=PowerNES081;
-    SetSoundVariables=SetSoundVariables081;
     FCEUI_Emulate=EmLoop;
    }
 }
index 2d76a0c..dd35297 100644 (file)
--- a/fceu098.c
+++ b/fceu098.c
@@ -24,7 +24,6 @@
 #include       "fce.h"
 #include       "ppu098.h"
 #include       "sound.h"
-#include       "sound098.h"
 #include       "input.h"
 #include       "cart.h"
 #include       "cheat.h"
@@ -59,7 +58,7 @@ void FCEUI_Emulate098(void)
    break;
   }
 
-  ssize=FlushEmulateSound098();
+  ssize=FlushEmulateSound();
 
   timestampbase += timestamp;
   timestamp = 0;
@@ -84,7 +83,7 @@ void FCEUI_Emulate098(void)
 void ResetNES098(void)
 {
  ResetNES081();
- FCEUSND_Reset();
//FCEUSND_Reset();
  FCEUPPU_Reset();
 }
 
@@ -92,7 +91,8 @@ void ResetNES098(void)
 void PowerNES098(void)
 {
  PowerNES081();
- FCEUSND_Power();
+ // it was decided not to use 098 sound because of problems it causes
+ //FCEUSND_Power();
  FCEUPPU_Power();
 }
 
diff --git a/fcoeffs098.h b/fcoeffs098.h
deleted file mode 100644 (file)
index 2d27677..0000000
+++ /dev/null
@@ -1,1591 +0,0 @@
-#define SQ2NCOEFFS 1024
-
-#if 0
-static int32 sq2coeffs[SQ2NCOEFFS];
-
-static int32 SQ2C44100NTSC[SQ2NCOEFFS/2]=
-{
- #include "fir/c44100ntsc.h"
-};
-
-static int32 SQ2C48000NTSC[SQ2NCOEFFS/2]=
-{
- #include "fir/c48000ntsc.h"
-};
-
-static int32 SQ2C96000NTSC[SQ2NCOEFFS/2]=
-{
- #include "fir/c96000ntsc.h"
-};
-
-static int32 SQ2C44100PAL[SQ2NCOEFFS/2]=
-{
- #include "fir/c44100pal.h"
-};
-
-static int32 SQ2C48000PAL[SQ2NCOEFFS/2]=
-{
- #include "fir/c48000pal.h"
-};
-
-static int32 SQ2C96000PAL[SQ2NCOEFFS/2]=
-{
- #include "fir/c96000pal.h"
-};
-#endif
-
-#define NCOEFFS 484
-
-static int32 coeffs[NCOEFFS];
-
-/* 96000hz filter could probably be improved. */
-
-/*
-Parks-McClellan FIR Filter Design
-
-Filter type: Low pass
-Passband: 0 - 0.016761904
-Order: 483
-Passband ripple: 0.01 dB
-Transition band: 0.01005714
-Stopband attenuation: 103.0 dB
-
-Coefficients:
-*/
-static int32 C96000NTSC[NCOEFFS/2]=
-{
-/*0*/ 65536*16*  -5.9950991853042605E-6
-/*1*/, 65536*16*  -3.0394382502604395E-6
-/*2*/, 65536*16*  -3.728403434239284E-6
-/*3*/, 65536*16*  -4.460351826790638E-6
-/*4*/, 65536*16*  -5.2164320385801135E-6
-/*5*/, 65536*16*  -5.9787071016806234E-6
-/*6*/, 65536*16*  -6.716463411023574E-6
-/*7*/, 65536*16*  -7.408551386580002E-6
-/*8*/, 65536*16*  -8.023491429829738E-6
-/*9*/, 65536*16*  -8.531232892238868E-6
-/*10*/, 65536*16* -8.878741512154837E-6
-/*11*/, 65536*16* -9.046773382992595E-6
-/*12*/, 65536*16* -8.993971214348702E-6
-/*13*/, 65536*16* -8.66944931521744E-6
-/*14*/, 65536*16* -8.049348524459474E-6
-/*15*/, 65536*16* -7.083238646482467E-6
-/*16*/, 65536*16* -5.746762349938464E-6
-/*17*/, 65536*16* -4.005753681691657E-6
-/*18*/, 65536*16* -1.838018035195733E-6
-/*19*/, 65536*16* 7.763983938828864E-7
-/*20*/, 65536*16* 3.842232025916005E-6
-/*21*/, 65536*16* 7.361161707034959E-6
-/*22*/, 65536*16* 1.1325948767988128E-5
-/*23*/, 65536*16* 1.5711486406341978E-5
-/*24*/, 65536*16* 2.0488201424957098E-5
-/*25*/, 65536*16* 2.5608402660083142E-5
-/*26*/, 65536*16* 3.101231858515874E-5
-/*27*/, 65536*16* 3.6630654060842745E-5
-/*28*/, 65536*16* 4.2375439803123404E-5
-/*29*/, 65536*16* 4.815060832963289E-5
-/*30*/, 65536*16* 5.384626411548906E-5
-/*31*/, 65536*16* 5.934549587237094E-5
-/*32*/, 65536*16* 6.451785679907682E-5
-/*33*/, 65536*16* 6.923065879553487E-5
-/*34*/, 65536*16* 7.334304650233838E-5
-/*35*/, 65536*16* 7.671308820252635E-5
-/*36*/, 65536*16* 7.920112989696133E-5
-/*37*/, 65536*16* 8.066793124218096E-5
-/*38*/, 65536*16* 8.098382483962539E-5
-/*39*/, 65536*16* 8.002921154479775E-5
-/*40*/, 65536*16* 7.769789869215064E-5
-/*41*/, 65536*16* 7.390152475899438E-5
-/*42*/, 65536*16* 6.857231550142758E-5
-/*43*/, 65536*16* 6.16673817460573E-5
-/*44*/, 65536*16* 5.3169767940001464E-5
-/*45*/, 65536*16* 4.309495398773014E-5
-/*46*/, 65536*16* 3.148737405995964E-5
-/*47*/, 65536*16* 1.8428415219696232E-5
-/*48*/, 65536*16* 4.0337781533928895E-6
-/*49*/, 65536*16* -1.154525373085283E-5
-/*50*/, 65536*16* -2.8120750949316567E-5
-/*51*/, 65536*16* -4.5470242422149815E-5
-/*52*/, 65536*16* -6.333736379615692E-5
-/*53*/, 65536*16* -8.143489509942166E-5
-/*54*/, 65536*16* -9.94475640226242E-5
-/*55*/, 65536*16* -1.1703729468742291E-4
-/*56*/, 65536*16* -1.3384679191408508E-4
-/*57*/, 65536*16* -1.4950548598267213E-4
-/*58*/, 65536*16* -1.6363792959068823E-4
-/*59*/, 65536*16* -1.7586732627086947E-4
-/*60*/, 65536*16* -1.858264971517669E-4
-/*61*/, 65536*16* -1.9316312487547242E-4
-/*62*/, 65536*16* -1.975494021862538E-4
-/*63*/, 65536*16* -1.9868977868165154E-4
-/*64*/, 65536*16* -1.963293865814053E-4
-/*65*/, 65536*16* -1.9026146175876417E-4
-/*66*/, 65536*16* -1.803352078962109E-4
-/*67*/, 65536*16* -1.66463443436789E-4
-/*68*/, 65536*16* -1.4862710934868261E-4
-/*69*/, 65536*16* -1.2688200452566298E-4
-/*70*/, 65536*16* -1.0136212853169677E-4
-/*71*/, 65536*16* -7.228199463954364E-5
-/*72*/, 65536*16* -3.9939461621236575E-5
-/*73*/, 65536*16* -4.7134932934724E-6
-/*74*/, 65536*16* 3.2936215273699675E-5
-/*75*/, 65536*16* 7.247384833064696E-5
-/*76*/, 65536*16* 1.1329187082792405E-4
-/*77*/, 65536*16* 1.5471948843725746E-4
-/*78*/, 65536*16* 1.9603027714808286E-4
-/*79*/, 65536*16* 2.364532958813608E-4
-/*80*/, 65536*16* 2.751853212246927E-4
-/*81*/, 65536*16* 3.114033208188799E-4
-/*82*/, 65536*16* 3.442804841775461E-4
-/*83*/, 65536*16* 3.7300098840546946E-4
-/*84*/, 65536*16* 3.967764136715296E-4
-/*85*/, 65536*16* 4.148631617351676E-4
-/*86*/, 65536*16* 4.265789297533608E-4
-/*87*/, 65536*16* 4.3132002526188114E-4
-/*88*/, 65536*16* 4.2857701618443636E-4
-/*89*/, 65536*16* 4.179510914969621E-4
-/*90*/, 65536*16* 3.991670037587729E-4
-/*91*/, 65536*16* 3.720870989970653E-4
-/*92*/, 65536*16* 3.367209236003282E-4
-/*93*/, 65536*16* 2.932338231303312E-4
-/*94*/, 65536*16* 2.419533571940393E-4
-/*95*/, 65536*16* 1.8337169647749448E-4
-/*96*/, 65536*16* 1.1814612711310299E-4
-/*97*/, 65536*16* 4.709567952563025E-5
-/*98*/, 65536*16* -2.880519351052945E-5
-/*99*/, 65536*16* -1.08436462295612E-4
-/*100*/, 65536*16*  -1.905455293630124E-4
-/*101*/, 65536*16*  -2.7376362665015007E-4
-/*102*/, 65536*16*  -3.566259161939277E-4
-/*103*/, 65536*16*  -4.375928024937683E-4
-/*104*/, 65536*16*  -5.150762555847844E-4
-/*105*/, 65536*16*  -5.874662774920191E-4
-/*106*/, 65536*16*  -6.531605887419429E-4
-/*107*/, 65536*16*  -7.105951946653638E-4
-/*108*/, 65536*16*  -7.582757639600853E-4
-/*109*/, 65536*16*  -7.948096207059845E-4
-/*110*/, 65536*16*  -8.189373133065186E-4
-/*111*/, 65536*16*  -8.295634640890689E-4
-/*112*/, 65536*16*  -8.257854455404298E-4
-/*113*/, 65536*16*  -8.069208861135825E-4
-/*114*/, 65536*16*  -7.725316214556066E-4
-/*115*/, 65536*16*  -7.224442067331338E-4
-/*116*/, 65536*16*  -6.567673177902021E-4
-/*117*/, 65536*16*  -5.759031970767677E-4
-/*118*/, 65536*16*  -4.8055576975832975E-4
-/*119*/, 65536*16*  -3.7173219275304865E-4
-/*120*/, 65536*16*  -2.507394811359122E-4
-/*121*/, 65536*16*  -1.191747608775131E-4
-/*122*/, 65536*16*  2.1089774143064154E-5
-/*123*/, 65536*16*  1.6792832047168277E-4
-/*124*/, 65536*16*  3.189887341095747E-4
-/*125*/, 65536*16*  4.7172479984555337E-4
-/*126*/, 65536*16*  6.234346495766704E-4
-/*127*/, 65536*16*  7.713029674040095E-4
-/*128*/, 65536*16*  9.124478381058291E-4
-/*129*/, 65536*16*  0.0010439713492973299
-/*130*/, 65536*16*  0.0011630121060354824
-/*131*/, 65536*16*  0.0012668003330792172
-/*132*/, 65536*16*  0.0013527131638668246
-/*133*/, 65536*16*  0.0014183305230994348
-/*134*/, 65536*16*  0.0014614889365474647
-/*135*/, 65536*16*  0.0014803340336415063
-/*136*/, 65536*16*  0.0014733688575452508
-/*137*/, 65536*16*  0.001439498243826639
-/*138*/, 65536*16*  0.0013780680098511918
-/*139*/, 65536*16*  0.0012888970057146566
-/*140*/, 65536*16*  0.0011723026532406624
-/*141*/, 65536*16*  0.0010291180003947405
-/*142*/, 65536*16*  8.607001658653358E-4
-/*143*/, 65536*16*  6.689295599970792E-4
-/*144*/, 65536*16*  4.5619928199453885E-4
-/*145*/, 65536*16*  2.253948582736753E-4
-/*146*/, 65536*16*  -2.0136349562764177E-5
-/*147*/, 65536*16*  -2.766248035657636E-4
-/*148*/, 65536*16*  -5.399290507797791E-4
-/*149*/, 65536*16*  -8.055939397996815E-4
-/*150*/, 65536*16*  -0.0010689177291287714
-/*151*/, 65536*16*  -0.0013250265370767429
-/*152*/, 65536*16*  -0.0015689549600474482
-/*153*/, 65536*16*  -0.0017957322527663085
-/*154*/, 65536*16*  -0.002000472024117418
-/*155*/, 65536*16*  -0.0021784645223266222
-/*156*/, 65536*16*  -0.0023252695222818146
-/*157*/, 65536*16*  -0.0024368087083972345
-/*158*/, 65536*16*  -0.002509455241851095
-/*159*/, 65536*16*  -0.0025401189567937766
-/*160*/, 65536*16*  -0.0025263261450844377
-/*161*/, 65536*16*  -0.0024662908754217406
-/*162*/, 65536*16*  -0.002358977944127433
-/*163*/, 65536*16*  -0.002204154401342649
-/*164*/, 65536*16*  -0.002002429343138771
-/*165*/, 65536*16*  -0.0017552803385372808
-/*166*/, 65536*16*  -0.0014650656045065488
-/*167*/, 65536*16*  -0.001135021049166992
-/*168*/, 65536*16*  -7.692415547098649E-4
-/*169*/, 65536*16*  -3.7264671522013244E-4
-/*170*/, 65536*16*  4.906989195928291E-5
-/*171*/, 65536*16*  4.895067103339711E-4
-/*172*/, 65536*16*  9.416355837269647E-4
-/*173*/, 65536*16*  0.001397897684142057
-/*174*/, 65536*16*  0.0018503121614766558
-/*175*/, 65536*16*  0.002290597319733804
-/*176*/, 65536*16*  0.0027103015920374113
-/*177*/, 65536*16*  0.0031009433327120863
-/*178*/, 65536*16*  0.0034541565687980116
-/*179*/, 65536*16*  0.0037618412630103333
-/*180*/, 65536*16*  0.004016315066649496
-/*181*/, 65536*16*  0.004210464374744574
-/*182*/, 65536*16*  0.004337892288164658
-/*183*/, 65536*16*  0.004393060165490985
-/*184*/, 65536*16*  0.004371421226297046
-/*185*/, 65536*16*  0.004269542847715132
-/*186*/, 65536*16*  0.00408521543517564
-/*187*/, 65536*16*  0.0038175457430583526
-/*188*/, 65536*16*  0.00346703221076496
-/*189*/, 65536*16*  0.0030356209846777236
-/*190*/, 65536*16*  0.002526740400739804
-/*191*/, 65536*16*  0.0019453134428630866
-/*192*/, 65536*16*  0.0012977462825954304
-/*193*/, 65536*16*  5.918933555500828E-4
-/*194*/, 65536*16*  -1.6300197379338156E-4
-/*195*/, 65536*16*  -9.563908629597664E-4
-/*196*/, 65536*16*  -0.0017765255338228524
-/*197*/, 65536*16*  -0.0026105886000394158
-/*198*/, 65536*16*  -0.003444843158936217
-/*199*/, 65536*16*  -0.004264802433556331
-/*200*/, 65536*16*  -0.00505541655658742
-/*201*/, 65536*16*  -0.005801274223045036
-/*202*/, 65536*16*  -0.0064868164183708756
-/*203*/, 65536*16*  -0.007096559102022994
-/*204*/, 65536*16*  -0.007615322236172286
-/*205*/, 65536*16*  -0.008028460796606074
-/*206*/, 65536*16*  -0.008322095341268461
-/*207*/, 65536*16*  -0.008483337773170242
-/*208*/, 65536*16*  -0.008500509194641638
-/*209*/, 65536*16*  -0.008363346317351387
-/*210*/, 65536*16*  -0.008063192746297233
-/*211*/, 65536*16*  -0.007593172286363423
-/*212*/, 65536*16*  -0.0069483408893122045
-/*213*/, 65536*16*  -0.006125814985695579
-/*214*/, 65536*16*  -0.005124873148956596
-/*215*/, 65536*16*  -0.003947029569132915
-/*216*/, 65536*16*  -0.002596077508306772
-/*217*/, 65536*16*  -0.0010781012650798818
-/*218*/, 65536*16*  5.985434770618447E-4
-/*219*/, 65536*16*  0.0024232820773754
-/*220*/, 65536*16*  0.004383405101533075
-/*221*/, 65536*16*  0.006464184070028333
-/*222*/, 65536*16*  0.008649017282842432
-/*223*/, 65536*16*  0.010919604285452066
-/*224*/, 65536*16*  0.013256146772932903
-/*225*/, 65536*16*  0.015637573164024095
-/*226*/, 65536*16*  0.018041784432073237
-/*227*/, 65536*16*  0.020445917198990023
-/*228*/, 65536*16*  0.022826621253151515
-/*229*/, 65536*16*  0.025160347111354456
-/*230*/, 65536*16*  0.02742363969736895
-/*231*/, 65536*16*  0.02959343430076011
-/*232*/, 65536*16*  0.03164735012116834
-/*233*/, 65536*16*  0.03356397767681876
-/*234*/, 65536*16*  0.035323155364389396
-/*235*/, 65536*16*  0.03690623176571385
-/*236*/, 65536*16*  0.03829630932788767
-/*237*/, 65536*16*  0.03947846623700253
-/*238*/, 65536*16*  0.040439953107911
-/*239*/, 65536*16*  0.0411703612762271
-/*240*/, 65536*16*  0.04166176091370756
-/*241*/, 65536*16*  0.041908806136461134
-};
-
-/*
-Parks-McClellan FIR Filter Design
-
-Filter type: Low pass
-Passband: 0 - 0.01804395
-Order: 483
-Passband ripple: 0.01 dB
-Transition band: 0.0108263
-Stopband attenuation: 114.0 dB
-
-Coefficients:
-*/
-
-static int32 C96000PAL[NCOEFFS/2]=
-{
-/*0*/ 65536*16*  3.850781559466991E-7
-/*1*/, 65536*16*  -1.280019401722687E-6
-/*2*/, 65536*16*  -1.3004583488088965E-6
-/*3*/, 65536*16*  -1.7523167437749452E-6
-/*4*/, 65536*16*  -2.410249470764872E-6
-/*5*/, 65536*16*  -3.2346426554155092E-6
-/*6*/, 65536*16*  -4.227271662321092E-6
-/*7*/, 65536*16*  -5.3971678027414914E-6
-/*8*/, 65536*16*  -6.753444785567694E-6
-/*9*/, 65536*16*  -8.302128790766257E-6
-/*10*/, 65536*16* -1.0045896006160685E-5
-/*11*/, 65536*16* -1.1982368218542129E-5
-/*12*/, 65536*16* -1.4104296519058353E-5
-/*13*/, 65536*16* -1.6397945806910793E-5
-/*14*/, 65536*16* -1.8843550708827064E-5
-/*15*/, 65536*16* -2.1413952016264175E-5
-/*16*/, 65536*16* -2.407540699773165E-5
-/*17*/, 65536*16* -2.6786418491045868E-5
-/*18*/, 65536*16* -2.949883620881563E-5
-/*19*/, 65536*16* -3.215685693993941E-5
-/*20*/, 65536*16* -3.4698621200866915E-5
-/*21*/, 65536*16* -3.7055635055088747E-5
-/*22*/, 65536*16* -3.915516367387583E-5
-/*23*/, 65536*16* -4.092005046973106E-5
-/*24*/, 65536*16* -4.227173792151256E-5
-/*25*/, 65536*16* -4.313002076491602E-5
-/*26*/, 65536*16* -4.3416606424857764E-5
-/*27*/, 65536*16* -4.3054793786740716E-5
-/*28*/, 65536*16* -4.1974462257106624E-5
-/*29*/, 65536*16* -4.011236719136458E-5
-/*30*/, 65536*16* -3.7415159397597796E-5
-/*31*/, 65536*16* -3.3846213818414235E-5
-/*32*/, 65536*16* -2.9372757531099172E-5
-/*33*/, 65536*16* -2.3989695934591954E-5
-/*34*/, 65536*16* -1.7705989252101064E-5
-/*35*/, 65536*16* -1.0551320217411096E-5
-/*36*/, 65536*16* -2.5775325043216536E-6
-/*37*/, 65536*16* 6.139645766572715E-6
-/*38*/, 65536*16* 1.5501423038008354E-5
-/*39*/, 65536*16* 2.5384753820737575E-5
-/*40*/, 65536*16* 3.5643398684518664E-5
-/*41*/, 65536*16* 4.6108393091574726E-5
-/*42*/, 65536*16* 5.659011526249589E-5
-/*43*/, 65536*16* 6.68803323899828E-5
-/*44*/, 65536*16* 7.675537622878941E-5
-/*45*/, 65536*16* 8.597960059720824E-5
-/*46*/, 65536*16* 9.430960279897814E-5
-/*47*/, 65536*16* 1.0149893801465577E-4
-/*48*/, 65536*16* 1.0730328189856642E-4
-/*49*/, 65536*16* 1.1148622997923174E-4
-/*50*/, 65536*16* 1.1382511217545132E-4
-/*51*/, 65536*16* 1.141174295909343E-4
-/*52*/, 65536*16* 1.1218671460549208E-4
-/*53*/, 65536*16* 1.078890398041802E-4
-/*54*/, 65536*16* 1.0111839925160891E-4
-/*55*/, 65536*16* 9.181292532691402E-5
-/*56*/, 65536*16* 7.995923739813694E-5
-/*57*/, 65536*16* 6.559772591687974E-5
-/*58*/, 65536*16* 4.882471526869663E-5
-/*59*/, 65536*16* 2.9795861807919456E-5
-/*60*/, 65536*16* 8.727003235393024E-6
-/*61*/, 65536*16* -1.4106777294769694E-5
-/*62*/, 65536*16* -3.836880959229582E-5
-/*63*/, 65536*16* -6.366921149307032E-5
-/*64*/, 65536*16* -8.956481187350594E-5
-/*65*/, 65536*16* -1.1556632861786434E-4
-/*66*/, 65536*16* -1.411455941949306E-4
-/*67*/, 65536*16* -1.657445386231986E-4
-/*68*/, 65536*16* -1.8878427001863077E-4
-/*69*/, 65536*16* -2.0967688285495866E-4
-/*70*/, 65536*16* -2.2783715638612827E-4
-/*71*/, 65536*16* -2.4269587549180196E-4
-/*72*/, 65536*16* -2.5371305459897316E-4
-/*73*/, 65536*16* -2.603919787720978E-4
-/*74*/, 65536*16* -2.6229284265917287E-4
-/*75*/, 65536*16* -2.59046413963889E-4
-/*76*/, 65536*16* -2.503668396740634E-4
-/*77*/, 65536*16* -2.3606367328604213E-4
-/*78*/, 65536*16* -2.160524966650091E-4
-/*79*/, 65536*16* -1.903639226156617E-4
-/*80*/, 65536*16* -1.59150691014015E-4
-/*81*/, 65536*16* -1.2269241610349266E-4
-/*82*/, 65536*16* -8.139812226735764E-5
-/*83*/, 65536*16* -3.5805772732231955E-5
-/*84*/, 65536*16* 1.3420603339835859E-5
-/*85*/, 65536*16* 6.549742374431074E-5
-/*86*/, 65536*16* 1.1953033076822495E-4
-/*87*/, 65536*16* 1.745269622757623E-4
-/*88*/, 65536*16* 2.2941123586808386E-4
-/*89*/, 65536*16* 2.830419125977025E-4
-/*90*/, 65536*16* 3.3423267917052983E-4
-/*91*/, 65536*16* 3.81774499172079E-4
-/*92*/, 65536*16* 4.244616654237554E-4
-/*93*/, 65536*16* 4.611154134679936E-4
-/*94*/, 65536*16* 4.906128810250551E-4
-/*95*/, 65536*16* 5.119138315653597E-4
-/*96*/, 65536*16* 5.240878477917174E-4
-/*97*/, 65536*16* 5.263406012974186E-4
-/*98*/, 65536*16* 5.180395272684202E-4
-/*99*/, 65536*16* 4.987363674123535E-4
-/*100*/, 65536*16*  4.681879119879578E-4
-/*101*/, 65536*16*  4.263728836819278E-4
-/*102*/, 65536*16*  3.735054898141368E-4
-/*103*/, 65536*16*  3.1004425441119956E-4
-/*104*/, 65536*16*  2.3669640454159868E-4
-/*105*/, 65536*16*  1.5441686754990788E-4
-/*106*/, 65536*16*  6.440207419421148E-5
-/*107*/, 65536*16*  -3.192198333335273E-5
-/*108*/, 65536*16*  -1.3291717686663037E-4
-/*109*/, 65536*16*  -2.3675627296534203E-4
-/*110*/, 65536*16*  -3.414512496033162E-4
-/*111*/, 65536*16*  -4.4488659997924806E-4
-/*112*/, 65536*16*  -5.44857304239037E-4
-/*113*/, 65536*16*  -6.391106241040588E-4
-/*114*/, 65536*16*  -7.253914361418537E-4
-/*115*/, 65536*16*  -8.0148962040363E-4
-/*116*/, 65536*16*  -8.652895191393541E-4
-/*117*/, 65536*16*  -9.148193159968953E-4
-/*118*/, 65536*16*  -9.483009583169883E-4
-/*119*/, 65536*16*  -9.64197392644944E-4
-/*120*/, 65536*16*  -9.612579850877552E-4
-/*121*/, 65536*16*  -9.385600118624972E-4
-/*122*/, 65536*16*  -8.955444281498081E-4
-/*123*/, 65536*16*  -8.320477398703453E-4
-/*124*/, 65536*16*  -7.483247067952744E-4
-/*125*/, 65536*16*  -6.450648142040654E-4
-/*126*/, 65536*16*  -5.234000259248345E-4
-/*127*/, 65536*16*  -3.8490357943433983E-4
-/*128*/, 65536*16*  -2.3157879639504726E-4
-/*129*/, 65536*16*  -6.583909529283622E-5
-/*130*/, 65536*16*  1.0952239530879758E-4
-/*131*/, 65536*16*  2.9137227027685464E-4
-/*132*/, 65536*16*  4.76285797012954E-4
-/*133*/, 65536*16*  6.606041066674581E-4
-/*134*/, 65536*16*  8.404993785845289E-4
-/*135*/, 65536*16*  0.0010120465600366754
-/*136*/, 65536*16*  0.00117130077980147
-/*137*/, 65536*16*  0.0013143787565297594
-/*138*/, 65536*16*  0.0014375429397231808
-/*139*/, 65536*16*  0.0015372865339524395
-/*140*/, 65536*16*  0.0016104178085955662
-/*141*/, 65536*16*  0.0016541417860661317
-/*142*/, 65536*16*  0.0016661374441763997
-/*143*/, 65536*16*  0.0016446287155235182
-/*144*/, 65536*16*  0.0015884472759871292
-/*145*/, 65536*16*  0.0014970858621845143
-/*146*/, 65536*16*  0.0013707399310406382
-/*147*/, 65536*16*  0.0012103371052757787
-/*148*/, 65536*16*  0.0010175519857289184
-/*149*/, 65536*16*  7.94807053668863E-4
-/*150*/, 65536*16*  5.452573395422002E-4
-/*151*/, 65536*16*  2.727594075846488E-4
-/*152*/, 65536*16*  -1.8175144027827955E-5
-/*153*/, 65536*16*  -3.2244298920455907E-4
-/*154*/, 65536*16*  -6.344261333752713E-4
-/*155*/, 65536*16*  -9.480839637356165E-4
-/*156*/, 65536*16*  -0.001257058056943197
-/*157*/, 65536*16*  -0.001554788246611654
-/*158*/, 65536*16*  -0.001834637661184569
-/*159*/, 65536*16*  -0.0020900256934556468
-/*160*/, 65536*16*  -0.0023145651572872143
-/*161*/, 65536*16*  -0.0025022020560114683
-/*162*/, 65536*16*  -0.002647354498854991
-/*163*/, 65536*16*  -0.002745048447695108
-/*164*/, 65536*16*  -0.0027910469441460657
-/*165*/, 65536*16*  -0.002781970255972488
-/*166*/, 65536*16*  -0.0027154038464012363
-/*167*/, 65536*16*  -0.002589991713387623
-/*168*/, 65536*16*  -0.0024055123883779776
-/*169*/, 65536*16*  -0.0021629354924022053
-/*170*/, 65536*16*  -0.0018644567566629092
-/*171*/, 65536*16*  -0.0015135100031795994
-/*172*/, 65536*16*  -0.0011147548631940517
-/*173*/, 65536*16*  -6.740394224166433E-4
-/*174*/, 65536*16*  -1.9833762845333352E-4
-/*175*/, 65536*16*  3.043386309556266E-4
-/*176*/, 65536*16*  8.250516255359581E-4
-/*177*/, 65536*16*  0.0013540734762851313
-/*178*/, 65536*16*  0.0018810427835111666
-/*179*/, 65536*16*  0.002395141352428365
-/*180*/, 65536*16*  0.002885286937512414
-/*181*/, 65536*16*  0.0033403397957704442
-/*182*/, 65536*16*  0.003749319662913449
-/*183*/, 65536*16*  0.00410162844368435
-/*184*/, 65536*16*  0.00438727601255591
-/*185*/, 65536*16*  0.004597103692808949
-/*186*/, 65536*16*  0.004723001540295747
-/*187*/, 65536*16*  0.004758115147888017
-/*188*/, 65536*16*  0.0046970379302800494
-/*189*/, 65536*16*  0.0045359837766146575
-/*190*/, 65536*16*  0.004272937350956345
-/*191*/, 65536*16*  0.003907777448988567
-/*192*/, 65536*16*  0.0034423707924944227
-/*193*/, 65536*16*  0.0028806330094231125
-/*194*/, 65536*16*  0.0022285548928660825
-/*195*/, 65536*16*  0.0014941919971143964
-/*196*/, 65536*16*  6.876167025638233E-4
-/*197*/, 65536*16*  -1.7916781098860902E-4
-/*198*/, 65536*16*  -0.001092351250031068
-/*199*/, 65536*16*  -0.002036476651580642
-/*200*/, 65536*16*  -0.002994635788760751
-/*201*/, 65536*16*  -0.003948697212655613
-/*202*/, 65536*16*  -0.004879563858611486
-/*203*/, 65536*16*  -0.005767456511229176
-/*204*/, 65536*16*  -0.006592218979894068
-/*205*/, 65536*16*  -0.007333640031607341
-/*206*/, 65536*16*  -0.007971787269457032
-/*207*/, 65536*16*  -0.008487346947516187
-/*208*/, 65536*16*  -0.008861964740105959
-/*209*/, 65536*16*  -0.009078580419089913
-/*210*/, 65536*16*  -0.009121751784315056
-/*211*/, 65536*16*  -0.008977961157199062
-/*212*/, 65536*16*  -0.008635898786325313
-/*213*/, 65536*16*  -0.008086718339557295
-/*214*/, 65536*16*  -0.007324258683042848
-/*215*/, 65536*16*  -0.0063452279676933475
-/*216*/, 65536*16*  -0.005149346015761238
-/*217*/, 65536*16*  -0.0037394415039958702
-/*218*/, 65536*16*  -0.0021215012056140783
-/*219*/, 65536*16*  -3.046703636518387E-4
-/*220*/, 65536*16*  0.0016987979320526618
-/*221*/, 65536*16*  0.0038736435001752246
-/*222*/, 65536*16*  0.006201749792159754
-/*223*/, 65536*16*  0.00866234250983842
-/*224*/, 65536*16*  0.011232233932071251
-/*225*/, 65536*16*  0.013886109426908738
-/*226*/, 65536*16*  0.016596852190097027
-/*227*/, 65536*16*  0.01933590131308301
-/*228*/, 65536*16*  0.022073637826085922
-/*229*/, 65536*16*  0.024779792715016697
-/*230*/, 65536*16*  0.027423870545765342
-/*231*/, 65536*16*  0.029975581949125456
-/*232*/, 65536*16*  0.03240527801144671
-/*233*/, 65536*16*  0.034684379593278115
-/*234*/, 65536*16*  0.03678579448103684
-/*235*/, 65536*16*  0.03868431571442653
-/*236*/, 65536*16*  0.04035699420925718
-/*237*/, 65536*16*  0.041783479941480954
-/*238*/, 65536*16*  0.04294632536294341
-/*239*/, 65536*16*  0.043831247006285705
-/*240*/, 65536*16*  0.044427339714649856
-/*241*/, 65536*16*  0.04472724072106236
-};
-
-/*
-Parks-McClellan FIR Filter Design
-
-Filter type: Low pass
-Passband: 0 - 0.0077845
-Order: 483
-Passband ripple: 0.1 dB
-Transition band: 0.005625
-Stopband attenuation: 60.0 dB
-*/
-static int32 C48000NTSC[NCOEFFS/2]=
-{
-/*0*/  65536*16*  -1.2211019733097893E-4
-/*1*/ , 65536*16*  5.374660789759626E-4
-/*2*/ , 65536*16*  1.9882723274804067E-4
-/*3*/ , 65536*16*  1.3631041618360223E-4
-/*4*/ , 65536*16*  1.3153691128499229E-4
-/*5*/ , 65536*16*  1.3886281724158703E-4
-/*6*/ , 65536*16*  1.4887278966773673E-4
-/*7*/ , 65536*16*  1.5943890243162037E-4
-/*8*/ , 65536*16*  1.7020639605259616E-4
-/*9*/ , 65536*16*  1.809192079749018E-4
-/*10*/ , 65536*16* 1.9162093203709557E-4
-/*11*/ , 65536*16* 2.02127312351196E-4
-/*12*/ , 65536*16* 2.1249848894399555E-4
-/*13*/ , 65536*16* 2.2254095363111247E-4
-/*14*/ , 65536*16* 2.323202963851337E-4
-/*15*/ , 65536*16* 2.4163344759163413E-4
-/*16*/ , 65536*16* 2.505472122265602E-4
-/*17*/ , 65536*16* 2.5885306226458603E-4
-/*18*/ , 65536*16* 2.6660828860384193E-4
-/*19*/ , 65536*16* 2.736061193417779E-4
-/*20*/ , 65536*16* 2.79907587492226E-4
-/*21*/ , 65536*16* 2.852884076207648E-4
-/*22*/ , 65536*16* 2.898305905338908E-4
-/*23*/ , 65536*16* 2.93305922863925E-4
-/*24*/ , 65536*16* 2.958004341042564E-4
-/*25*/ , 65536*16* 2.9706939623100196E-4
-/*26*/ , 65536*16* 2.972508466837626E-4
-/*27*/ , 65536*16* 2.960684730022295E-4
-/*28*/ , 65536*16* 2.937123123731801E-4
-/*29*/ , 65536*16* 2.898634667442807E-4
-/*30*/ , 65536*16* 2.8478700978604426E-4
-/*31*/ , 65536*16* 2.7808505097364714E-4
-/*32*/ , 65536*16* 2.7016032300539216E-4
-/*33*/ , 65536*16* 2.6042025835357706E-4
-/*34*/ , 65536*16* 2.496053090718662E-4
-/*35*/ , 65536*16* 2.3660011363209167E-4
-/*36*/ , 65536*16* 2.228827056917728E-4
-/*37*/ , 65536*16* 2.0662381151599093E-4
-/*38*/ , 65536*16* 1.8946729340692708E-4
-/*39*/ , 65536*16* 1.707894290302382E-4
-/*40*/ , 65536*16* 1.4964075656329285E-4
-/*41*/ , 65536*16* 1.2806315562352013E-4
-/*42*/ , 65536*16* 1.0470129333132878E-4
-/*43*/ , 65536*16* 7.952742687952367E-5
-/*44*/ , 65536*16* 5.3080519892589936E-5
-/*45*/ , 65536*16* 2.5960680465529317E-5
-/*46*/ , 65536*16* -2.5651586484338896E-6
-/*47*/ , 65536*16* -3.248840068536756E-5
-/*48*/ , 65536*16* -6.374045088088799E-5
-/*49*/ , 65536*16* -9.575401529845337E-5
-/*50*/ , 65536*16* -1.2853435644071695E-4
-/*51*/ , 65536*16* -1.6188456243132127E-4
-/*52*/ , 65536*16* -1.9591394048834482E-4
-/*53*/ , 65536*16* -2.3037663947407175E-4
-/*54*/ , 65536*16* -2.6523734278928246E-4
-/*55*/ , 65536*16* -3.0020331327926296E-4
-/*56*/ , 65536*16* -3.352268879856044E-4
-/*57*/ , 65536*16* -3.700260022275662E-4
-/*58*/ , 65536*16* -4.045571559416333E-4
-/*59*/ , 65536*16* -4.38534577720557E-4
-/*60*/ , 65536*16* -4.718927645081437E-4
-/*61*/ , 65536*16* -5.043317033789757E-4
-/*62*/ , 65536*16* -5.357994753678582E-4
-/*63*/ , 65536*16* -5.659671580788766E-4
-/*64*/ , 65536*16* -5.947897013020397E-4
-/*65*/ , 65536*16* -6.219384666963997E-4
-/*66*/ , 65536*16* -6.473787936195385E-4
-/*67*/ , 65536*16* -6.707514595741775E-4
-/*68*/ , 65536*16* -6.920680579893526E-4
-/*69*/ , 65536*16* -7.109402066802999E-4
-/*70*/ , 65536*16* -7.274298271538291E-4
-/*71*/ , 65536*16* -7.411375648954899E-4
-/*72*/ , 65536*16* -7.520788343347275E-4
-/*73*/ , 65536*16* -7.600510659768832E-4
-/*74*/ , 65536*16* -7.647430899316486E-4
-/*75*/ , 65536*16* -7.664294191482773E-4
-/*76*/ , 65536*16* -7.644147173692687E-4
-/*77*/ , 65536*16* -7.590920613362674E-4
-/*78*/ , 65536*16* -7.501459543641885E-4
-/*79*/ , 65536*16* -7.373621082253133E-4
-/*80*/ , 65536*16* -7.208964561671388E-4
-/*81*/ , 65536*16* -7.006901755632023E-4
-/*82*/ , 65536*16* -6.764591748580997E-4
-/*83*/ , 65536*16* -6.483697284795448E-4
-/*84*/ , 65536*16* -6.164929718400197E-4
-/*85*/ , 65536*16* -5.806918766677904E-4
-/*86*/ , 65536*16* -5.409344735839229E-4
-/*87*/ , 65536*16* -4.97405373620265E-4
-/*88*/ , 65536*16* -4.502086002815554E-4
-/*89*/ , 65536*16* -3.9932330033988294E-4
-/*90*/ , 65536*16* -3.448028565721092E-4
-/*91*/ , 65536*16* -2.8685420307046736E-4
-/*92*/ , 65536*16* -2.256958038579715E-4
-/*93*/ , 65536*16* -1.615040528190604E-4
-/*94*/ , 65536*16* -9.438524808984473E-5
-/*95*/ , 65536*16* -2.4519303584370608E-5
-/*96*/ , 65536*16* 4.786961616483501E-5
-/*97*/ , 65536*16* 1.2248011782462745E-4
-/*98*/ , 65536*16* 1.990534978611127E-4
-/*99*/ , 65536*16* 2.7728245405517893E-4
-/*100*/ , 65536*16*  3.5690342407690407E-4
-/*101*/ , 65536*16*  4.376002679601721E-4
-/*102*/ , 65536*16*  5.19047629492113E-4
-/*103*/ , 65536*16*  6.008846564336277E-4
-/*104*/ , 65536*16*  6.827617063818499E-4
-/*105*/ , 65536*16*  7.643160551093983E-4
-/*106*/ , 65536*16*  8.451272011819538E-4
-/*107*/ , 65536*16*  9.248890776355356E-4
-/*108*/ , 65536*16*  0.001003072355955673
-/*109*/ , 65536*16*  0.0010794672777372975
-/*110*/ , 65536*16*  0.0011534276232606116
-/*111*/ , 65536*16*  0.0012247823207262698
-/*112*/ , 65536*16*  0.0012929541324917778
-/*113*/ , 65536*16*  0.001357585199795128
-/*114*/ , 65536*16*  0.001418338397346014
-/*115*/ , 65536*16*  0.0014746734285279383
-/*116*/ , 65536*16*  0.0015262884930771822
-/*117*/ , 65536*16*  0.0015728226550844923
-/*118*/ , 65536*16*  0.00161379655898045
-/*119*/ , 65536*16*  0.001648915948444658
-/*120*/ , 65536*16*  0.0016778840108713717
-/*121*/ , 65536*16*  0.0017002560629258679
-/*122*/ , 65536*16*  0.0017157641984855009
-/*123*/ , 65536*16*  0.0017241805985007432
-/*124*/ , 65536*16*  0.001725182645995729
-/*125*/ , 65536*16*  0.0017184841648036691
-/*126*/ , 65536*16*  0.0017039216808435336
-/*127*/ , 65536*16*  0.001681334520841587
-/*128*/ , 65536*16*  0.0016504918660173195
-/*129*/ , 65536*16*  0.0016112687597971862
-/*130*/ , 65536*16*  0.0015636063248128528
-/*131*/ , 65536*16*  0.0015074624593932396
-/*132*/ , 65536*16*  0.0014427699009003175
-/*133*/ , 65536*16*  0.001369527394628539
-/*134*/ , 65536*16*  0.0012878043567412672
-/*135*/ , 65536*16*  0.0011977101442406943
-/*136*/ , 65536*16*  0.0010993686954177168
-/*137*/ , 65536*16*  9.928872878864818E-4
-/*138*/ , 65536*16*  8.784941174786496E-4
-/*139*/ , 65536*16*  7.564288883294911E-4
-/*140*/ , 65536*16*  6.270372159510238E-4
-/*141*/ , 65536*16*  4.905983779660314E-4
-/*142*/ , 65536*16*  3.4754116793679786E-4
-/*143*/ , 65536*16*  1.9816162887093084E-4
-/*144*/ , 65536*16*  4.300342678121075E-5
-/*145*/ , 65536*16*  -1.1751370467978956E-4
-/*146*/ , 65536*16*  -2.8280605795854083E-4
-/*147*/ , 65536*16*  -4.523173545514795E-4
-/*148*/ , 65536*16*  -6.255041797790695E-4
-/*149*/ , 65536*16*  -8.016355996557292E-4
-/*150*/ , 65536*16*  -9.801573426762404E-4
-/*151*/ , 65536*16*  -0.0011602954820678437
-/*152*/ , 65536*16*  -0.001341343986206184
-/*153*/ , 65536*16*  -0.001522571621631356
-/*154*/ , 65536*16*  -0.001703172768158951
-/*155*/ , 65536*16*  -0.0018823360844618293
-/*156*/ , 65536*16*  -0.00205930337901632
-/*157*/ , 65536*16*  -0.0022331579230920632
-/*158*/ , 65536*16*  -0.002403069015327
-/*159*/ , 65536*16*  -0.0025682175666884455
-/*160*/ , 65536*16*  -0.002727682820990084
-/*161*/ , 65536*16*  -0.002880584481539458
-/*162*/ , 65536*16*  -0.003026077683940661
-/*163*/ , 65536*16*  -0.00316326704154516
-/*164*/ , 65536*16*  -0.003291235176827385
-/*165*/ , 65536*16*  -0.0034091436232751705
-/*166*/ , 65536*16*  -0.0035161624262765347
-/*167*/ , 65536*16*  -0.00361139707788214
-/*168*/ , 65536*16*  -0.0036940241232429707
-/*169*/ , 65536*16*  -0.003763249197925811
-/*170*/ , 65536*16*  -0.0038183138554794805
-/*171*/ , 65536*16*  -0.003858413648517434
-/*172*/ , 65536*16*  -0.0038828565696081884
-/*173*/ , 65536*16*  -0.0038909308779192654
-/*174*/ , 65536*16*  -0.0038820231307916493
-/*175*/ , 65536*16*  -0.0038554750792844325
-/*176*/ , 65536*16*  -0.003810737282493679
-/*177*/ , 65536*16*  -0.003747262375484652
-/*178*/ , 65536*16*  -0.0036646285078894706
-/*179*/ , 65536*16*  -0.0035623728689170597
-/*180*/ , 65536*16*  -0.0034401218523635543
-/*181*/ , 65536*16*  -0.003297594128579178
-/*182*/ , 65536*16*  -0.0031344918897463427
-/*183*/ , 65536*16*  -0.0029506999116335536
-/*184*/ , 65536*16*  -0.002746012743503227
-/*185*/ , 65536*16*  -0.0025204082871514897
-/*186*/ , 65536*16*  -0.0022738407863853822
-/*187*/ , 65536*16*  -0.0020063873037173175
-/*188*/ , 65536*16*  -0.0017182175415557032
-/*189*/ , 65536*16*  -0.0014095092681882975
-/*190*/ , 65536*16*  -0.0010805220633352567
-/*191*/ , 65536*16*  -7.316077716348434E-4
-/*192*/ , 65536*16*  -3.631468249678417E-4
-/*193*/ , 65536*16*  2.438177178474359E-5
-/*194*/ , 65536*16*  4.3040711526763105E-4
-/*195*/ , 65536*16*  8.543758511240976E-4
-/*196*/ , 65536*16*  0.0012955688715509065
-/*197*/ , 65536*16*  0.0017532574138845757
-/*198*/ , 65536*16*  0.0022266720975588176
-/*199*/ , 65536*16*  0.0027149312534676365
-/*200*/ , 65536*16*  0.003217102703811305
-/*201*/ , 65536*16*  0.0037322302087511496
-/*202*/ , 65536*16*  0.004259307964559864
-/*203*/ , 65536*16*  0.004797205731205993
-/*204*/ , 65536*16*  0.00534482556712745
-/*205*/ , 65536*16*  0.00590099232932727
-/*206*/ , 65536*16*  0.0064644836497811
-/*207*/ , 65536*16*  0.007034017389280477
-/*208*/ , 65536*16*  0.007608353016621833
-/*209*/ , 65536*16*  0.008186157965561618
-/*210*/ , 65536*16*  0.008766068964147668
-/*211*/ , 65536*16*  0.009346716260147759
-/*212*/ , 65536*16*  0.009926718862388615
-/*213*/ , 65536*16*  0.010504681043184161
-/*214*/ , 65536*16*  0.01107917387309342
-/*215*/ , 65536*16*  0.011648797102049465
-/*216*/ , 65536*16*  0.012212089485935572
-/*217*/ , 65536*16*  0.012767702033610684
-/*218*/ , 65536*16*  0.01331416222058608
-/*219*/ , 65536*16*  0.013850107485964188
-/*220*/ , 65536*16*  0.01437415626494087
-/*221*/ , 65536*16*  0.01488494484218882
-/*222*/ , 65536*16*  0.015381157046388828
-/*223*/ , 65536*16*  0.015861470914555698
-/*224*/ , 65536*16*  0.016324639468324405
-/*225*/ , 65536*16*  0.01676942738258265
-/*226*/ , 65536*16*  0.017194657140859698
-/*227*/ , 65536*16*  0.01759919326505855
-/*228*/ , 65536*16*  0.01798195744932672
-/*229*/ , 65536*16*  0.018341882104229386
-/*230*/ , 65536*16*  0.018678046774501487
-/*231*/ , 65536*16*  0.018989525183852277
-/*232*/ , 65536*16*  0.019275463483745325
-/*233*/ , 65536*16*  0.019535099985330217
-/*234*/ , 65536*16*  0.019767681230128092
-/*235*/ , 65536*16*  0.019972616359274192
-/*236*/ , 65536*16*  0.02014933369102741
-/*237*/ , 65536*16*  0.020297350637687013
-/*238*/ , 65536*16*  0.020416241350314838
-/*239*/ , 65536*16*  0.020505719050281913
-/*240*/ , 65536*16*  0.020565502954380747
-/*241*/ , 65536*16*  0.02059542406883178
-};
-
-
-/* 44100 NTSC
-
-Parks-McClellan FIR Filter Design
-
-Filter type: Low pass
-Passband: 0 - 0.006695
-Order: 483
-Passband ripple: 0.2 dB
-Transition band: 0.005625
-Stopband attenuation: 66.4 dB
-
-Coefficients:
-*/
-
-static int32 C44100NTSC[NCOEFFS/2]=
-{
-/*0*/ 65536 *16 *  2.7250584077004043E-4
-/*1*/, 65536 *16 *  -5.6651407794062126E-5
-/*2*/, 65536 *16 *  -5.387595203270082E-5
-/*3*/, 65536 *16 *  -5.3104114528112036E-5
-/*4*/, 65536 *16 *  -5.3927905431407917E-5
-/*5*/, 65536 *16 *  -5.624810531844495E-5
-/*6*/, 65536 *16 *  -5.9753966587005594E-5
-/*7*/, 65536 *16 *  -6.443298022976466E-5
-/*8*/, 65536 *16 *  -7.002861393823279E-5
-/*9*/, 65536 *16 *  -7.658937335809571E-5
-/*10*/, 65536 *16 * -8.388337472693157E-5
-/*11*/, 65536 *16 * -9.20081628039712E-5
-/*12*/, 65536 *16 * -1.007311169050114E-4
-/*13*/, 65536 *16 * -1.1019992230503533E-4
-/*14*/, 65536 *16 * -1.2014773803429516E-4
-/*15*/, 65536 *16 * -1.3080398984366903E-4
-/*16*/, 65536 *16 * -1.4175865072457003E-4
-/*17*/, 65536 *16 * -1.536527853404198E-4
-/*18*/, 65536 *16 * -1.6517054562524376E-4
-/*19*/, 65536 *16 * -1.7797585116596963E-4
-/*20*/, 65536 *16 * -1.909845496405445E-4
-/*21*/, 65536 *16 * -2.0389566936141008E-4
-/*22*/, 65536 *16 * -2.1726846302640957E-4
-/*23*/, 65536 *16 * -2.310008165840215E-4
-/*24*/, 65536 *16 * -2.4506881863360544E-4
-/*25*/, 65536 *16 * -2.5926465655995895E-4
-/*26*/, 65536 *16 * -2.735381275272462E-4
-/*27*/, 65536 *16 * -2.878190904612406E-4
-/*28*/, 65536 *16 * -3.0209388781875723E-4
-/*29*/, 65536 *16 * -3.163448868528516E-4
-/*30*/, 65536 *16 * -3.30514980542584E-4
-/*31*/, 65536 *16 * -3.4458721564408845E-4
-/*32*/, 65536 *16 * -3.5843761692424506E-4
-/*33*/, 65536 *16 * -3.720823326733447E-4
-/*34*/, 65536 *16 * -3.8529611278848583E-4
-/*35*/, 65536 *16 * -3.982435971141635E-4
-/*36*/, 65536 *16 * -4.1054225307421383E-4
-/*37*/, 65536 *16 * -4.223385042208698E-4
-/*38*/, 65536 *16 * -4.3363210365443626E-4
-/*39*/, 65536 *16 * -4.440451096331875E-4
-/*40*/, 65536 *16 * -4.537334227294333E-4
-/*41*/, 65536 *16 * -4.6260960194346025E-4
-/*42*/, 65536 *16 * -4.706224417116799E-4
-/*43*/, 65536 *16 * -4.776010427698281E-4
-/*44*/, 65536 *16 * -4.8350610346281614E-4
-/*45*/, 65536 *16 * -4.8826489934975626E-4
-/*46*/, 65536 *16 * -4.918511387810396E-4
-/*47*/, 65536 *16 * -4.941839548845786E-4
-/*48*/, 65536 *16 * -4.95186572618022E-4
-/*49*/, 65536 *16 * -4.947817087436606E-4
-/*50*/, 65536 *16 * -4.928828353341973E-4
-/*51*/, 65536 *16 * -4.894676199661217E-4
-/*52*/, 65536 *16 * -4.8443244774343773E-4
-/*53*/, 65536 *16 * -4.778002134883142E-4
-/*54*/, 65536 *16 * -4.694896704084311E-4
-/*55*/, 65536 *16 * -4.593928438902496E-4
-/*56*/, 65536 *16 * -4.4763586771533415E-4
-/*57*/, 65536 *16 * -4.3399559196764174E-4
-/*58*/, 65536 *16 * -4.185187519793231E-4
-/*59*/, 65536 *16 * -4.0118338859945383E-4
-/*60*/, 65536 *16 * -3.820043675631783E-4
-/*61*/, 65536 *16 * -3.6090543967085524E-4
-/*62*/, 65536 *16 * -3.379128204177913E-4
-/*63*/, 65536 *16 * -3.130247503897743E-4
-/*64*/, 65536 *16 * -2.8628759491904673E-4
-/*65*/, 65536 *16 * -2.5769205396918157E-4
-/*66*/, 65536 *16 * -2.2726228845123853E-4
-/*67*/, 65536 *16 * -1.9501222414998665E-4
-/*68*/, 65536 *16 * -1.609903786128509E-4
-/*69*/, 65536 *16 * -1.2525258280646142E-4
-/*70*/, 65536 *16 * -8.786088130641809E-5
-/*71*/, 65536 *16 * -4.885883411475722E-5
-/*72*/, 65536 *16 * -8.373566315346232E-6
-/*73*/, 65536 *16 * 3.362843819360238E-5
-/*74*/, 65536 *16 * 7.69302822233031E-5
-/*75*/, 65536 *16 * 1.2151249228835434E-4
-/*76*/, 65536 *16 * 1.6724878315058612E-4
-/*77*/, 65536 *16 * 2.1402171363813576E-4
-/*78*/, 65536 *16 * 2.6167305946436103E-4
-/*79*/, 65536 *16 * 3.10122854445744E-4
-/*80*/, 65536 *16 * 3.5921866691687363E-4
-/*81*/, 65536 *16 * 4.0882826181233784E-4
-/*82*/, 65536 *16 * 4.5876834733749337E-4
-/*83*/, 65536 *16 * 5.089048509923103E-4
-/*84*/, 65536 *16 * 5.590621717784201E-4
-/*85*/, 65536 *16 * 6.090870406928206E-4
-/*86*/, 65536 *16 * 6.587768488216395E-4
-/*87*/, 65536 *16 * 7.079653533691067E-4
-/*88*/, 65536 *16 * 7.56434905175643E-4
-/*89*/, 65536 *16 * 8.040537989021466E-4
-/*90*/, 65536 *16 * 8.505576158388297E-4
-/*91*/, 65536 *16 * 8.958345533585908E-4
-/*92*/, 65536 *16 * 9.396170235698547E-4
-/*93*/, 65536 *16 * 9.817197600520506E-4
-/*94*/, 65536 *16 * 0.0010219440113723856
-/*95*/, 65536 *16 * 0.0010600976395277468
-/*96*/, 65536 *16 * 0.0010959465933076378
-/*97*/, 65536 *16 * 0.0011293213059753442
-/*98*/, 65536 *16 * 0.001160012212002378
-/*99*/, 65536 *16 * 0.0011878334518393636
-/*100*/, 65536 *16 *  0.0012125633172564833
-/*101*/, 65536 *16 *  0.0012340340153475305
-/*102*/, 65536 *16 *  0.0012520523486154733
-/*103*/, 65536 *16 *  0.001266464375255462
-/*104*/, 65536 *16 *  0.001277070934117742
-/*105*/, 65536 *16 *  0.0012837351142488396
-/*106*/, 65536 *16 *  0.0012862625405968798
-/*107*/, 65536 *16 *  0.0012845614834936406
-/*108*/, 65536 *16 *  0.0012784420593778636
-/*109*/, 65536 *16 *  0.0012678178114382621
-/*110*/, 65536 *16 *  0.0012525556826375537
-/*111*/, 65536 *16 *  0.0012325473943852084
-/*112*/, 65536 *16 *  0.0012077126268838676
-/*113*/, 65536 *16 *  0.0011779966448355029
-/*114*/, 65536 *16 *  0.0011433146771737655
-/*115*/, 65536 *16 *  0.0011036347058885887
-/*116*/, 65536 *16 *  0.0010589202139950945
-/*117*/, 65536 *16 *  0.0010091683044254098
-/*118*/, 65536 *16 *  9.543624468571229E-4
-/*119*/, 65536 *16 *  8.945398819399117E-4
-/*120*/, 65536 *16 *  8.297313883125644E-4
-/*121*/, 65536 *16 *  7.600155199968718E-4
-/*122*/, 65536 *16 *  6.854405952299358E-4
-/*123*/, 65536 *16 *  6.061236114458317E-4
-/*124*/, 65536 *16 *  5.221478191516476E-4
-/*125*/, 65536 *16 *  4.336813620599164E-4
-/*126*/, 65536 *16 *  3.408549526515998E-4
-/*127*/, 65536 *16 *  2.438450825114285E-4
-/*128*/, 65536 *16 *  1.428494911857926E-4
-/*129*/, 65536 *16 *  3.8067640594361634E-5
-/*130*/, 65536 *16 *  -7.027035111775681E-5
-/*131*/, 65536 *16 *  -1.818984143827126E-4
-/*132*/, 65536 *16 *  -2.9656343184630157E-4
-/*133*/, 65536 *16 *  -4.1397802421901906E-4
-/*134*/, 65536 *16 *  -5.33838500742085E-4
-/*135*/, 65536 *16 *  -6.558110253978588E-4
-/*136*/, 65536 *16 *  -7.795655816897978E-4
-/*137*/, 65536 *16 *  -9.047371821667003E-4
-/*138*/, 65536 *16 *  -0.001030961345825847
-/*139*/, 65536 *16 *  -0.0011578367988084777
-/*140*/, 65536 *16 *  -0.0012849810572319298
-/*141*/, 65536 *16 *  -0.0014119662266064482
-/*142*/, 65536 *16 *  -0.0015383759515758101
-/*143*/, 65536 *16 *  -0.001663756794188296
-/*144*/, 65536 *16 *  -0.0017876541594460456
-/*145*/, 65536 *16 *  -0.001909621722046808
-/*146*/, 65536 *16 *  -0.0020291786719378088
-/*147*/, 65536 *16 *  -0.002145855089743562
-/*148*/, 65536 *16 *  -0.002259171910476534
-/*149*/, 65536 *16 *  -0.0023686314802222655
-/*150*/, 65536 *16 *  -0.002473745572697707
-/*151*/, 65536 *16 *  -0.0025740277587192853
-/*152*/, 65536 *16 *  -0.0026689831666099955
-/*153*/, 65536 *16 *  -0.0027581124255643377
-/*154*/, 65536 *16 *  -0.0028409282136656177
-/*155*/, 65536 *16 *  -0.0029169432593640367
-/*156*/, 65536 *16 *  -0.002985680612410139
-/*157*/, 65536 *16 *  -0.003046658228485494
-/*158*/, 65536 *16 *  -0.003099414222252269
-/*159*/, 65536 *16 *  -0.0031434902530511595
-/*160*/, 65536 *16 *  -0.003178436798255356
-/*161*/, 65536 *16 *  -0.0032038260756887147
-/*162*/, 65536 *16 *  -0.003219225355080285
-/*163*/, 65536 *16 *  -0.0032242502222488744
-/*164*/, 65536 *16 *  -0.003218506103318342
-/*165*/, 65536 *16 *  -0.003201625222636992
-/*166*/, 65536 *16 *  -0.003173259488065382
-/*167*/, 65536 *16 *  -0.0031330803817718332
-/*168*/, 65536 *16 *  -0.0030807779128908526
-/*169*/, 65536 *16 *  -0.0030160821637947783
-/*170*/, 65536 *16 *  -0.0029387362752889335
-/*171*/, 65536 *16 *  -0.002848510131379585
-/*172*/, 65536 *16 *  -0.0027451998188029363
-/*173*/, 65536 *16 *  -0.00262863682904045
-/*174*/, 65536 *16 *  -0.0024986780420415064
-/*175*/, 65536 *16 *  -0.0023552114528323513
-/*176*/, 65536 *16 *  -0.0021981491527779964
-/*177*/, 65536 *16 *  -0.0020274504745732714
-/*178*/, 65536 *16 *  -0.0018430877753141852
-/*179*/, 65536 *16 *  -0.0016450910502005863
-/*180*/, 65536 *16 *  -0.0014334955802048866
-/*181*/, 65536 *16 *  -0.0012083983821827642
-/*182*/, 65536 *16 *  -9.699135443572468E-4
-/*183*/, 65536 *16 *  -7.181935207475589E-4
-/*184*/, 65536 *16 *  -4.534224887286362E-4
-/*185*/, 65536 *16 *  -1.758311300125605E-4
-/*186*/, 65536 *16 *  1.1433027008948132E-4
-/*187*/, 65536 *16 *  4.1675921199616097E-4
-/*188*/, 65536 *16 *  7.311320710094336E-4
-/*189*/, 65536 *16 *  0.0010570872458505827
-/*190*/, 65536 *16 *  0.0013942372682560795
-/*191*/, 65536 *16 *  0.001742148094642797
-/*192*/, 65536 *16 *  0.002100362793433286
-/*193*/, 65536 *16 *  0.0024683818857210646
-/*194*/, 65536 *16 *  0.002845695057494279
-/*195*/, 65536 *16 *  0.0032317385772924275
-/*196*/, 65536 *16 *  0.0036259433326630884
-/*197*/, 65536 *16 *  0.0040276894120370626
-/*198*/, 65536 *16 *  0.004436353627556968
-/*199*/, 65536 *16 *  0.004851271439526238
-/*200*/, 65536 *16 *  0.005271762758295799
-/*201*/, 65536 *16 *  0.005697120565601845
-/*202*/, 65536 *16 *  0.006126626859240469
-/*203*/, 65536 *16 *  0.006559527746778011
-/*204*/, 65536 *16 *  0.0069950693344747504
-/*205*/, 65536 *16 *  0.007432470090915211
-/*206*/, 65536 *16 *  0.007870944336430185
-/*207*/, 65536 *16 *  0.008309688701943495
-/*208*/, 65536 *16 *  0.008747898549370043
-/*209*/, 65536 *16 *  0.009184747205291654
-/*210*/, 65536 *16 *  0.009619414724898365
-/*211*/, 65536 *16 *  0.010051063453485451
-/*212*/, 65536 *16 *  0.010478876316671397
-/*213*/, 65536 *16 *  0.010902016899039163
-/*214*/, 65536 *16 *  0.011319665474466693
-/*215*/, 65536 *16 *  0.011730992134403782
-/*216*/, 65536 *16 *  0.012135186113163639
-/*217*/, 65536 *16 *  0.01253143889871197
-/*218*/, 65536 *16 *  0.012918956981226547
-/*219*/, 65536 *16 *  0.013296952886747157
-/*220*/, 65536 *16 *  0.013664665893392403
-/*221*/, 65536 *16 *  0.014021339353548561
-/*222*/, 65536 *16 *  0.014366244972764902
-/*223*/, 65536 *16 *  0.014698670942210527
-/*224*/, 65536 *16 *  0.015017930945351435
-/*225*/, 65536 *16 *  0.015323359168800435
-/*226*/, 65536 *16 *  0.015614322198635518
-/*227*/, 65536 *16 *  0.015890204972590742
-/*228*/, 65536 *16 *  0.016150433344740527
-/*229*/, 65536 *16 *  0.01639445378257351
-/*230*/, 65536 *16 *  0.016621758349582072
-/*231*/, 65536 *16 *  0.01683186471138077
-/*232*/, 65536 *16 *  0.01702432745775747
-/*233*/, 65536 *16 *  0.017198732908190056
-/*234*/, 65536 *16 *  0.017354710361561963
-/*235*/, 65536 *16 *  0.017491928210652433
-/*236*/, 65536 *16 *  0.017610096156964024
-/*237*/, 65536 *16 *  0.017708958417438553
-/*238*/, 65536 *16 *  0.017788304726419644
-/*239*/, 65536 *16 *  0.01784796484627723
-/*240*/, 65536 *16 *  0.017887808513528385
-/*241*/, 65536 *16 *  0.01790775243433271
-};
-
-/* 48000 PAL
-Parks-McClellan FIR Filter Design
-
-Filter type: Low pass
-Passband: 0 - 0.008810
-Order: 483
-Passband ripple: 0.133 dB
-Transition band: 0.005625
-Stopband attenuation: 63.0 dB
-
-Coefficients:
-*/
-static int32 C48000PAL[NCOEFFS/2]=
-{
-/*0*/ 65536 *16 *  -4.8720337170268194E-4
-/*1*/, 65536 *16 *  7.629902642634879E-7
-/*2*/, 65536 *16 *  2.1378369687164975E-6
-/*3*/, 65536 *16 *  4.2506426520122444E-6
-/*4*/, 65536 *16 *  7.369889860416342E-6
-/*5*/, 65536 *16 *  1.1216062943011637E-5
-/*6*/, 65536 *16 *  1.6073843505677063E-5
-/*7*/, 65536 *16 *  2.1633099120040373E-5
-/*8*/, 65536 *16 *  2.8206508485377597E-5
-/*9*/, 65536 *16 *  3.543629776593455E-5
-/*10*/, 65536 *16 * 4.368764327716006E-5
-/*11*/, 65536 *16 * 5.2518982409171E-5
-/*12*/, 65536 *16 * 6.239757141317561E-5
-/*13*/, 65536 *16 * 7.27096511997309E-5
-/*14*/, 65536 *16 * 8.417180660805913E-5
-/*15*/, 65536 *16 * 9.556951705928003E-5
-/*16*/, 65536 *16 * 1.0902571193097876E-4
-/*17*/, 65536 *16 * 1.227237340685471E-4
-/*18*/, 65536 *16 * 1.3608963828565135E-4
-/*19*/, 65536 *16 * 1.5074291732163737E-4
-/*20*/, 65536 *16 * 1.654957671774518E-4
-/*21*/, 65536 *16 * 1.8094544537755017E-4
-/*22*/, 65536 *16 * 1.9650254639058925E-4
-/*23*/, 65536 *16 * 2.124977005396817E-4
-/*24*/, 65536 *16 * 2.2850169154416925E-4
-/*25*/, 65536 *16 * 2.447269340662641E-4
-/*26*/, 65536 *16 * 2.60813097374866E-4
-/*27*/, 65536 *16 * 2.769089011403406E-4
-/*28*/, 65536 *16 * 2.926838284872595E-4
-/*29*/, 65536 *16 * 3.082587328683191E-4
-/*30*/, 65536 *16 * 3.233018169377691E-4
-/*31*/, 65536 *16 * 3.379664790017549E-4
-/*32*/, 65536 *16 * 3.520147829064225E-4
-/*33*/, 65536 *16 * 3.6489502104188965E-4
-/*34*/, 65536 *16 * 3.771837837785839E-4
-/*35*/, 65536 *16 * 3.8841744550992556E-4
-/*36*/, 65536 *16 * 3.985152578693797E-4
-/*37*/, 65536 *16 * 4.0737410559796126E-4
-/*38*/, 65536 *16 * 4.1485052511765913E-4
-/*39*/, 65536 *16 * 4.2087321591616255E-4
-/*40*/, 65536 *16 * 4.252880030529943E-4
-/*41*/, 65536 *16 * 4.2804175098790727E-4
-/*42*/, 65536 *16 * 4.289792011350111E-4
-/*43*/, 65536 *16 * 4.280677040429387E-4
-/*44*/, 65536 *16 * 4.251526022872329E-4
-/*45*/, 65536 *16 * 4.202312572840644E-4
-/*46*/, 65536 *16 * 4.1313629237647344E-4
-/*47*/, 65536 *16 * 4.0393669855985745E-4
-/*48*/, 65536 *16 * 3.9229544134295797E-4
-/*49*/, 65536 *16 * 3.785081882385653E-4
-/*50*/, 65536 *16 * 3.624387298611128E-4
-/*51*/, 65536 *16 * 3.439609793120755E-4
-/*52*/, 65536 *16 * 3.2317107312926493E-4
-/*53*/, 65536 *16 * 3.0001522643985015E-4
-/*54*/, 65536 *16 * 2.7456037312211196E-4
-/*55*/, 65536 *16 * 2.468022375847908E-4
-/*56*/, 65536 *16 * 2.1682011116032351E-4
-/*57*/, 65536 *16 * 1.846463359087917E-4
-/*58*/, 65536 *16 * 1.5038519581308458E-4
-/*59*/, 65536 *16 * 1.1409999503195986E-4
-/*60*/, 65536 *16 * 7.592602477010921E-5
-/*61*/, 65536 *16 * 3.594949037485983E-5
-/*62*/, 65536 *16 * -5.654205953473915E-6
-/*63*/, 65536 *16 * -4.8796158887641113E-5
-/*64*/, 65536 *16 * -9.324450907374415E-5
-/*65*/, 65536 *16 * -1.3875102646747199E-4
-/*66*/, 65536 *16 * -1.853099936736042E-4
-/*67*/, 65536 *16 * -2.3256519878196182E-4
-/*68*/, 65536 *16 * -2.803629983423417E-4
-/*69*/, 65536 *16 * -3.284299717573991E-4
-/*70*/, 65536 *16 * -3.7655572805983734E-4
-/*71*/, 65536 *16 * -4.244648731259925E-4
-/*72*/, 65536 *16 * -4.7191652130487173E-4
-/*73*/, 65536 *16 * -5.18626812434502E-4
-/*74*/, 65536 *16 * -5.64334322901072E-4
-/*75*/, 65536 *16 * -6.087503654593899E-4
-/*76*/, 65536 *16 * -6.515995849807032E-4
-/*77*/, 65536 *16 * -6.925935510204477E-4
-/*78*/, 65536 *16 * -7.314432865833455E-4
-/*79*/, 65536 *16 * -7.678735923848921E-4
-/*80*/, 65536 *16 * -8.015359919770463E-4
-/*81*/, 65536 *16 * -8.322768680565776E-4
-/*82*/, 65536 *16 * -8.597539203190856E-4
-/*83*/, 65536 *16 * -8.836879776280238E-4
-/*84*/, 65536 *16 * -9.038629010388075E-4
-/*85*/, 65536 *16 * -9.200080217158554E-4
-/*86*/, 65536 *16 * -9.319235257639778E-4
-/*87*/, 65536 *16 * -9.393690949611698E-4
-/*88*/, 65536 *16 * -9.421725179420662E-4
-/*89*/, 65536 *16 * -9.401299048871544E-4
-/*90*/, 65536 *16 * -9.33106896645869E-4
-/*91*/, 65536 *16 * -9.209400636174311E-4
-/*92*/, 65536 *16 * -9.035401279622776E-4
-/*93*/, 65536 *16 * -8.807854817776823E-4
-/*94*/, 65536 *16 * -8.526430615286829E-4
-/*95*/, 65536 *16 * -8.190296190822509E-4
-/*96*/, 65536 *16 * -7.799980167439345E-4
-/*97*/, 65536 *16 * -7.355478199155667E-4
-/*98*/, 65536 *16 * -6.8567697874281E-4
-/*99*/, 65536 *16 * -6.305240657493408E-4
-/*100*/, 65536 *16 *  -5.701694385732142E-4
-/*101*/, 65536 *16 *  -5.047740591296687E-4
-/*102*/, 65536 *16 *  -4.344980221283718E-4
-/*103*/, 65536 *16 *  -3.595556715693896E-4
-/*104*/, 65536 *16 *  -2.8017864491759883E-4
-/*105*/, 65536 *16 *  -1.9664106446578853E-4
-/*106*/, 65536 *16 *  -1.0924056590418239E-4
-/*107*/, 65536 *16 *  -1.831009861307028E-5
-/*108*/, 65536 *16 *  7.579029921420169E-5
-/*109*/, 65536 *16 *  1.726696848384902E-4
-/*110*/, 65536 *16 *  2.719067221880469E-4
-/*111*/, 65536 *16 *  3.7305728261123155E-4
-/*112*/, 65536 *16 *  4.7562651195605295E-4
-/*113*/, 65536 *16 *  5.791888527128953E-4
-/*114*/, 65536 *16 *  6.831673135667645E-4
-/*115*/, 65536 *16 *  7.870493762901182E-4
-/*116*/, 65536 *16 *  8.902822670362451E-4
-/*117*/, 65536 *16 *  9.923024258505538E-4
-/*118*/, 65536 *16 *  0.0010925350458368308
-/*119*/, 65536 *16 *  0.0011903898503065698
-/*120*/, 65536 *16 *  0.0012852771482304163
-/*121*/, 65536 *16 *  0.0013765956662458894
-/*122*/, 65536 *16 *  0.001463753120426749
-/*123*/, 65536 *16 *  0.001546148019165285
-/*124*/, 65536 *16 *  0.0016231971391851225
-/*125*/, 65536 *16 *  0.0016943089588603764
-/*126*/, 65536 *16 *  0.0017589264521182184
-/*127*/, 65536 *16 *  0.001816477825843157
-/*128*/, 65536 *16 *  0.001866465750234791
-/*129*/, 65536 *16 *  0.001908351881851273
-/*130*/, 65536 *16 *  0.0019416355874888774
-/*131*/, 65536 *16 *  0.0019658912100497094
-/*132*/, 65536 *16 *  0.0019806705540431754
-/*133*/, 65536 *16 *  0.001985602463070219
-/*134*/, 65536 *16 *  0.0019803173347810094
-/*135*/, 65536 *16 *  0.001964518487218229
-/*136*/, 65536 *16 *  0.00193792749109128
-/*137*/, 65536 *16 *  0.0019003361153152295
-/*138*/, 65536 *16 *  0.0018515636696845045
-/*139*/, 65536 *16 *  0.0017915008584460717
-/*140*/, 65536 *16 *  0.0017200735452676211
-/*141*/, 65536 *16 *  0.0016372830430278298
-/*142*/, 65536 *16 *  0.0015431709906056357
-/*143*/, 65536 *16 *  0.0014378573929982352
-/*144*/, 65536 *16 *  0.0013215084987890104
-/*145*/, 65536 *16 *  0.001194328283068528
-/*146*/, 65536 *16 *  0.0010566468386934231
-/*147*/, 65536 *16 *  9.088002025373218E-4
-/*148*/, 65536 *16 *  7.512135584215806E-4
-/*149*/, 65536 *16 *  5.843621536328689E-4
-/*150*/, 65536 *16 *  4.087894375795271E-4
-/*151*/, 65536 *16 *  2.2510227575334467E-4
-/*152*/, 65536 *16 *  3.396239791846655E-5
-/*153*/, 65536 *16 *  -1.6390294871759475E-4
-/*154*/, 65536 *16 *  -3.6771789280231503E-4
-/*155*/, 65536 *16 *  -5.766405458635558E-4
-/*156*/, 65536 *16 *  -7.897872933737203E-4
-/*157*/, 65536 *16 *  -0.001006209757480115
-/*158*/, 65536 *16 *  -0.0012249304977170316
-/*159*/, 65536 *16 *  -0.0014449054341312839
-/*160*/, 65536 *16 *  -0.0016650898600315796
-/*161*/, 65536 *16 *  -0.001884343774622382
-/*162*/, 65536 *16 *  -0.0021015342465919864
-/*163*/, 65536 *16 *  -0.0023154975831354337
-/*164*/, 65536 *16 *  -0.0025250324219407566
-/*165*/, 65536 *16 *  -0.0027289312457094736
-/*166*/, 65536 *16 *  -0.0029259546931934967
-/*167*/, 65536 *16 *  -0.003114871201398419
-/*168*/, 65536 *16 *  -0.003294430723892981
-/*169*/, 65536 *16 *  -0.003463396424710959
-/*170*/, 65536 *16 *  -0.003620525188769811
-/*171*/, 65536 *16 *  -0.0037645967189351955
-/*172*/, 65536 *16 *  -0.003894396916361478
-/*173*/, 65536 *16 *  -0.00400874728567525
-/*174*/, 65536 *16 *  -0.004106485394068385
-/*175*/, 65536 *16 *  -0.004186497692846864
-/*176*/, 65536 *16 *  -0.004247692032125654
-/*177*/, 65536 *16 *  -0.004289020763525844
-/*178*/, 65536 *16 *  -0.0043095197889136795
-/*179*/, 65536 *16 *  -0.004308238489219152
-/*180*/, 65536 *16 *  -0.004284317631022625
-/*181*/, 65536 *16 *  -0.0042369380515990835
-/*182*/, 65536 *16 *  -0.004165372803509635
-/*183*/, 65536 *16 *  -0.004068956516951112
-/*184*/, 65536 *16 *  -0.003947110543306579
-/*185*/, 65536 *16 *  -0.003799332887739826
-/*186*/, 65536 *16 *  -0.0036252122359255057
-/*187*/, 65536 *16 *  -0.0034244255727248728
-/*188*/, 65536 *16 *  -0.0031967441992062605
-/*189*/, 65536 *16 *  -0.0029420359603045624
-/*190*/, 65536 *16 *  -0.002660262473612329
-/*191*/, 65536 *16 *  -0.0023514913391939015
-/*192*/, 65536 *16 *  -0.002015874218170038
-/*193*/, 65536 *16 *  -0.0016537021922741356
-/*194*/, 65536 *16 *  -0.0012653326032471951
-/*195*/, 65536 *16 *  -8.512425489658283E-4
-/*196*/, 65536 *16 *  -4.12008134196091E-4
-/*197*/, 65536 *16 *  5.169160678832697E-5
-/*198*/, 65536 *16 *  5.3906734093252E-4
-/*199*/, 65536 *16 *  0.0010492444783799305
-/*200*/, 65536 *16 *  0.0015812369440962736
-/*201*/, 65536 *16 *  0.002133975437656693
-/*202*/, 65536 *16 *  0.002706284295633396
-/*203*/, 65536 *16 *  0.003296910987472264
-/*204*/, 65536 *16 *  0.0039045040922850343
-/*205*/, 65536 *16 *  0.004527645156076457
-/*206*/, 65536 *16 *  0.005164822580527953
-/*207*/, 65536 *16 *  0.00581446977998051
-/*208*/, 65536 *16 *  0.00647492818678252
-/*209*/, 65536 *16 *  0.007144495527005753
-/*210*/, 65536 *16 *  0.007821417135435386
-/*211*/, 65536 *16 *  0.008503870707064397
-/*212*/, 65536 *16 *  0.00919000676302643
-/*213*/, 65536 *16 *  0.009877917856582038
-/*214*/, 65536 *16 *  0.010565689475867907
-/*215*/, 65536 *16 *  0.011251366750588049
-/*216*/, 65536 *16 *  0.01193298816023733
-/*217*/, 65536 *16 *  0.012608574497468706
-/*218*/, 65536 *16 *  0.013276151008399953
-/*219*/, 65536 *16 *  0.013933744269275995
-/*220*/, 65536 *16 *  0.014579397589755912
-/*221*/, 65536 *16 *  0.015211171751139368
-/*222*/, 65536 *16 *  0.015827155422328678
-/*223*/, 65536 *16 *  0.01642547256780349
-/*224*/, 65536 *16 *  0.01700428326907068
-/*225*/, 65536 *16 *  0.017561819587529177
-/*226*/, 65536 *16 *  0.018096338432718698
-/*227*/, 65536 *16 *  0.018606183762999433
-/*228*/, 65536 *16 *  0.019089749497960648
-/*229*/, 65536 *16 *  0.019545523698532997
-/*230*/, 65536 *16 *  0.019972069058400564
-/*231*/, 65536 *16 *  0.02036803110561515
-/*232*/, 65536 *16 *  0.020732154475618856
-/*233*/, 65536 *16 *  0.021063275458886234
-/*234*/, 65536 *16 *  0.021360340738775345
-/*235*/, 65536 *16 *  0.02162239534537267
-/*236*/, 65536 *16 *  0.021848603142668337
-/*237*/, 65536 *16 *  0.02203823092181804
-/*238*/, 65536 *16 *  0.022190674411724294
-/*239*/, 65536 *16 *  0.022305434241445123
-/*240*/, 65536 *16 *  0.022382153728111424
-/*241*/, 65536 *16 *  0.022420574751016616
-};
-
-/* 44100 PAL
-Parks-McClellan FIR Filter Design
-
-Filter type: Low pass
-Passband: 0 - 0.0076373
-Order: 483
-Passband ripple: 0.1 dB
-Transition band: 0.005625
-Stopband attenuation: 60.5 dB
-
-Coefficients:
-*/
-static int32 C44100PAL[NCOEFFS/2]=
-{
-/*0*/ 65536 *16 *  5.793783958720019E-4
-/*1*/, 65536 *16 *  1.0571291666629312E-4
-/*2*/, 65536 *16 *  1.1459085882755871E-4
-/*3*/, 65536 *16 *  1.2371675029136968E-4
-/*4*/, 65536 *16 *  1.3275170325031607E-4
-/*5*/, 65536 *16 *  1.4207721167879995E-4
-/*6*/, 65536 *16 *  1.5130497600100568E-4
-/*7*/, 65536 *16 *  1.6077227873948047E-4
-/*8*/, 65536 *16 *  1.6990814771316866E-4
-/*9*/, 65536 *16 *  1.79005024990367E-4
-/*10*/, 65536 *16 * 1.8739246068939436E-4
-/*11*/, 65536 *16 * 1.9572039600801667E-4
-/*12*/, 65536 *16 * 2.0352846914404956E-4
-/*13*/, 65536 *16 * 2.1201116607443127E-4
-/*14*/, 65536 *16 * 2.188838839136502E-4
-/*15*/, 65536 *16 * 2.2495686284733203E-4
-/*16*/, 65536 *16 * 2.3149812422937834E-4
-/*17*/, 65536 *16 * 2.363635497444841E-4
-/*18*/, 65536 *16 * 2.410054979130104E-4
-/*19*/, 65536 *16 * 2.445286108284421E-4
-/*20*/, 65536 *16 * 2.474675828550653E-4
-/*21*/, 65536 *16 * 2.4934815214903343E-4
-/*22*/, 65536 *16 * 2.50372333906785E-4
-/*23*/, 65536 *16 * 2.501665763315339E-4
-/*24*/, 65536 *16 * 2.488750795254978E-4
-/*25*/, 65536 *16 * 2.4640153199411455E-4
-/*26*/, 65536 *16 * 2.428720291968876E-4
-/*27*/, 65536 *16 * 2.3801309032826844E-4
-/*28*/, 65536 *16 * 2.3160240772113682E-4
-/*29*/, 65536 *16 * 2.2423402291517938E-4
-/*30*/, 65536 *16 * 2.152856501527123E-4
-/*31*/, 65536 *16 * 2.0488674543318888E-4
-/*32*/, 65536 *16 * 1.9317919544163198E-4
-/*33*/, 65536 *16 * 1.7994016398005858E-4
-/*34*/, 65536 *16 * 1.6541109383681028E-4
-/*35*/, 65536 *16 * 1.4938382649739635E-4
-/*36*/, 65536 *16 * 1.3200975730094075E-4
-/*37*/, 65536 *16 * 1.1313240842725184E-4
-/*38*/, 65536 *16 * 9.296992728984174E-5
-/*39*/, 65536 *16 * 7.143010735440594E-5
-/*40*/, 65536 *16 * 4.8632764324109725E-5
-/*41*/, 65536 *16 * 2.443073549738759E-5
-/*42*/, 65536 *16 * -8.284349612349981E-7
-/*43*/, 65536 *16 * -2.7227387247375577E-5
-/*44*/, 65536 *16 * -5.4818038895146106E-5
-/*45*/, 65536 *16 * -8.330005435111118E-5
-/*46*/, 65536 *16 * -1.1275737974091186E-4
-/*47*/, 65536 *16 * -1.4298620796919756E-4
-/*48*/, 65536 *16 * -1.7390785487074508E-4
-/*49*/, 65536 *16 * -2.054308580401118E-4
-/*50*/, 65536 *16 * -2.37415521983132E-4
-/*51*/, 65536 *16 * -2.697456782629617E-4
-/*52*/, 65536 *16 * -3.022375619849705E-4
-/*53*/, 65536 *16 * -3.348339660959209E-4
-/*54*/, 65536 *16 * -3.673583086741243E-4
-/*55*/, 65536 *16 * -3.996554197363865E-4
-/*56*/, 65536 *16 * -4.3147108191834185E-4
-/*57*/, 65536 *16 * -4.6285023012872966E-4
-/*58*/, 65536 *16 * -4.934440989261961E-4
-/*59*/, 65536 *16 * -5.231720978150925E-4
-/*60*/, 65536 *16 * -5.518656107257292E-4
-/*61*/, 65536 *16 * -5.793049560550073E-4
-/*62*/, 65536 *16 * -6.053792205725333E-4
-/*63*/, 65536 *16 * -6.298765704841736E-4
-/*64*/, 65536 *16 * -6.526402738994988E-4
-/*65*/, 65536 *16 * -6.734722964365358E-4
-/*66*/, 65536 *16 * -6.922485843472661E-4
-/*67*/, 65536 *16 * -7.088111930758961E-4
-/*68*/, 65536 *16 * -7.229789042068006E-4
-/*69*/, 65536 *16 * -7.34572975483669E-4
-/*70*/, 65536 *16 * -7.435049180176613E-4
-/*71*/, 65536 *16 * -7.496258178311876E-4
-/*72*/, 65536 *16 * -7.527294926570751E-4
-/*73*/, 65536 *16 * -7.528075552986548E-4
-/*74*/, 65536 *16 * -7.496410435428715E-4
-/*75*/, 65536 *16 * -7.432054606042111E-4
-/*76*/, 65536 *16 * -7.33375741493331E-4
-/*77*/, 65536 *16 * -7.200753858529672E-4
-/*78*/, 65536 *16 * -7.03226653737734E-4
-/*79*/, 65536 *16 * -6.827921676621563E-4
-/*80*/, 65536 *16 * -6.58752773848678E-4
-/*81*/, 65536 *16 * -6.31061807229375E-4
-/*82*/, 65536 *16 * -5.997124150992168E-4
-/*83*/, 65536 *16 * -5.647352645065657E-4
-/*84*/, 65536 *16 * -5.261799041455252E-4
-/*85*/, 65536 *16 * -4.8402880277824417E-4
-/*86*/, 65536 *16 * -4.3840329475572E-4
-/*87*/, 65536 *16 * -3.893672279202991E-4
-/*88*/, 65536 *16 * -3.37002579326518E-4
-/*89*/, 65536 *16 * -2.8148278838384204E-4
-/*90*/, 65536 *16 * -2.2288467365854118E-4
-/*91*/, 65536 *16 * -1.6140368454103024E-4
-/*92*/, 65536 *16 * -9.718648150744015E-5
-/*93*/, 65536 *16 * -3.046343268277719E-5
-/*94*/, 65536 *16 * 3.859234051837562E-5
-/*95*/, 65536 *16 * 1.0974328274324426E-4
-/*96*/, 65536 *16 * 1.8273974279995372E-4
-/*97*/, 65536 *16 * 2.5730055402762935E-4
-/*98*/, 65536 *16 * 3.3318458939353874E-4
-/*99*/, 65536 *16 * 4.100891270013777E-4
-/*100*/, 65536 *16 *  4.876860015464126E-4
-/*101*/, 65536 *16 *  5.657011755504638E-4
-/*102*/, 65536 *16 *  6.437547403393535E-4
-/*103*/, 65536 *16 *  7.215350856659516E-4
-/*104*/, 65536 *16 *  7.986901321007353E-4
-/*105*/, 65536 *16 *  8.748424228508639E-4
-/*106*/, 65536 *16 *  9.496338070297501E-4
-/*107*/, 65536 *16 *  0.0010226804298925178
-/*108*/, 65536 *16 *  0.001093633836878271
-/*109*/, 65536 *16 *  0.0011620773771650913
-/*110*/, 65536 *16 *  0.001227641045409496
-/*111*/, 65536 *16 *  0.0012899374110895208
-/*112*/, 65536 *16 *  0.001348607725415767
-/*113*/, 65536 *16 *  0.001403236086962171
-/*114*/, 65536 *16 *  0.0014534904370406968
-/*115*/, 65536 *16 *  0.0014989864777827345
-/*116*/, 65536 *16 *  0.0015393672007052272
-/*117*/, 65536 *16 *  0.0015743174329729173
-/*118*/, 65536 *16 *  0.0016034756800234508
-/*119*/, 65536 *16 *  0.0016265420570988364
-/*120*/, 65536 *16 *  0.0016432110467175217
-/*121*/, 65536 *16 *  0.0016532197970121178
-/*122*/, 65536 *16 *  0.0016562968359550962
-/*123*/, 65536 *16 *  0.0016521969919585549
-/*124*/, 65536 *16 *  0.001640721606064916
-/*125*/, 65536 *16 *  0.001621678045313759
-/*126*/, 65536 *16 *  0.0015948992297934834
-/*127*/, 65536 *16 *  0.0015602457924787695
-/*128*/, 65536 *16 *  0.0015176354451292787
-/*129*/, 65536 *16 *  0.0014669598890367775
-/*130*/, 65536 *16 *  0.001408218899058892
-/*131*/, 65536 *16 *  0.001341376545671481
-/*132*/, 65536 *16 *  0.0012664621369705463
-/*133*/, 65536 *16 *  0.0011835425953369801
-/*134*/, 65536 *16 *  0.0010927146027981068
-/*135*/, 65536 *16 *  9.941150953832762E-4
-/*136*/, 65536 *16 *  8.878982163088053E-4
-/*137*/, 65536 *16 *  7.742911468907501E-4
-/*138*/, 65536 *16 *  6.535350381595103E-4
-/*139*/, 65536 *16 *  5.259114487251054E-4
-/*140*/, 65536 *16 *  3.9173611703422796E-4
-/*141*/, 65536 *16 *  2.513813444320677E-4
-/*142*/, 65536 *16 *  1.0522988594595334E-4
-/*143*/, 65536 *16 *  -4.627799877161863E-5
-/*144*/, 65536 *16 *  -2.0266153878465397E-4
-/*145*/, 65536 *16 *  -3.6344539072942917E-4
-/*146*/, 65536 *16 *  -5.28061484912101E-4
-/*147*/, 65536 *16 *  -6.959549845043866E-4
-/*148*/, 65536 *16 *  -8.665108935058429E-4
-/*149*/, 65536 *16 *  -0.0010391137133997624
-/*150*/, 65536 *16 *  -0.001213088248571412
-/*151*/, 65536 *16 *  -0.0013877438142645866
-/*152*/, 65536 *16 *  -0.0015623746142961936
-/*153*/, 65536 *16 *  -0.001736242850147973
-/*154*/, 65536 *16 *  -0.0019085899496564314
-/*155*/, 65536 *16 *  -0.002078639823528187
-/*156*/, 65536 *16 *  -0.0022456104279907118
-/*157*/, 65536 *16 *  -0.002408678368623706
-/*158*/, 65536 *16 *  -0.002567052121352872
-/*159*/, 65536 *16 *  -0.0027198956481072887
-/*160*/, 65536 *16 *  -0.0028663750213148488
-/*161*/, 65536 *16 *  -0.0030056713494924794
-/*162*/, 65536 *16 *  -0.0031369487365098063
-/*163*/, 65536 *16 *  -0.0032593909953083865
-/*164*/, 65536 *16 *  -0.0033721594370116153
-/*165*/, 65536 *16 *  -0.0034744643621211356
-/*166*/, 65536 *16 *  -0.0035654990231207963
-/*167*/, 65536 *16 *  -0.003644488024347632
-/*168*/, 65536 *16 *  -0.0037106644342197828
-/*169*/, 65536 *16 *  -0.0037632989436418352
-/*170*/, 65536 *16 *  -0.00380166827783197
-/*171*/, 65536 *16 *  -0.0038250950477227447
-/*172*/, 65536 *16 *  -0.0038329329853570827
-/*173*/, 65536 *16 *  -0.0038245430145814447
-/*174*/, 65536 *16 *  -0.0037993625516763766
-/*175*/, 65536 *16 *  -0.003756842883124589
-/*176*/, 65536 *16 *  -0.0036964913119694686
-/*177*/, 65536 *16 *  -0.0036178458358447655
-/*178*/, 65536 *16 *  -0.00352050628243193
-/*179*/, 65536 *16 *  -0.003404123578517079
-/*180*/, 65536 *16 *  -0.003268383375473133
-/*181*/, 65536 *16 *  -0.0031130454148921446
-/*182*/, 65536 *16 *  -0.002937909773123352
-/*183*/, 65536 *16 *  -0.0027428475146560275
-/*184*/, 65536 *16 *  -0.0025277729297779944
-/*185*/, 65536 *16 *  -0.0022926869206439508
-/*186*/, 65536 *16 *  -0.0020376141174133374
-/*187*/, 65536 *16 *  -0.0017626719756025908
-/*188*/, 65536 *16 *  -0.0014680351622130402
-/*189*/, 65536 *16 *  -0.0011539297872750212
-/*190*/, 65536 *16 *  -8.206567501069872E-4
-/*191*/, 65536 *16 *  -4.685710694984321E-4
-/*192*/, 65536 *16 *  -9.811116382477182E-5
-/*193*/, 65536 *16 *  2.902488429495873E-4
-/*194*/, 65536 *16 *  6.959516881166062E-4
-/*195*/, 65536 *16 *  0.0011183883405789612
-/*196*/, 65536 *16 *  0.0015568865209671754
-/*197*/, 65536 *16 *  0.0020107155705137744
-/*198*/, 65536 *16 *  0.002479084293281152
-/*199*/, 65536 *16 *  0.002961149037985776
-/*200*/, 65536 *16 *  0.0034560223628435746
-/*201*/, 65536 *16 *  0.0039627343373741354
-/*202*/, 65536 *16 *  0.0044803036416812955
-/*203*/, 65536 *16 *  0.005007678185806692
-/*204*/, 65536 *16 *  0.00554377521563058
-/*205*/, 65536 *16 *  0.006087456836491167
-/*206*/, 65536 *16 *  0.006637561024809676
-/*207*/, 65536 *16 *  0.007192890398414245
-/*208*/, 65536 *16 *  0.0077522050201042055
-/*209*/, 65536 *16 *  0.008314254820045306
-/*210*/, 65536 *16 *  0.008877749982246051
-/*211*/, 65536 *16 *  0.009441393781470539
-/*212*/, 65536 *16 *  0.010003862886118781
-/*213*/, 65536 *16 *  0.01056383933598836
-/*214*/, 65536 *16 *  0.011119972235266088
-/*215*/, 65536 *16 *  0.011670924253482212
-/*216*/, 65536 *16 *  0.012215363764388693
-/*217*/, 65536 *16 *  0.012751945584822125
-/*218*/, 65536 *16 *  0.013279348664168343
-/*219*/, 65536 *16 *  0.013796251849197938
-/*220*/, 65536 *16 *  0.0143013718962506
-/*221*/, 65536 *16 *  0.014793420656675483
-/*222*/, 65536 *16 *  0.015271157641252524
-/*223*/, 65536 *16 *  0.015733358657288442
-/*224*/, 65536 *16 *  0.016178837288118402
-/*225*/, 65536 *16 *  0.016606446422463023
-/*226*/, 65536 *16 *  0.01701507865820779
-/*227*/, 65536 *16 *  0.017403671672970734
-/*228*/, 65536 *16 *  0.01777119975394863
-/*229*/, 65536 *16 *  0.018116717572056962
-/*230*/, 65536 *16 *  0.01843930362202181
-/*231*/, 65536 *16 *  0.01873811058717855
-/*232*/, 65536 *16 *  0.01901234584784063
-/*233*/, 65536 *16 *  0.019261287195027194
-/*234*/, 65536 *16 *  0.019484271195397335
-/*235*/, 65536 *16 *  0.0196806998422779
-/*236*/, 65536 *16 *  0.019850058102456474
-/*237*/, 65536 *16 *  0.019991882444368586
-/*238*/, 65536 *16 *  0.0201058042761605
-/*239*/, 65536 *16 *  0.02019151207246131
-/*240*/, 65536 *16 *  0.02024878178965319
-/*241*/, 65536 *16 *  0.020277449712345474
-};
diff --git a/filter098.c b/filter098.c
deleted file mode 100644 (file)
index 795208c..0000000
+++ /dev/null
@@ -1,217 +0,0 @@
-#include <math.h>
-#include <stdio.h>
-#include "types.h"
-
-#include "sound.h"
-#include "x6502.h"
-#include "fce.h"
-#include "filter098.h"
-#include "svga.h"
-
-#include "fcoeffs098.h"
-
-static uint32 mrindex;
-static uint32 mrratio;
-
-#if 0
-void SexyFilter2(int32 *in, int32 count)
-{
- #ifdef moo
- static int64 acc=0;
- double x,p;
- int64 c;
-
- x=2*M_PI*6000/FSettings.SndRate;
- p=((double)2-cos(x)) - sqrt(pow((double)2-cos(x),2) -1 );
-
- c=p*0x100000;
- //printf("%f\n",(double)c/0x100000);
- #endif
- static int64 acc=0;
-
- while(count--)
- {
-  int64 dropcurrent;
-  dropcurrent=((*in<<16)-acc)>>3;
-
-  acc+=dropcurrent;
-  *in=acc>>16;
-  in++;
-  //acc=((int64)0x100000-c)* *in + ((c*acc)>>20);
-  //*in=acc>>20;
-  //in++;
- }
-}
-#endif
-
-void SexyFilter(int32 *in, int16 *out, int32 count)
-{
- static int64 acc1=0,acc2=0;
- int32 mul1,mul2,vmul;
-
- mul1=(94<<16)/FSettings.SndRate;
- mul2=(24<<16)/FSettings.SndRate;
- vmul=(FSettings.SoundVolume<<16)*3/4/100;
-
-#if 0
- if(FSettings.soundq) vmul/=4;
- else
-#endif
-  vmul*=2;                     /* TODO:  Increase volume in low quality sound rendering code itself */
-
- while(count)
- {
-  int64 ino=(int64)*in*vmul;
-  acc1+=((ino-acc1)*mul1)>>16;
-  acc2+=((ino-acc1-acc2)*mul2)>>16;
-  //printf("%d ",*in);
-  *in=0;
-  {
-   int32 t=(acc1-ino+acc2)>>16;
-   //if(t>32767 || t<-32768) printf("Flow: %d\n",t);
-   if(t>32767) t=32767;
-   if(t<-32768) t=-32768;
-   *out=t;
-  }
-  in++;
-  out++;
-  count--;
- }
-}
-
-/* Returns number of samples written to out. */
-/* leftover is set to the number of samples that need to be copied
-   from the end of in to the beginning of in.
-*/
-
-//static uint32 mva=1000;
-
-/* This filtering code assumes that almost all input values stay below 32767.
-   Do not adjust the volume in the wlookup tables and the expansion sound
-   code to be higher, or you *might* overflow the FIR code.
-*/
-
-#if 0
-int32 NeoFilterSound(int32 *in, int32 *out, uint32 inlen, int32 *leftover)
-{
-       uint32 x;
-       uint32 max;
-       int32 *outsave=out;
-       int32 count=0;
-
-//     for(x=0;x<inlen;x++)
-//     {
-//      if(in[x]>mva){ mva=in[x]; printf("%ld\n",in[x]);}
-//     }
-        max=(inlen-1)<<16;
-
-       if(FSettings.soundq==2)
-         for(x=mrindex;x<max;x+=mrratio)
-         {
-          int32 acc=0,acc2=0;
-          unsigned int c;
-          int32 *S,*D;
-
-          for(c=SQ2NCOEFFS,S=&in[(x>>16)-SQ2NCOEFFS],D=sq2coeffs;c;c--,D++)
-          {
-           acc+=(S[c]**D)>>6;
-           acc2+=(S[1+c]**D)>>6;
-          }
-
-          acc=((int64)acc*(65536-(x&65535))+(int64)acc2*(x&65535))>>(16+11);
-          *out=acc;
-          out++;
-          count++;
-         }
-       else
-         for(x=mrindex;x<max;x+=mrratio)
-         {
-          int32 acc=0,acc2=0;
-          unsigned int c;
-          int32 *S,*D;
-
-          for(c=NCOEFFS,S=&in[(x>>16)-NCOEFFS],D=coeffs;c;c--,D++)
-         {
-          acc+=(S[c]**D)>>6;
-          acc2+=(S[1+c]**D)>>6;
-         }
-
-          acc=((int64)acc*(65536-(x&65535))+(int64)acc2*(x&65535))>>(16+11);
-          *out=acc;
-          out++;
-          count++;
-         }
-
-        mrindex=x-max;
-
-       if(FSettings.soundq==2)
-       {
-         mrindex+=SQ2NCOEFFS*65536;
-         *leftover=SQ2NCOEFFS+1;
-       }
-       else
-       {
-         mrindex+=NCOEFFS*65536;
-         *leftover=NCOEFFS+1;
-       }
-
-       if(GameExpSound.NeoFill)
-        GameExpSound.NeoFill(outsave,count);
-
-       SexyFilter(outsave,outsave,count);
-       if(FSettings.lowpass)
-        SexyFilter2(outsave,count);
-       return(count);
-}
-#endif
-
-void MakeFilters(int32 rate)
-{
- int32 *tabs[6]={C44100NTSC,C44100PAL,C48000NTSC,C48000PAL,C96000NTSC,
-        C96000PAL};
-#if 0
- int32 *sq2tabs[6]={SQ2C44100NTSC,SQ2C44100PAL,SQ2C48000NTSC,SQ2C48000PAL,
-       SQ2C96000NTSC,SQ2C96000PAL};
-#endif
-
- int32 *tmp;
- int32 x;
- uint32 nco;
-
-#if 0
- if(FSettings.soundq==2)
-  nco=SQ2NCOEFFS;
- else
-#endif
-  nco=NCOEFFS;
-
- mrindex=(nco+1)<<16;
- mrratio=(PAL?(int64)(PAL_CPU*65536):(int64)(NTSC_CPU*65536))/rate;
-
-#if 0
- if(FSettings.soundq==2)
-  tmp=sq2tabs[(PAL?1:0)|(rate==48000?2:0)|(rate==96000?4:0)];
- else
-#endif
-  tmp=tabs[(PAL?1:0)|(rate==48000?2:0)|(rate==96000?4:0)];
-
-#if 0
- if(FSettings.soundq==2)
-  for(x=0;x<SQ2NCOEFFS>>1;x++)
-   sq2coeffs[x]=sq2coeffs[SQ2NCOEFFS-1-x]=tmp[x];
- else
-#endif
-  for(x=0;x<NCOEFFS>>1;x++)
-   coeffs[x]=coeffs[NCOEFFS-1-x]=tmp[x];
-
- #ifdef MOO
- /* Some tests involving precision and error. */
- {
-  static int64 acc=0;
-  int x;
-  for(x=0;x<SQ2NCOEFFS;x++)
-   acc+=(int64)32767*sq2coeffs[x];
-  printf("Foo: %lld\n",acc);
- }
- #endif
-}
diff --git a/filter098.h b/filter098.h
deleted file mode 100644 (file)
index 90dd703..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-int32 NeoFilterSound(int32 *in, int32 *out, uint32 inlen, int32 *leftover);
-void MakeFilters(int32 rate);
-void SexyFilter(int32 *in, int16 *out, int32 count);
index 79154e9..d0a0a49 100644 (file)
--- a/ppu098.c
+++ b/ppu098.c
@@ -26,7 +26,7 @@
 #include  "fce.h"
 #include  "ppu098.h"
 #include  "nsf.h"
-#include  "sound098.h"
+#include  "sound.h"
 #include  "memory.h"
 
 #include  "cart.h"
 #include  "video.h"
 #include  "input.h"
 
+#ifdef GP2X
+#include       "drivers/gp2x/asmutils.h"
+#endif
+
 #define Pal     (PALRAM)
 
 static void FetchSpriteData098(void);
@@ -82,10 +86,32 @@ static void makeppulut(void)
  }
 }
 
-// TODO: make this compatible with the new sound code
 #ifdef ASM_6502
-#define asmcpu_update(c) \
-       FCEU_SoundCPUHook098((((c) >> 4) * 43) >> 7)
+static void asmcpu_update(int32 cycles)
+{
+ // some code from x6502.c
+ fhcnt-=cycles;
+ if(fhcnt<=0)
+ {
+  FrameSoundUpdate();
+  fhcnt+=fhinc;
+ }
+
+ if(PCMIRQCount>0)
+ {
+  PCMIRQCount-=cycles;
+  if(PCMIRQCount<=0)
+  {
+   vdis=1;
+   if((PSG[0x10]&0x80) && !(PSG[0x10]&0x40))
+   {
+    extern uint8 SIRQStat;
+    SIRQStat|=0x80;
+    X6502_IRQBegin(FCEU_IQDPCM);
+   }
+  }
+ }
+}
 #endif
 
 extern int ppudead;
@@ -193,7 +219,7 @@ static DECLFW(B2000)
                 {
 //     FCEU_printf("Trigger NMI, %d, %d\n",timestamp,ppudead);
 //                 TriggerNMI2();
-                 TriggerNMI(); // TODO
+                 TriggerNMI(); // TODO?
                 }
                 PPU[0]=V;
                 TempAddr&=0xF3FF;
@@ -338,7 +364,7 @@ static int tofix=0;
 
 static void ResetRL(uint8 *target)
 {
memset(target,0xFF,256);
FCEU_dwmemset(target,0xffffffff,256);
  if(InputScanlineHook)
   InputScanlineHook(0,0,0,0);
  Plinef=target;
@@ -688,6 +714,19 @@ static void DoLine(void)
  if(SpriteON)
   CopySprites098(target);
 
+#ifdef GP2X
+ if(ScreenON || SpriteON)  // Yes, very el-cheapo.
+ {
+  if(PPU[1]&0x01)
+   block_and(target, 256, 0x30);
+ }
+ if((PPU[1]>>5)==0x7)
+  block_or(target, 256, 0xc0);
+ else if(PPU[1]&0xE0)
+  block_or(target, 256, 0x40);
+ else
+  block_andor(target, 256, 0x3f, 0x80);
+#else
  if(ScreenON || SpriteON)  // Yes, very el-cheapo.
  {
   if(PPU[1]&0x01)
@@ -707,6 +746,7 @@ static void DoLine(void)
  else
   for(x=63;x>=0;x--)
    *(uint32 *)&target[x<<2]=((*(uint32*)&target[x<<2])&0x3f3f3f3f)|0x80808080;
+#endif
 
  sphitx=0x100;
 
diff --git a/sound.c b/sound.c
index 0c60871..f6e6a34 100644 (file)
--- a/sound.c
+++ b/sound.c
@@ -845,7 +845,7 @@ static void RDoNoise(int32 end)
    }
 }
 
-static DECLFW(Write_IRQFM)
+DECLFW(Write_IRQFM)
 {
  PSG[0x17]=V;
  V=(V&0xC0)>>6;
@@ -968,9 +968,7 @@ void ResetSound(void)
         nreg=1;
 }
 
-void (*SetSoundVariables)(void) = 0;
-
-void SetSoundVariables081(void)
+void SetSoundVariables(void)
 {
   int x;
 
diff --git a/sound.h b/sound.h
index 142d504..fcaaf16 100644 (file)
--- a/sound.h
+++ b/sound.h
@@ -42,9 +42,7 @@ extern uint8 PSG[0x18];
 extern uint32 PSG_base;
 extern int32 PCMIRQCount;
 
-extern void (*SetSoundVariables)(void);
-
-void SetSoundVariables081(void);
+void SetSoundVariables(void);
 void PowerSound(void);
 void ResetSound(void);
 extern uint8 decvolume[];
@@ -85,3 +83,4 @@ void SetNESSoundMap(void);
 void FrameSoundUpdate(void);
 void FixOldSaveStateSFreq(void);
 
+DECLFW(Write_IRQFM);
diff --git a/sound098.c b/sound098.c
deleted file mode 100644 (file)
index e5abfaa..0000000
+++ /dev/null
@@ -1,1273 +0,0 @@
-/* FCE Ultra - NES/Famicom Emulator
- *
- * Copyright notice for this file:
- *  Copyright (C) 2002 Xodnizel
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-
-#include <string.h>
-
-#include "types.h"
-#include "x6502.h"
-
-#include "fce.h"
-#include "sound.h"
-#include "filter098.h"
-#include "state.h"
-#include "svga.h"
-//#include "wave.h"
-
-static uint32 wlookup1[32];
-static uint32 wlookup2[203];
-
-int32 WaveHi[40000];
-//int32 WaveFinal[2048+512]; // TODO: use WaveFinalMono
-
-static uint8 TriCount=0;
-static uint8 TriMode=0;
-
-static int32 tristep=0;
-
-static int32 wlcount[4]={0,0,0,0};     /* Wave length counters.        */
-
-static uint8 IRQFrameMode=0;   /* $4017 / xx000000 */
-//static uint8 PSG[0x10];
-static uint8 RawDALatch=0;     /* $4011 0xxxxxxx */
-
-static uint8 EnabledChannels=0;                /* Byte written to $4015 */
-
-typedef struct {
-       uint8 Speed;
-       uint8 Mode;     /* Fixed volume(1), and loop(2) */
-       uint8 DecCountTo1;
-       uint8 decvolume;
-       int reloaddec;
-} ENVUNIT;
-
-static ENVUNIT EnvUnits[3];
-
-static const int RectDuties[4]={1,2,4,6};
-
-static int32 RectDutyCount[2];
-//static uint8 sweepon[2];
-//static int32 curfreq[2];
-//static uint8 SweepCount[2];
-
-//static uint16 nreg=0;
-
-//static uint8 fcnt=0;
-//static int32 fhcnt=0;
-//static int32 fhinc=0;
-
-/* Variables exclusively for low-quality sound. */
-static int32 sqacc[2];
-/* LQ variables segment ends. */
-
-static int32 lengthcount[4];
-static const uint8 lengthtable[0x20]=
-{
- 0x5*2,0x7f*2,0xA*2,0x1*2,0x14*2,0x2*2,0x28*2,0x3*2,0x50*2,0x4*2,0x1E*2,0x5*2,0x7*2,0x6*2,0x0E*2,0x7*2,
- 0x6*2,0x08*2,0xC*2,0x9*2,0x18*2,0xa*2,0x30*2,0xb*2,0x60*2,0xc*2,0x24*2,0xd*2,0x8*2,0xe*2,0x10*2,0xf*2
-};
-
-static const uint32 NoiseFreqTable[0x10]=
-{
- 2,4,8,0x10,0x20,0x30,0x40,0x50,0x65,0x7f,0xbe,0xfe,0x17d,0x1fc,0x3f9,0x7f2
-};
-
-static const uint32 NTSCDMCTable[0x10]=
-{
- 428,380,340,320,286,254,226,214,
- 190,160,142,128,106, 84 ,72,54
-};
-
-static const uint32 PALDMCTable[0x10]=
-{
- 397, 353, 315, 297, 265, 235, 209, 198,
- 176, 148, 131, 118, 98, 78, 66, 50,
-};
-
-// $4010        -        Frequency
-// $4011        -        Actual data outputted
-// $4012        -        Address register: $c000 + V*64
-// $4013        -        Size register:  Size in bytes = (V+1)*64
-
-static int32 DMCacc=1;
-static int32 DMCPeriod=0;
-static uint8 DMCBitCount=0;
-
-static uint8 DMCAddressLatch=0,DMCSizeLatch=0; /* writes to 4012 and 4013 */
-static uint8 DMCFormat=0;      /* Write to $4010 */
-
-static uint32 DMCAddress=0;
-static int32 DMCSize=0;
-static uint8 DMCShift=0;
-static uint8 SIRQStat=0;
-
-static char DMCHaveDMA=0;
-static uint8 DMCDMABuf=0;
-static char DMCHaveSample=0;
-
-static void Dummyfunc(void) {};
-static void (*DoNoise)(void)=Dummyfunc;
-static void (*DoTriangle)(void)=Dummyfunc;
-static void (*DoPCM)(void)=Dummyfunc;
-static void (*DoSQ1)(void)=Dummyfunc;
-static void (*DoSQ2)(void)=Dummyfunc;
-
-static uint32 ChannelBC[5];
-
-static void LoadDMCPeriod(uint8 V)
-{
- if(PAL)
-  DMCPeriod=PALDMCTable[V];
- else
-  DMCPeriod=NTSCDMCTable[V];
-}
-
-static void PrepDPCM()
-{
- DMCAddress=0x4000+(DMCAddressLatch<<6);
- DMCSize=(DMCSizeLatch<<4)+1;
-}
-
-/* Instantaneous?  Maybe the new freq value is being calculated all of the time... */
-
-static int FASTAPASS(2) CheckFreq(uint32 cf, uint8 sr)
-{
- uint32 mod;
- if(!(sr&0x8))
- {
-  mod=cf>>(sr&7);
-  if((mod+cf)&0x800)
-   return(0);
- }
- return(1);
-}
-
-static void SQReload(int x, uint8 V)
-{
-           if(EnabledChannels&(1<<x))
-           {
-            if(x)
-             DoSQ2();
-            else
-             DoSQ1();
-            lengthcount[x]=lengthtable[(V>>3)&0x1f];
-          }
-
-           sweepon[x]=PSG[(x<<2)|1]&0x80;
-           curfreq[x]=PSG[(x<<2)|0x2]|((V&7)<<8);
-           SweepCount[x]=((PSG[(x<<2)|0x1]>>4)&7)+1;
-
-           RectDutyCount[x]=7;
-          EnvUnits[x].reloaddec=1;
-          //reloadfreq[x]=1;
-}
-
-static DECLFW(Write_PSG)
-{
- A&=0x1F;
- switch(A)
- {
-  case 0x0:DoSQ1();
-          EnvUnits[0].Mode=(V&0x30)>>4;
-          EnvUnits[0].Speed=(V&0xF);
-           break;
-  case 0x1:
-           sweepon[0]=V&0x80;
-           break;
-  case 0x2:
-           DoSQ1();
-           curfreq[0]&=0xFF00;
-           curfreq[0]|=V;
-           break;
-  case 0x3:
-           SQReload(0,V);
-           break;
-  case 0x4:
-          DoSQ2();
-           EnvUnits[1].Mode=(V&0x30)>>4;
-           EnvUnits[1].Speed=(V&0xF);
-          break;
-  case 0x5:
-          sweepon[1]=V&0x80;
-          break;
-  case 0x6:DoSQ2();
-          curfreq[1]&=0xFF00;
-          curfreq[1]|=V;
-          break;
-  case 0x7:
-          SQReload(1,V);
-          break;
-  case 0xa:DoTriangle();
-          break;
-  case 0xb:
-          DoTriangle();
-         if(EnabledChannels&0x4)
-           lengthcount[2]=lengthtable[(V>>3)&0x1f];
-         TriMode=1;    // Load mode
-          break;
-  case 0xC:DoNoise();
-           EnvUnits[2].Mode=(V&0x30)>>4;
-           EnvUnits[2].Speed=(V&0xF);
-           break;
-  case 0xE:DoNoise();
-           break;
-  case 0xF:
-          DoNoise();
-           if(EnabledChannels&0x8)
-           lengthcount[3]=lengthtable[(V>>3)&0x1f];
-          EnvUnits[2].reloaddec=1;
-           break;
- case 0x10:DoPCM();
-          LoadDMCPeriod(V&0xF);
-
-          if(SIRQStat&0x80)
-          {
-           if(!(V&0x80))
-           {
-            X6502_IRQEnd(FCEU_IQDPCM);
-            SIRQStat&=~0x80;
-           }
-            else X6502_IRQBegin(FCEU_IQDPCM);
-          }
-          break;
- }
- PSG[A]=V;
-}
-
-static DECLFW(Write_DMCRegs)
-{
- A&=0xF;
-
- switch(A)
- {
-  case 0x00:DoPCM();
-            LoadDMCPeriod(V&0xF);
-
-            if(SIRQStat&0x80)
-            {
-             if(!(V&0x80))
-             {
-              X6502_IRQEnd(FCEU_IQDPCM);
-              SIRQStat&=~0x80;
-             }
-             else X6502_IRQBegin(FCEU_IQDPCM);
-            }
-           DMCFormat=V;
-           break;
-  case 0x01:DoPCM();
-           RawDALatch=V&0x7F;
-           break;
-  case 0x02:DMCAddressLatch=V;break;
-  case 0x03:DMCSizeLatch=V;break;
- }
-
-
-}
-
-static DECLFW(StatusWrite)
-{
-       int x;
-
-        DoSQ1();
-        DoSQ2();
-        DoTriangle();
-        DoNoise();
-        DoPCM();
-        for(x=0;x<4;x++)
-         if(!(V&(1<<x))) lengthcount[x]=0;   /* Force length counters to 0. */
-
-        if(V&0x10)
-        {
-         if(!DMCSize)
-          PrepDPCM();
-        }
-       else
-       {
-        DMCSize=0;
-       }
-       SIRQStat&=~0x80;
-        X6502_IRQEnd(FCEU_IQDPCM);
-       EnabledChannels=V&0x1F;
-}
-
-static DECLFR(StatusRead)
-{
-   int x;
-   uint8 ret;
-
-   ret=SIRQStat;
-
-   for(x=0;x<4;x++) ret|=lengthcount[x]?(1<<x):0;
-   if(DMCSize) ret|=0x10;
-
-   #ifdef FCEUDEF_DEBUGGER
-   if(!fceuindbg)
-   #endif
-   {
-    SIRQStat&=~0x40;
-    X6502_IRQEnd(FCEU_IQFCOUNT);
-   }
-   return ret;
-}
-
-static void FASTAPASS(1) FrameSoundStuff(int V)
-{
- int P;
-
- DoSQ1();
- DoSQ2();
- DoNoise();
- DoTriangle();
-
- if(!(V&1)) /* Envelope decay, linear counter, length counter, freq sweep */
- {
-  if(!(PSG[8]&0x80))
-   if(lengthcount[2]>0)
-    lengthcount[2]--;
-
-  if(!(PSG[0xC]&0x20))  /* Make sure loop flag is not set. */
-   if(lengthcount[3]>0)
-    lengthcount[3]--;
-
-  for(P=0;P<2;P++)
-  {
-   if(!(PSG[P<<2]&0x20))  /* Make sure loop flag is not set. */
-    if(lengthcount[P]>0)
-     lengthcount[P]--;
-
-   /* Frequency Sweep Code Here */
-   /* xxxx 0000 */
-   /* xxxx = hz.  120/(x+1)*/
-   if(sweepon[P])
-   {
-    int32 mod=0;
-
-    if(SweepCount[P]>0) SweepCount[P]--;
-    if(SweepCount[P]<=0)
-    {
-     SweepCount[P]=((PSG[(P<<2)+0x1]>>4)&7)+1; //+1;
-     if(PSG[(P<<2)+0x1]&0x8)
-     {
-      mod-=(P^1)+((curfreq[P])>>(PSG[(P<<2)+0x1]&7));
-      if(curfreq[P] && (PSG[(P<<2)+0x1]&7)/* && sweepon[P]&0x80*/)
-      {
-       curfreq[P]+=mod;
-      }
-     }
-     else
-     {
-      mod=curfreq[P]>>(PSG[(P<<2)+0x1]&7);
-      if((mod+curfreq[P])&0x800)
-      {
-       sweepon[P]=0;
-       curfreq[P]=0;
-      }
-      else
-      {
-       if(curfreq[P] && (PSG[(P<<2)+0x1]&7)/* && sweepon[P]&0x80*/)
-       {
-        curfreq[P]+=mod;
-       }
-      }
-     }
-    }
-   }
-   else  /* Sweeping is disabled: */
-   {
-    //curfreq[P]&=0xFF00;
-    //curfreq[P]|=PSG[(P<<2)|0x2]; //|((PSG[(P<<2)|3]&7)<<8);
-   }
-  }
- }
-
- /* Now do envelope decay + linear counter. */
-
-  if(TriMode) // In load mode?
-   TriCount=PSG[0x8]&0x7F;
-  else if(TriCount)
-   TriCount--;
-
-  if(!(PSG[0x8]&0x80))
-   TriMode=0;
-
-  for(P=0;P<3;P++)
-  {
-   if(EnvUnits[P].reloaddec)
-   {
-    EnvUnits[P].decvolume=0xF;
-    EnvUnits[P].DecCountTo1=EnvUnits[P].Speed+1;
-    EnvUnits[P].reloaddec=0;
-    continue;
-   }
-
-   if(EnvUnits[P].DecCountTo1>0) EnvUnits[P].DecCountTo1--;
-   if(EnvUnits[P].DecCountTo1==0)
-   {
-    EnvUnits[P].DecCountTo1=EnvUnits[P].Speed+1;
-    if(EnvUnits[P].decvolume || (EnvUnits[P].Mode&0x2))
-    {
-     EnvUnits[P].decvolume--;
-     EnvUnits[P].decvolume&=0xF;
-    }
-   }
-  }
-}
-
-static void FrameSoundUpdate098(void)
-{
- // Linear counter:  Bit 0-6 of $4008
- // Length counter:  Bit 4-7 of $4003, $4007, $400b, $400f
-
- if(!fcnt && !(IRQFrameMode&0x3))
- {
-         SIRQStat|=0x40;
-         X6502_IRQBegin(FCEU_IQFCOUNT);
- }
-
- if(fcnt==3)
- {
-       if(IRQFrameMode&0x2)
-        fhcnt+=fhinc;
- }
- FrameSoundStuff(fcnt);
- fcnt=(fcnt+1)&3;
-}
-
-
-static INLINE void tester(void)
-{
- if(DMCBitCount==0)
- {
-  if(!DMCHaveDMA)
-   DMCHaveSample=0;
-  else
-  {
-   DMCHaveSample=1;
-   DMCShift=DMCDMABuf;
-   DMCHaveDMA=0;
-  }
- }
-}
-
-static INLINE void DMCDMA(void)
-{
-  if(DMCSize && !DMCHaveDMA)
-  {
-   /*
-   X6502_DMR(0x8000+DMCAddress);
-   X6502_DMR(0x8000+DMCAddress);
-   X6502_DMR(0x8000+DMCAddress);
-   DMCDMABuf=X6502_DMR(0x8000+DMCAddress);
-   */
-   DMCDMABuf=ARead[0x8000](0x8000);
-   X6502_AddCycles(4);
-
-   DMCHaveDMA=1;
-   DMCAddress=(DMCAddress+1)&0x7fff;
-   DMCSize--;
-   if(!DMCSize)
-   {
-    if(DMCFormat&0x40)
-     PrepDPCM();
-    else
-    {
-     SIRQStat|=0x80;
-     if(DMCFormat&0x80)
-      X6502_IRQBegin(FCEU_IQDPCM);
-    }
-   }
- }
-}
-
-void FASTAPASS(1) FCEU_SoundCPUHook098(int cycles)
-{
- fhcnt-=cycles*48;
- if(fhcnt<=0)
- {
-  FrameSoundUpdate098();
-  fhcnt+=fhinc;
- }
-
- DMCDMA();
- DMCacc-=cycles;
-
- while(DMCacc<=0)
- {
-  if(DMCHaveSample)
-  {
-   uint8 bah=RawDALatch;
-   int t=((DMCShift&1)<<2)-2;
-
-   /* Unbelievably ugly hack */
-   if(FSettings.SndRate)
-   {
-    soundtsoffs+=DMCacc;
-    DoPCM();
-    soundtsoffs-=DMCacc;
-   }
-   RawDALatch+=t;
-   if(RawDALatch&0x80)
-    RawDALatch=bah;
-  }
-
-  DMCacc+=DMCPeriod;
-  DMCBitCount=(DMCBitCount+1)&7;
-  DMCShift>>=1;
-  tester();
- }
-}
-
-#if 0
-static void RDoPCM(void)
-{
- int32 V;
-
- for(V=ChannelBC[4];V<SOUNDTS;V++)
-  WaveHi[V]+=RawDALatch<<16;
-
- ChannelBC[4]=SOUNDTS;
-}
-
-/* This has the correct phase.  Don't mess with it. */
-static INLINE void RDoSQ(int x)
-{
-   int32 V;
-   int32 amp;
-   int32 rthresh;
-   int32 *D;
-   int32 currdc;
-   int32 cf;
-   int32 rc;
-
-   if(curfreq[x]<8 || curfreq[x]>0x7ff)
-    goto endit;
-   if(!CheckFreq(curfreq[x],PSG[(x<<2)|0x1]))
-    goto endit;
-   if(!lengthcount[x])
-    goto endit;
-
-   if(EnvUnits[x].Mode&0x1)
-    amp=EnvUnits[x].Speed;
-   else
-    amp=EnvUnits[x].decvolume;
-//   printf("%d\n",amp);
-   amp<<=24;
-
-   rthresh=RectDuties[(PSG[(x<<2)]&0xC0)>>6];
-
-   D=&WaveHi[ChannelBC[x]];
-   V=SOUNDTS-ChannelBC[x];
-
-   currdc=RectDutyCount[x];
-   cf=(curfreq[x]+1)*2;
-   rc=wlcount[x];
-
-   while(V>0)
-   {
-    if(currdc<rthresh)
-     *D+=amp;
-    rc--;
-    if(!rc)
-    {
-     rc=cf;
-     currdc=(currdc+1)&7;
-    }
-    V--;
-    D++;
-   }
-
-   RectDutyCount[x]=currdc;
-   wlcount[x]=rc;
-
-   endit:
-   ChannelBC[x]=SOUNDTS;
-}
-
-static void RDoSQ1(void)
-{
- RDoSQ(0);
-}
-
-static void RDoSQ2(void)
-{
- RDoSQ(1);
-}
-#endif
-
-static void RDoSQLQ(void)
-{
-   int32 start,end;
-   int32 V;
-   int32 amp[2];
-   int32 rthresh[2];
-   int32 freq[2];
-   int x;
-   int32 inie[2];
-
-   int32 ttable[2][8];
-   int32 totalout;
-
-   start=ChannelBC[0];
-   end=(SOUNDTS<<16)/soundtsinc;
-   if(end<=start) return;
-   ChannelBC[0]=end;
-
-   for(x=0;x<2;x++)
-   {
-    int y;
-
-    inie[x]=nesincsize;
-    if(curfreq[x]<8 || curfreq[x]>0x7ff)
-     inie[x]=0;
-    if(!CheckFreq(curfreq[x],PSG[(x<<2)|0x1]))
-     inie[x]=0;
-    if(!lengthcount[x])
-     inie[x]=0;
-
-    if(EnvUnits[x].Mode&0x1)
-     amp[x]=EnvUnits[x].Speed;
-    else
-     amp[x]=EnvUnits[x].decvolume;
-
-    if(!inie[x]) amp[x]=0;    /* Correct? Buzzing in MM2, others otherwise... */
-
-    rthresh[x]=RectDuties[(PSG[x*4]&0xC0)>>6];
-
-    for(y=0;y<8;y++)
-    {
-     if(y < rthresh[x])
-      ttable[x][y] = amp[x];
-     else
-      ttable[x][y] = 0;
-    }
-    freq[x]=(curfreq[x]+1)<<1;
-    freq[x]<<=17;
-   }
-
-   totalout = wlookup1[ ttable[0][RectDutyCount[0]] + ttable[1][RectDutyCount[1]] ];
-
-   if(!inie[0] && !inie[1])
-   {
-    for(V=start;V<end;V++)
-     ((int32 *)Wave)[V>>4]+=totalout;
-   }
-   else
-   for(V=start;V<end;V++)
-   {
-    //int tmpamp=0;
-    //if(RectDutyCount[0]<rthresh[0])
-    // tmpamp=amp[0];
-    //if(RectDutyCount[1]<rthresh[1])
-    // tmpamp+=amp[1];
-    //tmpamp=wlookup1[tmpamp];
-    //tmpamp = wlookup1[ ttable[0][RectDutyCount[0]] + ttable[1][RectDutyCount[1]] ];
-
-    ((int32 *)Wave)[V>>4]+=totalout; //tmpamp;
-
-    sqacc[0]-=inie[0];
-    sqacc[1]-=inie[1];
-
-    if(sqacc[0]<=0)
-    {
-     rea:
-     sqacc[0]+=freq[0];
-     RectDutyCount[0]=(RectDutyCount[0]+1)&7;
-     if(sqacc[0]<=0) goto rea;
-     totalout = wlookup1[ ttable[0][RectDutyCount[0]] + ttable[1][RectDutyCount[1]] ];
-    }
-
-    if(sqacc[1]<=0)
-    {
-     rea2:
-     sqacc[1]+=freq[1];
-     RectDutyCount[1]=(RectDutyCount[1]+1)&7;
-     if(sqacc[1]<=0) goto rea2;
-     totalout = wlookup1[ ttable[0][RectDutyCount[0]] + ttable[1][RectDutyCount[1]] ];
-    }
-   }
-}
-
-#if 0
-static void RDoTriangle(void)
-{
- int32 V;
- int32 tcout;
-
- tcout=(tristep&0xF);
- if(!(tristep&0x10)) tcout^=0xF;
- tcout=(tcout*3) << 16;  //(tcout<<1);
-
- if(!lengthcount[2] || !TriCount)
- {           /* Counter is halted, but we still need to output. */
-  int32 *start = &WaveHi[ChannelBC[2]];
-  int32 count = SOUNDTS - ChannelBC[2];
-  while(count--)
-  {
-   *start += tcout;
-   start++;
-  }
-  //for(V=ChannelBC[2];V<SOUNDTS;V++)
-  // WaveHi[V]+=tcout;
- }
- else
-  for(V=ChannelBC[2];V<SOUNDTS;V++)
-  {
-    WaveHi[V]+=tcout;
-    wlcount[2]--;
-    if(!wlcount[2])
-    {
-     wlcount[2]=(PSG[0xa]|((PSG[0xb]&7)<<8))+1;
-     tristep++;
-     tcout=(tristep&0xF);
-     if(!(tristep&0x10)) tcout^=0xF;
-     tcout=(tcout*3) << 16;
-    }
-  }
-
- ChannelBC[2]=SOUNDTS;
-}
-#endif
-
-static void RDoTriangleNoisePCMLQ(void)
-{
-   static uint32 tcout=0;
-   static int32 triacc=0;
-   static int32 noiseacc=0;
-
-   int32 V;
-   int32 start,end;
-   int32 freq[2];
-   int32 inie[2];
-   uint32 amptab[2];
-   uint32 noiseout;
-   int nshift;
-
-   int32 totalout;
-
-   start=ChannelBC[2];
-   end=(SOUNDTS<<16)/soundtsinc;
-   if(end<=start) return;
-   ChannelBC[2]=end;
-
-   inie[0]=inie[1]=nesincsize;
-
-   freq[0]=(((PSG[0xa]|((PSG[0xb]&7)<<8))+1));
-
-   if(!lengthcount[2] || !TriCount || freq[0]<=4)
-    inie[0]=0;
-
-   freq[0]<<=17;
-   if(EnvUnits[2].Mode&0x1)
-    amptab[0]=EnvUnits[2].Speed;
-   else
-    amptab[0]=EnvUnits[2].decvolume;
-   amptab[1]=0;
-   amptab[0]<<=1;
-
-   if(!lengthcount[3])
-    amptab[0]=inie[1]=0;  /* Quick hack speedup, set inie[1] to 0 */
-
-   noiseout=amptab[(nreg>>0xe)&1];
-
-   if(PSG[0xE]&0x80)
-    nshift=8;
-   else
-    nshift=13;
-
-
-   totalout = wlookup2[tcout+noiseout+RawDALatch];
-
-   if(inie[0] && inie[1])
-   {
-    for(V=start;V<end;V++)
-    {
-     ((int32 *)Wave)[V>>4]+=totalout;
-
-    triacc-=inie[0];
-    noiseacc-=inie[1];
-
-    if(triacc<=0)
-    {
-     rea:
-     triacc+=freq[0]; //t;
-     tristep=(tristep+1)&0x1F;
-     if(triacc<=0) goto rea;
-     tcout=(tristep&0xF);
-     if(!(tristep&0x10)) tcout^=0xF;
-     tcout=tcout*3;
-      totalout = wlookup2[tcout+noiseout+RawDALatch];
-    }
-
-    if(noiseacc<=0)
-    {
-     rea2:
-     noiseacc+=NoiseFreqTable[PSG[0xE]&0xF]<<(16+2);
-     nreg=(nreg<<1)+(((nreg>>nshift)^(nreg>>14))&1);
-     nreg&=0x7fff;
-     noiseout=amptab[(nreg>>0xe)];
-     if(noiseacc<=0) goto rea2;
-      totalout = wlookup2[tcout+noiseout+RawDALatch];
-    } /* noiseacc<=0 */
-    } /* for(V=... */
-  }
-  else if(inie[0])
-  {
-    for(V=start;V<end;V++)
-    {
-     ((int32 *)Wave)[V>>4]+=totalout;
-
-     triacc-=inie[0];
-
-     if(triacc<=0)
-     {
-      area:
-      triacc+=freq[0]; //t;
-      tristep=(tristep+1)&0x1F;
-      if(triacc<=0) goto area;
-      tcout=(tristep&0xF);
-      if(!(tristep&0x10)) tcout^=0xF;
-      tcout=tcout*3;
-      totalout = wlookup2[tcout+noiseout+RawDALatch];
-     }
-    }
-  }
-  else if(inie[1])
-  {
-    for(V=start;V<end;V++)
-    {
-     ((int32 *)Wave)[V>>4]+=totalout;
-     noiseacc-=inie[1];
-     if(noiseacc<=0)
-     {
-      area2:
-      noiseacc+=NoiseFreqTable[PSG[0xE]&0xF]<<(16+2);
-      nreg=(nreg<<1)+(((nreg>>nshift)^(nreg>>14))&1);
-      nreg&=0x7fff;
-      noiseout=amptab[(nreg>>0xe)];
-      if(noiseacc<=0) goto area2;
-      totalout = wlookup2[tcout+noiseout+RawDALatch];
-     } /* noiseacc<=0 */
-    }
-  }
-  else
-  {
-    for(V=start;V<end;V++)
-     ((int32 *)Wave)[V>>4]+=totalout;
-  }
-}
-
-
-#if 0
-static void RDoNoise(void)
-{
- int32 V;
- int32 outo;
- uint32 amptab[2];
-
- if(EnvUnits[2].Mode&0x1)
-  amptab[0]=EnvUnits[2].Speed;
- else
-  amptab[0]=EnvUnits[2].decvolume;
-
- amptab[0]<<=16;
- amptab[1]=0;
-
- amptab[0]<<=1;
-
- outo=amptab[nreg&1]; //(nreg>>0xe)&1];
-
- if(!lengthcount[3])
- {
-  outo=amptab[0]=0;
- }
-
- if(PSG[0xE]&0x80)  // "short" noise
-  for(V=ChannelBC[3];V<SOUNDTS;V++)
-  {
-   WaveHi[V]+=outo;
-   wlcount[3]--;
-   if(!wlcount[3])
-   {
-    uint8 feedback;
-    wlcount[3]=NoiseFreqTable[PSG[0xE]&0xF]<<1;
-    feedback=((nreg>>8)&1)^((nreg>>14)&1);
-    nreg=(nreg<<1)+feedback;
-    nreg&=0x7fff;
-    outo=amptab[(nreg>>0xe)&1];
-   }
-  }
- else
-  for(V=ChannelBC[3];V<SOUNDTS;V++)
-  {
-   WaveHi[V]+=outo;
-   wlcount[3]--;
-   if(!wlcount[3])
-   {
-    uint8 feedback;
-    wlcount[3]=NoiseFreqTable[PSG[0xE]&0xF]<<1;
-    feedback=((nreg>>13)&1)^((nreg>>14)&1);
-    nreg=(nreg<<1)+feedback;
-    nreg&=0x7fff;
-    outo=amptab[(nreg>>0xe)&1];
-   }
-  }
- ChannelBC[3]=SOUNDTS;
-}
-#endif
-
-static DECLFW(Write_IRQFM)
-{
- V=(V&0xC0)>>6;
- fcnt=0;
- if(V&0x2)
-  FrameSoundUpdate098();
- fcnt=1;
- fhcnt=fhinc;
- X6502_IRQEnd(FCEU_IQFCOUNT);
- SIRQStat&=~0x40;
- IRQFrameMode=V;
-}
-
-void SetNESSoundMap098(void)
-{
-  SetWriteHandler(0x4000,0x400F,Write_PSG);
-  SetWriteHandler(0x4010,0x4013,Write_DMCRegs);
-  SetWriteHandler(0x4017,0x4017,Write_IRQFM);
-
-  SetWriteHandler(0x4015,0x4015,StatusWrite);
-  SetReadHandler(0x4015,0x4015,StatusRead);
-}
-
-static int32 inbuf=0;
-int FlushEmulateSound098(void)
-{
-  int x;
-  int32 end,left;
-
-  if(!timestamp) return(0);
-
-  if(!FSettings.SndRate)
-  {
-   left=0;
-   end=0;
-   goto nosoundo;
-  }
-
-  DoSQ1();
-  DoSQ2();
-  DoTriangle();
-  DoNoise();
-  DoPCM();
-
-#if 0
-  if(FSettings.soundq>=1)
-  {
-   int32 *tmpo=&WaveHi[soundtsoffs];
-
-   if(GameExpSound.HiFill) GameExpSound.HiFill();
-
-   for(x=timestamp;x;x--)
-   {
-    uint32 b=*tmpo;
-    *tmpo=(b&65535)+wlookup2[(b>>16)&255]+wlookup1[b>>24];
-    tmpo++;
-   }
-   end=NeoFilterSound(WaveHi,WaveFinal,SOUNDTS,&left);
-
-   memmove(WaveHi,WaveHi+SOUNDTS-left,left*sizeof(uint32));
-   memset(WaveHi+left,0,sizeof(WaveHi)-left*sizeof(uint32));
-
-   if(GameExpSound.HiSync) GameExpSound.HiSync(left);
-   for(x=0;x<5;x++)
-    ChannelBC[x]=left;
-  }
-  else
-#endif
-  {
-   end=(SOUNDTS<<16)/soundtsinc;
-   if(GameExpSound.Fill)
-    GameExpSound.Fill(end&0xF);
-
-   SexyFilter((int32 *)Wave,WaveFinalMono,end>>4);
-
-   if(end&0xF)
-    Wave[0]=Wave[(end>>4)];
-   Wave[end>>4]=0;
-  }
-  nosoundo:
-
-#if 0
-  if(FSettings.soundq>=1)
-  {
-   soundtsoffs=left;
-  }
-  else
-#endif
-  {
-   for(x=0;x<5;x++)
-    ChannelBC[x]=end&0xF;
-   soundtsoffs = (soundtsinc*(end&0xF))>>16;
-   end>>=4;
-  }
-  inbuf=end;
-
-  return(end);
-}
-
-/* FIXME:  Find out what sound registers get reset on reset.  I know $4001/$4005 don't,
-due to that whole MegaMan 2 Game Genie thing.
-*/
-
-void FCEUSND_Reset(void)
-{
-        int x;
-
-       IRQFrameMode=0x0;
-        fhcnt=fhinc;
-        fcnt=0;
-
-        nreg=1;
-        for(x=0;x<2;x++)
-       {
-         wlcount[x]=2048;
-        if(nesincsize) // lq mode
-         sqacc[x]=((uint32)2048<<17)/nesincsize;
-        else
-         sqacc[x]=1;
-        sweepon[x]=0;
-        curfreq[x]=0;
-       }
-  wlcount[2]=1;  //2048;
-        wlcount[3]=2048;
-       DMCHaveDMA=DMCHaveSample=0;
-       SIRQStat=0x00;
-
-       RawDALatch=0x00;
-       TriCount=0;
-       TriMode=0;
-       tristep=0;
-       EnabledChannels=0;
-       for(x=0;x<4;x++)
-        lengthcount[x]=0;
-
-       DMCAddressLatch=0;
-       DMCSizeLatch=0;
-       DMCFormat=0;
-       DMCAddress=0;
-       DMCSize=0;
-       DMCShift=0;
-
-       // MAJOR BUG WAS HERE: DMCacc and DMCBitCount never got reset...
-       // so, do some ridiculous hackery if a movie's about to play to keep it in sync...
-
-#if 0
-       extern int movieSyncHackOn,resetDMCacc,movieConvertOffset1,movieConvertOffset2;
-       if(movieSyncHackOn)
-       {
-               if(resetDMCacc)
-               {
-                       // no value in movie save state
-#ifdef WIN32
-                       // use editbox fields
-                       DMCacc=movieConvertOffset1;
-                       DMCBitCount=movieConvertOffset2;
-#else
-                       // no editbox fields, so leave the values alone
-                       // and print out a warning that says what they are
-                       FCEU_PrintError("Warning: These variables were not found in the save state and will keep their current value: DMCacc=%d, DMCBitCount=%d\n", DMCacc, DMCBitCount);
-#endif
-               }
-               else
-               {
-                       // keep values loaded from movie save state or reset earlier
-               }
-       }
-       else
-#endif
-       {
-               // reset these variables like should have done in the first place
-               DMCacc=1;
-               DMCBitCount=0;
-       }
-
-//     FCEU_PrintError("DMCacc=%d, DMCBitCount=%d",DMCacc,DMCBitCount);
-}
-
-void FCEUSND_Power(void)
-{
-        int x;
-
-        SetNESSoundMap098();
-        memset(PSG,0x00,sizeof(PSG));
-       FCEUSND_Reset();
-
-       memset(Wave,0,sizeof(Wave));
-        memset(WaveHi,0,sizeof(WaveHi));
-       memset(&EnvUnits,0,sizeof(EnvUnits));
-
-        for(x=0;x<5;x++)
-         ChannelBC[x]=0;
-        soundtsoffs=0;
-        LoadDMCPeriod(DMCFormat&0xF);
-}
-
-
-void SetSoundVariables098(void)
-{
-  int x;
-
-  fhinc=PAL?16626:14915;  // *2 CPU clock rate
-  fhinc*=24;
-
-  if(FSettings.SndRate)
-  {
-   wlookup1[0]=0;
-   for(x=1;x<32;x++)
-   {
-    wlookup1[x]=(double)16*16*16*4*95.52/((double)8128/(double)x+100);
-//    if(!FSettings.soundq) wlookup1[x]>>=4;
-   }
-   wlookup2[0]=0;
-   for(x=1;x<203;x++)
-   {
-    wlookup2[x]=(double)16*16*16*4*163.67/((double)24329/(double)x+100);
-//    if(!FSettings.soundq) wlookup2[x]>>=4;
-   }
-#if 0
-   if(FSettings.soundq>=1)
-   {
-    DoNoise=RDoNoise;
-    DoTriangle=RDoTriangle;
-    DoPCM=RDoPCM;
-    DoSQ1=RDoSQ1;
-    DoSQ2=RDoSQ2;
-   }
-   else
-#endif
-   {
-    DoNoise=DoTriangle=DoPCM=DoSQ1=DoSQ2=Dummyfunc;
-    DoSQ1=RDoSQLQ;
-    DoSQ2=RDoSQLQ;
-    DoTriangle=RDoTriangleNoisePCMLQ;
-    DoNoise=RDoTriangleNoisePCMLQ;
-    DoPCM=RDoTriangleNoisePCMLQ;
-   }
-  }
-  else
-  {
-   DoNoise=DoTriangle=DoPCM=DoSQ1=DoSQ2=Dummyfunc;
-   return;
-  }
-
-  MakeFilters(FSettings.SndRate);
-
-  if(GameExpSound.RChange)
-   GameExpSound.RChange();
-
-  nesincsize=(int32)(((int64)1<<17)*(double)(PAL?PAL_CPU:NTSC_CPU)/(FSettings.SndRate * 16));
-  memset(sqacc,0,sizeof(sqacc));
-  memset(ChannelBC,0,sizeof(ChannelBC));
-
-  LoadDMCPeriod(DMCFormat&0xF);  // For changing from PAL to NTSC
-
-  soundtsinc=(uint32)((uint64)(PAL?(long double)PAL_CPU*65536:(long double)NTSC_CPU*65536)/(FSettings.SndRate * 16));
-}
-
-/*
-void FCEUI_SetLowPass(int q)
-{
- FSettings.lowpass=q;
-}
-
-void FCEUI_SetSoundQuality(int quality)
-{
- FSettings.soundq=quality;
- SetSoundVariables098();
-}
-*/
-
-
-SFORMAT FCEUSND_STATEINFO[]={
-
- { &fhcnt, 4|FCEUSTATE_RLSB,"FHCN"},
- { &fcnt, 1, "FCNT"},
- { PSG, 0x10, "PSG"},
- { &EnabledChannels, 1, "ENCH"},
- { &IRQFrameMode, 1, "IQFM"},
- { &nreg, 2|FCEUSTATE_RLSB, "NREG"},
- { &TriMode, 1, "TRIM"},
- { &TriCount, 1, "TRIC"},
-
- { &EnvUnits[0].Speed, 1, "E0SP"},
- { &EnvUnits[1].Speed, 1, "E1SP"},
- { &EnvUnits[2].Speed, 1, "E2SP"},
-
- { &EnvUnits[0].Mode, 1, "E0MO"},
- { &EnvUnits[1].Mode, 1, "E1MO"},
- { &EnvUnits[2].Mode, 1, "E2MO"},
-
- { &EnvUnits[0].DecCountTo1, 1, "E0D1"},
- { &EnvUnits[1].DecCountTo1, 1, "E1D1"},
- { &EnvUnits[2].DecCountTo1, 1, "E2D1"},
-
- { &EnvUnits[0].decvolume, 1, "E0DV"},
- { &EnvUnits[1].decvolume, 1, "E1DV"},
- { &EnvUnits[2].decvolume, 1, "E2DV"},
-
- { &lengthcount[0], 4|FCEUSTATE_RLSB, "LEN0"},
- { &lengthcount[1], 4|FCEUSTATE_RLSB, "LEN1"},
- { &lengthcount[2], 4|FCEUSTATE_RLSB, "LEN2"},
- { &lengthcount[3], 4|FCEUSTATE_RLSB, "LEN3"},
- { sweepon, 2, "SWEE"},
- { &curfreq[0], 4|FCEUSTATE_RLSB,"CRF1"},
- { &curfreq[1], 4|FCEUSTATE_RLSB,"CRF2"},
- { SweepCount, 2,"SWCT"},
-
- { &SIRQStat, 1, "SIRQ"},
-
- { &DMCacc, 4|FCEUSTATE_RLSB, "5ACC"},
- { &DMCBitCount, 1, "5BIT"},
- { &DMCAddress, 4|FCEUSTATE_RLSB, "5ADD"},
- { &DMCSize, 4|FCEUSTATE_RLSB, "5SIZ"},
- { &DMCShift, 1, "5SHF"},
-
- { &DMCHaveDMA, 1, "5HVDM"},
- { &DMCHaveSample, 1, "5HVSP"},
-
- { &DMCSizeLatch, 1, "5SZL"},
- { &DMCAddressLatch, 1, "5ADL"},
- { &DMCFormat, 1, "5FMT"},
- { &RawDALatch, 1, "RWDA"},
- { 0 }
-};
-
-void FCEUSND_SaveState(void)
-{
-
-}
-
-void FCEUSND_LoadState(int version)
-{
- LoadDMCPeriod(DMCFormat&0xF);
- RawDALatch&=0x7F;
- DMCAddress&=0x7FFF;
-}
diff --git a/sound098.h b/sound098.h
deleted file mode 100644 (file)
index 87d504b..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/* FCE Ultra - NES/Famicom Emulator
- *
- * Copyright notice for this file:
- *  Copyright (C) 2002 Xodnizel
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-void SetSoundVariables098(void);
-
-int FlushEmulateSound098(void);
-
-void FCEUSND_Power(void);
-void FCEUSND_Reset(void);
-void FCEUSND_SaveState(void);
-void FCEUSND_LoadState(int version);
-
-void FASTAPASS(1) FCEU_SoundCPUHook098(int);