random cleanups
[picodrive.git] / pico / area.c
index 4ac71df..23e00da 100644 (file)
@@ -16,7 +16,6 @@
 // sn76496\r
 extern int *sn76496_regs;\r
 \r
-\r
 struct PicoArea { void *data; int len; char *name; };\r
 \r
 // strange observation on Symbian OS 9.1, m600 organizer fw r3a06:\r
@@ -89,8 +88,9 @@ PICO_INTERNAL void PicoAreaUnpackCpu(unsigned char *cpu, int is_sub)
   CycloneSetSr(context, *(unsigned int *)(cpu+0x44));\r
   context->osp=*(unsigned int *)(cpu+0x48);\r
   memcpy(context->d,cpu,0x40);\r
-  context->membase=0;\r
-  context->pc = context->checkpc(*(unsigned int *)(cpu+0x40)); // Base pc\r
+  context->membase = 0;\r
+  context->pc = *(unsigned int *)(cpu+0x40);\r
+  CycloneUnpack(context, NULL); // rebase PC\r
   context->irq = cpu[0x4c];\r
   context->state_flags = 0;\r
   if (cpu[0x4d])\r
@@ -174,7 +174,6 @@ static int PicoAreaScan(int is_write, unsigned int ver, void *PmovFile)
 // Save or load the state from PmovFile:\r
 static int PmovState(int is_write, void *PmovFile)\r
 {\r
-  int minimum=0;\r
   unsigned char head[32];\r
 \r
   if ((PicoAHW & PAHW_MCD) || carthw_chunks != NULL)\r
@@ -190,12 +189,10 @@ static int PmovState(int is_write, void *PmovFile)
 \r
   memset(head,0,sizeof(head));\r
 \r
-  // Find out minimal compatible version:\r
-  minimum = 0x0021;\r
-\r
+  // not really used..\r
   memcpy(head,"Pico",4);\r
-  *(unsigned int *)(head+0x8)=PicoVer;\r
-  *(unsigned int *)(head+0xc)=minimum;\r
+  *(unsigned int *)(head+0x8)=0x0133;\r
+  *(unsigned int *)(head+0xc)=0x0021;\r
 \r
   // Scan header:\r
   if (is_write)\r