gp2x: hack to avoid 940 reinit
authornotaz <notasas@gmail.com>
Sat, 12 Oct 2013 00:16:51 +0000 (03:16 +0300)
committernotaz <notasas@gmail.com>
Sat, 12 Oct 2013 00:22:30 +0000 (03:22 +0300)
..it used to rely on upper layer to avoid YM2612Init_940() calls
on menu entry

platform/gp2x/940ctl.c

index d376957..6ba13bd 100644 (file)
@@ -284,6 +284,12 @@ void sharedmem940_finish(void)
 \r
 void YM2612Init_940(int baseclock, int rate)\r
 {\r
+       static int oldrate;\r
+\r
+       // HACK\r
+       if (Pico.m.frame_count > 0 && !crashed_940 && rate == oldrate)\r
+               return;\r
+\r
        printf("YM2612Init_940()\n");\r
        printf("Mem usage: shared_data: %i, shared_ctl: %i\n", sizeof(*shared_data), sizeof(*shared_ctl));\r
 \r
@@ -353,6 +359,8 @@ void YM2612Init_940(int baseclock, int rate)
        shared_ctl->baseclock = baseclock;\r
        shared_ctl->rate = rate;\r
        add_job_940(JOB940_INITALL);\r
+\r
+       oldrate = rate;\r
 }\r
 \r
 \r