fixed mp3 buffer overlapping of GP2X sound buffer
[picodrive.git] / platform / gp2x / code940 / 940init.s
index 1a12399..201ee86 100644 (file)
@@ -87,19 +87,25 @@ code940:
     mcr p15, 0, r0, c6, c3, 0\r
     mcr p15, 0, r0, c6, c3, 1\r
 \r
-    @ set up region 4: 16M 0x01000000-0x02000000 (mp3 area)\r
-    mov r0, #(0x17<<1)|1\r
-    orr r0, r0, #0x01000000\r
+    @ region 4: 4K 0x00000000-0x00001000 (boot code protection region)\r
+    mov r0, #(0x0b<<1)|1\r
     mcr p15, 0, r0, c6, c4, 0\r
     mcr p15, 0, r0, c6, c4, 1\r
 \r
-    @ region 5: 4K 0x00000000-0x00001000 (boot code protection region)\r
-    mov r0, #(0x0b<<1)|1\r
+    @ region 5: 4M 0x00400000-0x00800000 (mp3 area part1)\r
+    mov r0, #(0x15<<1)|1\r
+    orr r0, r0, #0x00400000\r
     mcr p15, 0, r0, c6, c5, 0\r
     mcr p15, 0, r0, c6, c5, 1\r
 \r
-    @ set regions 1, 4 and 5 to be cacheable (so the first 2M and mp3 area will be cacheable)\r
-    mov r0, #(1<<1)|(1<<4)|(1<<5)\r
+    @ region 6: 8M 0x00800000-0x01000000 (mp3 area part2)\r
+    mov r0, #(0x16<<1)|1\r
+    orr r0, r0, #0x00800000\r
+    mcr p15, 0, r0, c6, c6, 0\r
+    mcr p15, 0, r0, c6, c6, 1\r
+\r
+    @ set regions 1, 4, 5 and 6 to be cacheable (so the first 2M and mp3 area will be cacheable)\r
+    mov r0, #(1<<1)|(1<<4)|(1<<5)|(1<<6)\r
     mcr p15, 0, r0, c2, c0, 0\r
     mcr p15, 0, r0, c2, c0, 1\r
 \r
@@ -108,12 +114,13 @@ code940:
     mcr p15, 0, r0, c3, c0, 0\r
 \r
     @ set access protection\r
-    @ data: [no, full, full, full, full, no access] for regions [5 4 3 2 1 0]\r
-    mov r0, #(0<<10)|(3<<8)|(3<<6)|(3<<4)|(3<<2)|(0)\r
+    @ data: [full, full, no, full, full, full, no access] for regions [6 5 4 3 2 1 0]\r
+    mov r0,     #       (3<<12)|(3<<10)|(0<<8)\r
+    orr r0, r0, #(3<<6)|(3<< 4)|(3<< 2)|(0<<0)\r
     mcr p15, 0, r0, c5, c0, 0\r
-    @ instructions: [full, no access, no, no, full, no]\r
-    mov r0,         #(0<< 6)|(0<<4)|(3<<2)|(0)\r
-    orr r0, r0,     #(3<<10)|(0<<8)\r
+    @ instructions: [no, no, full, no, no, full, no]\r
+    mov r0,     #       (0<<12)|(0<<10)|(3<<8)\r
+    orr r0, r0, #(0<<6)|(0<< 4)|(3<< 2)|(0<<0)\r
     mcr p15, 0, r0, c5, c0, 1\r
 \r
     mrc p15, 0, r0, c1, c0, 0   @ fetch current control reg\r