rename 940ctl_ym2612 to 940ctl
authornotaz <notasas@gmail.com>
Thu, 8 Feb 2007 22:08:06 +0000 (22:08 +0000)
committernotaz <notasas@gmail.com>
Thu, 8 Feb 2007 22:08:06 +0000 (22:08 +0000)
git-svn-id: file:///home/notaz/opt/svn/PicoDrive/platform@32 be3aeb3a-fb24-0410-a615-afba39da0efa

gp2x/940ctl_ym2612.c
gp2x/940ctl_ym2612.h

index 1059b5d..bd88c71 100644 (file)
@@ -309,6 +309,30 @@ static void internal_reset(void)
 }\r
 \r
 \r
+/* this must be called after mmu hack, the allocated regions must not get cached */\r
+void sharedmem_init(void)\r
+{\r
+       if (shared_mem != NULL) return;\r
+\r
+       shared_mem = (unsigned char *) mmap(0, 0x210000, PROT_READ|PROT_WRITE, MAP_SHARED, memdev, 0x2000000);\r
+       if(shared_mem == MAP_FAILED)\r
+       {\r
+               printf("mmap(shared_data) failed with %i\n", errno);\r
+               exit(1);\r
+       }\r
+       shared_data = (_940_data_t *) (shared_mem+0x100000);\r
+       /* this area must not get buffered on either side */\r
+       shared_ctl =  (_940_ctl_t *)  (shared_mem+0x200000);\r
+       mp3_mem = (unsigned char *) mmap(0, MP3_SIZE_MAX, PROT_READ|PROT_WRITE, MAP_SHARED, memdev, 0x3000000);\r
+       if (mp3_mem == MAP_FAILED)\r
+       {\r
+               printf("mmap(mp3_mem) failed with %i\n", errno);\r
+               exit(1);\r
+       }\r
+       crashed_940 = 1;\r
+}\r
+\r
+\r
 extern char **g_argv;\r
 \r
 /* none of the functions in this file should be called before this one */\r
@@ -327,27 +351,6 @@ void YM2612Init_940(int baseclock, int rate)
        gp2x_memregl[0x4508>>2] = ~(1<<26); // unmask DUALCPU ints in the undocumented 940's interrupt controller\r
 \r
 \r
-\r
-       if (shared_mem == NULL)\r
-       {\r
-               shared_mem = (unsigned char *) mmap(0, 0x210000, PROT_READ|PROT_WRITE, MAP_SHARED, memdev, 0x2000000);\r
-               if(shared_mem == MAP_FAILED)\r
-               {\r
-                       printf("mmap(shared_data) failed with %i\n", errno);\r
-                       exit(1);\r
-               }\r
-               shared_data = (_940_data_t *) (shared_mem+0x100000);\r
-               /* this area must not get buffered on either side */\r
-               shared_ctl =  (_940_ctl_t *)  (shared_mem+0x200000);\r
-               mp3_mem = (unsigned char *) mmap(0, MP3_SIZE_MAX, PROT_READ|PROT_WRITE, MAP_SHARED, memdev, 0x3000000);\r
-               if (mp3_mem == MAP_FAILED)\r
-               {\r
-                       printf("mmap(mp3_mem) failed with %i\n", errno);\r
-                       exit(1);\r
-               }\r
-               crashed_940 = 1;\r
-       }\r
-\r
        if (crashed_940)\r
        {\r
                unsigned char ucData[1024];\r
index bf9b528..186a6df 100644 (file)
@@ -1,3 +1,5 @@
+void sharedmem_init(void);\r
+\r
 void YM2612Init_940(int baseclock, int rate);\r
 void YM2612ResetChip_940(void);\r
 int  YM2612UpdateOne_940(int *buffer, int length, int stereo, int is_buf_empty);\r