runs code in 1M wram, cell arrange, decode (untested)
[picodrive.git] / Pico / PicoInt.h
index 6168a7b..0cbeb80 100644 (file)
@@ -198,13 +198,22 @@ struct mcd_misc
 typedef struct\r
 {\r
        unsigned char bios[0x20000];                    // 128K\r
-       union {\r
-               unsigned char prg_ram[0x80000];         // 512K\r
+       union {                                         // 512K\r
+               unsigned char prg_ram[0x80000];\r
                unsigned char prg_ram_b[4][0x20000];\r
        };\r
-       unsigned char word_ram[0x40000];                // 256K\r
-       union {\r
-               unsigned char pcm_ram[0x10000];         // 64K\r
+       union {                                         // 256K\r
+               struct {\r
+                       unsigned char word_ram2M[0x40000];\r
+                       unsigned char unused[0x20000];\r
+               };\r
+               struct {\r
+                       unsigned char unused[0x20000];\r
+                       unsigned char word_ram1M[2][0x20000];\r
+               };\r
+       };\r
+       union {                                         // 64K\r
+               unsigned char pcm_ram[0x10000];\r
                unsigned char pcm_ram_b[0x10][0x1000];\r
        };\r
        unsigned char bram[0x2000];                     // 8K\r
@@ -293,6 +302,10 @@ void memcpy16(unsigned short *dest, unsigned short *src, int count);
 void memcpy32(int *dest, int *src, int count);\r
 void memset32(int *dest, int c, int count);\r
 \r
+// cd/Misc.c\r
+void wram_2M_to_1M(unsigned char *m);\r
+void wram_1M_to_2M(unsigned char *m);\r
+\r
 \r
 #ifdef __cplusplus\r
 } // End of extern "C"\r