restructure the repository to be Cyclone only
authornotaz <notasas@gmail.com>
Sun, 16 Jun 2013 16:29:47 +0000 (19:29 +0300)
committernotaz <notasas@gmail.com>
Sun, 16 Jun 2013 16:29:47 +0000 (19:29 +0300)
58 files changed:
Cyclone.h [moved from Cyclone/Cyclone.h with 100% similarity]
Cyclone.txt [moved from Cyclone/Cyclone.txt with 100% similarity]
Cyclone/Cyclone.dsp [deleted file]
Cyclone/Cyclone.dsw [deleted file]
Cyclone/DoClean.bat [deleted file]
Disa/Disa.c [moved from Cyclone/Disa/Disa.c with 100% similarity]
Disa/Disa.h [moved from Cyclone/Disa/Disa.h with 100% similarity]
Ea.cpp [moved from Cyclone/Ea.cpp with 100% similarity]
Main.cpp [moved from Cyclone/Main.cpp with 100% similarity]
Makefile [moved from Cyclone/Makefile with 100% similarity]
OpAny.cpp [moved from Cyclone/OpAny.cpp with 100% similarity]
OpArith.cpp [moved from Cyclone/OpArith.cpp with 100% similarity]
OpBranch.cpp [moved from Cyclone/OpBranch.cpp with 100% similarity]
OpLogic.cpp [moved from Cyclone/OpLogic.cpp with 100% similarity]
OpMove.cpp [moved from Cyclone/OpMove.cpp with 100% similarity]
Pico/Area.cpp [deleted file]
Pico/Cart.cpp [deleted file]
Pico/Disa.c [deleted file]
Pico/Disa.h [deleted file]
Pico/Draw.cpp [deleted file]
Pico/MakeSine.bat [deleted file]
Pico/MakeSine.cpp [deleted file]
Pico/Makefile [deleted file]
Pico/Makefile.mir [deleted file]
Pico/Makefile.symb [deleted file]
Pico/Memory.cpp [deleted file]
Pico/Pico.cpp [deleted file]
Pico/Pico.dsp [deleted file]
Pico/Pico.dsw [deleted file]
Pico/Pico.h [deleted file]
Pico/Pico.vcp [deleted file]
Pico/Pico.vcw [deleted file]
Pico/PicoInt.h [deleted file]
Pico/Profile.cpp [deleted file]
Pico/Psnd.cpp [deleted file]
Pico/Sek.cpp [deleted file]
Pico/Sine.cpp [deleted file]
Pico/SymbianClean.bat [deleted file]
Pico/SymbianMake.bat [deleted file]
Pico/Utils.cpp [deleted file]
Pico/VideoPort.cpp [deleted file]
Pico/driver.h [deleted file]
PicoDrive/Config.cpp [deleted file]
PicoDrive/Debug.cpp [deleted file]
PicoDrive/Emulate.cpp [deleted file]
PicoDrive/File.cpp [deleted file]
PicoDrive/FrameWindow.cpp [deleted file]
PicoDrive/PicoDrive.txt [deleted file]
PicoDrive/PicoDrive.vcp [deleted file]
PicoDrive/PicoDrive.vcw [deleted file]
PicoDrive/Script1.rc [deleted file]
PicoDrive/Wave.cpp [deleted file]
PicoDrive/WinMain.cpp [deleted file]
PicoDrive/afxres.h [deleted file]
PicoDrive/resource.h [deleted file]
PicoDrive/stdafx.h [deleted file]
app.h [moved from Cyclone/app.h with 100% similarity]
config.h [moved from Cyclone/config.h with 100% similarity]

similarity index 100%
rename from Cyclone/Cyclone.h
rename to Cyclone.h
similarity index 100%
rename from Cyclone/Cyclone.txt
rename to Cyclone.txt
diff --git a/Cyclone/Cyclone.dsp b/Cyclone/Cyclone.dsp
deleted file mode 100644 (file)
index f40bf42..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-# Microsoft Developer Studio Project File - Name="Cyclone" - Package Owner=<4>\r
-# Microsoft Developer Studio Generated Build File, Format Version 6.00\r
-# ** DO NOT EDIT **\r
-\r
-# TARGTYPE "Win32 (x86) Console Application" 0x0103\r
-\r
-CFG=Cyclone - Win32 Debug\r
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,\r
-!MESSAGE use the Export Makefile command and run\r
-!MESSAGE \r
-!MESSAGE NMAKE /f "Cyclone.mak".\r
-!MESSAGE \r
-!MESSAGE You can specify a configuration when running NMAKE\r
-!MESSAGE by defining the macro CFG on the command line. For example:\r
-!MESSAGE \r
-!MESSAGE NMAKE /f "Cyclone.mak" CFG="Cyclone - Win32 Debug"\r
-!MESSAGE \r
-!MESSAGE Possible choices for configuration are:\r
-!MESSAGE \r
-!MESSAGE "Cyclone - Win32 Release" (based on "Win32 (x86) Console Application")\r
-!MESSAGE "Cyclone - Win32 Debug" (based on "Win32 (x86) Console Application")\r
-!MESSAGE \r
-\r
-# Begin Project\r
-# PROP AllowPerConfigDependencies 0\r
-# PROP Scc_ProjName ""\r
-# PROP Scc_LocalPath ""\r
-CPP=cl.exe\r
-RSC=rc.exe\r
-\r
-!IF  "$(CFG)" == "Cyclone - Win32 Release"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 0\r
-# PROP BASE Output_Dir "Release"\r
-# PROP BASE Intermediate_Dir "Release"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 0\r
-# PROP Output_Dir "Release"\r
-# PROP Intermediate_Dir "Release"\r
-# PROP Ignore_Export_Lib 0\r
-# PROP Target_Dir ""\r
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
-# ADD CPP /nologo /W4 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
-# ADD BASE RSC /l 0x809 /d "NDEBUG"\r
-# ADD RSC /l 0x809 /d "NDEBUG"\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LINK32=link.exe\r
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386\r
-# ADD LINK32 user32.lib /nologo /subsystem:console /machine:I386\r
-\r
-!ELSEIF  "$(CFG)" == "Cyclone - Win32 Debug"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 1\r
-# PROP BASE Output_Dir "Debug"\r
-# PROP BASE Intermediate_Dir "Debug"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 1\r
-# PROP Output_Dir "Debug"\r
-# PROP Intermediate_Dir "Debug"\r
-# PROP Ignore_Export_Lib 0\r
-# PROP Target_Dir ""\r
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c\r
-# ADD CPP /nologo /W4 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c\r
-# ADD BASE RSC /l 0x809 /d "_DEBUG"\r
-# ADD RSC /l 0x809 /d "_DEBUG"\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LINK32=link.exe\r
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept\r
-# ADD LINK32 user32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept\r
-\r
-!ENDIF \r
-\r
-# Begin Target\r
-\r
-# Name "Cyclone - Win32 Release"\r
-# Name "Cyclone - Win32 Debug"\r
-# Begin Group "Source Files"\r
-\r
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"\r
-# Begin Source File\r
-\r
-SOURCE=.\Cyclone.txt\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\Ea.cpp\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\Main.cpp\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\OpAny.cpp\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\OpArith.cpp\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\OpBranch.cpp\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\OpLogic.cpp\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\OpMove.cpp\r
-# End Source File\r
-# End Group\r
-# Begin Group "Header Files"\r
-\r
-# PROP Default_Filter "h;hpp;hxx;hm;inl"\r
-# Begin Source File\r
-\r
-SOURCE=.\app.h\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\Cyclone.h\r
-# End Source File\r
-# End Group\r
-# Begin Group "Resource Files"\r
-\r
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"\r
-# End Group\r
-# Begin Group "Output"\r
-\r
-# PROP Default_Filter ""\r
-# Begin Source File\r
-\r
-SOURCE=.\Cyclone.asm\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\Cyclone.s\r
-# End Source File\r
-# End Group\r
-# Begin Group "Disassembler"\r
-\r
-# PROP Default_Filter ""\r
-# Begin Source File\r
-\r
-SOURCE=.\Disa\Disa.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\Disa\Disa.h\r
-# End Source File\r
-# End Group\r
-# Begin Source File\r
-\r
-SOURCE=..\..\..\EmuInfo\68000\680x0bin.txt\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\bits.txt\r
-# End Source File\r
-# End Target\r
-# End Project\r
diff --git a/Cyclone/Cyclone.dsw b/Cyclone/Cyclone.dsw
deleted file mode 100644 (file)
index a783183..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00\r
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!\r
-\r
-###############################################################################\r
-\r
-Project: "Cyclone"=.\Cyclone.dsp - Package Owner=<4>\r
-\r
-Package=<5>\r
-{{{\r
-}}}\r
-\r
-Package=<4>\r
-{{{\r
-}}}\r
-\r
-###############################################################################\r
-\r
-Global:\r
-\r
-Package=<5>\r
-{{{\r
-}}}\r
-\r
-Package=<3>\r
-{{{\r
-}}}\r
-\r
-###############################################################################\r
-\r
diff --git a/Cyclone/DoClean.bat b/Cyclone/DoClean.bat
deleted file mode 100644 (file)
index e0119d4..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-ren Cyclone.obj Cyclone.ob_\r
-\r
-del Cyclone.asm\r
-del Cyclone.s\r
-del Cyclone.exe\r
-del *.obj\r
-del vc60.idb\r
-del vc60.pdb\r
-del Cyclone.plg\r
-del Cyclone.ncb\r
-del Cyclone.pch\r
-del Cyclone.ilk\r
-del Cyclone.pdb\r
-\r
-del /q Release\*.*\r
-rd  Release\r
-del /q Debug\*.*\r
-rd  Debug\r
-\r
-ren Cyclone.ob_ Cyclone.obj\r
similarity index 100%
rename from Cyclone/Disa/Disa.c
rename to Disa/Disa.c
similarity index 100%
rename from Cyclone/Disa/Disa.h
rename to Disa/Disa.h
similarity index 100%
rename from Cyclone/Ea.cpp
rename to Ea.cpp
similarity index 100%
rename from Cyclone/Main.cpp
rename to Main.cpp
similarity index 100%
rename from Cyclone/Makefile
rename to Makefile
similarity index 100%
rename from Cyclone/OpAny.cpp
rename to OpAny.cpp
similarity index 100%
rename from Cyclone/OpArith.cpp
rename to OpArith.cpp
similarity index 100%
rename from Cyclone/OpBranch.cpp
rename to OpBranch.cpp
similarity index 100%
rename from Cyclone/OpLogic.cpp
rename to OpLogic.cpp
similarity index 100%
rename from Cyclone/OpMove.cpp
rename to OpMove.cpp
diff --git a/Pico/Area.cpp b/Pico/Area.cpp
deleted file mode 100644 (file)
index 499ad37..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-\r
-// This file is part of the PicoDrive Megadrive Emulator\r
-\r
-// Copyright (c) 2011 FinalDave (emudave (at) gmail.com)\r
-\r
-// This code is licensed under the GNU General Public License version 2.0 and the MAME License.\r
-// You can choose the license that has the most advantages for you.\r
-\r
-// SVN repository can be found at http://code.google.com/p/cyclone68000/\r
-\r
-#include "PicoInt.h"\r
-\r
-int (*PicoAcb)(struct PicoArea *)=NULL; // Area callback for each block of memory\r
-FILE *PmovFile=NULL;\r
-int PmovAction=0;\r
-\r
-// Scan one variable and callback\r
-static void ScanVar(void *data,int len,char *name)\r
-{\r
-  struct PicoArea pa={NULL,0,NULL};\r
-  pa.data=data; pa.len=len; pa.name=name;\r
-  if (PicoAcb) PicoAcb(&pa);\r
-}\r
-\r
-#define SCAN_VAR(x,y) ScanVar(&x,sizeof(x),y);\r
-#define SCANP(x)      ScanVar(&Pico.x,sizeof(Pico.x),#x);\r
-\r
-// Pack the cpu into a common format:\r
-static int PackCpu(unsigned char *cpu)\r
-{\r
-  unsigned int pc=0;\r
-\r
-#ifdef EMU_A68K\r
-  memcpy(cpu,M68000_regs.d,0x40);\r
-  pc=M68000_regs.pc;\r
-  *(unsigned char *)(cpu+0x44)=(unsigned char)M68000_regs.ccr;\r
-  *(unsigned char *)(cpu+0x45)=(unsigned char)M68000_regs.srh;\r
-  *(unsigned int  *)(cpu+0x48)=M68000_regs.isp;\r
-#endif\r
-\r
-#ifdef EMU_C68K\r
-  memcpy(cpu,PicoCpu.d,0x40);\r
-  pc=PicoCpu.pc-PicoCpu.membase;\r
-  *(unsigned char *)(cpu+0x44)=PicoCpu.ccr;\r
-  *(unsigned char *)(cpu+0x45)=PicoCpu.srh;\r
-  *(unsigned int  *)(cpu+0x48)=PicoCpu.osp;\r
-#endif\r
-\r
-  *(unsigned int *)(cpu+0x40)=pc;\r
-  return 0;\r
-}\r
-\r
-static int UnpackCpu(unsigned char *cpu)\r
-{\r
-  unsigned int pc=0;\r
-\r
-  pc=*(unsigned int *)(cpu+0x40);\r
-\r
-#ifdef EMU_A68K\r
-  memcpy(M68000_regs.d,cpu,0x40);\r
-  M68000_regs.pc=pc;\r
-  M68000_regs.ccr=*(unsigned char *)(cpu+0x44);\r
-  M68000_regs.srh=*(unsigned char *)(cpu+0x45);\r
-  M68000_regs.isp=*(unsigned int  *)(cpu+0x48);\r
-#endif\r
-\r
-#ifdef EMU_C68K\r
-  memcpy(PicoCpu.d,cpu,0x40);\r
-  PicoCpu.membase=0;\r
-  PicoCpu.pc =PicoCpu.checkpc(pc); // Base pc\r
-  PicoCpu.ccr=*(unsigned char *)(cpu+0x44);\r
-  PicoCpu.srh=*(unsigned char *)(cpu+0x45);\r
-  PicoCpu.osp=*(unsigned int  *)(cpu+0x48);\r
-#endif\r
-  return 0;\r
-}\r
-\r
-// Scan the contents of the virtual machine's memory for saving or loading\r
-int PicoAreaScan(int action,int *pmin)\r
-{\r
-  unsigned char cpu[0x60];\r
-\r
-  memset(&cpu,0,sizeof(cpu));\r
-\r
-  if (action&4)\r
-  {\r
-    // Scan all the memory areas:\r
-    SCANP(ram) SCANP(vram) SCANP(zram) SCANP(cram) SCANP(vsram)\r
-\r
-    // Pack, scan and unpack the cpu data:\r
-    PackCpu(cpu);\r
-    SekInit();\r
-    PicoMemInit();\r
-    SCAN_VAR(cpu,"cpu")\r
-    UnpackCpu(cpu);\r
-\r
-    SCAN_VAR(Pico.m    ,"misc")\r
-    SCAN_VAR(Pico.video,"video")\r
-    SCAN_VAR(Pico.s    ,"sound")\r
-\r
-    Pico.m.scanline=0;\r
-    if (action&2)\r
-    {\r
-      memset(Pico.highpal,0,sizeof(Pico.highpal));\r
-      Pico.m.dirtyPal=1; // Recalculate palette\r
-    }\r
-  }\r
-\r
-  if (pmin) *pmin=0x0021;\r
-\r
-  return 0;\r
-}\r
-\r
-// ---------------------------------------------------------------------------\r
-// Helper code to save/load to a file handle\r
-\r
-// Area callback for each piece of Megadrive memory, read or write to the file:\r
-static int StateAcb(struct PicoArea *pa)\r
-{\r
-  if (PmovFile==NULL) return 1;\r
-\r
-  if ((PmovAction&3)==1) fwrite(pa->data,1,pa->len,PmovFile);\r
-  if ((PmovAction&3)==2) fread (pa->data,1,pa->len,PmovFile);\r
-  return 0;\r
-}\r
-\r
-// Save or load the state from PmovFile:\r
-int PmovState()\r
-{\r
-  int minimum=0;\r
-  unsigned char head[32];\r
-\r
-  memset(head,0,sizeof(head));\r
-\r
-  // Find out minial compatible version:\r
-  PicoAreaScan(PmovAction&0xc,&minimum);  \r
-\r
-  memcpy(head,"Pico",4);\r
-  *(unsigned int *)(head+0x8)=PicoVer;\r
-  *(unsigned int *)(head+0xc)=minimum;\r
-\r
-  // Scan header:\r
-  if (PmovAction&1) fwrite(head,1,sizeof(head),PmovFile);\r
-  if (PmovAction&2) fread (head,1,sizeof(head),PmovFile);\r
-\r
-  // Scan memory areas:\r
-  PicoAcb=StateAcb;\r
-  PicoAreaScan(PmovAction,NULL);\r
-  PicoAcb=NULL;\r
-  return 0;\r
-}\r
-\r
-int PmovUpdate()\r
-{\r
-  int ret=0;\r
-  if (PmovFile==NULL) return 1;\r
-  \r
-  if ((PmovAction&3)==0) return 0;\r
-\r
-  PicoPad[1]=0; // Make sure pad #2 is blank\r
-  if (PmovAction&1) ret=fwrite(PicoPad,1,2,PmovFile);\r
-  if (PmovAction&2) ret=fread (PicoPad,1,2,PmovFile);\r
-\r
-  if (ret!=2)\r
-  {\r
-    // End of file\r
-    fclose(PmovFile); PmovFile=NULL;\r
-    PmovAction=0;\r
-  }\r
-\r
-  return 0;\r
-}\r
diff --git a/Pico/Cart.cpp b/Pico/Cart.cpp
deleted file mode 100644 (file)
index 23c6e60..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-\r
-// This file is part of the PicoDrive Megadrive Emulator\r
-\r
-// Copyright (c) 2011 FinalDave (emudave (at) gmail.com)\r
-\r
-// This code is licensed under the GNU General Public License version 2.0 and the MAME License.\r
-// You can choose the license that has the most advantages for you.\r
-\r
-// SVN repository can be found at http://code.google.com/p/cyclone68000/\r
-\r
-#include "PicoInt.h"\r
-\r
-static void Byteswap(unsigned char *data,int len)\r
-{\r
-  int i=0;\r
-\r
-  if (len<2) return; // Too short\r
-\r
-  do\r
-  {\r
-    unsigned short *pd=(unsigned short *)(data+i);\r
-    int value=*pd; // Get 2 bytes\r
-\r
-    value=(value<<8)|(value>>8); // Byteswap it\r
-    *pd=(unsigned short)value; // Put 2b ytes\r
-    i+=2;\r
-  }  \r
-  while (i+2<=len);\r
-}\r
-\r
-// Interleve a 16k block and byteswap\r
-static int InterleveBlock(unsigned char *dest,unsigned char *src)\r
-{\r
-  int i=0;\r
-  for (i=0;i<0x2000;i++) dest[(i<<1)  ]=src[       i]; // Odd\r
-  for (i=0;i<0x2000;i++) dest[(i<<1)+1]=src[0x2000+i]; // Even\r
-  return 0;\r
-}\r
-\r
-// Decode a SMD file\r
-static int DecodeSmd(unsigned char *data,int len)\r
-{\r
-  unsigned char *temp=NULL;\r
-  int i=0;\r
-\r
-  temp=(unsigned char *)malloc(0x4000);\r
-  if (temp==NULL) return 1;\r
-  memset(temp,0,0x4000);\r
-\r
-  // Interleve each 16k block and shift down by 0x200:\r
-  for (i=0; i+0x4200<=len; i+=0x4000)\r
-  {\r
-    InterleveBlock(temp,data+0x200+i); // Interleve 16k to temporary buffer\r
-    memcpy(data+i,temp,0x4000); // Copy back in\r
-  }\r
-\r
-  free(temp);\r
-  return 0;\r
-}\r
-\r
-int PicoCartLoad(FILE *f,unsigned char **prom,unsigned int *psize)\r
-{\r
-  unsigned char *rom=NULL; int size=0;\r
-  if (f==NULL) return 1;\r
-\r
-  fseek(f,0,SEEK_END); size=ftell(f); fseek(f,0,SEEK_SET);\r
-\r
-  size=(size+3)&~3; // Round up to a multiple of 4\r
-\r
-  // Allocate space for the rom plus padding\r
-  rom=(unsigned char *)malloc(size+4);\r
-  if (rom==NULL) { fclose(f); return 1; }\r
-  memset(rom,0,size+4);\r
-\r
-  fread(rom,1,size,f); // Load up the rom\r
-  fclose(f);\r
-\r
-  // Check for SMD:\r
-  if ((size&0x3fff)==0x200) { DecodeSmd(rom,size); size-=0x200; } // Decode and byteswap SMD\r
-  else Byteswap(rom,size); // Just byteswap\r
-  \r
-  if (prom)  *prom=rom;\r
-  if (psize) *psize=size;\r
-\r
-  return 0;\r
-}\r
-\r
-// Insert/remove a cartridge:\r
-int PicoCartInsert(unsigned char *rom,unsigned int romsize)\r
-{\r
-  // Make sure movie playing/recording is stopped:\r
-  if (PmovFile) fclose(PmovFile);\r
-  PmovFile=NULL; PmovAction=0;\r
-\r
-  memset(&Pico,0,sizeof(Pico)); // Blank Pico state\r
-  Pico.rom=rom;\r
-  Pico.romsize=romsize;\r
-  PicoReset();\r
-\r
-  return 0;\r
-}\r
diff --git a/Pico/Disa.c b/Pico/Disa.c
deleted file mode 100644 (file)
index 01a54bc..0000000
+++ /dev/null
@@ -1,855 +0,0 @@
-\r
-// This file is part of the PicoDrive Megadrive Emulator\r
-\r
-// Copyright (c) 2011 FinalDave (emudave (at) gmail.com)\r
-\r
-// This code is licensed under the GNU General Public License version 2.0 and the MAME License.\r
-// You can choose the license that has the most advantages for you.\r
-\r
-// SVN repository can be found at http://code.google.com/p/cyclone68000/\r
-\r
-// Disa 68000 Disassembler\r
-#ifndef __GNUC__\r
-#pragma warning(disable:4115)\r
-#endif\r
-\r
-#define _CRT_SECURE_NO_WARNINGS\r
-#include <stdio.h>\r
-#include <string.h>\r
-#include "Disa.h"\r
-\r
-unsigned int DisaPc=0;\r
-char *DisaText=NULL; // Text buffer to write in\r
-static char Tasm[]="bwl?";\r
-static char Comment[64]="";\r
-unsigned short (CPU_CALL *DisaWord)(unsigned int a)=NULL;\r
-\r
-static unsigned int DisaLong(unsigned int a)\r
-{\r
-  unsigned int d=0;\r
-  if (DisaWord==NULL) return d;\r
-\r
-  d= DisaWord(a)<<16;\r
-  d|=DisaWord(a+2)&0xffff;\r
-  return d;\r
-}\r
-\r
-// Get text version of the effective address\r
-int DisaGetEa(char *t,int ea,int size)\r
-{\r
-  ea&=0x3f; t[0]=0;\r
-  if ((ea&0x38)==0x00) { sprintf(t,"d%d",ea  ); return 0; }    // 000rrr\r
-  if ((ea&0x38)==0x08) { sprintf(t,"a%d",ea&7); return 0; }    // 001rrr\r
-  if ((ea&0x38)==0x10) { sprintf(t,"(a%d)",ea&7); return 0; }  // 010rrr\r
-  if ((ea&0x38)==0x18) { sprintf(t,"(a%d)+",ea&7); return 0; } // 011rrr\r
-  if ((ea&0x38)==0x20) { sprintf(t,"-(a%d)",ea&7); return 0; } // 100rrr\r
-  if ((ea&0x38)==0x28) { sprintf(t,"($%x,a%d)",DisaWord(DisaPc)&0xffff,ea&7); DisaPc+=2; return 0; } // 101rrr\r
-\r
-  if ((ea&0x38)==0x30)\r
-  {\r
-    // 110nnn - An + Disp + D/An\r
-    int areg=0,ext=0,off=0,da=0,reg=0,wol=0,scale=0;\r
-    ext=DisaWord(DisaPc)&0xffff;\r
-    \r
-    areg=ea&7;\r
-    off=ext&0xff;    da =ext&0x8000?'a':'d';\r
-    reg=(ext>>12)&7; wol=ext&0x0800?'l':'w';\r
-    scale=1<<((ext>>9)&3);\r
-\r
-    if (scale<2) sprintf(t,"($%x,a%d,%c%d.%c)",   off,areg,da,reg,wol);\r
-    else         sprintf(t,"($%x,a%d,%c%d.%c*%d)",off,areg,da,reg,wol,scale); // 68020\r
-\r
-    DisaPc+=2;\r
-    return 0;\r
-  }\r
-\r
-  if (ea==0x38) { sprintf(t,"$%x.w",DisaWord(DisaPc)&0xffff); DisaPc+=2; return 0; } // 111000 - Absolute short\r
-  if (ea==0x39) { sprintf(t,"$%x.l",DisaLong(DisaPc));        DisaPc+=4; return 0; } // 111001 - Absolute long\r
-\r
-  if (ea==0x3a)\r
-  {\r
-    // 111010 - PC Relative\r
-    int ext=DisaWord(DisaPc)&0xffff;\r
-    sprintf(t,"($%x,pc)",ext);\r
-    sprintf(Comment,"; =%x",DisaPc+(short)ext); // Comment where pc+ext is\r
-    DisaPc+=2;\r
-    return 0;\r
-  }\r
-\r
-  if (ea==0x3b)\r
-  {\r
-    // 111011 - PC Relative + D/An\r
-    int ext=0,off=0,da=0,reg=0,wol=0,scale=0;\r
-    ext=DisaWord(DisaPc)&0xffff;\r
-    \r
-    off=ext&0xff;    da =ext&0x8000?'a':'d';\r
-    reg=(ext>>12)&7; wol=ext&0x0800?'l':'w';\r
-    scale=1<<((ext>>9)&3);\r
-\r
-    if (scale<2) sprintf(t,"($%x,pc,%c%d.%c)",   off,da,reg,wol);\r
-    else         sprintf(t,"($%x,pc,%c%d.%c*%d)",off,da,reg,wol,scale); // 68020\r
-\r
-    sprintf(Comment,"; =%x",DisaPc+(char)off); // Comment where pc+ext is\r
-    DisaPc+=2;\r
-    return 0;\r
-  }\r
-\r
-  if (ea==0x3c)\r
-  {\r
-    // 111100 - Immediate\r
-    switch (size)\r
-    {\r
-      case 0: sprintf(t,"#$%x",DisaWord(DisaPc)&0x00ff); DisaPc+=2; return 0;\r
-      case 1: sprintf(t,"#$%x",DisaWord(DisaPc)&0xffff); DisaPc+=2; return 0;\r
-      case 2: sprintf(t,"#$%x",DisaLong(DisaPc)       ); DisaPc+=4; return 0;\r
-    }\r
-    return 1;\r
-  }\r
-\r
-// Unknown effective address\r
-  sprintf(t,"ea=(%d%d%d %d%d%d)",\r
-    (ea>>5)&1,(ea>>4)&1,(ea>>3)&1,\r
-    (ea>>2)&1,(ea>>1)&1, ea    &1);\r
-  return 1;\r
-}\r
-\r
-static void GetOffset(char *text)\r
-{\r
-  int off=(short)DisaWord(DisaPc); DisaPc+=2;\r
-\r
-  if (off<0) sprintf(text,"-$%x",-off);\r
-  else       sprintf(text,"$%x",  off);\r
-}\r
-\r
-// ================ Opcodes 0x0000+ ================\r
-static int DisaArithImm(int op)\r
-{\r
-  // Or/And/Sub/Add/Eor/Cmp Immediate 0000ttt0 xxDDDddd (tt=type, xx=size extension, DDDddd=Dest ea)\r
-  int dea=0;\r
-  char seat[64]="",deat[64]="";\r
-  int type=0,size=0;\r
-  char *arith[8]={"or","and","sub","add","?","eor","cmp","?"};\r
-\r
-  type=(op>>9)&7; if (type==4 || type>=7) return 1;\r
-  size=(op>>6)&3; if (size>=3) return 1;\r
-  dea=op&0x3f; if (dea==0x3c) return 1;\r
-\r
-  DisaGetEa(seat,0x3c,size);\r
-  DisaGetEa(deat,dea, size);\r
-\r
-  sprintf(DisaText,"%si.%c %s, %s",arith[type],Tasm[size],seat,deat);\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0x0108+ ================\r
-static int DisaMovep(int op)\r
-{\r
-  // movep.x (Aa),Dn - 0000nnn1 dx001aaa  nn\r
-  int dn=0,dir=0,size=0,an=0;\r
-  char offset[32]="";\r
-\r
-  dn  =(op>>9)&7;\r
-  dir =(op>>7)&1;\r
-  size=(op>>6)&1; size++;\r
-  an  = op    &7;\r
-\r
-  GetOffset(offset);\r
-  if (dir) sprintf(DisaText,"movep.%c d%d, (%s,a%d)",Tasm[size],dn,offset,an);\r
-  else     sprintf(DisaText,"movep.%c (%s,a%d), d%d",Tasm[size],offset,an,dn);\r
-\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0x007c+ ================\r
-static int DisaArithSr(int op)\r
-{\r
-  // Ori/Andi/Eori $nnnn,sr 0000t0tx 0s111100\r
-  char *opcode[6]={"ori","andi","","","","eori"};\r
-  char seat[64]="";\r
-  int type=0,size=0;\r
-\r
-  type=(op>>9)&5;\r
-  size=(op>>6)&1;\r
-\r
-  DisaGetEa(seat,0x3c,size);\r
-  sprintf(DisaText,"%s.%c %s, %s", opcode[type], Tasm[size], seat, size?"sr":"ccr");\r
-\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0x0100+ ================\r
-static int DisaBtstReg(int op)\r
-{\r
-  // Btst/Bchg/Bclr/Bset 0000nnn1 tteeeeee (nn=reg number, eeeeee=Dest ea)\r
-  int type=0;\r
-  int sea=0,dea=0;\r
-  char seat[64]="",deat[64]="";\r
-  char *opcode[4]={"btst","bchg","bclr","bset"};\r
-\r
-  sea =(op>>9)&7;\r
-  type=(op>>6)&3;\r
-  dea=  op&0x3f;\r
-\r
-  if ((dea&0x38)==0x08) return 1; // movep\r
-  DisaGetEa(seat,sea,0);\r
-  DisaGetEa(deat,dea,0);\r
-\r
-  sprintf(DisaText,"%s %s, %s",opcode[type],seat,deat);\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0x0800+ ================\r
-static int DisaBtstImm(int op)\r
-{\r
-  // Btst/Bchg/Bclr/Bset 00001000 tteeeeee 00 nn (eeeeee=ea, nn=bit number)\r
-  int type=0;\r
-  char seat[64]="",deat[64]="";\r
-  char *opcode[4]={"btst","bchg","bclr","bset"};\r
-\r
-  type=(op>>6)&3;\r
-  DisaGetEa(seat,   0x3c,0);\r
-  DisaGetEa(deat,op&0x3f,0);\r
-\r
-  sprintf(DisaText,"%s %s, %s",opcode[type],seat,deat);\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0x1000+ ================\r
-static int DisaMove(int op)\r
-{\r
-  // Move 00xxdddD DDssssss (xx=size extension, ssssss=Source EA, DDDddd=Dest ea)\r
-  int sea=0,dea=0;\r
-  char inst[64]="",seat[64]="",deat[64]="";\r
-  char *movea="";\r
-  int size=0;\r
-\r
-  if ((op&0x01c0)==0x0040) movea="a"; // See if it's a movea opcode\r
-\r
-  // Find size extension\r
-  switch (op&0x3000)\r
-  {\r
-    case 0x1000: size=0; break;\r
-    case 0x3000: size=1; break;\r
-    case 0x2000: size=2; break;\r
-    default: return 1;\r
-  }\r
-\r
-  sea = op&0x003f;\r
-  DisaGetEa(seat,sea,size);\r
-  \r
-  dea =(op&0x01c0)>>3;\r
-  dea|=(op&0x0e00)>>9;\r
-  DisaGetEa(deat,dea,size);\r
-\r
-  sprintf(inst,"move%s.%c",movea,Tasm[size]);\r
-  sprintf(DisaText,"%s %s, %s",inst,seat,deat);\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0x4000+ ================\r
-static int DisaNeg(int op)\r
-{\r
-  // 01000tt0 xxeeeeee (tt=negx/clr/neg/not, xx=size, eeeeee=EA)\r
-  char eat[64]="";\r
-  int type=0,size=0;\r
-  char *opcode[4]={"negx","clr","neg","not"};\r
-\r
-  type=(op>>9)&3;\r
-  size=(op>>6)&3; if (size>=3) return 1;\r
-  DisaGetEa(eat,op&0x3f,size);\r
-\r
-  sprintf(DisaText,"%s.%c %s",opcode[type],Tasm[size],eat);\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0x40c0+ ================\r
-static int DisaMoveSr(int op)\r
-{\r
-  // 01000tt0 11eeeeee (tt=type, xx=size, eeeeee=EA)\r
-  int type=0,ea=0;\r
-  char eat[64]="";\r
-\r
-  type=(op>>9)&3;\r
-  ea=op&0x3f;\r
-  DisaGetEa(eat,ea,1);\r
-\r
-  switch (type)\r
-  {\r
-    default: sprintf(DisaText,"move sr, %s", eat); break;\r
-    case 1:  sprintf(DisaText,"move ccr, %s",eat); break;\r
-    case 2:  sprintf(DisaText,"move %s, ccr",eat); break;\r
-    case 3:  sprintf(DisaText,"move %s, sr", eat); break;\r
-  }\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0x41c0+ ================\r
-static int DisaLea(int op)\r
-{\r
-  // Lea 0100nnn1 11eeeeee (eeeeee=ea)\r
-  int sea=0,dea=0;\r
-  char seat[64]="",deat[64]="";\r
-\r
-  sea=op&0x003f;\r
-  DisaGetEa(seat,sea,0);\r
-\r
-  dea=(op>>9)&7; dea|=8;\r
-  DisaGetEa(deat,dea,2);\r
-\r
-  sprintf(DisaText,"lea %s, %s",seat,deat);\r
-  return 0;\r
-}\r
-\r
-static int MakeRegList(char *list,int mask,int ea)\r
-{\r
-  int reverse=0,i=0,low=0,len=0;\r
-\r
-  if ((ea&0x38)==0x20) reverse=1; // -(An), bitfield is reversed\r
-\r
-  mask&=0xffff; list[0]=0;\r
-\r
-  for (i=0;i<17;i++)\r
-  {\r
-    int bit=0;\r
-    \r
-    // Mask off bit i:\r
-    if (reverse) bit=0x8000>>i; else bit=1<<i;\r
-    bit&=mask;\r
-\r
-    if (bit==0 || i==8)\r
-    {\r
-      // low to i-1 are a continuous section, add it:\r
-      char add[16]="";\r
-      int ad=low&8?'a':'d';\r
-      if (low==i-1) sprintf(add,"%c%d/",     ad,low&7);\r
-      if (low< i-1) sprintf(add,"%c%d-%c%d/",ad,low&7, ad,(i-1)&7);\r
-      strcat(list,add);\r
-\r
-      low=i; // Next section\r
-    }\r
-\r
-    if (bit==0) low=i+1;\r
-  }\r
-\r
-  // Knock off trailing '/'\r
-  len=strlen(list);\r
-  if (len>0) if (list[len-1]=='/') list[len-1]=0; \r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0x4840+ ================\r
-static int DisaSwap(int op)\r
-{\r
-  // Swap, 01001000 01000nnn swap Dn\r
-  sprintf(DisaText,"swap d%d",op&7);\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0x4850+ ================\r
-static int DisaPea(int op)\r
-{\r
-  // Pea 01001000 01eeeeee  (eeeeee=ea)  pea \r
-  int ea=0;\r
-  char eat[64]="";\r
-\r
-  ea=op&0x003f; if (ea<0x10) return 1; // swap opcode\r
-  DisaGetEa(eat,ea,2);\r
-\r
-  sprintf(DisaText,"pea %s",eat);\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0x4880+ ================\r
-static int DisaExt(int op)\r
-{\r
-  // Ext 01001000 1x000nnn (x=size, eeeeee=EA)\r
-  char eat[64]="";\r
-  int size=0;\r
-\r
-  size=(op>>6)&1; size++;\r
-  DisaGetEa(eat,op&0x3f,size);\r
-\r
-  sprintf(DisaText,"ext.%c %s",Tasm[size],eat);\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0x4890+ ================\r
-static int DisaMovem(int op)\r
-{\r
-  // Movem 01001d00 1xeeeeee regmask  d=direction, x=size, eeeeee=EA\r
-  int dir=0,size=0;\r
-  int ea=0,mask=0;\r
-  char list[64]="",eat[64]="";\r
-\r
-  dir=(op>>10)&1;\r
-  size=((op>>6)&1)+1;\r
-  ea=op&0x3f; if (ea<0x10) return 1; // ext opcode\r
-\r
-  mask=DisaWord(DisaPc)&0xffff; DisaPc+=2;\r
-\r
-  MakeRegList(list,mask,ea); // Turn register mask into text\r
-  DisaGetEa(eat,ea,size);\r
-\r
-  if (dir) sprintf(DisaText,"movem.%c %s, %s",Tasm[size],eat,list);\r
-  else     sprintf(DisaText,"movem.%c %s, %s",Tasm[size],list,eat);\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0x4e40+ ================\r
-static int DisaTrap(int op)\r
-{\r
-  sprintf(DisaText,"trap #%d",op&0xf);\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0x4e50+ ================\r
-static int DisaLink(int op)\r
-{\r
-  // Link opcode, 01001110 01010nnn dd   link An,#offset\r
-  char eat[64]="";\r
-  char offset[32]="";\r
-\r
-  DisaGetEa(eat,(op&7)|8,0);\r
-  GetOffset(offset);\r
-\r
-  sprintf(DisaText,"link %s,#%s",eat,offset);\r
-\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0x4e58+ ================\r
-static int DisaUnlk(int op)\r
-{\r
-  // Link opcode, 01001110 01011nnn dd   unlk An\r
-  char eat[64]="";\r
-\r
-  DisaGetEa(eat,(op&7)|8,0);\r
-  sprintf(DisaText,"unlk %s",eat);\r
-\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0x4e60+ ================\r
-static int DisaMoveUsp(int op)\r
-{\r
-  // Move USP opcode, 01001110 0110dnnn move An to/from USP (d=direction)\r
-  int ea=0,dir=0;\r
-  char eat[64]="";\r
-\r
-  dir=(op>>3)&1;\r
-  ea=(op&7)|8;\r
-  DisaGetEa(eat,ea,0);\r
-\r
-  if (dir) sprintf(DisaText,"move usp, %s",eat);\r
-  else     sprintf(DisaText,"move %s, usp",eat);\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0x4e70+ ================\r
-static int Disa4E70(int op)\r
-{\r
-  char *inst[8]={"reset","nop","stop","rte","rtd","rts","trapv","rtr"};\r
-  int n=0;\r
-\r
-  n=op&7;\r
-\r
-  sprintf(DisaText,"%s",inst[n]);\r
-\r
-  //todo - 'stop' with 16 bit data\r
-  \r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0x4a00+ ================\r
-static int DisaTst(int op)\r
-{\r
-  // Tst 01001010 xxeeeeee  (eeeeee=ea)\r
-  int ea=0;\r
-  char eat[64]="";\r
-  int size=0;\r
-\r
-  ea=op&0x003f;\r
-  DisaGetEa(eat,ea,0);\r
-  size=(op>>6)&3; if (size>=3) return 1;\r
-\r
-  sprintf(DisaText,"tst.%c %s",Tasm[size],eat);\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0x4e80+ ================\r
-static int DisaJsr(int op)\r
-{\r
-  // Jsr/Jmp 0100 1110 1mEE Eeee (eeeeee=ea m=1=jmp)\r
-  int sea=0;\r
-  char seat[64]="";\r
-\r
-  sea=op&0x003f;\r
-  DisaGetEa(seat,sea,0);\r
-\r
-  sprintf(DisaText,"j%s %s", op&0x40?"mp":"sr", seat);\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0x5000+ ================\r
-static int DisaAddq(int op)\r
-{\r
-  // 0101nnnt xxeeeeee (nnn=#8,1-7 t=addq/subq xx=size, eeeeee=EA)\r
-  int num=0,type=0,size=0,ea=0;\r
-  char eat[64]="";\r
-\r
-  num =(op>>9)&7; if (num==0) num=8;\r
-  type=(op>>8)&1;\r
-  size=(op>>6)&3; if (size>=3) return 1;\r
-  ea  = op&0x3f;\r
-\r
-  DisaGetEa(eat,ea,size);\r
-\r
-  sprintf(DisaText,"%s.%c #%d, %s",type?"subq":"addq",Tasm[size],num,eat);\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0x50c0+ ================\r
-static int DisaSet(int op)\r
-{\r
-  // 0101cccc 11eeeeee (sxx ea)\r
-  static char *cond[16]=\r
-  {"t" ,"f", "hi","ls","cc","cs","ne","eq",\r
-   "vc","vs","pl","mi","ge","lt","gt","le"};\r
-  char *cc="";\r
-  int ea=0;\r
-  char eat[64]="";\r
-\r
-  cc=cond[(op>>8)&0xf]; // Get condition code\r
-  ea=op&0x3f;\r
-  if ((ea&0x38)==0x08) return 1; // dbra, not scc\r
-\r
-  DisaGetEa(eat,ea,0);\r
-  sprintf(DisaText,"s%s %s",cc,eat);\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0x50c8+ ================\r
-static int DisaDbra(int op)\r
-{\r
-  // 0101cccc 11001nnn offset  (dbra/dbxx Rn,offset)\r
-  int dea=0; char deat[64]="";\r
-  int pc=0,Offset=0;\r
-\r
-  static char *BraCode[16]=\r
-  {"bt" ,"bra","bhi","bls","bcc","bcs","bne","beq",\r
-   "bvc","bvs","bpl","bmi","bge","blt","bgt","ble"};\r
-  char *Bra="";\r
-\r
-  dea=op&7;\r
-  DisaGetEa(deat,dea,2);\r
-\r
-  // Get condition code\r
-  Bra=BraCode[(op>>8)&0xf];\r
-\r
-  // Get offset\r
-  pc=DisaPc;\r
-  Offset=(short)DisaWord(DisaPc); DisaPc+=2;\r
-\r
-  sprintf(DisaText,"d%s %s, %x",Bra,deat,pc+Offset);\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0x6000+ ================\r
-static int DisaBranch(int op)\r
-{\r
-  // Branch 0110cccc nn  (cccc=condition)\r
-  int pc=0,Offset=0;\r
-\r
-  static char *BraCode[16]=\r
-  {"bra","bsr","bhi","bls","bcc","bcs","bne","beq",\r
-   "bvc","bvs","bpl","bmi","bge","blt","bgt","ble"};\r
-  char *Bra="";\r
-\r
-  // Get condition code\r
-  Bra=BraCode[(op>>8)&0x0f];\r
-\r
-  // Get offset\r
-  pc=DisaPc;\r
-  Offset=(char)(op&0xff);\r
-       if (Offset== 0) { Offset=(short)DisaWord(DisaPc); DisaPc+=2; }\r
-  else if (Offset==-1) { Offset=       DisaLong(DisaPc); DisaPc+=4; }\r
-\r
-  sprintf(DisaText,"%s %x",Bra,pc+Offset);\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0x7000+ ================\r
-static int DisaMoveq(int op)\r
-{\r
-  // Moveq 0111rrr0 nn (rrr=Dest register, nn=data)\r
-\r
-  int dea=0; char deat[64]="";\r
-  char *inst="moveq";\r
-  int val=0;\r
-\r
-  dea=(op>>9)&7;\r
-  DisaGetEa(deat,dea,2);\r
-\r
-  val=(char)(op&0xff);\r
-  sprintf(DisaText,"%s #$%x, %s",inst,val,deat);\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0x8000+ ================\r
-static int DisaArithReg(int op)\r
-{\r
-  // 1t0tnnnd xxeeeeee (tt=type:or/sub/and/add xx=size, eeeeee=EA)\r
-  int type=0,size=0,dir=0,rea=0,ea=0;\r
-  char reat[64]="",eat[64]="";\r
-  char *opcode[]={"or","sub","","","and","add"};\r
-\r
-  type=(op>>12)&5;\r
-  rea =(op>> 9)&7;\r
-  dir =(op>> 8)&1;\r
-  size=(op>> 6)&3; if (size>=3) return 1;\r
-  ea  = op&0x3f;\r
-\r
-  if (dir && ea<0x10) return 1; // addx opcode\r
-\r
-  DisaGetEa(reat,rea,size);\r
-  DisaGetEa( eat, ea,size);\r
-\r
-  if (dir) sprintf(DisaText,"%s.%c %s, %s",opcode[type],Tasm[size],reat,eat);\r
-  else     sprintf(DisaText,"%s.%c %s, %s",opcode[type],Tasm[size],eat,reat);\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0x8100+ ================\r
-static int DisaAbcd(int op)\r
-{\r
-  // 1t00ddd1 0000asss - sbcd/abcd Ds,Dd or -(As),-(Ad)\r
-  int type=0;\r
-  int dn=0,addr=0,sn=0;\r
-  char *opcode[]={"sbcd","abcd"};\r
-\r
-  type=(op>>14)&1;\r
-  dn  =(op>> 9)&7;\r
-  addr=(op>> 3)&1;\r
-  sn  = op     &7;\r
-\r
-  if (addr) sprintf(DisaText,"%s -(a%d), -(a%d)",opcode[type],sn,dn);\r
-  else      sprintf(DisaText,"%s d%d, d%d",       opcode[type],sn,dn);\r
-\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0x80c0+ ================\r
-static int DisaMul(int op)\r
-{\r
-  // Div/Mul: 1m00nnns 11eeeeee (m=Mul, nnn=Register Dn, s=signed, eeeeee=EA)\r
-  int type=0,rea=0,sign=0,ea=0,size=1;\r
-  char reat[64]="",eat[64]="";\r
-  char *opcode[2]={"div","mul"};\r
-\r
-  type=(op>>14)&1; // div/mul\r
-  rea =(op>> 9)&7;\r
-  sign=(op>> 8)&1;\r
-  ea  = op&0x3f;\r
-\r
-  DisaGetEa(reat,rea,size);\r
-  DisaGetEa( eat, ea,size);\r
-\r
-  sprintf(DisaText,"%s%c.%c %s, %s",opcode[type],sign?'s':'u',Tasm[size],eat,reat);\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0x90c0+ ================\r
-static int DisaAritha(int op)\r
-{\r
-  // Suba/Cmpa/Adda 1tt1nnnx 11eeeeee (tt=type, x=size, eeeeee=Source EA)\r
-  int type=0,size=0,sea=0,dea=0;\r
-  char seat[64]="",deat[64]="";\r
-  char *aritha[4]={"suba","cmpa","adda",""};\r
-\r
-  type=(op>>13)&3; if (type>=3) return 1;\r
-  size=(op>>8)&1; size++;\r
-  dea =(op>>9)&7; dea|=8; // Dest=An\r
-  sea = op&0x003f; // Source\r
-\r
-  DisaGetEa(seat,sea,size);\r
-  DisaGetEa(deat,dea,size);\r
-\r
-  sprintf(DisaText,"%s.%c %s, %s",aritha[type],Tasm[size],seat,deat);\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0xb000+ ================\r
-static int DisaCmpEor(int op)\r
-{\r
-  // Cmp/Eor 1011rrrt xxeeeeee (rrr=Dn, t=cmp/eor, xx=size extension, eeeeee=ea)\r
-  char reat[64]="",eat[64]="";\r
-  int type=0,size=0;\r
-\r
-  type=(op>>8)&1;\r
-  size=(op>>6)&3; if (size>=3) return 1; // cmpa opcode\r
-  if ((op&0xf138)==0xb108) return 1; // cmpm opcode\r
-\r
-  DisaGetEa(reat,(op>>9)&7,size);\r
-  DisaGetEa(eat,  op&0x3f, size);\r
-\r
-  if (type) sprintf(DisaText,"eor.%c %s, %s",Tasm[size],reat,eat);\r
-  else      sprintf(DisaText,"cmp.%c %s, %s",Tasm[size],eat,reat);\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0xb108+ ================\r
-static int DisaCmpm(int op)\r
-{\r
-  // Cmpm  1011ddd1 xx001sss\r
-  int type=0,size=0,dea=0,sea=0;\r
-  char deat[64]="",seat[64]="";\r
-\r
-  type=(op>>12)&5;\r
-  dea =(op>> 9)&7; dea|=8;\r
-  size=(op>> 6)&3; if (size>=3) return 1;\r
-  sea  = op&0x3f;\r
-\r
-  DisaGetEa(deat,dea,size);\r
-  DisaGetEa(seat,sea,size);\r
-\r
-  sprintf(DisaText,"cmpm.%c (%s)+, (%s)+",Tasm[size],seat,deat);\r
-\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0xc140+ ================\r
-// 1100ttt1 01000sss  exg ds,dt\r
-// 1100ttt1 01001sss  exg as,at\r
-// 1100ttt1 10001sss  exg as,dt\r
-static int DisaExg(int op)\r
-{\r
-  int tr=0,type=0,sr=0;\r
-\r
-  tr  =(op>>9)&7;\r
-  type= op&0xf8;\r
-  sr  = op&7;\r
-\r
-       if (type==0x40) sprintf(DisaText,"exg d%d, d%d",sr,tr);\r
-  else if (type==0x48) sprintf(DisaText,"exg a%d, a%d",sr,tr);\r
-  else if (type==0x88) sprintf(DisaText,"exg a%d, d%d",sr,tr);\r
-  else return 1;\r
-\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0xd100+ ================\r
-static int DisaAddx(int op)\r
-{\r
-  // 1t01ddd1 xx000sss addx\r
-  int type=0,size=0,dea=0,sea=0;\r
-  char deat[64]="",seat[64]="";\r
-  char *opcode[6]={"","subx","","","","addx"};\r
-\r
-  type=(op>>12)&5;\r
-  dea =(op>> 9)&7;\r
-  size=(op>> 6)&3; if (size>=3) return 1;\r
-  sea  = op&0x3f;\r
-\r
-  DisaGetEa(deat,dea,size);\r
-  DisaGetEa(seat,sea,size);\r
-\r
-  sprintf(DisaText,"%s.%c %s, %s",opcode[type],Tasm[size],seat,deat);\r
-  return 0;\r
-}\r
-\r
-// ================ Opcodes 0xe000+ ================\r
-static char *AsrName[4]={"as","ls","rox","ro"};\r
-static int DisaAsr(int op)\r
-{\r
-  // Asr/l/Ror/l etc - 1110cccd xxuttnnn\r
-  // (ccc=count, d=direction xx=size extension, u=use reg for count, tt=type, nnn=register Dn)\r
-  int count=0,dir=0,size=0,usereg=0,type=0,num=0;\r
-\r
-  count =(op>>9)&7;\r
-  dir   =(op>>8)&1;\r
-  size  =(op>>6)&3; if (size>=3) return 1; // todo Asr EA\r
-  usereg=(op>>5)&1;\r
-  type  =(op>>3)&3;\r
-  num   = op    &7; // Register number\r
-\r
-  if (usereg==0) count=((count-1)&7)+1; // because ccc=000 means 8\r
-\r
-  sprintf(DisaText,"%s%c.%c %c%d, d%d",\r
-    AsrName[type], dir?'l':'r', Tasm[size],\r
-    usereg?'d':'#', count, num);\r
-  return 0;\r
-}\r
-\r
-static int DisaAsrEa(int op)\r
-{\r
-  // Asr/l/Ror/l etc EA - 11100ttd 11eeeeee \r
-  int type=0,dir=0,size=1;\r
-  char eat[64]="";\r
-\r
-  type=(op>>9)&3;\r
-  dir =(op>>8)&1;\r
-  DisaGetEa(eat,op&0x3f,size);\r
-\r
-  sprintf(DisaText,"%s%c.w %s", AsrName[type], dir?'l':'r', eat);\r
-  return 0;\r
-}\r
-\r
-// =================================================================\r
-\r
-static int TryOp(int op)\r
-{\r
-  if ((op&0xf100)==0x0000) DisaArithImm(op); // Ori/And/Sub/Add/Eor/Cmp Immediate\r
-  if ((op&0xf5bf)==0x003c) DisaArithSr(op); // Ori/Andi/Eori $nnnn,sr\r
-  if ((op&0xf100)==0x0100) DisaBtstReg(op);\r
-  if ((op&0xf138)==0x0108) DisaMovep(op);\r
-  if ((op&0xff00)==0x0800) DisaBtstImm(op); // Btst/Bchg/Bclr/Bset\r
-  if ((op&0xc000)==0x0000) DisaMove(op);\r
-  if ((op&0xf900)==0x4000) DisaNeg(op); // Negx/Clr/Neg/Not\r
-  if ((op&0xf1c0)==0x41c0) DisaLea(op);\r
-  if ((op&0xf9c0)==0x40c0) DisaMoveSr(op);\r
-  if ((op&0xfff8)==0x4840) DisaSwap(op);\r
-  if ((op&0xffc0)==0x4840) DisaPea(op);\r
-  if ((op&0xffb8)==0x4880) DisaExt(op);\r
-  if ((op&0xfb80)==0x4880) DisaMovem(op);\r
-  if ((op&0xff00)==0x4a00) DisaTst(op);\r
-  if ((op&0xfff0)==0x4e40) DisaTrap(op);\r
-  if ((op&0xfff8)==0x4e50) DisaLink(op);\r
-  if ((op&0xfff8)==0x4e58) DisaUnlk(op);\r
-  if ((op&0xfff0)==0x4e60) DisaMoveUsp(op);\r
-  if ((op&0xfff8)==0x4e70) Disa4E70(op);\r
-  if ((op&0xff80)==0x4e80) DisaJsr(op);\r
-  if ((op&0xf000)==0x5000) DisaAddq(op);\r
-  if ((op&0xf0c0)==0x50c0) DisaSet(op);\r
-  if ((op&0xf0f8)==0x50c8) DisaDbra(op);\r
-  if ((op&0xf000)==0x6000) DisaBranch(op);\r
-  if ((op&0xa000)==0x8000) DisaArithReg(op); // Or/Sub/And/Add\r
-  if ((op&0xb1f0)==0x8100) DisaAbcd(op);\r
-  if ((op&0xb130)==0x9100) DisaAddx(op);\r
-  if ((op&0xb0c0)==0x80c0) DisaMul(op);\r
-  if ((op&0xf100)==0x7000) DisaMoveq(op);\r
-  if ((op&0x90c0)==0x90c0) DisaAritha(op);\r
-  if ((op&0xf000)==0xb000) DisaCmpEor(op);\r
-  if ((op&0xf138)==0xb108) DisaCmpm(op);\r
-  if ((op&0xf130)==0xc100) DisaExg(op);\r
-  if ((op&0xf000)==0xe000) DisaAsr(op);\r
-  if ((op&0xf8c0)==0xe0c0) DisaAsrEa(op);\r
-\r
-  // Unknown opcoode\r
-  return 0;\r
-}\r
-\r
-int DisaGet()\r
-{\r
-  int op=0;\r
-  if (DisaWord==NULL) return 1;\r
-\r
-  Comment[0]=0;\r
-  DisaText[0]=0; // Assume opcode unknown\r
-\r
-  op=DisaWord(DisaPc)&0xffff; DisaPc+=2;\r
-  TryOp(op);\r
-  strcat(DisaText,Comment);\r
-\r
-  // Unknown opcoode\r
-  return 0;\r
-}\r
diff --git a/Pico/Disa.h b/Pico/Disa.h
deleted file mode 100644 (file)
index dddc21d..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-\r
-// This file is part of the PicoDrive Megadrive Emulator\r
-\r
-// Copyright (c) 2011 FinalDave (emudave (at) gmail.com)\r
-\r
-// This code is licensed under the GNU General Public License version 2.0 and the MAME License.\r
-// You can choose the license that has the most advantages for you.\r
-\r
-// SVN repository can be found at http://code.google.com/p/cyclone68000/\r
-\r
-// Disa 68000 Disassembler\r
-\r
-#ifdef __cplusplus\r
-extern "C" {\r
-#endif\r
-\r
-#if defined(__GNUC__) || defined(_WIN32_WCE)\r
-#define CPU_CALL\r
-#else\r
-#define CPU_CALL __fastcall\r
-#endif\r
-\r
-extern unsigned int DisaPc;\r
-extern char *DisaText; // Text buffer to write in\r
-\r
-extern unsigned short (CPU_CALL *DisaWord)(unsigned int a);\r
-int DisaGetEa(char *t,int ea,int size);\r
-\r
-int DisaGet();\r
-\r
-#ifdef __cplusplus\r
-} // End of extern "C"\r
-#endif\r
diff --git a/Pico/Draw.cpp b/Pico/Draw.cpp
deleted file mode 100644 (file)
index 4a1cdc7..0000000
+++ /dev/null
@@ -1,357 +0,0 @@
-\r
-// This file is part of the PicoDrive Megadrive Emulator\r
-\r
-// Copyright (c) 2011 FinalDave (emudave (at) gmail.com)\r
-\r
-// This code is licensed under the GNU General Public License version 2.0 and the MAME License.\r
-// You can choose the license that has the most advantages for you.\r
-\r
-// SVN repository can be found at http://code.google.com/p/cyclone68000/\r
-\r
-#include "PicoInt.h"\r
-#ifndef __GNUC__\r
-#pragma warning (disable:4706) // Disable assignment with conditional\r
-#endif\r
-\r
-int (*PicoScan)(unsigned int num,unsigned short *data)=NULL;\r
-\r
-// Line colour indices - in the format 00ppcccc pp=palette, cccc=colour\r
-static unsigned short HighCol[32+320+8]; // Gap for 32 column, and messy border on right\r
-static int Scanline=0; // Scanline\r
-\r
-int PicoMask=0xfff; // Mask of which layers to draw\r
-\r
-static int TileNorm(unsigned short *pd,int addr,unsigned int *pal)\r
-{\r
-  unsigned int pack=0; unsigned int t=0;\r
-\r
-  pack=*(unsigned int *)(Pico.vram+addr); // Get 8 pixels\r
-  if (pack)\r
-  {\r
-    t=pack&0x0000f000; if (t) { t=pal[t>>12]; pd[0]=(unsigned short)t; }\r
-    t=pack&0x00000f00; if (t) { t=pal[t>> 8]; pd[1]=(unsigned short)t; }\r
-    t=pack&0x000000f0; if (t) { t=pal[t>> 4]; pd[2]=(unsigned short)t; }\r
-    t=pack&0x0000000f; if (t) { t=pal[t    ]; pd[3]=(unsigned short)t; }\r
-    t=pack&0xf0000000; if (t) { t=pal[t>>28]; pd[4]=(unsigned short)t; }\r
-    t=pack&0x0f000000; if (t) { t=pal[t>>24]; pd[5]=(unsigned short)t; }\r
-    t=pack&0x00f00000; if (t) { t=pal[t>>20]; pd[6]=(unsigned short)t; }\r
-    t=pack&0x000f0000; if (t) { t=pal[t>>16]; pd[7]=(unsigned short)t; }\r
-    return 0;\r
-  }\r
-\r
-  return 1; // Tile blank\r
-}\r
-\r
-static int TileFlip(unsigned short *pd,int addr,unsigned int *pal)\r
-{\r
-  unsigned int pack=0; unsigned int t=0;\r
-\r
-  pack=*(unsigned int *)(Pico.vram+addr); // Get 8 pixels\r
-  if (pack)\r
-  {\r
-    t=pack&0x000f0000; if (t) { t=pal[t>>16]; pd[0]=(unsigned short)t; }\r
-    t=pack&0x00f00000; if (t) { t=pal[t>>20]; pd[1]=(unsigned short)t; }\r
-    t=pack&0x0f000000; if (t) { t=pal[t>>24]; pd[2]=(unsigned short)t; }\r
-    t=pack&0xf0000000; if (t) { t=pal[t>>28]; pd[3]=(unsigned short)t; }\r
-    t=pack&0x0000000f; if (t) { t=pal[t    ]; pd[4]=(unsigned short)t; }\r
-    t=pack&0x000000f0; if (t) { t=pal[t>> 4]; pd[5]=(unsigned short)t; }\r
-    t=pack&0x00000f00; if (t) { t=pal[t>> 8]; pd[6]=(unsigned short)t; }\r
-    t=pack&0x0000f000; if (t) { t=pal[t>>12]; pd[7]=(unsigned short)t; }\r
-    return 0;\r
-  }\r
-  return 1; // Tile blank\r
-}\r
-\r
-struct TileStrip\r
-{\r
-  int nametab; // Position in VRAM of name table (for this tile line)\r
-  int line;    // Line number in pixels 0x000-0x3ff within the virtual tilemap \r
-  int hscroll; // Horizontal scroll value in pixels for the line\r
-  int xmask;   // X-Mask (0x1f - 0x7f) for horizontal wraparound in the tilemap\r
-  int high;    // High or low tiles\r
-};\r
-\r
-static int WrongPri=0; // 1 if there were tiles which are the wrong priority\r
-\r
-static int DrawStrip(struct TileStrip ts)\r
-{\r
-  int tilex=0,dx=0,ty=0;\r
-  int blank=-1; // The tile we know is blank\r
-\r
-  WrongPri=0;\r
-\r
-  // Draw tiles across screen:\r
-  tilex=(-ts.hscroll)>>3;\r
-  ty=(ts.line&7)<<1; // Y-Offset into tile\r
-  for (dx=((ts.hscroll-1)&7)+1; dx<328; dx+=8,tilex++)\r
-  {\r
-    int code=0,addr=0,zero=0;\r
-    unsigned int *pal=NULL;\r
-\r
-    code=Pico.vram[ts.nametab+(tilex&ts.xmask)];\r
-    if (code==blank) continue;\r
-    if ((code>>15)!=ts.high) { WrongPri=1; continue; }\r
-\r
-    // Get tile address/2:\r
-    addr=(code&0x7ff)<<4;\r
-    if (code&0x1000) addr+=14-ty; else addr+=ty; // Y-flip\r
-\r
-    pal=Pico.highpal+((code>>9)&0x30);\r
-\r
-    if (code&0x0800) zero=TileFlip(HighCol+24+dx,addr,pal);\r
-    else             zero=TileNorm(HighCol+24+dx,addr,pal);\r
-\r
-    if (zero) blank=code; // We know this tile is blank now\r
-  }\r
-\r
-  return 0;\r
-}\r
-\r
-static int DrawLayer(int plane,int high)\r
-{\r
-  struct PicoVideo *pvid=&Pico.video;\r
-  static char shift[4]={5,6,6,7}; // 32,64 or 128 sized tilemaps\r
-  struct TileStrip ts;\r
-\r
-  // Work out the TileStrip to draw\r
-\r
-  // Get vertical scroll value:\r
-  int vscroll=Pico.vsram[plane];\r
-\r
-  int htab=pvid->reg[13]<<9; // Horizontal scroll table address\r
-  if ( pvid->reg[11]&2)     htab+=Scanline<<1; // Offset by line\r
-  if ((pvid->reg[11]&1)==0) htab&=~0xf; // Offset by tile\r
-  htab+=plane; // A or B\r
-\r
-  // Get horizontal scroll value\r
-  ts.hscroll=Pico.vram[htab&0x7fff];\r
-\r
-  // Work out the name table size: 32 64 or 128 tiles (0-3)\r
-  int width=pvid->reg[16];\r
-  int height=(width>>4)&3; width&=3;\r
-\r
-  ts.xmask=(1<<shift[width ])-1; // X Mask in tiles\r
-  int ymask=(8<<shift[height])-1; // Y Mask in pixels\r
-\r
-  // Find name table:\r
-  if (plane==0) ts.nametab=(pvid->reg[2]&0x38)<< 9; // A\r
-  else          ts.nametab=(pvid->reg[4]&0x07)<<12; // B\r
-\r
-  // Find the line in the name table\r
-  ts.line=(vscroll+Scanline)&ymask;\r
-  ts.nametab+=(ts.line>>3)<<shift[width];\r
-\r
-  ts.high=high;\r
-\r
-  DrawStrip(ts);\r
-  return 0;\r
-}\r
-\r
-static int DrawWindow(int high)\r
-{\r
-  struct PicoVideo *pvid=&Pico.video;\r
-  struct TileStrip ts;\r
-\r
-  ts.line=Scanline;\r
-  ts.hscroll=0;\r
-\r
-  // Find name table line:\r
-  if (Pico.video.reg[12]&1)\r
-  {\r
-    ts.nametab=(pvid->reg[3]&0x3c)<<9; // 40-cell mode\r
-    ts.nametab+=(ts.line>>3)<<6;\r
-  }\r
-  else\r
-  {\r
-    ts.nametab=(pvid->reg[3]&0x3e)<<9; // 32-cell mode\r
-    ts.nametab+=(ts.line>>3)<<5;\r
-  }\r
-\r
-  ts.xmask=0x3f;\r
-  ts.high=high;\r
-\r
-  DrawStrip(ts);\r
-  return 0;\r
-}\r
-\r
-static int DrawSprite(int sy,unsigned short *sprite,int high)\r
-{\r
-  int sx=0,width=0,height=0;\r
-  int row=0,code=0;\r
-  unsigned int *pal=NULL;\r
-  int tile=0,delta=0;\r
-  int i=0;\r
-\r
-  code=sprite[2];\r
-  if ((code>>15)!=high) { WrongPri=1; return 0; } // Wrong priority\r
-\r
-  height=sprite[1]>>8;\r
-  width=(height>>2)&3; height&=3;\r
-  width++; height++; // Width and height in tiles\r
-  if (Scanline>=sy+(height<<3)) return 0; // Not on this line after all\r
-\r
-  row=Scanline-sy; // Row of the sprite we are on\r
-  pal=Pico.highpal+((code>>9)&0x30); // Get palette pointer\r
-  if (code&0x1000) row=(height<<3)-1-row; // Flip Y\r
-\r
-  tile=code&0x7ff; // Tile number\r
-  tile+=row>>3; // Tile number increases going down\r
-  delta=height; // Delta to increase tile by going right\r
-  if (code&0x0800) { tile+=delta*(width-1); delta=-delta; } // Flip X\r
-\r
-  tile<<=4; tile+=(row&7)<<1; // Tile address\r
-  delta<<=4; // Delta of address\r
-\r
-  sx=(sprite[3]&0x1ff)-0x78; // Get X coordinate + 8\r
-\r
-  for (i=0; i<width; i++,sx+=8,tile+=delta)\r
-  {\r
-    if (sx<=0 || sx>=328) continue; // Offscreen\r
-\r
-    tile&=0x7fff; // Clip tile address\r
-    if (code&0x0800) TileFlip(HighCol+24+sx,tile,pal);\r
-    else             TileNorm(HighCol+24+sx,tile,pal);\r
-  }\r
-\r
-  return 0;\r
-}\r
-\r
-static int DrawAllSprites(int high)\r
-{\r
-  struct PicoVideo *pvid=&Pico.video;\r
-  int table=0;\r
-  int i=0,link=0;\r
-  unsigned char spin[80]; // Sprite index\r
-\r
-  WrongPri=0;\r
-\r
-  table=pvid->reg[5]&0x7f;\r
-  if (pvid->reg[12]&1) table&=0x7e; // Lowest bit 0 in 40-cell mode\r
-  table<<=8; // Get sprite table address/2\r
-\r
-  for (;;)\r
-  {\r
-    unsigned short *sprite=NULL;\r
-    \r
-    spin[i]=(unsigned char)link;\r
-    sprite=Pico.vram+((table+(link<<2))&0x7ffc); // Find sprite\r
-\r
-    // Find next sprite\r
-    link=sprite[1]&0x7f;\r
-    if (link==0 || i>=79) break; // End of sprites\r
-    i++;\r
-  }\r
-\r
-  // Go through sprites backwards:\r
-  for ( ;i>=0; i--)\r
-  {\r
-    unsigned short *sprite=NULL;\r
-    int sy=0;\r
-    \r
-    sprite=Pico.vram+((table+(spin[i]<<2))&0x7ffc); // Find sprite\r
-\r
-    sy=(sprite[0]&0x1ff)-0x80; // Get Y coordinate\r
-\r
-    if (Scanline>=sy && Scanline<sy+32) DrawSprite(sy,sprite,high); // Possibly on this line\r
-  }\r
-\r
-  return 0;\r
-}\r
-\r
-static void BackFill()\r
-{\r
-  unsigned int back=0;\r
-  unsigned int *pd=NULL,*end=NULL;\r
-\r
-  // Start with a blank scanline (background colour):\r
-  back=Pico.video.reg[7]&0x3f;\r
-  back=Pico.highpal[back];\r
-  back|=back<<16;\r
-\r
-  pd= (unsigned int *)(HighCol+32);\r
-  end=(unsigned int *)(HighCol+32+320);\r
-\r
-  do { pd[0]=pd[1]=pd[2]=pd[3]=back; pd+=4; } while (pd<end);\r
-}\r
-\r
-static int DrawDisplay()\r
-{\r
-  int win=0,edge=0,full=0;\r
-  int bhigh=1,ahigh=1,shigh=1;\r
-\r
-  // Find out if the window is on this line:\r
-  win=Pico.video.reg[0x12];\r
-  edge=(win&0x1f)<<3;\r
-\r
-  if (win&0x80) { if (Scanline>=edge) full=1; }\r
-  else          { if (Scanline< edge) full=1; }\r
-\r
-  if (PicoMask&0x04) { DrawLayer(1,0); bhigh=WrongPri; }\r
-  if (PicoMask&0x08) { if (full) DrawWindow(0); else DrawLayer(0,0);  ahigh=WrongPri; }\r
-  if (PicoMask&0x10) { DrawAllSprites(0); shigh=WrongPri; }\r
-  \r
-  if (bhigh) if (PicoMask&0x20) DrawLayer(1,1);\r
-  if (ahigh) if (PicoMask&0x40) { if (full) DrawWindow(1); else DrawLayer(0,1); }\r
-  if (shigh) if (PicoMask&0x80) DrawAllSprites(1);\r
-  return 0;\r
-}\r
-\r
-static int UpdatePalette()\r
-{\r
-  int c=0;\r
-\r
-  // Update palette:\r
-  for (c=0;c<64;c++) Pico.highpal[c]=(unsigned short)PicoCram(Pico.cram[c]);\r
-  Pico.m.dirtyPal=0;\r
-\r
-  return 0;\r
-}\r
-\r
-static int Overlay()\r
-{\r
-  int col=0,x=0;\r
-\r
-  if (PmovAction==0) return 0;\r
-  if (Scanline>=4) return 0;\r
-\r
-  if (PmovAction&1) col =0x00f;\r
-  if (PmovAction&2) col|=0x0f0;\r
-  col=PicoCram(col);\r
-\r
-  for (x=0;x<4;x++) HighCol[32+x]=(unsigned short)col;\r
-\r
-  return 0;\r
-}\r
-\r
-static int Skip=0;\r
-\r
-\r
-int PicoLine(int scan)\r
-{\r
-  if (Skip>0) { Skip--; return 0; } // Skip rendering lines\r
-\r
-  Scanline=scan;\r
-\r
-  if (Pico.m.dirtyPal) UpdatePalette();\r
-\r
-  // Draw screen:\r
-  if (PicoMask&0x02) BackFill();\r
-  if (Pico.video.reg[1]&0x40) DrawDisplay();\r
-\r
-  Overlay();\r
-\r
-  if (Pico.video.reg[12]&1)\r
-  {\r
-    Skip=PicoScan(Scanline,HighCol+32); // 40-column mode\r
-  }\r
-  else\r
-  {\r
-    // Crop, centre and return 32-column mode\r
-    memset(HighCol,    0,64); // Left border\r
-    memset(HighCol+288,0,64); // Right border\r
-    Skip=PicoScan(Scanline,HighCol);\r
-  }\r
-\r
-  return 0;\r
-}\r
-\r
diff --git a/Pico/MakeSine.bat b/Pico/MakeSine.bat
deleted file mode 100644 (file)
index b9581ab..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-cl /W4 MakeSine.cpp\r
-del MakeSine.obj\r
-MakeSine.exe > Sine.cpp\r
-del MakeSine.exe\r
diff --git a/Pico/MakeSine.cpp b/Pico/MakeSine.cpp
deleted file mode 100644 (file)
index aad9953..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-\r
-// This file is part of the PicoDrive Megadrive Emulator\r
-\r
-// Copyright (c) 2011 FinalDave (emudave (at) gmail.com)\r
-\r
-// This code is licensed under the GNU General Public License version 2.0 and the MAME License.\r
-// You can choose the license that has the most advantages for you.\r
-\r
-// SVN repository can be found at http://code.google.com/p/cyclone68000/\r
-\r
-// Make a Sine table\r
-\r
-#pragma warning (disable:4514)\r
-\r
-#include <stdio.h>\r
-#include <stdlib.h>\r
-#include <string.h>\r
-#include <math.h>\r
-\r
-#define PI 3.14159265358979\r
-\r
-int main()\r
-{\r
-  int i=0;\r
-\r
-  printf ("\nshort Sine[0x100]=\n");\r
-  printf ("{\n");\r
-\r
-  for (i=0;i<0x100;i++)\r
-  {\r
-    double fAng,fPos;\r
-    int nPos;\r
-    if ((i&7)==0) printf ("  ");\r
-    \r
-    fAng=(double)i/(double)0x100;\r
-    fAng*=2*PI;\r
-    fPos=sin(fAng)*(double)0x4000;\r
-    nPos=(int)fPos;\r
-    printf ("%+6d,",nPos);\r
-    \r
-    if ((i&7)==7) printf ("\n");\r
-  }\r
-\r
-  printf ("};\n");\r
-\r
-  return 0;\r
-}\r
diff --git a/Pico/Makefile b/Pico/Makefile
deleted file mode 100644 (file)
index 36e893b..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-\r
-# Makefile for GP32\r
-\r
-export CCBASE=D:/Devkitadv\r
-export CUSER=-DLITTLE_ENDIAN -DGP32 -W -Wall\r
-include $(CCBASE)/gp32.mk\r
-\r
-OBJS = Area.o Cart.o Disa.o Draw.o Memory.o Pico.o Psnd.o \\r
-       Sek.o Sine.o VideoPort.o ym2612.o ../Cyclone/Cyclone.o\r
-\r
-Pico.a: $(OBJS)\r
-       ar -rs $@ $(OBJS)\r
-\r
-\r
-Draw.o: Draw.cpp\r
-       gcc $(CFLAGS) -S $<\r
-       gcc $(CFLAGS) -c $<\r
diff --git a/Pico/Makefile.mir b/Pico/Makefile.mir
deleted file mode 100644 (file)
index d4589d3..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-\r
-# Makefile for GP32 (Mr. Mirko's SDK)\r
-\r
-CC=arm-elf-gcc\r
-LD=arm-elf-gcc\r
-AS=arm-elf-as\r
-AR=arm-elf-ar\r
-\r
-INCLUDES=-I/gp32_MrMirko/lib.src/include\r
-CFLAGS=$(INCLUDES) -O3 -W -Wall\r
-\r
-CPPFLAGS=$(CFLAGS)\r
-\r
-OBJS = Area.o Cart.o Disa.o Draw.o Memory.o Pico.o Psnd.o \\r
-       Sek.o Sine.o VideoPort.o ym2612.o ../Cyclone/Cyclone.o\r
-\r
-Pico.a: $(OBJS)\r
-       $(AR) -rs $@ $(OBJS)\r
-\r
-VideoPort.o: VideoPort.cpp\r
-       $(CC) -c -O2 -W -Wall $<\r
-\r
-Draw.o: Draw.cpp\r
-       arm-elf-gcc $(CFLAGS) -S $<\r
-       arm-elf-gcc $(CFLAGS) -c $<\r
diff --git a/Pico/Makefile.symb b/Pico/Makefile.symb
deleted file mode 100644 (file)
index 65c4f24..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-\r
-# Makefile for Symbian\r
-\r
-INCL=\\r
-  -I "D:\Symbian\6.1\Series60\Epoc32\Include" \\r
-  -I "D:\Symbian\6.1\Series60\Epoc32\Include\libc"\r
-\r
-# ----------------------------- ARM Compiler -----------------------------\r
-BPATH=D:\Symbian\6.1\Shared\Epoc32\gcc\bin\r
-CPP=$(BPATH)\gcc\r
-AS =$(BPATH)\as\r
-AR =$(BPATH)\ar\r
-CFLAGS=-D__SYMBIAN32__ -D__GCC32__ $(INCL) -march=armv4t \\r
-  -Wall -Wno-ctor-dtor-privacy -O3 \\r
-  -mstructure-size-boundary=32 \\r
-  -fno-builtin\r
-\r
-OBJS = Area.o Cart.o Disa.o Draw.o Memory.o Pico.o Psnd.o \\r
-       Sek.o Sine.o VideoPort.o Utils.o Cyclone.o ym2612.o\r
-\r
-Pico.lib: $(OBJS)\r
-       $(AR) -rs $@ $(OBJS)\r
-  copy Pico.lib "\Symbian\6.1\Series60\Epoc32\Release\armi\urel\"\r
-  copy Pico.lib "\Symbian\6.1\Series60\Epoc32\Release\thumb\urel\"\r
-\r
-Cyclone.o: ../Cyclone/Cyclone.s\r
-  $(AS) -mthumb-interwork -o $@ ../Cyclone/Cyclone.s 2> nul\r
-\r
-Utils.o: Utils.cpp\r
-  @$(CPP) $(CFLAGS) -S $*.cpp\r
-  @$(CPP) $(CFLAGS) -c $*.cpp\r
-\r
-.cpp.o:\r
-  @$(CPP) $(CFLAGS) -c $*.cpp\r
-.c.o:\r
-  @$(CPP) $(CFLAGS) -c $*.c\r
-\r
-\r
-CLEANUP=*.o *.lib Draw.s\r
-clean :\r
-  for %i in ( $(CLEANUP) ) do if exist %i del %i\r
diff --git a/Pico/Memory.cpp b/Pico/Memory.cpp
deleted file mode 100644 (file)
index 5823d21..0000000
+++ /dev/null
@@ -1,260 +0,0 @@
-\r
-// This file is part of the PicoDrive Megadrive Emulator\r
-\r
-// Copyright (c) 2011 FinalDave (emudave (at) gmail.com)\r
-\r
-// This code is licensed under the GNU General Public License version 2.0 and the MAME License.\r
-// You can choose the license that has the most advantages for you.\r
-\r
-// SVN repository can be found at http://code.google.com/p/cyclone68000/\r
-\r
-#include "PicoInt.h"\r
-\r
-typedef unsigned char  u8;\r
-typedef unsigned short u16;\r
-typedef unsigned int   u32;\r
-\r
-static int PicoMemBase(u32 pc)\r
-{\r
-  int membase=0;\r
-\r
-  if (pc<Pico.romsize)\r
-  {\r
-    membase=(int)Pico.rom; // Program Counter in Rom\r
-  }\r
-  else if ((pc&0xe00000)==0xe00000)\r
-  {\r
-    membase=(int)Pico.ram-(pc&0xff0000); // Program Counter in Ram\r
-  }\r
-  else\r
-  {\r
-    // Error - Program Counter is invalid\r
-    membase=(int)Pico.rom;\r
-  }\r
-\r
-  return membase;\r
-}\r
-\r
-#ifdef EMU_A68K\r
-extern "C" u8 *OP_ROM=NULL,*OP_RAM=NULL;\r
-\r
-static void CPU_CALL PicoCheckPc(u32 pc)\r
-{\r
-  OP_ROM=(u8 *)PicoMemBase(pc);\r
-\r
-  // don't bother calling us back unless it's outside the 64k segment\r
-  M68000_regs.AsmBank=(pc>>16);\r
-}\r
-#endif\r
-\r
-#ifdef EMU_C68K\r
-static u32 PicoCheckPc(u32 pc)\r
-{\r
-  pc-=PicoCpu.membase; // Get real pc\r
-  pc&=0xffffff;\r
-\r
-  PicoCpu.membase=PicoMemBase(pc);\r
-\r
-  return PicoCpu.membase+pc;\r
-}\r
-#endif\r
-\r
-#ifdef EMU_NULL\r
-static u32 PicoCheckPc(u32) { return 0; }\r
-#endif\r
-\r
-\r
-int PicoInitPc(u32 pc)\r
-{\r
-  PicoCheckPc(pc);\r
-  return 0;\r
-}\r
-\r
-// -----------------------------------------------------------------\r
-static int PadRead(int i)\r
-{\r
-  int pad=0,value=0;\r
-  pad=~PicoPad[i]; // Get inverse of pad\r
-\r
-  if (Pico.m.padSelect[i]) value=0x40|(pad&0x3f); // 01CB RLDU\r
-  else value=((pad&0xc0)>>2)|(pad&3); // 00SA 00DU\r
-\r
-  return (value<<8)|value; // Mirror bytes\r
-}\r
-\r
-static u32 OtherRead16(u32 a)\r
-{\r
-  u32 d=0;\r
-\r
-  if ((a&0xffe000)==0xa00000)\r
-  {\r
-    // Z80 ram\r
-    d=*(u16 *)(Pico.zram+(a&0x1fff));\r
-\r
-    if (Pico.m.rotate&2) { d=(Pico.m.rotate>>2)&0xff; d|=d<<8; } // Fake z80\r
-    Pico.m.rotate++;\r
-\r
-    goto end;\r
-  }\r
-\r
-  if ((a&0xffe000)==0xa00000)\r
-  {\r
-    // Fake Z80 ram\r
-    d=((Pico.m.rotate++)>>2)&0xff; d|=d<<8;\r
-    goto end;\r
-  }\r
-  \r
-  if (a==0xa04000) { d=Pico.m.rotate&3; Pico.m.rotate++; goto end; } // Fudge\r
-  if (a==0xa10000) { d=Pico.m.hardware; goto end; }  // Hardware value\r
-  if (a==0xa10002) { d=PadRead(0); goto end; }\r
-  if (a==0xa10004) { d=PadRead(1); goto end; }\r
-  if (a==0xa11100) { d=((Pico.m.rotate++)&4)<<6; goto end; } // Fudge z80 reset\r
-\r
-  if ((a&0xffffe0)==0xc00000) { d=PicoVideoRead(a); goto end; }\r
-\r
-end:\r
-  return d;\r
-}\r
-\r
-static void OtherWrite8(u32 a,u32 d)\r
-{\r
-  if ((a&0xffe000)==0xa00000) { Pico.zram[(a^1)&0x1fff]=(u8)d; return; } // Z80 ram\r
-  if ((a&0xfffffc)==0xa04000) { PsndFm(a,d); return; } // FM Sound\r
-\r
-  if (a==0xa11100) { Pico.m.z80Run=(u8)(d^1); return; }\r
-  if (a==0xa10003) { Pico.m.padSelect[0]=(u8)((d>>6)&1); return; } // Joypad 1 select\r
-  if (a==0xa10005) { Pico.m.padSelect[1]=(u8)((d>>6)&1); return; } // Joypad 2 select\r
-\r
-  if ((a&0xffffe0)==0xc00000) { PicoVideoWrite(a,d|(d<<8)); return; } // Byte access gets mirrored\r
-}\r
-\r
-static void OtherWrite16(u32 a,u32 d)\r
-{\r
-  if ((a&0xffffe0)==0xc00000) { PicoVideoWrite(a,d); return; }\r
-  if ((a&0xffe000)==0xa00000) { *(u16 *)(Pico.zram+(a&0x1ffe))=(u16)d; return; } // Z80 ram\r
-\r
-  OtherWrite8(a,  d>>8);\r
-  OtherWrite8(a+1,d&0xff);\r
-}\r
-\r
-// -----------------------------------------------------------------\r
-//                     Read Rom and read Ram\r
-\r
-static u8 CPU_CALL PicoRead8(u32 a)\r
-{\r
-  u32 d=0;\r
-  a&=0xffffff;\r
-\r
-  if (a<Pico.romsize) return *(u8 *)(Pico.rom+(a^1)); // Rom\r
-  if ((a&0xe00000)==0xe00000) return *(u8 *)(Pico.ram+((a^1)&0xffff)); // Ram\r
-\r
-  d=OtherRead16(a&~1); if ((a&1)==0) d>>=8;\r
-  return (u8)d;\r
-}\r
-\r
-u16 CPU_CALL PicoRead16(u32 a)\r
-{\r
-  a&=0xfffffe;\r
-\r
-  if (a<Pico.romsize) { u16 *pm=(u16 *)(Pico.rom+a); return pm[0]; } // Rom\r
-  if ((a&0xe00000)==0xe00000) { u16 *pm=(u16 *)(Pico.ram+(a&0xffff)); return pm[0]; } // Ram\r
-\r
-  return (u16)OtherRead16(a);\r
-}\r
-\r
-u32 CPU_CALL PicoRead32(u32 a)\r
-{\r
-  a&=0xfffffe;\r
-\r
-  if (a<Pico.romsize) { u16 *pm=(u16 *)(Pico.rom+a); return (pm[0]<<16)|pm[1]; } // Rom\r
-  if ((a&0xe00000)==0xe00000) { u16 *pm=(u16 *)(Pico.ram+(a&0xffff)); return (pm[0]<<16)|pm[1]; } // Ram\r
-\r
-  return (OtherRead16(a)<<16)|OtherRead16(a+2);\r
-}\r
-\r
-// -----------------------------------------------------------------\r
-//                            Write Ram\r
-\r
-static void CPU_CALL PicoWrite8(u32 a,u8 d)\r
-{\r
-  if ((a&0xe00000)==0xe00000) { u8 *pm=(u8 *)(Pico.ram+((a^1)&0xffff)); pm[0]=d; return; } // Ram\r
-\r
-  a&=0xffffff;\r
-  OtherWrite8(a,d);\r
-}\r
-\r
-static void CPU_CALL PicoWrite16(u32 a,u16 d)\r
-{\r
-  if ((a&0xe00000)==0xe00000) { *(u16 *)(Pico.ram+(a&0xfffe))=d; return; } // Ram\r
-\r
-  a&=0xfffffe;\r
-  OtherWrite16(a,d);\r
-}\r
-\r
-static void CPU_CALL PicoWrite32(u32 a,u32 d)\r
-{\r
-  if ((a&0xe00000)==0xe00000)\r
-  {\r
-    // Ram:\r
-    u16 *pm=(u16 *)(Pico.ram+(a&0xfffe));\r
-    pm[0]=(u16)(d>>16); pm[1]=(u16)d;\r
-    return;\r
-  }\r
-\r
-  a&=0xfffffe;\r
-  OtherWrite16(a,  (u16)(d>>16));\r
-  OtherWrite16(a+2,(u16)d);\r
-}\r
-\r
-\r
-// -----------------------------------------------------------------\r
-int PicoMemInit()\r
-{\r
-#ifdef EMU_C68K\r
-  // Setup memory callbacks:\r
-  PicoCpu.checkpc=PicoCheckPc;\r
-  PicoCpu.fetch8 =PicoCpu.read8 =PicoRead8;\r
-  PicoCpu.fetch16=PicoCpu.read16=PicoRead16;\r
-  PicoCpu.fetch32=PicoCpu.read32=PicoRead32;\r
-  PicoCpu.write8 =PicoWrite8;\r
-  PicoCpu.write16=PicoWrite16;\r
-  PicoCpu.write32=PicoWrite32;\r
-#endif\r
-  return 0;\r
-}\r
-\r
-#ifdef EMU_A68K\r
-struct A68KInter\r
-{\r
-  u32 unknown;\r
-  u8  (__fastcall *Read8) (u32 a);\r
-  u16 (__fastcall *Read16)(u32 a);\r
-  u32 (__fastcall *Read32)(u32 a);\r
-  void (__fastcall *Write8)  (u32 a,u8 d);\r
-  void (__fastcall *Write16) (u32 a,u16 d);\r
-  void (__fastcall *Write32) (u32 a,u32 d);\r
-  void (__fastcall *ChangePc)(u32 a);\r
-  u8  (__fastcall *PcRel8) (u32 a);\r
-  u16 (__fastcall *PcRel16)(u32 a);\r
-  u32 (__fastcall *PcRel32)(u32 a);\r
-  u16 (__fastcall *Dir16)(u32 a);\r
-  u32 (__fastcall *Dir32)(u32 a);\r
-};\r
-\r
-extern "C" struct A68KInter a68k_memory_intf=\r
-{\r
-  0,\r
-  PicoRead8,\r
-  PicoRead16,\r
-  PicoRead32,\r
-  PicoWrite8,\r
-  PicoWrite16,\r
-  PicoWrite32,\r
-  PicoCheckPc,\r
-  PicoRead8,\r
-  PicoRead16,\r
-  PicoRead32,\r
-  PicoRead16, // unused\r
-  PicoRead32, // unused\r
-};\r
-#endif\r
diff --git a/Pico/Pico.cpp b/Pico/Pico.cpp
deleted file mode 100644 (file)
index 5d37b26..0000000
+++ /dev/null
@@ -1,224 +0,0 @@
-\r
-// This file is part of the PicoDrive Megadrive Emulator\r
-\r
-// Copyright (c) 2011 FinalDave (emudave (at) gmail.com)\r
-\r
-// This code is licensed under the GNU General Public License version 2.0 and the MAME License.\r
-// You can choose the license that has the most advantages for you.\r
-\r
-// SVN repository can be found at http://code.google.com/p/cyclone68000/\r
-\r
-#include "PicoInt.h"\r
-\r
-int PicoVer=0x0030;\r
-struct Pico Pico;\r
-int PicoOpt=0;\r
-\r
-int PicoPad[2]; // Joypads, format is SACB RLDU\r
-\r
-int PicoInit()\r
-{\r
-  // Blank space for state:\r
-  memset(&Pico,0,sizeof(Pico));\r
-  memset(&PicoPad,0,sizeof(PicoPad));\r
-  Pico.m.dirtyPal=1;\r
-\r
-  // Init CPU:\r
-  SekInit();\r
-\r
-  // Setup memory callbacks:\r
-  PicoMemInit();\r
-  PsndReset();\r
-\r
-#ifdef MSOUND\r
-  YM2612Init(1,7670443,PsndRate,NULL,NULL);\r
-#endif\r
-  return 0;\r
-}\r
-\r
-void PicoExit()\r
-{\r
-#ifdef MSOUND\r
-  YM2612Shutdown();\r
-#endif\r
-\r
-  memset(&Pico,0,sizeof(Pico));\r
-}\r
-\r
-int PicoReset()\r
-{\r
-  unsigned int region=0;\r
-  int support=0,hw=0,i=0;\r
-  unsigned char pal=0;\r
-\r
-  if (Pico.romsize<=0) return 1;\r
-\r
-  SekReset();\r
-  PsndReset();\r
-#ifdef MSOUND\r
-  YM2612ResetChip(0);\r
-#endif\r
-\r
-  // Read cartridge region data:\r
-  region=PicoRead32(0x1f0);\r
-\r
-  for (i=0;i<4;i++)\r
-  {\r
-    int c=0;\r
-    \r
-    c=region>>(i<<3); c&=0xff;\r
-    if (c<=' ') continue;\r
-\r
-         if (c=='J') support|=1;\r
-    else if (c=='U') support|=4;\r
-    else if (c=='E') support|=8;\r
-    else\r
-    {\r
-      // New style code:\r
-      char s[2]={0,0};\r
-      s[0]=(char)c;\r
-      support|=strtol(s,NULL,16);\r
-    }\r
-\r
-  }\r
-\r
-  // Try to pick the best hardware value for English/60hz:\r
-       if (support&4)   hw=0x80;          // USA\r
-  else if (support&8) { hw=0xc0; pal=1; } // Europe\r
-  else if (support&1)   hw=0x00;          // Japan NTSC\r
-  else if (support&2) { hw=0x40; pal=1; } // Japan PAL\r
-  else hw=0x80; // USA\r
-\r
-  Pico.m.hardware=(unsigned char)(hw|0x20); // No disk attached\r
-  Pico.m.pal=pal;\r
-\r
-  return 0;\r
-}\r
-\r
-static int CheckIdle()\r
-{\r
-  unsigned char state[0x88];\r
-\r
-  memset(state,0,sizeof(state));\r
-\r
-  // See if the state is the same after 2 steps:\r
-  SekState(state); SekRun(0); SekRun(0); SekState(state+0x44);\r
-  if (memcmp(state,state+0x44,0x44)==0) return 1;\r
-\r
-  return 0;\r
-}\r
-\r
-// Accurate but slower frame which does hints\r
-static int PicoFrameHints()\r
-{\r
-  struct PicoVideo *pv=&Pico.video;\r
-  int total=0,aim=0;\r
-  int y=0;\r
-  int hint=0x400; // Hint counter\r
-\r
-  pv->status|=0x08; // Go into vblank\r
-\r
-  for (y=-38;y<224;y++)\r
-  {\r
-    if (y==0)\r
-    {\r
-      hint=pv->reg[10]; // Load H-Int counter\r
-      if (pv->reg[1]&0x40) pv->status&=~8; // Come out of vblank if display enabled\r
-    }\r
-\r
-    // H-Interrupts:\r
-    if (hint<0)\r
-    {\r
-      hint=pv->reg[10]; // Reload H-Int counter\r
-      if (pv->reg[0]&0x10) SekInterrupt(4);\r
-    }\r
-\r
-    // V-Interrupt:\r
-    if (y==-37)\r
-    {\r
-      pv->status|=0x80; // V-Int happened\r
-      if (pv->reg[1]&0x20) SekInterrupt(6);\r
-    }\r
-\r
-    Pico.m.scanline=(short)y;\r
-\r
-    // Run scanline:\r
-    aim+=489; total+=SekRun(aim-total);\r
-\r
-    hint--;\r
-\r
-    if (PicoScan && y>=0) PicoLine(y);\r
-  }\r
-\r
-  SekInterrupt(0); // Cancel interrupt\r
-\r
-  return 0;\r
-}\r
-\r
-// Simple frame without H-Ints\r
-static int PicoFrameSimple()\r
-{\r
-  int total=0,y=0,aim=0;\r
-  \r
-  Pico.m.scanline=-64;\r
-\r
-  // V-Blanking period:\r
-  if (Pico.video.reg[1]&0x20) SekInterrupt(6); // Set IRQ\r
-  Pico.video.status|=0x88; // V-Int happened / go into vblank\r
-  total+=SekRun(18560);\r
-\r
-  // Active Scan:\r
-  if (Pico.video.reg[1]&0x40) Pico.video.status&=~8; // Come out of vblank if display is enabled\r
-  SekInterrupt(0); // Clear IRQ\r
-\r
-  // Run in sections:\r
-  for (aim=18560+6839; aim<=18560+6839*16; aim+=6839)\r
-  {\r
-    int add=0;\r
-    if (CheckIdle()) break;\r
-    add=SekRun(aim-total);\r
-    total+=add;\r
-  }\r
-\r
-  if (PicoMask&0x100)\r
-  if (PicoScan)\r
-  {\r
-    // Draw the screen\r
-    for (y=0;y<224;y++) PicoLine(y);\r
-  }\r
-\r
-  return 0;\r
-}\r
-\r
-int PicoFrame()\r
-{\r
-  int hints=0;\r
-\r
-  if (Pico.rom==NULL) return 1; // No Rom plugged in\r
-\r
-\r
-  PmovUpdate();\r
-\r
-  hints=Pico.video.reg[0]&0x10;\r
-\r
-  if (hints) PicoFrameHints();\r
-  else PicoFrameSimple();\r
-\r
-  PsndRender();\r
-\r
-  return 0;\r
-}\r
-\r
-static int DefaultCram(int cram)\r
-{\r
-  int high=0x0841;\r
-  // Convert 0000bbbb ggggrrrr\r
-  // to      rrrr1ggg g10bbbb1\r
-  high|=(cram&0x00f)<<12; // Red\r
-  high|=(cram&0x0f0)<< 3; // Green\r
-  high|=(cram&0xf00)>> 7; // Blue\r
-  return high;\r
-}\r
-\r
-// Function to convert Megadrive Cram into a native colour:\r
-int (*PicoCram)(int cram)=DefaultCram;\r
diff --git a/Pico/Pico.dsp b/Pico/Pico.dsp
deleted file mode 100644 (file)
index ca0635c..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-# Microsoft Developer Studio Project File - Name="Pico" - Package Owner=<4>\r
-# Microsoft Developer Studio Generated Build File, Format Version 6.00\r
-# ** DO NOT EDIT **\r
-\r
-# TARGTYPE "Win32 (x86) Static Library" 0x0104\r
-\r
-CFG=Pico - Win32 Debug\r
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,\r
-!MESSAGE use the Export Makefile command and run\r
-!MESSAGE \r
-!MESSAGE NMAKE /f "Pico.mak".\r
-!MESSAGE \r
-!MESSAGE You can specify a configuration when running NMAKE\r
-!MESSAGE by defining the macro CFG on the command line. For example:\r
-!MESSAGE \r
-!MESSAGE NMAKE /f "Pico.mak" CFG="Pico - Win32 Debug"\r
-!MESSAGE \r
-!MESSAGE Possible choices for configuration are:\r
-!MESSAGE \r
-!MESSAGE "Pico - Win32 Release" (based on "Win32 (x86) Static Library")\r
-!MESSAGE "Pico - Win32 Debug" (based on "Win32 (x86) Static Library")\r
-!MESSAGE \r
-\r
-# Begin Project\r
-# PROP AllowPerConfigDependencies 0\r
-# PROP Scc_ProjName ""\r
-# PROP Scc_LocalPath ""\r
-CPP=cl.exe\r
-RSC=rc.exe\r
-\r
-!IF  "$(CFG)" == "Pico - Win32 Release"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 0\r
-# PROP BASE Output_Dir "Release"\r
-# PROP BASE Intermediate_Dir "Release"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 0\r
-# PROP Output_Dir "Release"\r
-# PROP Intermediate_Dir "Release"\r
-# PROP Target_Dir ""\r
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c\r
-# ADD CPP /nologo /MT /W4 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c\r
-# ADD BASE RSC /l 0x809 /d "NDEBUG"\r
-# ADD RSC /l 0x809 /d "NDEBUG"\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LIB32=link.exe -lib\r
-# ADD BASE LIB32 /nologo\r
-# ADD LIB32 /nologo\r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 Debug"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 1\r
-# PROP BASE Output_Dir "Debug"\r
-# PROP BASE Intermediate_Dir "Debug"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 1\r
-# PROP Output_Dir "Debug"\r
-# PROP Intermediate_Dir "Debug"\r
-# PROP Target_Dir ""\r
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c\r
-# ADD CPP /nologo /MTd /W4 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c\r
-# ADD BASE RSC /l 0x809 /d "_DEBUG"\r
-# ADD RSC /l 0x809 /d "_DEBUG"\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LIB32=link.exe -lib\r
-# ADD BASE LIB32 /nologo\r
-# ADD LIB32 /nologo\r
-\r
-!ENDIF \r
-\r
-# Begin Target\r
-\r
-# Name "Pico - Win32 Release"\r
-# Name "Pico - Win32 Debug"\r
-# Begin Group "Source Files"\r
-\r
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"\r
-# Begin Source File\r
-\r
-SOURCE=.\Area.cpp\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\Cart.cpp\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\Draw.cpp\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\driver.h\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\Memory.cpp\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\Pico.cpp\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\Psnd.cpp\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\Sek.cpp\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\Sine.cpp\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\Utils.cpp\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\VideoPort.cpp\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\ym2612.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\a68k.obj\r
-# End Source File\r
-# End Group\r
-# Begin Group "Header Files"\r
-\r
-# PROP Default_Filter "h;hpp;hxx;hm;inl"\r
-# Begin Source File\r
-\r
-SOURCE=.\Pico.h\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\PicoInt.h\r
-# End Source File\r
-# End Group\r
-# Begin Group "Disassembler"\r
-\r
-# PROP Default_Filter ""\r
-# Begin Source File\r
-\r
-SOURCE=.\Disa.c\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\Disa.h\r
-# End Source File\r
-# End Group\r
-# Begin Source File\r
-\r
-SOURCE=..\bits.txt\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\GenaDrive\zout.txt\r
-# End Source File\r
-# End Target\r
-# End Project\r
diff --git a/Pico/Pico.dsw b/Pico/Pico.dsw
deleted file mode 100644 (file)
index 6e5c845..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00\r
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!\r
-\r
-###############################################################################\r
-\r
-Project: "Pico"=.\Pico.dsp - Package Owner=<4>\r
-\r
-Package=<5>\r
-{{{\r
-}}}\r
-\r
-Package=<4>\r
-{{{\r
-}}}\r
-\r
-###############################################################################\r
-\r
-Global:\r
-\r
-Package=<5>\r
-{{{\r
-}}}\r
-\r
-Package=<3>\r
-{{{\r
-}}}\r
-\r
-###############################################################################\r
-\r
diff --git a/Pico/Pico.h b/Pico/Pico.h
deleted file mode 100644 (file)
index 2757c52..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-\r
-// -------------------- Pico Library --------------------\r
-\r
-// Pico Megadrive Emulator Library - Header File\r
-\r
-// Copyright (c) 2011 FinalDave (emudave (at) gmail.com)\r
-\r
-// This code is licensed under the GNU General Public License version 2.0 and the MAME License.\r
-// You can choose the license that has the most advantages for you.\r
-\r
-// SVN repository can be found at http://code.google.com/p/cyclone68000/\r
-\r
-#ifdef __cplusplus\r
-extern "C" {\r
-#endif\r
-\r
-// Pico.cpp\r
-extern int PicoVer;\r
-extern int PicoOpt;\r
-int PicoInit();\r
-void PicoExit();\r
-int PicoReset();\r
-int PicoFrame();\r
-extern int PicoPad[2]; // Joypads, format is SACB RLDU\r
-extern int (*PicoCram)(int cram); // Callback to convert colour ram 0000bbb0 ggg0rrr0\r
-\r
-// Area.cpp\r
-struct PicoArea { void *data; int len; char *name; };\r
-extern int (*PicoAcb)(struct PicoArea *); // Area callback for each block of memory\r
-extern FILE *PmovFile;\r
-extern int PmovAction;\r
-// &1=for reading &2=for writing &4=volatile &8=non-volatile\r
-int PicoAreaScan(int action,int *pmin);\r
-// Save or load the state from PmovFile:\r
-int PmovState();\r
-int PmovUpdate();\r
-\r
-// Cart.cpp\r
-int PicoCartLoad(FILE *f,unsigned char **prom,unsigned int *psize);\r
-int PicoCartInsert(unsigned char *rom,unsigned int romsize);\r
-\r
-// Draw.cpp\r
-extern int (*PicoScan)(unsigned int num,unsigned short *data);\r
-extern int PicoMask; // Mask of which layers to draw\r
-\r
-// Sek.cpp\r
-extern char PicoStatus[];\r
-\r
-// Sound.cpp\r
-extern int PsndRate,PsndLen;\r
-extern short *PsndOut;\r
-extern unsigned char PicoSreg[];\r
-\r
-// Utils.cpp\r
-extern int PicuAnd;\r
-int PicuQuick(unsigned short *dest,unsigned short *src);\r
-int PicuShrink(unsigned short *dest,int destLen,unsigned short *src,int srcLen);\r
-int PicuMerge(unsigned short *dest,int destLen,unsigned short *src,int srcLen);\r
-\r
-#ifdef __cplusplus\r
-} // End of extern "C"\r
-#endif\r
diff --git a/Pico/Pico.vcp b/Pico/Pico.vcp
deleted file mode 100644 (file)
index d6c1ce4..0000000
+++ /dev/null
@@ -1,1074 +0,0 @@
-# Microsoft eMbedded Visual Tools Project File - Name="Pico" - Package Owner=<4>\r
-# Microsoft eMbedded Visual Tools Generated Build File, Format Version 6.02\r
-# ** DO NOT EDIT **\r
-\r
-# TARGTYPE "Win32 (WCE x86) Static Library" 0x8304\r
-# TARGTYPE "Win32 (WCE x86em) Static Library" 0x7f04\r
-# TARGTYPE "Win32 (WCE ARM) Static Library" 0x8504\r
-\r
-CFG=Pico - Win32 (WCE ARM) Debug\r
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,\r
-!MESSAGE use the Export Makefile command and run\r
-!MESSAGE \r
-!MESSAGE NMAKE /f "Pico.vcn".\r
-!MESSAGE \r
-!MESSAGE You can specify a configuration when running NMAKE\r
-!MESSAGE by defining the macro CFG on the command line. For example:\r
-!MESSAGE \r
-!MESSAGE NMAKE /f "Pico.vcn" CFG="Pico - Win32 (WCE ARM) Debug"\r
-!MESSAGE \r
-!MESSAGE Possible choices for configuration are:\r
-!MESSAGE \r
-!MESSAGE "Pico - Win32 (WCE ARM) Release" (based on "Win32 (WCE ARM) Static Library")\r
-!MESSAGE "Pico - Win32 (WCE ARM) Debug" (based on "Win32 (WCE ARM) Static Library")\r
-!MESSAGE "Pico - Win32 (WCE x86) Release" (based on "Win32 (WCE x86) Static Library")\r
-!MESSAGE "Pico - Win32 (WCE x86) Debug" (based on "Win32 (WCE x86) Static Library")\r
-!MESSAGE "Pico - Win32 (WCE x86em) Release" (based on "Win32 (WCE x86em) Static Library")\r
-!MESSAGE "Pico - Win32 (WCE x86em) Debug" (based on "Win32 (WCE x86em) Static Library")\r
-!MESSAGE \r
-\r
-# Begin Project\r
-# PROP AllowPerConfigDependencies 0\r
-# PROP Scc_ProjName ""\r
-# PROP Scc_LocalPath ""\r
-# PROP ATL_Project 2\r
-\r
-!IF  "$(CFG)" == "Pico - Win32 (WCE ARM) Release"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 0\r
-# PROP BASE Output_Dir "ARMRel"\r
-# PROP BASE Intermediate_Dir "ARMRel"\r
-# PROP BASE CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"\r
-# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 0\r
-# PROP Output_Dir "ARMRel"\r
-# PROP Intermediate_Dir "ARMRel"\r
-# PROP CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"\r
-# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"\r
-# PROP Target_Dir ""\r
-CPP=clarm.exe\r
-# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "NDEBUG" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /Oxs /M$(CECrtMT) /c\r
-# ADD CPP /nologo /W4 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "NDEBUG" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /Oxs /M$(CECrtMT) /c\r
-LIB32=link.exe -lib\r
-# ADD BASE LIB32 /nologo\r
-# ADD LIB32 /nologo\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE ARM) Debug"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 1\r
-# PROP BASE Output_Dir "ARMDbg"\r
-# PROP BASE Intermediate_Dir "ARMDbg"\r
-# PROP BASE CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"\r
-# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 1\r
-# PROP Output_Dir "ARMDbg"\r
-# PROP Intermediate_Dir "ARMDbg"\r
-# PROP CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"\r
-# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"\r
-# PROP Target_Dir ""\r
-CPP=clarm.exe\r
-# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /M$(CECrtMTDebug) /c\r
-# ADD CPP /nologo /W4 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /M$(CECrtMTDebug) /c\r
-LIB32=link.exe -lib\r
-# ADD BASE LIB32 /nologo\r
-# ADD LIB32 /nologo\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86) Release"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 0\r
-# PROP BASE Output_Dir "X86Rel"\r
-# PROP BASE Intermediate_Dir "X86Rel"\r
-# PROP BASE CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}"\r
-# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 0\r
-# PROP Output_Dir "X86Rel"\r
-# PROP Intermediate_Dir "X86Rel"\r
-# PROP CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}"\r
-# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"\r
-# PROP Target_Dir ""\r
-CPP=cl.exe\r
-# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /D "_LIB" /YX /Gs8192 /GF /Oxs /c\r
-# ADD CPP /nologo /W4 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /D "_LIB" /YX /Gs8192 /GF /Oxs /c\r
-LIB32=link.exe -lib\r
-# ADD BASE LIB32 /nologo\r
-# ADD LIB32 /nologo\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86) Debug"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 1\r
-# PROP BASE Output_Dir "X86Dbg"\r
-# PROP BASE Intermediate_Dir "X86Dbg"\r
-# PROP BASE CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}"\r
-# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 1\r
-# PROP Output_Dir "X86Dbg"\r
-# PROP Intermediate_Dir "X86Dbg"\r
-# PROP CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}"\r
-# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"\r
-# PROP Target_Dir ""\r
-CPP=cl.exe\r
-# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "_LIB" /YX /Gs8192 /GF /c\r
-# ADD CPP /nologo /W4 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "_LIB" /YX /Gs8192 /GF /c\r
-LIB32=link.exe -lib\r
-# ADD BASE LIB32 /nologo\r
-# ADD LIB32 /nologo\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86em) Release"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 0\r
-# PROP BASE Output_Dir "X86EMRel"\r
-# PROP BASE Intermediate_Dir "X86EMRel"\r
-# PROP BASE CPU_ID "{D6518FF4-710F-11D3-99F2-00105A0DF099}"\r
-# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 0\r
-# PROP Output_Dir "X86EMRel"\r
-# PROP Intermediate_Dir "X86EMRel"\r
-# PROP CPU_ID "{D6518FF4-710F-11D3-99F2-00105A0DF099}"\r
-# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"\r
-# PROP Target_Dir ""\r
-CPP=cl.exe\r
-# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "WIN32" /D "STRICT" /D "_WIN32_WCE_EMULATION" /D "INTERNATIONAL" /D "USA" /D "INTLMSG_CODEPAGE" /D "$(CePlatform)" /D "i486" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /D "_LIB" /YX /Oxs /Gz /c\r
-# ADD CPP /nologo /W4 /D _WIN32_WCE=$(CEVersion) /D "WIN32" /D "STRICT" /D "_WIN32_WCE_EMULATION" /D "INTERNATIONAL" /D "USA" /D "INTLMSG_CODEPAGE" /D "$(CePlatform)" /D "i486" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /D "_LIB" /YX /Oxs /Gz /c\r
-LIB32=link.exe -lib\r
-# ADD BASE LIB32 /nologo\r
-# ADD LIB32 /nologo\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86em) Debug"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 1\r
-# PROP BASE Output_Dir "X86EMDbg"\r
-# PROP BASE Intermediate_Dir "X86EMDbg"\r
-# PROP BASE CPU_ID "{D6518FF4-710F-11D3-99F2-00105A0DF099}"\r
-# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 1\r
-# PROP Output_Dir "X86EMDbg"\r
-# PROP Intermediate_Dir "X86EMDbg"\r
-# PROP CPU_ID "{D6518FF4-710F-11D3-99F2-00105A0DF099}"\r
-# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"\r
-# PROP Target_Dir ""\r
-CPP=cl.exe\r
-# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "WIN32" /D "STRICT" /D "_WIN32_WCE_EMULATION" /D "INTERNATIONAL" /D "USA" /D "INTLMSG_CODEPAGE" /D "$(CePlatform)" /D "i486" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "_LIB" /YX /Gz /c\r
-# ADD CPP /nologo /W4 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "WIN32" /D "STRICT" /D "_WIN32_WCE_EMULATION" /D "INTERNATIONAL" /D "USA" /D "INTLMSG_CODEPAGE" /D "$(CePlatform)" /D "i486" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "_LIB" /YX /Gz /c\r
-LIB32=link.exe -lib\r
-# ADD BASE LIB32 /nologo\r
-# ADD LIB32 /nologo\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-\r
-!ENDIF \r
-\r
-# Begin Target\r
-\r
-# Name "Pico - Win32 (WCE ARM) Release"\r
-# Name "Pico - Win32 (WCE ARM) Debug"\r
-# Name "Pico - Win32 (WCE x86) Release"\r
-# Name "Pico - Win32 (WCE x86) Debug"\r
-# Name "Pico - Win32 (WCE x86em) Release"\r
-# Name "Pico - Win32 (WCE x86em) Debug"\r
-# Begin Group "Source Files"\r
-\r
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"\r
-# Begin Source File\r
-\r
-SOURCE=.\Area.cpp\r
-\r
-!IF  "$(CFG)" == "Pico - Win32 (WCE ARM) Release"\r
-\r
-DEP_CPP_AREA_=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE ARM) Debug"\r
-\r
-DEP_CPP_AREA_=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86) Release"\r
-\r
-DEP_CPP_AREA_=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86) Debug"\r
-\r
-DEP_CPP_AREA_=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86em) Release"\r
-\r
-DEP_CPP_AREA_=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86em) Debug"\r
-\r
-DEP_CPP_AREA_=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ENDIF \r
-\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\Cart.cpp\r
-\r
-!IF  "$(CFG)" == "Pico - Win32 (WCE ARM) Release"\r
-\r
-DEP_CPP_CART_=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE ARM) Debug"\r
-\r
-DEP_CPP_CART_=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86) Release"\r
-\r
-DEP_CPP_CART_=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86) Debug"\r
-\r
-DEP_CPP_CART_=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       \r
-NODEP_CPP_CART_=\\r
-       "..\Cyclone\Disa.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86em) Release"\r
-\r
-DEP_CPP_CART_=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86em) Debug"\r
-\r
-DEP_CPP_CART_=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ENDIF \r
-\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\Draw.cpp\r
-\r
-!IF  "$(CFG)" == "Pico - Win32 (WCE ARM) Release"\r
-\r
-DEP_CPP_DRAW_=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE ARM) Debug"\r
-\r
-DEP_CPP_DRAW_=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86) Release"\r
-\r
-DEP_CPP_DRAW_=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86) Debug"\r
-\r
-DEP_CPP_DRAW_=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       \r
-NODEP_CPP_DRAW_=\\r
-       "..\Cyclone\Disa.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86em) Release"\r
-\r
-DEP_CPP_DRAW_=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86em) Debug"\r
-\r
-DEP_CPP_DRAW_=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ENDIF \r
-\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\Memory.cpp\r
-\r
-!IF  "$(CFG)" == "Pico - Win32 (WCE ARM) Release"\r
-\r
-DEP_CPP_MEMOR=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE ARM) Debug"\r
-\r
-DEP_CPP_MEMOR=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86) Release"\r
-\r
-DEP_CPP_MEMOR=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86) Debug"\r
-\r
-DEP_CPP_MEMOR=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       \r
-NODEP_CPP_MEMOR=\\r
-       "..\Cyclone\Disa.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86em) Release"\r
-\r
-DEP_CPP_MEMOR=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86em) Debug"\r
-\r
-DEP_CPP_MEMOR=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ENDIF \r
-\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\Pico.cpp\r
-\r
-!IF  "$(CFG)" == "Pico - Win32 (WCE ARM) Release"\r
-\r
-DEP_CPP_PICO_=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE ARM) Debug"\r
-\r
-DEP_CPP_PICO_=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86) Release"\r
-\r
-DEP_CPP_PICO_=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86) Debug"\r
-\r
-DEP_CPP_PICO_=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86em) Release"\r
-\r
-DEP_CPP_PICO_=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86em) Debug"\r
-\r
-DEP_CPP_PICO_=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ENDIF \r
-\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\Profile.cpp\r
-\r
-!IF  "$(CFG)" == "Pico - Win32 (WCE ARM) Release"\r
-\r
-DEP_CPP_PROFI=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE ARM) Debug"\r
-\r
-DEP_CPP_PROFI=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86) Release"\r
-\r
-DEP_CPP_PROFI=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86) Debug"\r
-\r
-DEP_CPP_PROFI=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86em) Release"\r
-\r
-DEP_CPP_PROFI=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86em) Debug"\r
-\r
-DEP_CPP_PROFI=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ENDIF \r
-\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\Psnd.cpp\r
-\r
-!IF  "$(CFG)" == "Pico - Win32 (WCE ARM) Release"\r
-\r
-DEP_CPP_PSND_=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE ARM) Debug"\r
-\r
-DEP_CPP_PSND_=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86) Release"\r
-\r
-DEP_CPP_PSND_=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86) Debug"\r
-\r
-DEP_CPP_PSND_=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86em) Release"\r
-\r
-DEP_CPP_PSND_=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86em) Debug"\r
-\r
-DEP_CPP_PSND_=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ENDIF \r
-\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\Sek.cpp\r
-\r
-!IF  "$(CFG)" == "Pico - Win32 (WCE ARM) Release"\r
-\r
-DEP_CPP_SEK_C=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE ARM) Debug"\r
-\r
-DEP_CPP_SEK_C=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86) Release"\r
-\r
-DEP_CPP_SEK_C=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86) Debug"\r
-\r
-DEP_CPP_SEK_C=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       \r
-NODEP_CPP_SEK_C=\\r
-       "..\Cyclone\Disa.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86em) Release"\r
-\r
-DEP_CPP_SEK_C=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86em) Debug"\r
-\r
-DEP_CPP_SEK_C=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ENDIF \r
-\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\Sine.cpp\r
-\r
-!IF  "$(CFG)" == "Pico - Win32 (WCE ARM) Release"\r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE ARM) Debug"\r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86) Release"\r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86) Debug"\r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86em) Release"\r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86em) Debug"\r
-\r
-!ENDIF \r
-\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\Utils.cpp\r
-\r
-!IF  "$(CFG)" == "Pico - Win32 (WCE ARM) Release"\r
-\r
-DEP_CPP_UTILS=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE ARM) Debug"\r
-\r
-DEP_CPP_UTILS=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86) Release"\r
-\r
-DEP_CPP_UTILS=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86) Debug"\r
-\r
-DEP_CPP_UTILS=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86em) Release"\r
-\r
-DEP_CPP_UTILS=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86em) Debug"\r
-\r
-DEP_CPP_UTILS=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ENDIF \r
-\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\VideoPort.cpp\r
-\r
-!IF  "$(CFG)" == "Pico - Win32 (WCE ARM) Release"\r
-\r
-DEP_CPP_VIDEO=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE ARM) Debug"\r
-\r
-DEP_CPP_VIDEO=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86) Release"\r
-\r
-DEP_CPP_VIDEO=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86) Debug"\r
-\r
-DEP_CPP_VIDEO=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       \r
-NODEP_CPP_VIDEO=\\r
-       "..\Cyclone\Disa.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86em) Release"\r
-\r
-DEP_CPP_VIDEO=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86em) Debug"\r
-\r
-DEP_CPP_VIDEO=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       ".\Disa.h"\\r
-       ".\Pico.h"\\r
-       ".\PicoInt.h"\\r
-       ".\ym2612.h"\\r
-       \r
-\r
-!ENDIF \r
-\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\ym2612.c\r
-\r
-!IF  "$(CFG)" == "Pico - Win32 (WCE ARM) Release"\r
-\r
-DEP_CPP_YM261=\\r
-       ".\driver.h"\\r
-       ".\ym2612.h"\\r
-       \r
-NODEP_CPP_YM261=\\r
-       ".\deftypes.h"\\r
-       ".\support.h"\\r
-       \r
-# ADD CPP /W3\r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE ARM) Debug"\r
-\r
-DEP_CPP_YM261=\\r
-       ".\driver.h"\\r
-       ".\ym2612.h"\\r
-       \r
-NODEP_CPP_YM261=\\r
-       ".\deftypes.h"\\r
-       ".\support.h"\\r
-       \r
-# ADD CPP /W3\r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86) Release"\r
-\r
-DEP_CPP_YM261=\\r
-       ".\driver.h"\\r
-       ".\ym2612.h"\\r
-       \r
-NODEP_CPP_YM261=\\r
-       ".\deftypes.h"\\r
-       ".\support.h"\\r
-       \r
-# ADD CPP /W3\r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86) Debug"\r
-\r
-DEP_CPP_YM261=\\r
-       ".\driver.h"\\r
-       ".\ym2612.h"\\r
-       \r
-NODEP_CPP_YM261=\\r
-       ".\deftypes.h"\\r
-       ".\support.h"\\r
-       \r
-# ADD CPP /W3\r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86em) Release"\r
-\r
-DEP_CPP_YM261=\\r
-       ".\driver.h"\\r
-       ".\ym2612.h"\\r
-       \r
-NODEP_CPP_YM261=\\r
-       ".\deftypes.h"\\r
-       ".\support.h"\\r
-       \r
-# ADD CPP /W3\r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86em) Debug"\r
-\r
-DEP_CPP_YM261=\\r
-       ".\driver.h"\\r
-       ".\ym2612.h"\\r
-       \r
-NODEP_CPP_YM261=\\r
-       ".\deftypes.h"\\r
-       ".\support.h"\\r
-       \r
-# ADD CPP /W3\r
-\r
-!ENDIF \r
-\r
-# End Source File\r
-# End Group\r
-# Begin Group "Header Files"\r
-\r
-# PROP Default_Filter "h;hpp;hxx;hm;inl"\r
-# Begin Source File\r
-\r
-SOURCE=.\Pico.h\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\PicoInt.h\r
-# End Source File\r
-# End Group\r
-# Begin Group "Cyclone"\r
-\r
-# PROP Default_Filter ""\r
-# Begin Source File\r
-\r
-SOURCE=..\Cyclone\Cyclone.h\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\Cyclone\Cyclone.obj\r
-\r
-!IF  "$(CFG)" == "Pico - Win32 (WCE ARM) Release"\r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE ARM) Debug"\r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86) Release"\r
-\r
-# PROP Exclude_From_Build 1\r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86) Debug"\r
-\r
-# PROP Exclude_From_Build 1\r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86em) Release"\r
-\r
-# PROP Exclude_From_Build 1\r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86em) Debug"\r
-\r
-# PROP Exclude_From_Build 1\r
-\r
-!ENDIF \r
-\r
-# End Source File\r
-# End Group\r
-# Begin Group "Dasm"\r
-\r
-# PROP Default_Filter ""\r
-# Begin Source File\r
-\r
-SOURCE=.\Disa.c\r
-\r
-!IF  "$(CFG)" == "Pico - Win32 (WCE ARM) Release"\r
-\r
-DEP_CPP_DISA_=\\r
-       ".\Disa.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE ARM) Debug"\r
-\r
-DEP_CPP_DISA_=\\r
-       ".\Disa.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86) Release"\r
-\r
-DEP_CPP_DISA_=\\r
-       ".\Disa.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86) Debug"\r
-\r
-DEP_CPP_DISA_=\\r
-       ".\Disa.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86em) Release"\r
-\r
-DEP_CPP_DISA_=\\r
-       ".\Disa.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "Pico - Win32 (WCE x86em) Debug"\r
-\r
-DEP_CPP_DISA_=\\r
-       ".\Disa.h"\\r
-       \r
-\r
-!ENDIF \r
-\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\Disa.h\r
-# End Source File\r
-# End Group\r
-# Begin Source File\r
-\r
-SOURCE=..\bits.txt\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=..\PicoDrive\PicoDrive.txt\r
-# End Source File\r
-# End Target\r
-# End Project\r
diff --git a/Pico/Pico.vcw b/Pico/Pico.vcw
deleted file mode 100644 (file)
index 55f6997..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft eMbedded Visual Tools Workspace File, Format Version 3.00\r
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!\r
-\r
-###############################################################################\r
-\r
-Project: "Pico"=.\Pico.vcp - Package Owner=<4>\r
-\r
-Package=<5>\r
-{{{\r
-}}}\r
-\r
-Package=<4>\r
-{{{\r
-}}}\r
-\r
-###############################################################################\r
-\r
-Global:\r
-\r
-Package=<5>\r
-{{{\r
-}}}\r
-\r
-Package=<3>\r
-{{{\r
-}}}\r
-\r
-###############################################################################\r
-\r
diff --git a/Pico/PicoInt.h b/Pico/PicoInt.h
deleted file mode 100644 (file)
index 1ad2fb6..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-\r
-// This file is part of the PicoDrive Megadrive Emulator\r
-\r
-// Copyright (c) 2011 FinalDave (emudave (at) gmail.com)\r
-\r
-// This code is licensed under the GNU General Public License version 2.0 and the MAME License.\r
-// You can choose the license that has the most advantages for you.\r
-\r
-// SVN repository can be found at http://code.google.com/p/cyclone68000/\r
-\r
-#include <stdio.h>\r
-#include <stdlib.h>\r
-#include <string.h>\r
-#include "Pico.h"\r
-\r
-#if defined(__GNUC__) || defined(_WIN32_WCE)\r
-#define EMU_C68K // Use the Cyclone 68000 emulator\r
-#else\r
-#define EMU_A68K // Use the 'A68K' (Make68K) Assembler 68000 emulator\r
-#endif\r
-\r
-//#define MSOUND\r
-\r
-// Disa.h also defines CPU_CALL to be fastcall or normal call\r
-#include "Disa.h"\r
-\r
-\r
-// ----------------------- 68000 CPU -----------------------\r
-#ifdef EMU_A68K\r
-// The format of the data in a68k.asm (at the _M68000_regs location)\r
-struct A68KContext\r
-{\r
-  unsigned int d[8],a[8];\r
-  unsigned int isp,srh,ccr,xc,pc,irq,sr;\r
-  int (*IrqCallback) (int nIrq);\r
-  unsigned int ppc;\r
-  void *pResetCallback;\r
-  unsigned int sfc,dfc,usp,vbr;\r
-  unsigned int AsmBank,CpuVersion;\r
-};\r
-extern "C" struct A68KContext M68000_regs;\r
-#endif\r
-\r
-#ifdef EMU_C68K\r
-#include "../Cyclone/Cyclone.h"\r
-extern struct Cyclone PicoCpu;\r
-#endif\r
-\r
-#ifdef MSOUND\r
-extern "C" {\r
-#include "ym2612.h"\r
-}\r
-#endif\r
-\r
-// ---------------------------------------------------------\r
-\r
-struct PicoVideo\r
-{\r
-  unsigned char reg[0x20];\r
-  unsigned int command; // 32-bit Command\r
-  unsigned char pending; // 1 if waiting for second half of 32-bit command\r
-  unsigned char type; // Command type (v/c/vsram read/write)\r
-  unsigned short addr; // Read/Write address\r
-  int status; // Status bits\r
-  unsigned char pad[0x14];\r
-};\r
-\r
-struct PicoMisc\r
-{\r
-  unsigned char rotate;\r
-  unsigned char z80Run;\r
-  unsigned char padSelect[2]; // Select high or low bit from joypad\r
-  short scanline; // -38 to 223\r
-  char dirtyPal; // Is the palette dirty\r
-  unsigned char hardware; // Hardware value for country\r
-  unsigned char pal; // 1=PAL 0=NTSC\r
-  unsigned char pad[0x16];\r
-};\r
-\r
-struct PicoSound\r
-{\r
-  unsigned char fmsel[2]; // FM selected register\r
-  unsigned char reg[0x100];\r
-  unsigned char pad[0x3e];\r
-};\r
-\r
-struct Pico\r
-{\r
-  unsigned char ram[0x10000]; // scratch ram\r
-  unsigned short vram[0x8000];\r
-  unsigned char zram[0x2000]; // Z80 ram\r
-  unsigned int highpal[0x40];\r
-  unsigned short cram[0x40];\r
-  unsigned short vsram[0x40];\r
-\r
-  unsigned char *rom;\r
-  unsigned int romsize;\r
-\r
-  struct PicoMisc m;\r
-  struct PicoVideo video;\r
-  struct PicoSound s;\r
-};\r
-\r
-// Draw.cpp\r
-int PicoLine(int scan);\r
-\r
-// Draw2.cpp\r
-int PicoDraw2();\r
-\r
-// Memory.cpp\r
-int PicoInitPc(unsigned int pc);\r
-unsigned short CPU_CALL PicoRead16(unsigned int a);\r
-unsigned int CPU_CALL PicoRead32(unsigned int a);\r
-int PicoMemInit();\r
-void PicoDasm(int start,int len);\r
-\r
-// Pico.cpp\r
-extern struct Pico Pico;\r
-\r
-// Sek.cpp\r
-int SekInit();\r
-int SekReset();\r
-int SekRun(int cyc);\r
-int SekInterrupt(int irq);\r
-int SekPc();\r
-void SekState(unsigned char *data);\r
-\r
-// Sine.cpp\r
-extern short Sine[];\r
-\r
-// Psnd.cpp\r
-int PsndReset();\r
-int PsndFm(int a,int d);\r
-int PsndRender();\r
-\r
-// VideoPort.cpp\r
-void PicoVideoWrite(unsigned int a,unsigned int d);\r
-unsigned int PicoVideoRead(unsigned int a);\r
-\r
-// External:\r
-extern "C" int dprintf(char *Format, ...);\r
diff --git a/Pico/Profile.cpp b/Pico/Profile.cpp
deleted file mode 100644 (file)
index 223512c..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-\r
-// This file is part of the PicoDrive Megadrive Emulator\r
-\r
-// Copyright (c) 2011 FinalDave (emudave (at) gmail.com)\r
-\r
-// This code is licensed under the GNU General Public License version 2.0 and the MAME License.\r
-// You can choose the license that has the most advantages for you.\r
-\r
-// SVN repository can be found at http://code.google.com/p/cyclone68000/\r
-\r
-#include "PicoInt.h"\r
-\r
-#ifdef _WIN32_WCE\r
-\r
-#pragma warning(disable:4514)\r
-#pragma warning(push)\r
-#pragma warning(disable:4201)\r
-#include <windows.h>\r
-#pragma warning(pop)\r
-\r
-static float Period=0.0f;\r
-static LARGE_INTEGER TimeStart={0,0};\r
-\r
-int ProfileInit()\r
-{\r
-  LARGE_INTEGER freq={0,0};\r
-\r
-  QueryPerformanceFrequency(&freq);\r
-\r
-  Period =(float)freq.HighPart*4294967296.0f;\r
-  Period+=(float)freq.LowPart;\r
-\r
-  if (Period>=1.0f) Period=1.0f/Period;\r
-  return 0;\r
-}\r
-\r
-int ProfileStart()\r
-{\r
-  QueryPerformanceCounter(&TimeStart);\r
-\r
-  return 0;\r
-}\r
-\r
-float ProfileTime()\r
-{\r
-  LARGE_INTEGER end={0,0};\r
-  int ticks=0;\r
-  float seconds=0.0f;\r
-\r
-  QueryPerformanceCounter(&end);\r
-\r
-  ticks=end.LowPart-TimeStart.LowPart;\r
-  seconds=(float)ticks*Period;\r
-\r
-  return seconds;\r
-}\r
-\r
-#endif\r
-\r
diff --git a/Pico/Psnd.cpp b/Pico/Psnd.cpp
deleted file mode 100644 (file)
index 99f9190..0000000
+++ /dev/null
@@ -1,254 +0,0 @@
-\r
-// This file is part of the PicoDrive Megadrive Emulator\r
-\r
-// Copyright (c) 2011 FinalDave (emudave (at) gmail.com)\r
-\r
-// This code is licensed under the GNU General Public License version 2.0 and the MAME License.\r
-// You can choose the license that has the most advantages for you.\r
-\r
-// SVN repository can be found at http://code.google.com/p/cyclone68000/\r
-\r
-#include "PicoInt.h"\r
-\r
-#ifdef MSOUND\r
-extern "C"\r
-{\r
-int YM2612UpdateReq(int) { return 0; }\r
-void *errorlog=NULL;\r
-}\r
-#endif\r
-\r
-int PsndRate=0,PsndLen=0;\r
-short *PsndOut=NULL;\r
-\r
-// An operator is a single sine wave generator\r
-struct Operator\r
-{\r
-  unsigned short angle; // 0-0xffff\r
-  unsigned short freq; // Converted frequency\r
-  unsigned char key;\r
-  unsigned char state; // 1=attack, 2=decay, 3=sustain, 4=release\r
-  int vol;\r
-  int delta; // Change in volume per sample\r
-  int limit; // Next volume limit\r
-};\r
-\r
-struct Channel\r
-{\r
-  struct Operator op[4]; // 4 operators for the channel\r
-  unsigned short note; // Written to 0xa4 and 0xa0\r
-};\r
-\r
-static struct Channel Chan[8];\r
-\r
-unsigned char PicoSreg[0x200];\r
-\r
-static int WriteReg(int side,int a,int d)\r
-{\r
-  struct Channel *pc=NULL;\r
-\r
-  PicoSreg[(side<<8)|a]=(unsigned char)d;\r
-\r
-  if (a==0x28)\r
-  {\r
-    pc=Chan+(d&7);\r
-    // Key On/Key Off\r
-    if (d&0xf0) pc->op[0].state=1; // Attack\r
-    else        pc->op[0].state=4; // Release\r
-\r
-    return 0;\r
-  }\r
-\r
-  // Find channel:\r
-  pc=Chan+(a&3); if (side) pc+=4;\r
-\r
-  if ((a&0xf0)==0xa0)\r
-  {\r
-    int n=0,f=0,mult=2455;\r
-\r
-    if (PsndRate>0) mult=44100*2455/PsndRate;\r
-\r
-    if (a&4) pc->note =(unsigned short)(d<<8);\r
-    else     pc->note|=d;\r
-\r
-    // Convert to an actual frequency:\r
-    n=pc->note; f=(n&0x7ff)<<((n>>11)&7);\r
-\r
-    pc->op[0].freq=(unsigned short)((f*mult)>>16);\r
-    return 0;\r
-  }\r
-\r
-  return 0;\r
-}\r
-\r
-int PsndReset()\r
-{\r
-  int i=0;\r
-  memset(&Chan,0,sizeof(Chan));\r
-  memset(PicoSreg,0,sizeof(PicoSreg));\r
-\r
-// Change Sine wave into a square wave\r
-  for (i=0x00; i<0x080; i++) Sine[i]= 0x2000;\r
-  for (i=0x80; i<0x100; i++) Sine[i]=-0x2000;\r
-\r
-  return 0;\r
-}\r
-\r
-int PsndFm(int a,int d)\r
-{\r
-  int side=0;\r
-\r
-#ifdef MSOUND\r
-  YM2612Write(0,a&3,(unsigned char)d);\r
-#endif\r
-\r
-  a&=3; side=a>>1; // Which side: channels 0-2 or 3-5\r
-\r
-  if (a&1) WriteReg(side,Pico.s.fmsel[side],d); // Write register\r
-  else     Pico.s.fmsel[side]=(unsigned char)d; // Select register\r
-\r
-  return 0;\r
-}\r
-\r
-static void BlankSound(short *dest,int len)\r
-{\r
-  short *end=NULL;\r
-\r
-  end=dest+(len<<1);\r
-\r
-  // Init sound to silence:\r
-  do { *dest=0; dest++; } while (dest<end);\r
-}\r
-\r
-// Add to output and clip:\r
-static inline void AddClip(short *targ,int d)\r
-{\r
-  int total=*targ+d;\r
-  if ((total+0x8000)&0xffff0000)\r
-  {\r
-    if (total>0) total=0x7fff; else total=-0x8000;\r
-  }\r
-  *targ=(short)total;\r
-}\r
-\r
-static void OpNewState(int c)\r
-{\r
-  struct Operator *op=Chan[c].op;\r
-  int off=0;\r
-\r
-  off=((c&4)<<6)|(c&3);\r
-\r
-  switch (op->state)\r
-  {\r
-    case 1:\r
-    {\r
-      // Attack:\r
-      int ar=PicoSreg[0x50|off];\r
-      ar&=0x1f; if (ar) ar+=0x10;\r
-      op->delta=ar<<7; op->limit=0x1000000; break;\r
-    }\r
-    case 2:\r
-    {\r
-      // Decay:\r
-      int d1r=PicoSreg[0x60|off];\r
-      d1r&=0x1f; if (d1r) d1r+=0x10;\r
-      op->delta=-(d1r<<5); op->limit=0;\r
-    }\r
-    break;\r
-    case 3:\r
-    {\r
-      // Sustain:\r
-      int d2r=0,rr=0;\r
-      \r
-      d2r=PicoSreg[0x70|off];\r
-      d2r&=0x1f; if (d2r) d2r+=0x10;\r
-      rr =PicoSreg[0x80|off];\r
-      rr>>=4;\r
-\r
-      op->delta=-(d2r<<5); op->limit=rr<<20;\r
-    }\r
-    break;\r
-    case 4:\r
-      // Release:\r
-      int rr=PicoSreg[0x80|off];\r
-      rr&=0x0f; rr<<=1; rr+=0x10;\r
-      op->delta=-(rr<<5); op->limit=0;\r
-    break;\r
-  }\r
-}\r
-\r
-// Merely adding this code in seems to bugger up the N-Gage???\r
-static void UpdateOp(int c)\r
-{\r
-  struct Operator *op=Chan[c].op;\r
-\r
-  op->angle=(unsigned short)(op->angle+op->freq);\r
-  op->vol+=op->delta;\r
-\r
-  switch (op->state)\r
-  {\r
-    case 1:\r
-      if (op->vol>=op->limit) { op->vol=op->limit; op->state++; OpNewState(c); }\r
-    break;\r
-    case 2: case 3: // Decay/Sustain\r
-      if (op->vol< op->limit) { op->vol=op->limit; op->state++; OpNewState(c); }\r
-    break;\r
-    case 4:\r
-      if (op->vol< op->limit) { op->vol=op->limit; }\r
-    break;\r
-  }\r
-}\r
-\r
-static void AddChannel(int c,short *dest,int len)\r
-{\r
-  struct Channel *pc=Chan+c;\r
-  struct Operator *op=pc->op;\r
-  short *end=NULL;\r
-\r
-  // Work out volume delta for this operator:\r
-  OpNewState(c);\r
-\r
-  end=dest+len;\r
-  do\r
-  {\r
-    int d=0;\r
-    d=Sine[(op->angle>>8)&0xff]>>2;\r
-\r
-    d*=(op->vol>>8); d>>=16;\r
-\r
-    // Add to output:\r
-    AddClip(dest,d);\r
-    UpdateOp(c);\r
-\r
-    dest++;\r
-  }\r
-  while (dest<end);\r
-}\r
-\r
-int PsndRender()\r
-{\r
-  int i=0;\r
-\r
-  if (PsndOut==NULL) return 1; // Not rendering sound\r
-\r
-#ifdef MSOUND\r
-  if (PicoOpt&1)\r
-  {\r
-    short *wave[2]={NULL,NULL};\r
-    wave[0]=PsndOut;\r
-    wave[1]=PsndOut+PsndLen;\r
-    YM2612UpdateOne(0,wave,PsndLen);\r
-  }\r
-#endif\r
-\r
-  if ((PicoOpt&1)==0)\r
-  {\r
-    BlankSound(PsndOut,PsndLen);\r
-    for (i=0;i<7;i++)\r
-    {\r
-      if (i!=3) AddChannel(i,PsndOut,PsndLen);\r
-    }\r
-  }\r
-\r
-  return 0;\r
-}\r
diff --git a/Pico/Sek.cpp b/Pico/Sek.cpp
deleted file mode 100644 (file)
index de8d9d1..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-\r
-// This file is part of the PicoDrive Megadrive Emulator\r
-\r
-// Copyright (c) 2011 FinalDave (emudave (at) gmail.com)\r
-\r
-// This code is licensed under the GNU General Public License version 2.0 and the MAME License.\r
-// You can choose the license that has the most advantages for you.\r
-\r
-// SVN repository can be found at http://code.google.com/p/cyclone68000/\r
-\r
-#include "PicoInt.h"\r
-\r
-char PicoStatus[128]=""; // 68000 state for debug\r
-\r
-#ifdef EMU_C68K\r
-// ---------------------- Cyclone 68000 ----------------------\r
-\r
-struct Cyclone PicoCpu;\r
-\r
-int SekInit()\r
-{\r
-  memset(&PicoCpu,0,sizeof(PicoCpu));\r
-  return 0;\r
-}\r
-\r
-// Reset the 68000:\r
-int SekReset()\r
-{\r
-  if (Pico.rom==NULL) return 1;\r
-\r
-  PicoCpu.srh =0x27; // Supervisor mode\r
-  PicoCpu.a[7]=PicoCpu.read32(0); // Stack Pointer\r
-  PicoCpu.membase=0;\r
-  PicoCpu.pc=PicoCpu.checkpc(PicoCpu.read32(4)); // Program Counter\r
-\r
-  return 0;\r
-}\r
-\r
-\r
-// Run the 68000 for 'cyc' number of cycles and return the number of cycles actually executed\r
-static inline int DoRun(int cyc)\r
-{\r
-  PicoCpu.cycles=cyc;\r
-  CycloneRun(&PicoCpu);\r
-  return cyc-PicoCpu.cycles;\r
-}\r
-\r
-int SekInterrupt(int irq)\r
-{\r
-  PicoCpu.irq=(unsigned char)irq;\r
-  return 0;\r
-}\r
-\r
-int SekPc() { return PicoCpu.pc-PicoCpu.membase; }\r
-\r
-void SekState(unsigned char *data)\r
-{\r
-  memcpy(data,PicoCpu.d,0x44);\r
-}\r
-\r
-#endif\r
-\r
-#ifdef EMU_A68K\r
-// ---------------------- A68K ----------------------\r
-\r
-extern "C" void __cdecl M68000_RUN();\r
-extern "C" void __cdecl M68000_RESET();\r
-extern "C" int m68k_ICount=0;\r
-extern "C" unsigned int mem_amask=0xffffff; // 24-bit bus\r
-extern "C" unsigned int mame_debug=0,cur_mrhard=0,m68k_illegal_opcode=0,illegal_op=0,illegal_pc=0,opcode_entry=0; // filler\r
-\r
-static int IrqCallback(int) { return -1; }\r
-static int DoReset() { return 0; }\r
-static int (*ResetCallback)()=DoReset;\r
-\r
-int SekInit()\r
-{\r
-  memset(&M68000_regs,0,sizeof(M68000_regs));\r
-  M68000_regs.IrqCallback=IrqCallback;\r
-  M68000_regs.pResetCallback=ResetCallback;\r
-  M68000_RESET(); // Init cpu emulator\r
-  return 0;\r
-}\r
-\r
-int SekReset()\r
-{\r
-  // Reset CPU: fetch SP and PC\r
-  M68000_regs.srh=0x27; // Supervisor mode\r
-  M68000_regs.a[7]=PicoRead32(0);\r
-  M68000_regs.pc  =PicoRead32(4);\r
-  PicoInitPc(M68000_regs.pc);\r
-\r
-  return 0;\r
-}\r
-\r
-static inline int DoRun(int cyc)\r
-{\r
-  m68k_ICount=cyc;\r
-  M68000_RUN();\r
-  return cyc-m68k_ICount;\r
-}\r
-\r
-int SekInterrupt(int irq)\r
-{\r
-  M68000_regs.irq=irq; // raise irq (gets lowered after taken)\r
-  return 0;\r
-}\r
-\r
-int SekPc() { return M68000_regs.pc; }\r
-\r
-void SekState(unsigned char *data)\r
-{\r
-  memcpy(data,      M68000_regs.d, 0x40);\r
-  memcpy(data+0x40,&M68000_regs.pc,0x04);\r
-}\r
-\r
-#endif\r
-\r
-#ifdef EMU_NULL\r
-// -----------------------------------------------------------\r
-int SekInit() { return 0; }\r
-int SekReset() { return 0; }\r
-static inline int DoRun(int cyc) { return cyc; }\r
-int SekInterrupt(int) { return 0; }\r
-\r
-int SekPc()\r
-{\r
-  return 0;\r
-}\r
-\r
-void SekState(unsigned char *) { }\r
-\r
-#endif\r
-\r
-int SekRun(int cyc)\r
-{\r
-  int did=0;\r
-\r
-  did=DoRun(cyc);\r
-\r
-  return did;\r
-}\r
diff --git a/Pico/Sine.cpp b/Pico/Sine.cpp
deleted file mode 100644 (file)
index eadd678..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-\r
-short Sine[0x100]=\r
-{\r
-      +0,  +402,  +803, +1205, +1605, +2005, +2404, +2801,\r
-   +3196, +3589, +3980, +4369, +4756, +5139, +5519, +5896,\r
-   +6269, +6639, +7005, +7366, +7723, +8075, +8423, +8765,\r
-   +9102, +9434, +9759,+10079,+10393,+10701,+11002,+11297,\r
-  +11585,+11866,+12139,+12406,+12665,+12916,+13159,+13395,\r
-  +13622,+13842,+14053,+14255,+14449,+14634,+14810,+14978,\r
-  +15136,+15286,+15426,+15557,+15678,+15790,+15892,+15985,\r
-  +16069,+16142,+16206,+16260,+16305,+16339,+16364,+16379,\r
-  +16384,+16379,+16364,+16339,+16305,+16260,+16206,+16142,\r
-  +16069,+15985,+15892,+15790,+15678,+15557,+15426,+15286,\r
-  +15136,+14978,+14810,+14634,+14449,+14255,+14053,+13842,\r
-  +13622,+13395,+13159,+12916,+12665,+12406,+12139,+11866,\r
-  +11585,+11297,+11002,+10701,+10393,+10079, +9759, +9434,\r
-   +9102, +8765, +8423, +8075, +7723, +7366, +7005, +6639,\r
-   +6269, +5896, +5519, +5139, +4756, +4369, +3980, +3589,\r
-   +3196, +2801, +2404, +2005, +1605, +1205,  +803,  +402,\r
-      +0,  -402,  -803, -1205, -1605, -2005, -2404, -2801,\r
-   -3196, -3589, -3980, -4369, -4756, -5139, -5519, -5896,\r
-   -6269, -6639, -7005, -7366, -7723, -8075, -8423, -8765,\r
-   -9102, -9434, -9759,-10079,-10393,-10701,-11002,-11297,\r
-  -11585,-11866,-12139,-12406,-12665,-12916,-13159,-13395,\r
-  -13622,-13842,-14053,-14255,-14449,-14634,-14810,-14978,\r
-  -15136,-15286,-15426,-15557,-15678,-15790,-15892,-15985,\r
-  -16069,-16142,-16206,-16260,-16305,-16339,-16364,-16379,\r
-  -16384,-16379,-16364,-16339,-16305,-16260,-16206,-16142,\r
-  -16069,-15985,-15892,-15790,-15678,-15557,-15426,-15286,\r
-  -15136,-14978,-14810,-14634,-14449,-14255,-14053,-13842,\r
-  -13622,-13395,-13159,-12916,-12665,-12406,-12139,-11866,\r
-  -11585,-11297,-11002,-10701,-10393,-10079, -9759, -9434,\r
-   -9102, -8765, -8423, -8075, -7723, -7366, -7005, -6639,\r
-   -6269, -5896, -5519, -5139, -4756, -4369, -3980, -3589,\r
-   -3196, -2801, -2404, -2005, -1605, -1205,  -803,  -402,\r
-};\r
diff --git a/Pico/SymbianClean.bat b/Pico/SymbianClean.bat
deleted file mode 100644 (file)
index 8fc737d..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-nmake -f Makefile.symb clean\r
-rd /s /q D:\Symbian\6.1\Series60\Epoc32\BUILD\r
diff --git a/Pico/SymbianMake.bat b/Pico/SymbianMake.bat
deleted file mode 100644 (file)
index c8e9b7c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-nmake -f Makefile.symb\r
-pause\r
-if errorlevel 1 pause\r
diff --git a/Pico/Utils.cpp b/Pico/Utils.cpp
deleted file mode 100644 (file)
index b709558..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-\r
-// This file is part of the PicoDrive Megadrive Emulator\r
-\r
-// Copyright (c) 2011 FinalDave (emudave (at) gmail.com)\r
-\r
-// This code is licensed under the GNU General Public License version 2.0 and the MAME License.\r
-// You can choose the license that has the most advantages for you.\r
-\r
-// SVN repository can be found at http://code.google.com/p/cyclone68000/\r
-\r
-#include "PicoInt.h"\r
-\r
-int PicuAnd=0xf7de;\r
-\r
-// Quick low-quality conversion of 320 to 176:\r
-int PicuQuick(unsigned short *dest,unsigned short *src)\r
-{\r
-  unsigned short *end=NULL;\r
-\r
-  src+=13; end=src+290;\r
-  dest++;\r
-\r
-  do\r
-  {\r
-    *dest++=*src++;\r
-    *dest++=*src; src+=2;\r
-    *dest++=*src; src+=2;\r
-    *dest++=*src++;\r
-    *dest++=*src; src+=2;\r
-    *dest++=*src; src+=2;\r
-  }\r
-  while (src<end);\r
-\r
-  return 0;\r
-}\r
-\r
-// Shrink the pixels in src/srcLen, to the screen line pointed to by dest/destLen\r
-int PicuShrink(unsigned short *dest,int destLen,unsigned short *src,int srcLen)\r
-{\r
-  unsigned short *end=NULL;\r
-  int bias=0,pa=0,sub=0;\r
-\r
-  end=dest+destLen;\r
-  sub=srcLen-destLen;\r
-\r
-  do\r
-  {\r
-    pa=*src++; bias-=sub;\r
-    if (bias<0) { pa+=*src++; pa>>=1; bias+=destLen; }\r
-    *dest++=(unsigned short)pa;\r
-\r
-    pa=*src++; bias-=sub;\r
-    if (bias<0) { pa+=*src++; pa>>=1; bias+=destLen; }\r
-    *dest++=(unsigned short)pa;\r
-  }\r
-  while (dest<end);\r
-  \r
-  return 0;\r
-}\r
-\r
-int PicuMerge(unsigned short *dest,int destLen,unsigned short *src,int srcLen)\r
-{\r
-  unsigned short *end=NULL;\r
-  int bias=0,pa=0,mask=PicuAnd,sub=0;\r
-\r
-  end=dest+destLen;\r
-  sub=srcLen-destLen;\r
-\r
-  do\r
-  {\r
-    pa=*src++; bias-=sub;\r
-    if (bias<0) { pa+=*src++; pa>>=1; bias+=destLen; }\r
-    pa&=mask; pa+=(*dest)&mask; pa>>=1;\r
-    *dest++=(unsigned short)pa;\r
-\r
-    pa=*src++; bias-=sub;\r
-    if (bias<0) { pa+=*src++; pa>>=1; bias+=destLen; }\r
-    pa&=mask; pa+=(*dest)&mask; pa>>=1;\r
-    *dest++=(unsigned short)pa;\r
-  }\r
-  while (dest<end);\r
-  \r
-  return 0;\r
-}\r
-\r
diff --git a/Pico/VideoPort.cpp b/Pico/VideoPort.cpp
deleted file mode 100644 (file)
index 0cfb1a5..0000000
+++ /dev/null
@@ -1,231 +0,0 @@
-\r
-// This file is part of the PicoDrive Megadrive Emulator\r
-\r
-// Copyright (c) 2011 FinalDave (emudave (at) gmail.com)\r
-\r
-// This code is licensed under the GNU General Public License version 2.0 and the MAME License.\r
-// You can choose the license that has the most advantages for you.\r
-\r
-// SVN repository can be found at http://code.google.com/p/cyclone68000/\r
-\r
-#include "PicoInt.h"\r
-\r
-static inline void AutoIncrement()\r
-{\r
-  Pico.video.addr=(unsigned short)(Pico.video.addr+Pico.video.reg[0xf]);\r
-}\r
-\r
-static void VideoWrite(unsigned int d)\r
-{\r
-  unsigned int a=0;\r
-  unsigned short sd=(unsigned short)d;\r
-\r
-  a=Pico.video.addr;\r
-  if (a&1) d=((d<<8)&0xff00)|(d>>8); // If address is odd, bytes are swapped\r
-  a>>=1;\r
-\r
-  switch (Pico.video.type)\r
-  {\r
-    case 1: Pico.vram [a&0x7fff]=sd; break;\r
-    case 3: Pico.cram [a&0x003f]=sd; Pico.m.dirtyPal=1; break;\r
-    case 5: Pico.vsram[a&0x003f]=sd; break;\r
-  }\r
-  \r
-  AutoIncrement();\r
-}\r
-\r
-static unsigned int VideoRead()\r
-{\r
-  unsigned int a=0,d=0;\r
-\r
-  a=Pico.video.addr; a>>=1;\r
-\r
-  switch (Pico.video.type)\r
-  {\r
-    case 0: d=Pico.vram [a&0x7fff]; break;\r
-    case 8: d=Pico.cram [a&0x003f]; break;\r
-    case 4: d=Pico.vsram[a&0x003f]; break;\r
-  }\r
-  \r
-  AutoIncrement();\r
-  return d;\r
-}\r
-\r
-static int GetDmaSource()\r
-{\r
-  struct PicoVideo *pvid=&Pico.video;\r
-  int source=0;\r
-  source =pvid->reg[0x15]<<1;\r
-  source|=pvid->reg[0x16]<<9;\r
-  source|=pvid->reg[0x17]<<17;\r
-  return source;\r
-}\r
-\r
-static int GetDmaLength()\r
-{\r
-  struct PicoVideo *pvid=&Pico.video;\r
-  int len=0;\r
-  // 16-bit words to transfer:\r
-  len =pvid->reg[0x13];\r
-  len|=pvid->reg[0x14]<<8;\r
-  return len;\r
-}\r
-\r
-static void DmaSlow(int source,int len)\r
-{\r
-  int i=0,max=0;\r
-\r
-  if (source>=0x800000 && source<0xe00000) return; // Invalid source address\r
-\r
-  /// Clip Cram DMA size (Todds Adventures in Slime World):\r
-  if (Pico.video.type==3) { max=0x80-Pico.video.addr; if (len>max) len=max; }\r
-\r
-  for (i=0;i<len;i++)\r
-  {\r
-    VideoWrite(PicoRead16(source));\r
-    source+=2;\r
-  }\r
-}\r
-\r
-static void DmaCopy(int source,int len)\r
-{\r
-  int i=0;\r
-\r
-  len>>=1; // Length specifies number of bytes\r
-\r
-  for (i=0;i<len;i++)\r
-  {\r
-    VideoWrite(Pico.vram[source&0x7fff]);\r
-    source+=2;\r
-  }\r
-}\r
-\r
-static void DmaFill(int data)\r
-{\r
-  int len=0,i=0;\r
-  \r
-  len=GetDmaLength();\r
-\r
-  for (i=0;i<len+1;i++) VideoWrite(data);\r
-}\r
-\r
-static void CommandDma()\r
-{\r
-  struct PicoVideo *pvid=&Pico.video;\r
-  int len=0,method=0,source=0;\r
-\r
-  if ((pvid->reg[1]&0x10)==0) return; // DMA not enabled\r
-\r
-  len=GetDmaLength();\r
-\r
-  method=pvid->reg[0x17]>>6;\r
-  source=GetDmaSource();\r
-  if (method< 2) DmaSlow(source,len); // 68000 to VDP\r
-  if (method==3) DmaCopy(source,len); // VRAM Copy\r
-}\r
-\r
-static void CommandChange()\r
-{\r
-  struct PicoVideo *pvid=&Pico.video;\r
-  unsigned int cmd=0,addr=0;\r
-\r
-  cmd=pvid->command;\r
-\r
-  // Get type of transfer 0xc0000030 (v/c/vsram read/write)\r
-  pvid->type=(unsigned char)(((cmd>>2)&0xc)|(cmd>>30));\r
-\r
-  // Get address 0x3fff0003\r
-  addr =(cmd>>16)&0x3fff;\r
-  addr|=(cmd<<14)&0xc000;\r
-  pvid->addr=(unsigned short)addr;\r
-\r
-  // Check for dma:\r
-  if (cmd&0x80) CommandDma();\r
-}\r
-\r
-void PicoVideoWrite(unsigned int a,unsigned int d)\r
-{\r
-  struct PicoVideo *pvid=&Pico.video;\r
-\r
-  a&=0x1c;\r
-  d=(unsigned short)d;\r
-\r
-  if (a==0x00) // Data port 0 or 2\r
-  {    \r
-    if (pvid->pending) CommandChange();\r
-    pvid->pending=0;\r
-\r
-    // If a DMA fill has been set up, do it\r
-    if ((pvid->command&0x80) && (pvid->reg[1]&0x10) && (pvid->reg[0x17]>>6)==2)\r
-    {\r
-      DmaFill(d);\r
-    }\r
-    else\r
-    {\r
-      VideoWrite(d);\r
-    }\r
-    return;\r
-  }\r
-\r
-  if (a==0x04) // Command port 4 or 6\r
-  {\r
-    if (pvid->pending)\r
-    {\r
-      // Low word of command:\r
-      pvid->command&=0xffff0000;\r
-      pvid->command|=d;\r
-      pvid->pending=0;\r
-      CommandChange();\r
-      return;\r
-    }\r
-\r
-    if ((d&0xc000)==0x8000)\r
-    {\r
-      // Register write:\r
-      int num=(d>>8)&0x1f;\r
-      pvid->reg[num]=(unsigned char)d;\r
-      return;\r
-    }\r
-\r
-    // High word of command:\r
-    pvid->command&=0x0000ffff;\r
-    pvid->command|=d<<16;\r
-    pvid->pending=1;\r
-  }\r
-}\r
-\r
-unsigned int PicoVideoRead(unsigned int a)\r
-{\r
-  unsigned int d=0;\r
-  \r
-  a&=0x1c;\r
-\r
-  if (a==0x00) { d=VideoRead(); goto end; }\r
-\r
-  if (a==0x04)\r
-  {\r
-    d=Pico.video.status;\r
-\r
-    // Toggle fifo full empty:\r
-    if (Pico.m.rotate&4) d|=0x3520; else d|=0x3620;\r
-    if (Pico.m.rotate&2) d|=0x0004; // Toggle in/out of H-Blank\r
-    Pico.m.rotate++;\r
-\r
-    if (Pico.m.pal) d|=1; // PAL screen\r
-\r
-    goto end;\r
-  }\r
-\r
-  if ((a&0x1c)==0x08)\r
-  {\r
-    if (Pico.m.scanline>-64) d=Pico.m.scanline; // HV-Counter\r
-    else                     d=Pico.m.rotate++; // Fudge\r
-\r
-    d&=0xff; d<<=8;\r
-    goto end;\r
-  }\r
-\r
-end:\r
-\r
-  return d;\r
-}\r
diff --git a/Pico/driver.h b/Pico/driver.h
deleted file mode 100644 (file)
index 14439af..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-\r
-// This file is part of the PicoDrive Megadrive Emulator\r
-\r
-// Copyright (c) 2011 FinalDave (emudave (at) gmail.com)\r
-\r
-// This code is licensed under the GNU General Public License version 2.0 and the MAME License.\r
-// You can choose the license that has the most advantages for you.\r
-\r
-// SVN repository can be found at http://code.google.com/p/cyclone68000/\r
-\r
-// Drive filler file for ym2612.c\r
-#undef INLINE\r
-#define INLINE __inline\r
-\r
-#define CLIB_DECL \r
-#define INTERNAL_TIMER\r
-\r
-// Callbacks from fm.c\r
-int YM2612UpdateReq(int nChip);\r
-int AY8910_set_clock(int nChip,int nClock);\r
-//int Log(int nType,char *szText,...);\r
-extern void *errorlog;\r
-\r
-#ifndef __GNUC__\r
-#pragma warning (disable:4100)\r
-#pragma warning (disable:4244)\r
-#pragma warning (disable:4245)\r
-#pragma warning (disable:4710)\r
-#endif\r
diff --git a/PicoDrive/Config.cpp b/PicoDrive/Config.cpp
deleted file mode 100644 (file)
index 0dcbaba..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-\r
-// This file is part of the PicoDrive Megadrive Emulator\r
-\r
-// Copyright (c) 2011 FinalDave (emudave (at) gmail.com)\r
-\r
-// This code is licensed under the GNU General Public License version 2.0 and the MAME License.\r
-// You can choose the license that has the most advantages for you.\r
-\r
-// SVN repository can be found at http://code.google.com/p/cyclone68000/\r
-\r
-#include "stdafx.h"\r
-\r
-static char *ConfigName="\\PicoConfig.txt";\r
-struct Config Config;\r
-\r
-int ConfigInit()\r
-{\r
-  memset(&Config,0,sizeof(Config));\r
-\r
-  Config.key[0]=VK_UP;\r
-  Config.key[1]=VK_DOWN;\r
-  Config.key[2]=VK_LEFT;\r
-  Config.key[3]=VK_RIGHT;\r
-  Config.key[4]=GXKey.vkC; // A\r
-  Config.key[5]=GXKey.vkA; // B\r
-  Config.key[6]=GXKey.vkB; // C\r
-  Config.key[7]=GXKey.vkStart;\r
-\r
-  return 0;\r
-}\r
-\r
-int ConfigSave()\r
-{\r
-  FILE *f=NULL;\r
-  int i=0,max=0;\r
-\r
-  // Open config file:\r
-  f=fopen(ConfigName,"wt"); if (f==NULL) return 1;\r
-\r
-  fprintf(f,"// PicoDrive Config File\n\n");\r
-\r
-  fprintf(f,"// Keys: Up Down Left Right\n");\r
-  fprintf(f,"// A B C Start\n\n");\r
-\r
-  max=sizeof(Config.key)/sizeof(Config.key[0]);\r
-  for (i=0;i<max;i++)\r
-  {\r
-    fprintf(f,"key,%d,0x%.2x\n",i,Config.key[i]);\r
-  }\r
-\r
-  fclose(f);\r
-\r
-  return 0;\r
-}\r
-\r
-int ConfigLoad()\r
-{\r
-  FILE *f=NULL;\r
-  char line[256];\r
-  int i=0;\r
-\r
-  memset(line,0,sizeof(line));\r
-\r
-  // Open config file:\r
-  f=fopen(ConfigName,"rt"); if (f==NULL) return 1;\r
-\r
-  // Read through each line of the config file\r
-  for (;;)\r
-  {\r
-    char *tok[3]={"","",""};\r
-    if (fgets(line,sizeof(line)-1,f)==NULL) break;\r
-\r
-    // Split line into tokens:\r
-    for (i=0;i<3;i++)\r
-    {\r
-      tok[i]=strtok(i<1?line:NULL, ",\r\n");\r
-      if (tok[i]==NULL) { tok[i]=""; break; }\r
-    }\r
-\r
-    if (_stricmp(tok[0],"key")==0)\r
-    {\r
-      // Key code\r
-      int ta=0,tb=0;\r
-      \r
-      ta=strtol(tok[1],NULL,0);\r
-      tb=strtol(tok[2],NULL,0);\r
-\r
-      Config.key[ta&7]=tb;\r
-    }\r
-  }\r
-\r
-  fclose(f);\r
-\r
-  return 0;\r
-}\r
diff --git a/PicoDrive/Debug.cpp b/PicoDrive/Debug.cpp
deleted file mode 100644 (file)
index d964e0e..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-\r
-// This file is part of the PicoDrive Megadrive Emulator\r
-\r
-// Copyright (c) 2011 FinalDave (emudave (at) gmail.com)\r
-\r
-// This code is licensed under the GNU General Public License version 2.0 and the MAME License.\r
-// You can choose the license that has the most advantages for you.\r
-\r
-// SVN repository can be found at http://code.google.com/p/cyclone68000/\r
-\r
-#include "stdafx.h"\r
-\r
-static int ScreenNum=0;\r
-\r
-int DebugScreenGrab()\r
-{\r
-  unsigned char *screen=NULL;\r
-  FILE *file=NULL;\r
-  unsigned char *line=NULL;\r
-  int x=0,y=0;\r
-  char filename[64];\r
-  unsigned char head[0x12];\r
-\r
-  memset(filename,0,sizeof(filename));\r
-  memset(head,0,sizeof(head));\r
-\r
-  // Allocate memory for one line\r
-  line=(unsigned char *)malloc(GXDisp.cxWidth*3); if (line==NULL) return 1;\r
-  memset(line,0,GXDisp.cxWidth*3);\r
-\r
-  // Get pointer to screen:\r
-  screen=(unsigned char *)GXBeginDraw(); if (screen==NULL) { free(line); return 1; }\r
-\r
-  // Open screenshot file:\r
-  for (;;)\r
-  {\r
-    sprintf(filename,"\\Screen%.3d.tga",ScreenNum);\r
-\r
-    // Does this file exist?\r
-    file=fopen(filename,"rb"); if (file==NULL) break; // No - use this\r
-    \r
-    // Exists, try next file\r
-    fclose(file); ScreenNum++;\r
-    if (ScreenNum>=1000) break;\r
-  }\r
-\r
-  // Use this filename\r
-  file=fopen(filename,"wb"); if (file==NULL) { GXEndDraw(); free(line); return 1; }\r
-\r
-  head[0x02]=0x02; //?\r
-  head[0x0c]=(unsigned char) GXDisp.cxWidth;\r
-  head[0x0d]=(unsigned char)(GXDisp.cxWidth>>8);\r
-  head[0x0e]=(unsigned char) GXDisp.cyHeight;\r
-  head[0x0f]=(unsigned char)(GXDisp.cyHeight>>8);\r
-  head[0x10]=24; // Number of bits per pixel\r
-\r
-  // Write header:\r
-  fwrite(head,1,sizeof(head),file);\r
-\r
-  for (y=0;y<(int)GXDisp.cyHeight;y++)\r
-  {\r
-    unsigned char *ps=NULL,*pd=NULL;\r
-    int ry=0;\r
-    int pix=0;\r
-\r
-    ry=GXDisp.cyHeight-y-1;\r
-    ps=screen+ry*GXDisp.cbyPitch;\r
-    pd=line;\r
-\r
-    // Copy pixel to our line buffer\r
-    for (x=0;x<(int)GXDisp.cxWidth; x++,ps+=GXDisp.cbxPitch,pd+=3)\r
-    {\r
-      pix=*(unsigned short *)ps;\r
-\r
-      pd[0]=(unsigned char)((pix&0x001f)<<3); // Red\r
-      pd[1]=(unsigned char)((pix&0x07e0)>>3); // Green\r
-      pd[2]=(unsigned char)((pix&0xf800)>>8); // Blue\r
-    }\r
-\r
-    fwrite(line,1,GXDisp.cxWidth*3,file);\r
-  }\r
-\r
-  fclose(file); file=NULL;\r
-  \r
-  GXEndDraw();\r
-  free(line);\r
-\r
-  return 0;\r
-}\r
diff --git a/PicoDrive/Emulate.cpp b/PicoDrive/Emulate.cpp
deleted file mode 100644 (file)
index 6844818..0000000
+++ /dev/null
@@ -1,226 +0,0 @@
-\r
-// This file is part of the PicoDrive Megadrive Emulator\r
-\r
-// Copyright (c) 2011 FinalDave (emudave (at) gmail.com)\r
-\r
-// This code is licensed under the GNU General Public License version 2.0 and the MAME License.\r
-// You can choose the license that has the most advantages for you.\r
-\r
-// SVN repository can be found at http://code.google.com/p/cyclone68000/\r
-\r
-#include "stdafx.h"\r
-\r
-TCHAR RomName[260]={0};\r
-static unsigned char *RomData=NULL;\r
-static unsigned int RomSize=0;\r
-\r
-static unsigned int LastSecond=0;\r
-static int FramesDone=0;\r
-static int FramesPerSecond=60;\r
-\r
-struct Target Targ;\r
-\r
-static int TargetInit()\r
-{\r
-  RECT rect={0,0,0,0};\r
-  int height=0;\r
-\r
-  memset(&Targ,0,sizeof(Targ));\r
-\r
-  height=168;\r
-\r
-  ClientToScreen(FrameWnd,&Targ.point);\r
-\r
-  GetClientRect(FrameWnd,&rect);\r
-  // Find out where the top of the screen should go:\r
-  rect.top=(rect.bottom-height)>>1;\r
-  if (rect.top<0) rect.top=0;\r
-  rect.bottom=rect.top+height;\r
-\r
-  Targ.view=rect; // Save the view rectangle (client coordinates)\r
-\r
-  Targ.offset=Targ.view.top+Targ.point.y;\r
-\r
-  return 0;\r
-}\r
-\r
-static int TargetUpdate()\r
-{\r
-  // Need to repaint the view rectangle:\r
-  GetUpdateRect(FrameWnd,&Targ.update,0);\r
-\r
-  Targ.top   =Targ.update.top   +Targ.point.y;\r
-  Targ.bottom=Targ.update.bottom+Targ.point.y;\r
-\r
-  return 0;\r
-}\r
-\r
-int EmulateInit()\r
-{\r
-  FILE *f=NULL;\r
-\r
-  EmulateExit(); // Make sure exited\r
-\r
-  TargetInit(); // Find out where to put the screen\r
-\r
-  PicoInit();\r
-\r
-  // Load cartridge\r
-  f=_wfopen(RomName,L"rb"); if (f==NULL) return 1;\r
-  PicoCartLoad(f,&RomData,&RomSize);\r
-  fclose(f);\r
-\r
-  PicoCartInsert(RomData,RomSize);\r
-\r
-  LastSecond=GetTickCount(); FramesDone=0;\r
-\r
-  return 0;\r
-}\r
-\r
-void EmulateExit()\r
-{\r
-  // Remove cartridge\r
-  PicoCartInsert(NULL,0);\r
-  if (RomData) free(RomData); RomData=NULL; RomSize=0;\r
-  \r
-  PicoExit();\r
-}\r
-\r
-// Callback for scanline data:\r
-static int EmulateScan(unsigned int scan,unsigned short *sdata)\r
-{\r
-  int len=0;\r
-  unsigned short *ps=NULL,*end=NULL;\r
-  unsigned char *pd=NULL;\r
-  int xpitch=0;\r
-\r
-  if ((scan&3)==1) return 0;\r
-  scan+=scan<<1; scan>>=2; // Reduce size to 75%\r
-\r
-  scan+=Targ.offset;\r
-  if ((int)scan< Targ.top) return 0; // Out of range\r
-  if ((int)scan>=Targ.bottom) return 0; // Out of range\r
-\r
-  pd=Targ.screen+scan*GXDisp.cbyPitch;\r
-\r
-  len=240;\r
-  xpitch=GXDisp.cbxPitch;\r
-  ps=sdata; end=ps+320;\r
-\r
-  // Reduce 4 pixels into 3\r
-  do\r
-  {\r
-    *(unsigned short *)pd=ps[0]; pd+=xpitch;\r
-    *(unsigned short *)pd=(unsigned short)((ps[1]+ps[2])>>1); pd+=xpitch;\r
-    *(unsigned short *)pd=ps[3]; pd+=xpitch;\r
-    ps+=4;\r
-  }\r
-  while (ps<end);\r
-\r
-  return 0;\r
-}\r
-\r
-static int DoFrame()\r
-{\r
-  int pad=0,i=0,ks=0;\r
-  char map[8]={0,1,2,3,5,6,4,7}; // u/d/l/r/b/c/a/start\r
-\r
-  for (i=0;i<8;i++)\r
-  {\r
-    ks=GetAsyncKeyState(Config.key[map[i]]);\r
-    if (ks) pad|=1<<i;\r
-  }\r
-  PicoPad[0]=pad;\r
-\r
-  PicoFrame();\r
-  return 0;\r
-}\r
-\r
-static int DrawFrame()\r
-{\r
-  // Now final frame is drawn:\r
-  InvalidateRect(FrameWnd,&Targ.view,0);\r
-\r
-  if (Main3800) Targ.screen=(unsigned char *)0xac0755a0; // The real 3800 screen address\r
-  else          Targ.screen=(unsigned char *)GXBeginDraw();\r
-\r
-  if (Targ.screen==NULL) return 1;\r
-\r
-  TargetUpdate();\r
-\r
-  PicoScan=EmulateScan; // Setup scanline callback\r
-  DoFrame();\r
-  PicoScan=NULL;\r
-\r
-\r
-  \r
-  if (Main3800==0) GXEndDraw();\r
-\r
-  Targ.screen=NULL;\r
-\r
-  ValidateRect(FrameWnd,&Targ.update);\r
-\r
-  if (PicoStatus[0])\r
-  {\r
-    // Print the status of the 68000:\r
-    HDC hdc=GetDC(FrameWnd);\r
-    RECT rect={0,220, 240,260};\r
-    TCHAR status[128]={0};\r
-\r
-    wsprintf(status,L"%.120S",PicoStatus);\r
-\r
-    FillRect(hdc,&rect,(HBRUSH)GetStockObject(WHITE_BRUSH));\r
-    SetBkMode(hdc,TRANSPARENT);\r
-\r
-    DrawText(hdc,status,lstrlen(status),&rect,0);\r
-    ReleaseDC(FrameWnd,hdc);\r
-  }\r
-\r
-  return 0;\r
-}\r
-\r
-int EmulateFrame()\r
-{\r
-  int i=0,need=0;\r
-  int time=0,frame=0;\r
-\r
-  if (RomData==NULL) return 1;\r
-\r
-  // Speed throttle:\r
-  time=GetTickCount()-LastSecond; // This will be about 0-1000 ms\r
-  frame=time*FramesPerSecond/1000;\r
-  need=frame-FramesDone;\r
-  FramesDone=frame;\r
-\r
-  if (FramesPerSecond>0)\r
-  {\r
-    // Carry over any >60 frame count to one second\r
-    while (FramesDone>=FramesPerSecond) { FramesDone-=FramesPerSecond; LastSecond+=1000; }\r
-  }\r
-\r
-  if (need<=0) { Sleep(2); return 1; }\r
-  if (need>4) need=4; // Limit frame skipping\r
-\r
-  for (i=0;i<need-1;i++) DoFrame(); // Frame skip if needed\r
-\r
-  DrawFrame();\r
-  return 0;\r
-}\r
-\r
-int SndRender()\r
-{\r
-//  int p=0;\r
-\r
-  PsndRate=WaveRate;\r
-  PsndLen=WaveLen;\r
-  PsndOut=WaveDest;\r
-\r
-  DrawFrame();\r
-  // Convert to signed:\r
-//  for (p=0;p<PsndLen<<1;p++) PsndOut[p]+=0x8000;\r
-\r
-  PsndRate=PsndLen=0;\r
-  PsndOut=NULL;\r
-\r
-  return 0;\r
-}\r
diff --git a/PicoDrive/File.cpp b/PicoDrive/File.cpp
deleted file mode 100644 (file)
index 98e6cf3..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-\r
-// This file is part of the PicoDrive Megadrive Emulator\r
-\r
-// Copyright (c) 2011 FinalDave (emudave (at) gmail.com)\r
-\r
-// This code is licensed under the GNU General Public License version 2.0 and the MAME License.\r
-// You can choose the license that has the most advantages for you.\r
-\r
-// SVN repository can be found at http://code.google.com/p/cyclone68000/\r
-\r
-#include "stdafx.h"\r
-\r
-// Loading roms, loading and saving states etc...\r
-\r
-int FileLoadRom()\r
-{\r
-  OPENFILENAME ofn;\r
-\r
-  memset(&ofn,0,sizeof(ofn));\r
-  memset(&RomName,0,sizeof(RomName));\r
-\r
-  ofn.lStructSize=sizeof(ofn);\r
-  ofn.hwndOwner=FrameWnd;\r
-  ofn.hInstance=GetModuleHandle(NULL);\r
-  ofn.lpstrFile=RomName;\r
-  ofn.nMaxFile=260;\r
-  ofn.lpstrDefExt=L"bin";\r
-  ofn.lpstrFilter=L"Rom Files\0*.bin;*.gen;*.smd\0\0";\r
-\r
-  GetOpenFileName(&ofn);\r
-\r
-  UpdateWindow(FrameWnd);\r
-\r
-  // Open new rom:\r
-  if (RomName[0]) EmulateInit();\r
-\r
-  return 0;\r
-}\r
-\r
-int FileState(int load)\r
-{\r
-  OPENFILENAME ofn;\r
-  WCHAR name[260]={0};\r
-\r
-  if (load==0) wcscpy(name,L"State.mds");\r
-\r
-  memset(&ofn,0,sizeof(ofn));\r
-  ofn.lStructSize=sizeof(ofn);\r
-  ofn.hwndOwner=FrameWnd;\r
-  ofn.hInstance=GetModuleHandle(NULL);\r
-  ofn.lpstrFile=name;\r
-  ofn.nMaxFile=sizeof(name)>>1;\r
-  ofn.lpstrDefExt=L"mds";\r
-  ofn.lpstrFilter=L"MD State Files\0*.mds\0\0";\r
-\r
-  if (load) GetOpenFileNameW(&ofn);\r
-  else      GetSaveFileNameW(&ofn);\r
-  UpdateWindow(FrameWnd);\r
-\r
-  if (name[0]==0) return 1;\r
-\r
-  if (PmovFile) fclose(PmovFile);\r
-\r
-  PmovFile=_wfopen(name,load ? L"rb":L"wb");\r
-  if (PmovFile==NULL) return 1;\r
-  \r
-  PmovAction=load?6:5;\r
-  PmovState(); // Save the state\r
-\r
-  return 0;\r
-}\r
diff --git a/PicoDrive/FrameWindow.cpp b/PicoDrive/FrameWindow.cpp
deleted file mode 100644 (file)
index 110d6dd..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-\r
-// This file is part of the PicoDrive Megadrive Emulator\r
-\r
-// Copyright (c) 2011 FinalDave (emudave (at) gmail.com)\r
-\r
-// This code is licensed under the GNU General Public License version 2.0 and the MAME License.\r
-// You can choose the license that has the most advantages for you.\r
-\r
-// SVN repository can be found at http://code.google.com/p/cyclone68000/\r
-\r
-#include "stdafx.h"\r
-\r
-HWND FrameWnd=NULL;\r
-struct GXDisplayProperties GXDisp;\r
-struct GXKeyList GXKey;\r
-\r
-// Window procedure for frame window\r
-static LRESULT CALLBACK FrameProc(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam)\r
-{\r
-  switch (Msg)\r
-  {\r
-    case WM_COMMAND:\r
-    switch (LOWORD(wParam))\r
-    {\r
-      case IDOK: case IDCANCEL: SendMessage(hWnd,WM_CLOSE,0,0); break;\r
-\r
-      case ID_LOADROM: FileLoadRom(); break;\r
-      case ID_OPTIONS_GRAB: DebugScreenGrab(); break;\r
-      case ID_OPTIONS_SAVE: FileState(0); break;\r
-      case ID_OPTIONS_LOAD: FileState(1); break;\r
-    }\r
-    return 0;\r
-\r
-    case WM_KILLFOCUS: GXSuspend(); return 0;\r
-    case WM_SETFOCUS: GXResume(); return 0;\r
-\r
-    case WM_CLOSE: PostQuitMessage(0); return 0;\r
-\r
-    case WM_DESTROY:\r
-      GXCloseInput();\r
-      GXCloseDisplay();\r
-      FrameWnd=NULL; // Blank window handle\r
-    return 0;\r
-  }\r
-\r
-  return DefWindowProc(hWnd,Msg,wParam,lParam);\r
-}\r
-\r
-static int GxInit()\r
-{\r
-  GXOpenDisplay(FrameWnd,GX_FULLSCREEN);\r
-  GXOpenInput();\r
-  GXDisp=GXGetDisplayProperties();\r
-  GXKey=GXGetDefaultKeys(GX_NORMALKEYS);\r
-\r
-  // The real layout of the 3800:\r
-  if (Main3800) { GXDisp.cbxPitch=-640; GXDisp.cbyPitch=2; }\r
-\r
-  return 0;\r
-}\r
-\r
-int FrameInit()\r
-{\r
-  WNDCLASS wc;\r
-  SHMENUBARINFO mbi;\r
-  TCHAR title[128]={0};\r
-  RECT rect={0,0,0,0};\r
-\r
-  memset(&wc,0,sizeof(wc));\r
-  memset(&mbi,0,sizeof(mbi));\r
-\r
-  // Register the Frame window class\r
-  wc.lpfnWndProc=FrameProc;\r
-  wc.hInstance=GetModuleHandle(NULL);\r
-  wc.lpszClassName=APP_TITLE;\r
-  wc.hbrBackground=(HBRUSH)CreateSolidBrush(0x404040);\r
-  RegisterClass(&wc);\r
-\r
-  FrameWnd=CreateWindowEx(WS_EX_CAPTIONOKBTN,APP_TITLE,APP_TITLE,WS_VISIBLE,\r
-    CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,\r
-    NULL,NULL,wc.hInstance,NULL);\r
-  \r
-  wsprintf(title,APP_TITLE L" v%x.%.3x",PicoVer>>12,PicoVer&0xfff);\r
-  SetWindowText(FrameWnd,title);\r
-\r
-  // Show SIP\r
-  mbi.cbSize=sizeof(mbi);\r
-  mbi.hwndParent=FrameWnd;\r
-  mbi.nToolBarId=IDR_MENUBAR1;\r
-  mbi.hInstRes=wc.hInstance;\r
-  SHCreateMenuBar(&mbi);\r
-\r
-  // Resize Frame to avoid the SIP\r
-  GetWindowRect(FrameWnd,&rect);\r
-  MoveWindow(FrameWnd, rect.left,rect.top, rect.right-rect.left,rect.bottom-rect.top-26, 1);\r
-\r
-  GxInit();\r
-\r
-  FileLoadRom();\r
-  return 0;\r
-}\r
diff --git a/PicoDrive/PicoDrive.txt b/PicoDrive/PicoDrive.txt
deleted file mode 100644 (file)
index 9da9484..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-\r
-----------------------------------------------------------------------------\r
-\r
-                                PicoDrive\r
-\r
-                    Megadrive emulator for Pocket PC\r
-\r
-This code is licensed under the GNU General Public License version 2.0 and the MAME License.\r
-You can choose the license that has the most advantages for you.\r
-\r
-SVN repository can be found at http://code.google.com/p/cyclone68000/\r
-\r
-----------------------------------------------------------------------------\r
-\r
-  What's new?\r
-\r
-0.030\r
-  Cyclone v0.076, fixes:\r
-  + Fixed an issue with sbcd - e.g. when 0x00-0x01 was performed, the result was correct (0x99),\r
-  but the carry bit was not set. Also changed abcd code to be more similar to new sbcd.\r
-  Used on RT2.\r
-  + Fixed a subtle issue in btst #n,(An), if the target is less that 32-bit, the value is\r
-  now masked.\r
-  Rolling Thunder 2 did this, but it doesn't seem to have fixed/broken anything.\r
-  + Oops #2! Cmpa was writing back the value to the destination register! Fixes: don't know.\r
-  + Oops #3! The CCR should be writable from any mode, previously it was only allowed from the\r
-    supervisor mode. Fixes Gain Ground.\r
-  + Added cmpm (Flicky, Decap Attack)\r
-  + For movem, added some EA modes (like 0x3a PC relative) which I thought were invalid, but\r
-    Flicky uses movem to PC relative...\r
-  + Oops, incorrect eor opcodes were being emitted instead of cmpm opcodes\r
-  * Trying a different way of doing addx/subx with carry (to fix zero flag?)\r
-\r
-0.025\r
-  + Doh, fixed a dumb divide by zero in the (w.i.p.) sound code - Sonic 1, Revenge of Shinobi\r
-    work again!\r
-\r
-0.024\r
-  Cyclone v0.072:\r
-  + Fixed a problem with divs - remainder should be negative when result is negative\r
-    Fixed intro of Block Out.\r
-  \r
-  + Fixed a typo in SekInterrupt\r
-\r
-  + Added a config file PicoConfig.txt with key codes, in the root directory\r
-    of the Pocket PC. If you want you can edit this to remap keys. I'll add\r
-    an easier way to redefine keys later.\r
-  - Revenge of Shinobi strangely seems broken?\r
-\r
-0.022\r
-  Cyclone changes:\r
-  + Added movep opcode (Sonic 3 works)\r
-  + Fixed a problem with DBcc not decrementing if the condition is false (Shadow of the Beast)\r
-\r
-0.018\r
-  Cyclone changes:\r
-    + Added SBCD and the flags for ABCD/SBCD. Score and time now works in games such as\r
-      Rolling Thunder 2, Ghouls 'N Ghosts\r
-    + Fixed a problem with addx and subx with 8-bit and 16-bit values.\r
-      Ghouls 'N' Ghosts now works!\r
-    + Alien 3 now works\r
-    + Added ABCD opcode (Streets of Rage works now!)\r
-\r
-0.017 Added Window (score display)\r
-\r
-0.016\r
-  + Added some Z80 faking which makes a few more games run\r
-  + Sped up graphics rendering a bit\r
-  + Fixed Sprite priority\r
-\r
-Cyclone Fixes\r
-  + Added dbCC (After Burner)\r
-  + Added asr EA (Sonic 1 Boss/Labyrinth Zone)\r
-  + Added andi/ori/eori ccr (Altered Beast)\r
-  + Added trap (After Burner)\r
-  + Added special case for move.b (a7)+ and -(a7), stepping by 2\r
-    After Burner is playable! Eternal Champions shows more\r
-  + Fixed lsr.b/w zero flag (Ghostbusters)\r
-    Rolling Thunder 2 first level only now works\r
-  + Fixed N flag for .b and .w arithmetic. Golden Axe works!\r
-\r
-\r
-v0.011\r
-Changes are to the Cyclone core, repeated here:\r
-----\r
-v0.0065\r
-  + Fixed a problem with immediate values - they weren't being shifted up correctly for some\r
-    opcodes. Spiderman works, After Burner shows a bit of graphics.\r
-  + Fixed a problem with EA:"110nnn" extension word. 32-bit offsets were being decoded as 8-bit\r
-    offsets by mistake. Castlevania Bloodlines seems fine now.\r
-  + Added exg opcode\r
-  + Fixed asr opcode (Sonic jumping left is fixed)\r
-  + Fixed a problem with the carry bit in rol.b (Marble Madness)\r
-\r
-v0.0064\r
-  + Added rtr\r
-  + Fixed addq/subq.l (all An opcodes are 32-bit) (Road Rash)\r
-  + Fixed various little timings\r
-\r
-v0.0063\r
-  + Added link/unlk opcodes\r
-  + Fixed various little timings\r
-  + Fixed a problem with dbCC opcode being emitted at set opcodes\r
-  + Improved long register access, the EA fetch now does ldr r0,[r7,r0,lsl #2] whenever\r
-     possible, saving 1 or 2 cycles on many opcodes, which should give a nice speed up.\r
-  + May have fixed N flag on ext opcode?\r
-  + Added dasm for link opcode.\r
-\r
-v0.0062\r
-  * I was a bit too keen with the Arithmetic opcodes! Some of them should have been abcd,\r
-    exg and addx. Removed the incorrect opcodes, pending re-adding them as abcd, exg and addx.\r
-  + Changed unknown opcodes to act as nops.\r
-    Not very technical, but fun - a few more games show more graphics ;)\r
-\r
-v0.0060\r
-  + Fixed divu (EA intro)\r
-  + Added sf (set false) opcode - SOR2\r
-  * Todo: pea/link/unlk opcodes\r
-----\r
-v0.010\r
-\r
-+ Cyclone v0.0059: Added remainder to divide opcodes.\r
-  Background is now fixed on Eswat and Revenge of Shinobi. In fact they are playable!\r
-\r
-* Shrunk the screen down because some games aren't playable if you can't see the whole\r
-  320 pixel width.\r
-\r
-* Merged the PicoDrive and GenaDrive 'Pico' directories, with ifdefs for EMU_C68K (Cyclone)\r
-  and EMU_A68K.\r
-\r
-+ While making GenaDrive I noticed a few bugs in the memory handlers and carried them\r
-  over to PicoDrive.\r
-  A lot of games (Revenge of Shinobi, Eswat, Sonic 1 maybe even) were reading\r
-  from memory locations like 0xff000000+Rom address, and I wasn't returning the Rom data.\r
-  Many more games show graphics now (G'n'G, Sonic 1)!\r
-\r
-* Cyclone: Changed the way Cyclone reads memory to be a bit less confusing.\r
-  The read/write memory handlers are now like this:\r
-\r
-  unsigned char  (*read8  )(unsigned int a);  // [r7,#0x68]\r
-  unsigned short (*read16 )(unsigned int a);  // [r7,#0x6c]\r
-  unsigned int   (*read32 )(unsigned int a);  // [r7,#0x70]\r
-  void (*write8 )(unsigned int a,unsigned char  d); // [r7,#0x74]\r
-  void (*write16)(unsigned int a,unsigned short d); // [r7,#0x78]\r
-  void (*write32)(unsigned int a,unsigned int   d); // [r7,#0x7c]\r
-\r
-  This means the Cyclone itself now sign-extends 16 and 8-bit values when needed, and\r
-  the application doesn't have to.\r
-\r
-\r
-v0.007 - Initial release\r
-\r
-  Haven't been working on this much recently so I thought I'd release what\r
-  I had onto the Internet.\r
-\r
-  Basically this is largely a framework for Cyclone, my 68000 core, and the\r
-  simplest system has to be the Megadrive, which is just really a 68000 with\r
-  flat address space wired up to a video display processor.\r
-  The Megadrive does of course have a Z80 for sound as well, but many games\r
-  will still run without it. Basically it's one of the most forgiving systems,\r
-  so it's probably a good starting point.\r
-\r
-  Not many games run, and none of them are playable yet, but if you really want\r
-  to take a look anyway, here's what to do:\r
-\r
--------------------------------------------------------------------------------\r
-\r
-How to run PicoDrive\r
-\r
-  First connect your Pocket PC and copy PicoDrive.exe to it. Windows\Start Menu is \r
-  probably the best place for easy access.\r
-  It needs to have GAPI installed, which you may have already. If you don't it\r
-  will give you a really unhelpful error message (good old Windows!) like "Unable to execute\r
-  program".\r
-  To install GAPI just drop gx.dll into either the same folder as PicoDrive, or\r
-  your Windows folder.\r
-  Rom images go in the My Documents folder, and they must be in .BIN format, uncompressed.\r
-\r
-  From memory, some games which do something are: Revenge of Shinobi, Sonic 2,\r
-  Ghouls 'N' Ghosts and CastleVania Bloodlines. Most just show a big blank screen :(\r
-  \r
-  If you find any games that are playable (maybe a PD game?), let me know, I'd be interested ;)\r
-  My e-mail is dev(at)finalburn.com - replace the (at) with an @\r
-  \r
-  I think there must be something wrong somewhere with one of the ASL-type instructions\r
-  or something - there are still a few unimplemented opcodes, and also I don't think I did\r
-  the remainder from DIVS and DIVU yet.\r
-\r
-  Dave.\r
-  emudave(atsymbol)gmail.com\r
-\r
diff --git a/PicoDrive/PicoDrive.vcp b/PicoDrive/PicoDrive.vcp
deleted file mode 100644 (file)
index e0654d3..0000000
+++ /dev/null
@@ -1,851 +0,0 @@
-# Microsoft eMbedded Visual Tools Project File - Name="PicoDrive" - Package Owner=<4>\r
-# Microsoft eMbedded Visual Tools Generated Build File, Format Version 6.02\r
-# ** DO NOT EDIT **\r
-\r
-# TARGTYPE "Win32 (WCE x86) Application" 0x8301\r
-# TARGTYPE "Win32 (WCE ARM) Application" 0x8501\r
-# TARGTYPE "Win32 (WCE x86em) Application" 0x7f01\r
-\r
-CFG=PicoDrive - Win32 (WCE ARM) Debug\r
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,\r
-!MESSAGE use the Export Makefile command and run\r
-!MESSAGE \r
-!MESSAGE NMAKE /f "PicoDrive.vcn".\r
-!MESSAGE \r
-!MESSAGE You can specify a configuration when running NMAKE\r
-!MESSAGE by defining the macro CFG on the command line. For example:\r
-!MESSAGE \r
-!MESSAGE NMAKE /f "PicoDrive.vcn" CFG="PicoDrive - Win32 (WCE ARM) Debug"\r
-!MESSAGE \r
-!MESSAGE Possible choices for configuration are:\r
-!MESSAGE \r
-!MESSAGE "PicoDrive - Win32 (WCE ARM) Release" (based on "Win32 (WCE ARM) Application")\r
-!MESSAGE "PicoDrive - Win32 (WCE ARM) Debug" (based on "Win32 (WCE ARM) Application")\r
-!MESSAGE "PicoDrive - Win32 (WCE x86) Release" (based on "Win32 (WCE x86) Application")\r
-!MESSAGE "PicoDrive - Win32 (WCE x86) Debug" (based on "Win32 (WCE x86) Application")\r
-!MESSAGE "PicoDrive - Win32 (WCE x86em) Release" (based on "Win32 (WCE x86em) Application")\r
-!MESSAGE "PicoDrive - Win32 (WCE x86em) Debug" (based on "Win32 (WCE x86em) Application")\r
-!MESSAGE \r
-\r
-# Begin Project\r
-# PROP AllowPerConfigDependencies 0\r
-# PROP Scc_ProjName ""\r
-# PROP Scc_LocalPath ""\r
-# PROP ATL_Project 2\r
-\r
-!IF  "$(CFG)" == "PicoDrive - Win32 (WCE ARM) Release"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 0\r
-# PROP BASE Output_Dir "ARMRel"\r
-# PROP BASE Intermediate_Dir "ARMRel"\r
-# PROP BASE CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"\r
-# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 0\r
-# PROP Output_Dir "ARMRel"\r
-# PROP Intermediate_Dir "ARMRel"\r
-# PROP CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"\r
-# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"\r
-# PROP Ignore_Export_Lib 0\r
-# PROP Target_Dir ""\r
-RSC=rc.exe\r
-# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /r\r
-# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /r\r
-CPP=clarm.exe\r
-# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /Oxs /M$(CECrtMT) /c\r
-# ADD CPP /nologo /W4 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /FR /YX /Oxs /M$(CECrtMT) /c\r
-MTL=midl.exe\r
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32\r
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LINK32=link.exe\r
-# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM\r
-# ADD LINK32 coredll.lib gx.lib aygshell.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM\r
-# Begin Special Build Tool\r
-TargetPath=.\ARMRel\PicoDrive.exe\r
-SOURCE="$(InputPath)"\r
-PostBuild_Cmds=copy $(TargetPath) "D:\Briefcase"\r
-# End Special Build Tool\r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE ARM) Debug"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 1\r
-# PROP BASE Output_Dir "ARMDbg"\r
-# PROP BASE Intermediate_Dir "ARMDbg"\r
-# PROP BASE CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"\r
-# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 1\r
-# PROP Output_Dir "ARMDbg"\r
-# PROP Intermediate_Dir "ARMDbg"\r
-# PROP CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"\r
-# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"\r
-# PROP Ignore_Export_Lib 0\r
-# PROP Target_Dir ""\r
-RSC=rc.exe\r
-# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /r\r
-# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /r\r
-CPP=clarm.exe\r
-# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /M$(CECrtMTDebug) /c\r
-# ADD CPP /nologo /W4 /Zi /Od /D "DEBUG" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /M$(CECrtMTDebug) /c\r
-MTL=midl.exe\r
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32\r
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LINK32=link.exe\r
-# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM\r
-# ADD LINK32 coredll.lib gx.lib aygshell.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM\r
-# Begin Special Build Tool\r
-TargetPath=.\ARMDbg\PicoDrive.exe\r
-SOURCE="$(InputPath)"\r
-PostBuild_Cmds=copy $(TargetPath) "C:\Documents and Settings\Dave\My Documents\Mio My Documents"\r
-# End Special Build Tool\r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86) Release"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 0\r
-# PROP BASE Output_Dir "X86Rel"\r
-# PROP BASE Intermediate_Dir "X86Rel"\r
-# PROP BASE CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}"\r
-# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 0\r
-# PROP Output_Dir "X86Rel"\r
-# PROP Intermediate_Dir "X86Rel"\r
-# PROP CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}"\r
-# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"\r
-# PROP Ignore_Export_Lib 0\r
-# PROP Target_Dir ""\r
-RSC=rc.exe\r
-# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r\r
-# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r\r
-CPP=cl.exe\r
-# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /YX /Gs8192 /GF /Oxs /c\r
-# ADD CPP /nologo /W4 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /FR /YX /Gs8192 /GF /Oxs /c\r
-MTL=midl.exe\r
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32\r
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LINK32=link.exe\r
-# ADD BASE LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86\r
-# ADD LINK32 $(CEx86Corelibc) coredll.lib gx.lib aygshell.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86\r
-# Begin Special Build Tool\r
-TargetPath=.\X86Rel\PicoDrive.exe\r
-SOURCE="$(InputPath)"\r
-PostBuild_Cmds=copy $(TargetPath) "C:\Documents and Settings\Dave\My Documents\Mio My Documents"\r
-# End Special Build Tool\r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86) Debug"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 1\r
-# PROP BASE Output_Dir "X86Dbg"\r
-# PROP BASE Intermediate_Dir "X86Dbg"\r
-# PROP BASE CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}"\r
-# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 1\r
-# PROP Output_Dir "X86Dbg"\r
-# PROP Intermediate_Dir "X86Dbg"\r
-# PROP CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}"\r
-# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"\r
-# PROP Ignore_Export_Lib 0\r
-# PROP Target_Dir ""\r
-RSC=rc.exe\r
-# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r\r
-# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r\r
-CPP=cl.exe\r
-# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "_i386_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /YX /Gs8192 /GF /c\r
-# ADD CPP /nologo /W4 /Zi /Od /D "DEBUG" /D "_i386_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /YX /Gs8192 /GF /c\r
-MTL=midl.exe\r
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32\r
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LINK32=link.exe\r
-# ADD BASE LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86\r
-# ADD LINK32 $(CEx86Corelibc) coredll.lib gx.lib aygshell.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86\r
-# Begin Special Build Tool\r
-TargetPath=.\X86Dbg\PicoDrive.exe\r
-SOURCE="$(InputPath)"\r
-PostBuild_Cmds=copy $(TargetPath) "C:\Documents and Settings\Dave\My Documents\Mio My Documents"\r
-# End Special Build Tool\r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86em) Release"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 0\r
-# PROP BASE Output_Dir "X86EMRel"\r
-# PROP BASE Intermediate_Dir "X86EMRel"\r
-# PROP BASE CPU_ID "{D6518FF4-710F-11D3-99F2-00105A0DF099}"\r
-# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 0\r
-# PROP Output_Dir "X86EMRel"\r
-# PROP Intermediate_Dir "X86EMRel"\r
-# PROP CPU_ID "{D6518FF4-710F-11D3-99F2-00105A0DF099}"\r
-# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"\r
-# PROP Ignore_Export_Lib 0\r
-# PROP Target_Dir ""\r
-RSC=rc.exe\r
-# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "i486" /r\r
-# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "i486" /r\r
-CPP=cl.exe\r
-# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "WIN32" /D "STRICT" /D "_WIN32_WCE_EMULATION" /D "INTERNATIONAL" /D "USA" /D "INTLMSG_CODEPAGE" /D "$(CePlatform)" /D "i486" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /YX /Gz /Oxs /c\r
-# ADD CPP /nologo /W4 /D _WIN32_WCE=$(CEVersion) /D "WIN32" /D "STRICT" /D "_WIN32_WCE_EMULATION" /D "INTERNATIONAL" /D "USA" /D "INTLMSG_CODEPAGE" /D "$(CePlatform)" /D "i486" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /FR /YX /Gz /Oxs /c\r
-MTL=midl.exe\r
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32\r
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LINK32=link.exe\r
-# ADD BASE LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) /nologo /stack:0x10000,0x1000 /subsystem:windows /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /windowsce:emulation /MACHINE:IX86\r
-# ADD LINK32 $(CEx86Corelibc) coredll.lib gx.lib aygshell.lib /nologo /stack:0x10000,0x1000 /subsystem:windows /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /windowsce:emulation /MACHINE:IX86\r
-# Begin Special Build Tool\r
-TargetPath=.\X86EMRel\PicoDrive.exe\r
-SOURCE="$(InputPath)"\r
-PostBuild_Cmds=copy $(TargetPath) "C:\Documents and Settings\Dave\My Documents\Mio My Documents"\r
-# End Special Build Tool\r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86em) Debug"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 1\r
-# PROP BASE Output_Dir "X86EMDbg"\r
-# PROP BASE Intermediate_Dir "X86EMDbg"\r
-# PROP BASE CPU_ID "{D6518FF4-710F-11D3-99F2-00105A0DF099}"\r
-# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 1\r
-# PROP Output_Dir "X86EMDbg"\r
-# PROP Intermediate_Dir "X86EMDbg"\r
-# PROP CPU_ID "{D6518FF4-710F-11D3-99F2-00105A0DF099}"\r
-# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"\r
-# PROP Ignore_Export_Lib 0\r
-# PROP Target_Dir ""\r
-RSC=rc.exe\r
-# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "i486" /r\r
-# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "i486" /r\r
-CPP=cl.exe\r
-# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "i486" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "WIN32" /D "STRICT" /D "_WIN32_WCE_EMULATION" /D "INTERNATIONAL" /D "USA" /D "INTLMSG_CODEPAGE" /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /YX /Gz /c\r
-# ADD CPP /nologo /W4 /Zi /Od /D "DEBUG" /D "i486" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "WIN32" /D "STRICT" /D "_WIN32_WCE_EMULATION" /D "INTERNATIONAL" /D "USA" /D "INTLMSG_CODEPAGE" /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /YX /Gz /c\r
-MTL=midl.exe\r
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32\r
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LINK32=link.exe\r
-# ADD BASE LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) /nologo /stack:0x10000,0x1000 /subsystem:windows /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /windowsce:emulation /MACHINE:IX86\r
-# ADD LINK32 $(CEx86Corelibc) coredll.lib gx.lib aygshell.lib /nologo /stack:0x10000,0x1000 /subsystem:windows /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /windowsce:emulation /MACHINE:IX86\r
-# Begin Special Build Tool\r
-TargetPath=.\X86EMDbg\PicoDrive.exe\r
-SOURCE="$(InputPath)"\r
-PostBuild_Cmds=copy $(TargetPath) "C:\Documents and Settings\Dave\My Documents\Mio My Documents"\r
-# End Special Build Tool\r
-\r
-!ENDIF \r
-\r
-# Begin Target\r
-\r
-# Name "PicoDrive - Win32 (WCE ARM) Release"\r
-# Name "PicoDrive - Win32 (WCE ARM) Debug"\r
-# Name "PicoDrive - Win32 (WCE x86) Release"\r
-# Name "PicoDrive - Win32 (WCE x86) Debug"\r
-# Name "PicoDrive - Win32 (WCE x86em) Release"\r
-# Name "PicoDrive - Win32 (WCE x86em) Debug"\r
-# Begin Group "Source Files"\r
-\r
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"\r
-# Begin Source File\r
-\r
-SOURCE=.\Config.cpp\r
-\r
-!IF  "$(CFG)" == "PicoDrive - Win32 (WCE ARM) Release"\r
-\r
-DEP_CPP_CONFI=\\r
-       "..\Pico\Pico.h"\\r
-       ".\stdafx.h"\\r
-       {$(INCLUDE)}"aygshell.h"\\r
-       {$(INCLUDE)}"gx.h"\\r
-       {$(INCLUDE)}"sipapi.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE ARM) Debug"\r
-\r
-DEP_CPP_CONFI=\\r
-       "..\Pico\Pico.h"\\r
-       \r
-NODEP_CPP_CONFI=\\r
-       ".\app.h"\\r
-       ".\ipapi.h"\\r
-       ".\x.h"\\r
-       ".\ygshell.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86) Release"\r
-\r
-DEP_CPP_CONFI=\\r
-       "..\Pico\Pico.h"\\r
-       ".\stdafx.h"\\r
-       {$(INCLUDE)}"aygshell.h"\\r
-       {$(INCLUDE)}"gx.h"\\r
-       {$(INCLUDE)}"sipapi.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86) Debug"\r
-\r
-DEP_CPP_CONFI=\\r
-       "..\Pico\Pico.h"\\r
-       \r
-NODEP_CPP_CONFI=\\r
-       ".\app.h"\\r
-       ".\ipapi.h"\\r
-       ".\x.h"\\r
-       ".\ygshell.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86em) Release"\r
-\r
-DEP_CPP_CONFI=\\r
-       "..\Pico\Pico.h"\\r
-       \r
-NODEP_CPP_CONFI=\\r
-       ".\app.h"\\r
-       ".\ipapi.h"\\r
-       ".\x.h"\\r
-       ".\ygshell.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86em) Debug"\r
-\r
-DEP_CPP_CONFI=\\r
-       "..\Pico\Pico.h"\\r
-       \r
-NODEP_CPP_CONFI=\\r
-       ".\app.h"\\r
-       ".\ipapi.h"\\r
-       ".\x.h"\\r
-       ".\ygshell.h"\\r
-       \r
-\r
-!ENDIF \r
-\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\Debug.cpp\r
-\r
-!IF  "$(CFG)" == "PicoDrive - Win32 (WCE ARM) Release"\r
-\r
-DEP_CPP_DEBUG=\\r
-       "..\Pico\Pico.h"\\r
-       ".\stdafx.h"\\r
-       {$(INCLUDE)}"aygshell.h"\\r
-       {$(INCLUDE)}"gx.h"\\r
-       {$(INCLUDE)}"sipapi.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE ARM) Debug"\r
-\r
-DEP_CPP_DEBUG=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       "..\Pico\Disa.h"\\r
-       "..\Pico\Pico.h"\\r
-       "..\Pico\PicoInt.h"\\r
-       \r
-NODEP_CPP_DEBUG=\\r
-       ".\app.h"\\r
-       ".\ipapi.h"\\r
-       ".\x.h"\\r
-       ".\ygshell.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86) Release"\r
-\r
-DEP_CPP_DEBUG=\\r
-       "..\Pico\Pico.h"\\r
-       ".\stdafx.h"\\r
-       {$(INCLUDE)}"aygshell.h"\\r
-       {$(INCLUDE)}"gx.h"\\r
-       {$(INCLUDE)}"sipapi.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86) Debug"\r
-\r
-DEP_CPP_DEBUG=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       "..\Pico\Pico.h"\\r
-       "..\Pico\PicoInt.h"\\r
-       \r
-NODEP_CPP_DEBUG=\\r
-       "..\Cyclone\Disa.h"\\r
-       ".\app.h"\\r
-       ".\ipapi.h"\\r
-       ".\x.h"\\r
-       ".\ygshell.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86em) Release"\r
-\r
-DEP_CPP_DEBUG=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       "..\Pico\Disa.h"\\r
-       "..\Pico\Pico.h"\\r
-       "..\Pico\PicoInt.h"\\r
-       \r
-NODEP_CPP_DEBUG=\\r
-       ".\app.h"\\r
-       ".\ipapi.h"\\r
-       ".\x.h"\\r
-       ".\ygshell.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86em) Debug"\r
-\r
-DEP_CPP_DEBUG=\\r
-       "..\Cyclone\Cyclone.h"\\r
-       "..\Pico\Pico.h"\\r
-       "..\Pico\PicoInt.h"\\r
-       \r
-NODEP_CPP_DEBUG=\\r
-       "..\Cyclone\Disa.h"\\r
-       ".\app.h"\\r
-       ".\ipapi.h"\\r
-       ".\x.h"\\r
-       ".\ygshell.h"\\r
-       \r
-\r
-!ENDIF \r
-\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\Emulate.cpp\r
-\r
-!IF  "$(CFG)" == "PicoDrive - Win32 (WCE ARM) Release"\r
-\r
-DEP_CPP_EMULA=\\r
-       "..\Pico\Pico.h"\\r
-       ".\stdafx.h"\\r
-       {$(INCLUDE)}"aygshell.h"\\r
-       {$(INCLUDE)}"gx.h"\\r
-       {$(INCLUDE)}"sipapi.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE ARM) Debug"\r
-\r
-DEP_CPP_EMULA=\\r
-       "..\Pico\Pico.h"\\r
-       \r
-NODEP_CPP_EMULA=\\r
-       ".\app.h"\\r
-       ".\ipapi.h"\\r
-       ".\x.h"\\r
-       ".\ygshell.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86) Release"\r
-\r
-DEP_CPP_EMULA=\\r
-       "..\Pico\Pico.h"\\r
-       ".\stdafx.h"\\r
-       {$(INCLUDE)}"aygshell.h"\\r
-       {$(INCLUDE)}"gx.h"\\r
-       {$(INCLUDE)}"sipapi.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86) Debug"\r
-\r
-DEP_CPP_EMULA=\\r
-       "..\Pico\Pico.h"\\r
-       ".\stdafx.h"\\r
-       {$(INCLUDE)}"aygshell.h"\\r
-       {$(INCLUDE)}"gx.h"\\r
-       {$(INCLUDE)}"sipapi.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86em) Release"\r
-\r
-DEP_CPP_EMULA=\\r
-       "..\Pico\Pico.h"\\r
-       \r
-NODEP_CPP_EMULA=\\r
-       ".\app.h"\\r
-       ".\ipapi.h"\\r
-       ".\x.h"\\r
-       ".\ygshell.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86em) Debug"\r
-\r
-DEP_CPP_EMULA=\\r
-       "..\Pico\Pico.h"\\r
-       ".\stdafx.h"\\r
-       {$(INCLUDE)}"aygshell.h"\\r
-       {$(INCLUDE)}"gx.h"\\r
-       {$(INCLUDE)}"sipapi.h"\\r
-       \r
-\r
-!ENDIF \r
-\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\File.cpp\r
-\r
-!IF  "$(CFG)" == "PicoDrive - Win32 (WCE ARM) Release"\r
-\r
-DEP_CPP_FILE_=\\r
-       "..\Pico\Pico.h"\\r
-       ".\stdafx.h"\\r
-       {$(INCLUDE)}"aygshell.h"\\r
-       {$(INCLUDE)}"gx.h"\\r
-       {$(INCLUDE)}"sipapi.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE ARM) Debug"\r
-\r
-DEP_CPP_FILE_=\\r
-       "..\Pico\Pico.h"\\r
-       ".\stdafx.h"\\r
-       \r
-NODEP_CPP_FILE_=\\r
-       ".\ipapi.h"\\r
-       ".\x.h"\\r
-       ".\ygshell.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86) Release"\r
-\r
-DEP_CPP_FILE_=\\r
-       "..\Pico\Pico.h"\\r
-       ".\stdafx.h"\\r
-       {$(INCLUDE)}"aygshell.h"\\r
-       {$(INCLUDE)}"gx.h"\\r
-       {$(INCLUDE)}"sipapi.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86) Debug"\r
-\r
-DEP_CPP_FILE_=\\r
-       "..\Pico\Pico.h"\\r
-       ".\stdafx.h"\\r
-       \r
-NODEP_CPP_FILE_=\\r
-       ".\ipapi.h"\\r
-       ".\x.h"\\r
-       ".\ygshell.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86em) Release"\r
-\r
-DEP_CPP_FILE_=\\r
-       "..\Pico\Pico.h"\\r
-       ".\stdafx.h"\\r
-       \r
-NODEP_CPP_FILE_=\\r
-       ".\ipapi.h"\\r
-       ".\x.h"\\r
-       ".\ygshell.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86em) Debug"\r
-\r
-DEP_CPP_FILE_=\\r
-       "..\Pico\Pico.h"\\r
-       ".\stdafx.h"\\r
-       \r
-NODEP_CPP_FILE_=\\r
-       ".\ipapi.h"\\r
-       ".\x.h"\\r
-       ".\ygshell.h"\\r
-       \r
-\r
-!ENDIF \r
-\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\FrameWindow.cpp\r
-\r
-!IF  "$(CFG)" == "PicoDrive - Win32 (WCE ARM) Release"\r
-\r
-DEP_CPP_FRAME=\\r
-       "..\Pico\Pico.h"\\r
-       ".\stdafx.h"\\r
-       {$(INCLUDE)}"aygshell.h"\\r
-       {$(INCLUDE)}"gx.h"\\r
-       {$(INCLUDE)}"sipapi.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE ARM) Debug"\r
-\r
-DEP_CPP_FRAME=\\r
-       "..\Pico\Pico.h"\\r
-       \r
-NODEP_CPP_FRAME=\\r
-       ".\app.h"\\r
-       ".\ipapi.h"\\r
-       ".\x.h"\\r
-       ".\ygshell.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86) Release"\r
-\r
-DEP_CPP_FRAME=\\r
-       "..\Pico\Pico.h"\\r
-       ".\stdafx.h"\\r
-       {$(INCLUDE)}"aygshell.h"\\r
-       {$(INCLUDE)}"gx.h"\\r
-       {$(INCLUDE)}"sipapi.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86) Debug"\r
-\r
-DEP_CPP_FRAME=\\r
-       "..\Pico\Pico.h"\\r
-       ".\stdafx.h"\\r
-       {$(INCLUDE)}"aygshell.h"\\r
-       {$(INCLUDE)}"gx.h"\\r
-       {$(INCLUDE)}"sipapi.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86em) Release"\r
-\r
-DEP_CPP_FRAME=\\r
-       "..\Pico\Pico.h"\\r
-       \r
-NODEP_CPP_FRAME=\\r
-       ".\app.h"\\r
-       ".\ipapi.h"\\r
-       ".\x.h"\\r
-       ".\ygshell.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86em) Debug"\r
-\r
-DEP_CPP_FRAME=\\r
-       "..\Pico\Pico.h"\\r
-       ".\stdafx.h"\\r
-       {$(INCLUDE)}"aygshell.h"\\r
-       {$(INCLUDE)}"gx.h"\\r
-       {$(INCLUDE)}"sipapi.h"\\r
-       \r
-\r
-!ENDIF \r
-\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\PicoDrive.txt\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\Wave.cpp\r
-\r
-!IF  "$(CFG)" == "PicoDrive - Win32 (WCE ARM) Release"\r
-\r
-DEP_CPP_WAVE_=\\r
-       "..\Pico\Pico.h"\\r
-       ".\stdafx.h"\\r
-       {$(INCLUDE)}"aygshell.h"\\r
-       {$(INCLUDE)}"gx.h"\\r
-       {$(INCLUDE)}"sipapi.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE ARM) Debug"\r
-\r
-DEP_CPP_WAVE_=\\r
-       "..\Pico\Pico.h"\\r
-       \r
-NODEP_CPP_WAVE_=\\r
-       ".\app.h"\\r
-       ".\ipapi.h"\\r
-       ".\x.h"\\r
-       ".\ygshell.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86) Release"\r
-\r
-DEP_CPP_WAVE_=\\r
-       "..\Pico\Pico.h"\\r
-       ".\stdafx.h"\\r
-       {$(INCLUDE)}"aygshell.h"\\r
-       {$(INCLUDE)}"gx.h"\\r
-       {$(INCLUDE)}"sipapi.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86) Debug"\r
-\r
-DEP_CPP_WAVE_=\\r
-       "..\Pico\Pico.h"\\r
-       \r
-NODEP_CPP_WAVE_=\\r
-       ".\app.h"\\r
-       ".\ipapi.h"\\r
-       ".\x.h"\\r
-       ".\ygshell.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86em) Release"\r
-\r
-DEP_CPP_WAVE_=\\r
-       "..\Pico\Pico.h"\\r
-       \r
-NODEP_CPP_WAVE_=\\r
-       ".\app.h"\\r
-       ".\ipapi.h"\\r
-       ".\x.h"\\r
-       ".\ygshell.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86em) Debug"\r
-\r
-DEP_CPP_WAVE_=\\r
-       "..\Pico\Pico.h"\\r
-       \r
-NODEP_CPP_WAVE_=\\r
-       ".\app.h"\\r
-       ".\ipapi.h"\\r
-       ".\x.h"\\r
-       ".\ygshell.h"\\r
-       \r
-\r
-!ENDIF \r
-\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\WinMain.cpp\r
-\r
-!IF  "$(CFG)" == "PicoDrive - Win32 (WCE ARM) Release"\r
-\r
-DEP_CPP_WINMA=\\r
-       "..\Pico\Pico.h"\\r
-       ".\stdafx.h"\\r
-       {$(INCLUDE)}"aygshell.h"\\r
-       {$(INCLUDE)}"gx.h"\\r
-       {$(INCLUDE)}"sipapi.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE ARM) Debug"\r
-\r
-DEP_CPP_WINMA=\\r
-       "..\Pico\Pico.h"\\r
-       \r
-NODEP_CPP_WINMA=\\r
-       ".\app.h"\\r
-       ".\ipapi.h"\\r
-       ".\x.h"\\r
-       ".\ygshell.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86) Release"\r
-\r
-DEP_CPP_WINMA=\\r
-       "..\Pico\Pico.h"\\r
-       ".\stdafx.h"\\r
-       {$(INCLUDE)}"aygshell.h"\\r
-       {$(INCLUDE)}"gx.h"\\r
-       {$(INCLUDE)}"sipapi.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86) Debug"\r
-\r
-DEP_CPP_WINMA=\\r
-       "..\Pico\Pico.h"\\r
-       ".\stdafx.h"\\r
-       {$(INCLUDE)}"aygshell.h"\\r
-       {$(INCLUDE)}"gx.h"\\r
-       {$(INCLUDE)}"sipapi.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86em) Release"\r
-\r
-DEP_CPP_WINMA=\\r
-       "..\Pico\Pico.h"\\r
-       \r
-NODEP_CPP_WINMA=\\r
-       ".\app.h"\\r
-       ".\ipapi.h"\\r
-       ".\x.h"\\r
-       ".\ygshell.h"\\r
-       \r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86em) Debug"\r
-\r
-DEP_CPP_WINMA=\\r
-       "..\Pico\Pico.h"\\r
-       ".\stdafx.h"\\r
-       {$(INCLUDE)}"aygshell.h"\\r
-       {$(INCLUDE)}"gx.h"\\r
-       {$(INCLUDE)}"sipapi.h"\\r
-       \r
-\r
-!ENDIF \r
-\r
-# End Source File\r
-# End Group\r
-# Begin Group "Header Files"\r
-\r
-# PROP Default_Filter "h;hpp;hxx;hm;inl"\r
-# Begin Source File\r
-\r
-SOURCE=.\afxres.h\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\resource.h\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\stdafx.h\r
-# End Source File\r
-# End Group\r
-# Begin Group "Resource Files"\r
-\r
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"\r
-# Begin Source File\r
-\r
-SOURCE=.\bitmap1.bmp\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=.\Script1.rc\r
-\r
-!IF  "$(CFG)" == "PicoDrive - Win32 (WCE ARM) Release"\r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE ARM) Debug"\r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86) Release"\r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86) Debug"\r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86em) Release"\r
-\r
-!ELSEIF  "$(CFG)" == "PicoDrive - Win32 (WCE x86em) Debug"\r
-\r
-!ENDIF \r
-\r
-# End Source File\r
-# End Group\r
-# End Target\r
-# End Project\r
diff --git a/PicoDrive/PicoDrive.vcw b/PicoDrive/PicoDrive.vcw
deleted file mode 100644 (file)
index 05c3401..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-Microsoft eMbedded Visual Tools Workspace File, Format Version 3.00\r
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!\r
-\r
-###############################################################################\r
-\r
-Project: "Pico"=..\Pico\Pico.vcp - Package Owner=<4>\r
-\r
-Package=<5>\r
-{{{\r
-}}}\r
-\r
-Package=<4>\r
-{{{\r
-}}}\r
-\r
-###############################################################################\r
-\r
-Project: "PicoDrive"=.\PicoDrive.vcp - Package Owner=<4>\r
-\r
-Package=<5>\r
-{{{\r
-}}}\r
-\r
-Package=<4>\r
-{{{\r
-    Begin Project Dependency\r
-    Project_Dep_Name Pico\r
-    End Project Dependency\r
-}}}\r
-\r
-###############################################################################\r
-\r
-Global:\r
-\r
-Package=<5>\r
-{{{\r
-}}}\r
-\r
-Package=<3>\r
-{{{\r
-}}}\r
-\r
-###############################################################################\r
-\r
diff --git a/PicoDrive/Script1.rc b/PicoDrive/Script1.rc
deleted file mode 100644 (file)
index d7928d3..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-//Microsoft Developer Studio generated resource script.\r
-//\r
-#include "resource.h"\r
-\r
-#define APSTUDIO_READONLY_SYMBOLS\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Generated from the TEXTINCLUDE 2 resource.\r
-//\r
-#include "afxres.h"\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-#undef APSTUDIO_READONLY_SYMBOLS\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-// English (U.K.) resources\r
-\r
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENG)\r
-#ifdef _WIN32\r
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK\r
-#pragma code_page(1252)\r
-#endif //_WIN32\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Menubar\r
-//\r
-\r
-IDR_MENUBAR1 MENU DISCARDABLE \r
-BEGIN\r
-    MENUITEM "Load Rom",                    ID_LOADROM\r
-    POPUP "Options"\r
-    BEGIN\r
-        MENUITEM "Save Movie",                  ID_OPTIONS_SAVE\r
-        MENUITEM "Load Movie",                  ID_OPTIONS_LOAD\r
-        MENUITEM "Grab Image",                  ID_OPTIONS_GRAB\r
-    END\r
-    MENUITEM "Close",                       IDCANCEL\r
-END\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Data\r
-//\r
-\r
-IDR_MENUBAR1 SHMENUBAR DISCARDABLE \r
-BEGIN\r
-    IDR_MENUBAR1, 3,\r
-    I_IMAGENONE, ID_LOADROM, TBSTATE_ENABLED, TBSTYLE_AUTOSIZE, \r
-    IDS_CAP_LOADROM, 0, 0,\r
-    I_IMAGENONE, ID_OPTIONS, TBSTATE_ENABLED, \r
-    TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE, IDS_CAP_OPTIONS, 0, 1,\r
-    I_IMAGENONE, IDCANCEL, TBSTATE_ENABLED, TBSTYLE_AUTOSIZE, IDS_CAP_CLOSE, \r
-    0, 2,\r
-END\r
-\r
-\r
-#ifdef APSTUDIO_INVOKED\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// TEXTINCLUDE\r
-//\r
-\r
-1 TEXTINCLUDE DISCARDABLE \r
-BEGIN\r
-    "resource.h\0"\r
-END\r
-\r
-2 TEXTINCLUDE DISCARDABLE \r
-BEGIN\r
-    "#include ""afxres.h""\r\n"\r
-    "\0"\r
-END\r
-\r
-3 TEXTINCLUDE DISCARDABLE \r
-BEGIN\r
-    "\r\n"\r
-    "\0"\r
-END\r
-\r
-#endif    // APSTUDIO_INVOKED\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// String Table\r
-//\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
-    IDS_CAP_LOADROM         "Load Rom"\r
-    IDS_CAP_CLOSE           "Close"\r
-    IDS_CAP_GRAB            "Grab"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
-    IDS_CAP_OPTIONS         "Options"\r
-END\r
-\r
-#endif    // English (U.K.) resources\r
-/////////////////////////////////////////////////////////////////////////////\r
-\r
-\r
-\r
-#ifndef APSTUDIO_INVOKED\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Generated from the TEXTINCLUDE 3 resource.\r
-//\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-#endif    // not APSTUDIO_INVOKED\r
-\r
diff --git a/PicoDrive/Wave.cpp b/PicoDrive/Wave.cpp
deleted file mode 100644 (file)
index 15350ef..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-\r
-// This file is part of the PicoDrive Megadrive Emulator\r
-\r
-// Copyright (c) 2011 FinalDave (emudave (at) gmail.com)\r
-\r
-// This code is licensed under the GNU General Public License version 2.0 and the MAME License.\r
-// You can choose the license that has the most advantages for you.\r
-\r
-// SVN repository can be found at http://code.google.com/p/cyclone68000/\r
-\r
-#include "stdafx.h"\r
-\r
-int WaveRate=0;\r
-int WaveLen=0; // Length of each buffer in samples\r
-short *WaveDest=NULL; // Destination to render sound\r
-\r
-static HWAVEOUT WaveOut=NULL;\r
-static short *WaveBuf=NULL; // Wave double-buffer\r
-static WAVEHDR WaveHeader[2]; // WAVEHDR for each buffer\r
-static int WavePlay=0; // Next buffer side to play\r
-\r
-int WaveInit()\r
-{\r
-  WAVEFORMATEX wfx;\r
-  WAVEHDR *pwh=NULL;\r
-\r
-  if (WaveOut) return 0; // Already initted\r
-\r
-  memset(&wfx,0,sizeof(wfx));\r
-  memset(&WaveHeader,0,sizeof(WaveHeader));\r
-\r
-  wfx.wFormatTag=WAVE_FORMAT_PCM;\r
-  wfx.nChannels=2; // stereo\r
-  wfx.nSamplesPerSec=WaveRate; // sample rate\r
-  wfx.wBitsPerSample=16;\r
-  // Calculate bytes per sample and per second\r
-  wfx.nBlockAlign=(unsigned short)( (wfx.wBitsPerSample>>3)*wfx.nChannels );\r
-  wfx.nAvgBytesPerSec=wfx.nSamplesPerSec*wfx.nBlockAlign;\r
-\r
-  waveOutOpen(&WaveOut,WAVE_MAPPER,&wfx,0,NULL,CALLBACK_NULL);\r
-\r
-  // Allocate both buffers\r
-  WaveBuf=(short *)malloc(WaveLen<<3);\r
-  if (WaveBuf==NULL) return 1;\r
-  memset(WaveBuf,0,WaveLen<<3);\r
-\r
-  // Make WAVEHDRs for both buffers\r
-  pwh=WaveHeader+0;\r
-  pwh->lpData=(char *)WaveBuf;\r
-  pwh->dwBufferLength=WaveLen<<2;\r
-  pwh->dwLoops=1;\r
-\r
-  pwh=WaveHeader+1;\r
-  *pwh=WaveHeader[0]; pwh->lpData+=WaveLen<<2;\r
-\r
-  // Prepare the buffers\r
-  waveOutPrepareHeader(WaveOut,WaveHeader,  sizeof(WAVEHDR));\r
-  waveOutPrepareHeader(WaveOut,WaveHeader+1,sizeof(WAVEHDR));\r
-\r
-  // Queue both buffers:\r
-  WavePlay=0;\r
-  WaveHeader[0].dwFlags|=WHDR_DONE;\r
-  WaveHeader[1].dwFlags|=WHDR_DONE;\r
-  WaveUpdate();\r
-  return 0;\r
-}\r
-\r
-int WaveExit()\r
-{\r
-  WAVEHDR *pwh=NULL;\r
-  int i=0;\r
-\r
-  if (WaveOut) waveOutReset(WaveOut);\r
-\r
-  for (i=0;i<2;i++)\r
-  {\r
-    pwh=WaveHeader+i;\r
-    if (pwh->lpData) waveOutUnprepareHeader(WaveOut,pwh,sizeof(*pwh));\r
-  }\r
-  memset(WaveHeader,0,sizeof(WaveHeader));\r
-\r
-  free(WaveBuf); WaveBuf=NULL; WaveLen=0;\r
-\r
-  if (WaveOut) waveOutClose(WaveOut);  WaveOut=NULL;\r
-  return 0;\r
-}\r
-\r
-int WaveUpdate()\r
-{\r
-  WAVEHDR *pwh=NULL; int i=0;\r
-  int Last=-1;\r
-\r
-  for (i=0;i<2;i++)\r
-  {\r
-    pwh=WaveHeader+WavePlay;\r
-    if (pwh->lpData==NULL) return 1; // Not initted\r
-\r
-    if (pwh->dwFlags&WHDR_DONE)\r
-    {\r
-      // This buffer has finished - start it playing again\r
-      WaveDest=(short *)pwh->lpData;\r
-      SndRender();\r
-      WaveDest=NULL;\r
-      \r
-      waveOutWrite(WaveOut,pwh,sizeof(*pwh));\r
-      Last=WavePlay; // Remember the last buffer we played\r
-    }\r
-\r
-    WavePlay++; WavePlay&=1;\r
-  }\r
-\r
-  if (Last>=0) WavePlay=Last^1; // Next buffer to play is the other one\r
-  return 0;\r
-}\r
diff --git a/PicoDrive/WinMain.cpp b/PicoDrive/WinMain.cpp
deleted file mode 100644 (file)
index ccd53b2..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-\r
-// This file is part of the PicoDrive Megadrive Emulator\r
-\r
-// Copyright (c) 2011 FinalDave (emudave (at) gmail.com)\r
-\r
-// This code is licensed under the GNU General Public License version 2.0 and the MAME License.\r
-// You can choose the license that has the most advantages for you.\r
-\r
-// SVN repository can be found at http://code.google.com/p/cyclone68000/\r
-\r
-#include "stdafx.h"\r
-#include <stdarg.h>\r
-\r
-static FILE *DebugFile=NULL;\r
-int Main3800=0;\r
-int WINAPI WinMain(HINSTANCE,HINSTANCE,LPTSTR,int)\r
-{\r
-  MSG msg; int ret=0;\r
-  TCHAR device[260];\r
-\r
-  memset(&msg,0,sizeof(msg));\r
-  memset(device,0,sizeof(device));\r
-\r
-  // Check if this program is running already:\r
-  FrameWnd=FindWindow(APP_TITLE,NULL);\r
-  if (FrameWnd!=NULL) { SetForegroundWindow(FrameWnd); return 0; }\r
-\r
-  DeleteFile(L"zout.txt");\r
-\r
-  SystemParametersInfo(SPI_GETOEMINFO,sizeof(device)>>1,device,0);\r
-  if (_wcsicmp(device,L"compaq ipaq h3800")==0) Main3800=1;\r
-\r
-  FrameInit();\r
-\r
-  ConfigInit();\r
-  ConfigLoad();\r
-\r
-  WaveRate=44100; WaveLen=735;\r
-  WaveInit();\r
-\r
-  for(;;)\r
-  {\r
-    ret=PeekMessage(&msg,NULL,0,0,PM_REMOVE);\r
-    if (ret)\r
-    {\r
-      if (msg.message==WM_QUIT) break;\r
-      TranslateMessage(&msg);\r
-      DispatchMessage(&msg);\r
-    }\r
-    else\r
-    {\r
-      EmulateFrame();\r
-      //WaveUpdate();\r
-      Sleep(1);\r
-    }\r
-  }\r
-\r
-  WaveExit();\r
-  EmulateExit();\r
-\r
-  ConfigSave();\r
-\r
-  DestroyWindow(FrameWnd);\r
-\r
-  if (DebugFile) fclose(DebugFile);\r
-  DebugFile=NULL;\r
-  return 0;\r
-}\r
-\r
-extern "C" int dprintf(char *Format, ...)\r
-{\r
-  va_list VaList=NULL;\r
-  va_start(VaList,Format);\r
-\r
-  if (DebugFile==NULL) DebugFile=fopen("zout.txt","wt");\r
-  if (DebugFile) vfprintf(DebugFile,Format,VaList);\r
-\r
-  va_end(VaList);\r
-  return 0;\r
-}\r
diff --git a/PicoDrive/afxres.h b/PicoDrive/afxres.h
deleted file mode 100644 (file)
index eb920f8..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-\r
-// This file is part of the PicoDrive Megadrive Emulator\r
-\r
-// Copyright (c) 2011 FinalDave (emudave (at) gmail.com)\r
-\r
-// This code is licensed under the GNU General Public License version 2.0 and the MAME License.\r
-// You can choose the license that has the most advantages for you.\r
-\r
-// SVN repository can be found at http://code.google.com/p/cyclone68000/\r
-\r
-#define WIN32_LEAN_AND_MEAN\r
-#include <windows.h>\r
-#include <aygshell.h>\r
-#include <commctrl.h>\r
-#define I_IMAGENONE (-2)\r
-#define SHMENUBAR RCDATA\r
diff --git a/PicoDrive/resource.h b/PicoDrive/resource.h
deleted file mode 100644 (file)
index 61cde71..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-//{{NO_DEPENDENCIES}}\r
-// Microsoft Developer Studio generated include file.\r
-// Used by Script1.rc\r
-//\r
-#define IDR_MENUBAR1                    101\r
-#define ID_LOADROM                      40001\r
-#define IDS_CAP_LOADROM                 40003\r
-#define IDS_CAP_CLOSE                   40006\r
-#define ID_DEBUG_SHOWRAM                40010\r
-#define ID_GRAB                         40012\r
-#define IDS_CAP_GRAB                    40014\r
-#define ID_OPTIONS                      40015\r
-#define IDS_CAP_OPTIONS                 40017\r
-#define ID_OPTIONS_SAVE                 40018\r
-#define ID_OPTIONS_LOAD                 40019\r
-#define ID_OPTIONS_GRAB                 40020\r
-\r
-// Next default values for new objects\r
-// \r
-#ifdef APSTUDIO_INVOKED\r
-#ifndef APSTUDIO_READONLY_SYMBOLS\r
-#define _APS_NEXT_RESOURCE_VALUE        104\r
-#define _APS_NEXT_COMMAND_VALUE         40021\r
-#define _APS_NEXT_CONTROL_VALUE         1000\r
-#define _APS_NEXT_SYMED_VALUE           101\r
-#endif\r
-#endif\r
diff --git a/PicoDrive/stdafx.h b/PicoDrive/stdafx.h
deleted file mode 100644 (file)
index 3283b35..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-\r
-// This file is part of the PicoDrive Megadrive Emulator\r
-\r
-// Copyright (c) 2011 FinalDave (emudave (at) gmail.com)\r
-\r
-// This code is licensed under the GNU General Public License version 2.0 and the MAME License.\r
-// You can choose the license that has the most advantages for you.\r
-\r
-// SVN repository can be found at http://code.google.com/p/cyclone68000/\r
-\r
-#pragma warning(disable:4514)\r
-#pragma warning(push)\r
-#pragma warning(disable:4201)\r
-#include <windows.h>\r
-#pragma warning(pop)\r
-\r
-#include <aygshell.h>\r
-#include <commdlg.h>\r
-#include <gx.h>\r
-\r
-#include "resource.h"\r
-\r
-#include "../Pico/Pico.h"\r
-\r
-#define APP_TITLE L"PicoDrive"\r
-\r
-// ----------------------------------------------------------\r
-\r
-struct Target\r
-{\r
-  unsigned char *screen;\r
-  POINT point; // Screen to client point\r
-  RECT view,update;\r
-  int offset; // Amount to add onto scanline\r
-  int top,bottom; // Update rectangle in screen coordinates\r
-};\r
-\r
-// Config.cpp\r
-struct Config\r
-{\r
-  int key[8];\r
-};\r
-extern struct Config Config;\r
-\r
-int ConfigInit();\r
-int ConfigSave();\r
-int ConfigLoad();\r
-\r
-// Debug.cpp\r
-int DebugShowRam();\r
-int DebugScreenGrab();\r
-\r
-// Emulate.cpp\r
-extern struct Target Targ;\r
-extern TCHAR RomName[260];\r
-int EmulateInit();\r
-void EmulateExit();\r
-int EmulateFrame();\r
-int SndRender();\r
-\r
-// File.cpp\r
-int FileLoadRom();\r
-int FileState(int load);\r
-\r
-// FrameWindow.cpp\r
-extern HWND FrameWnd;\r
-extern struct GXDisplayProperties GXDisp;\r
-extern struct GXKeyList GXKey;\r
-extern int FrameShowRam;\r
-int FrameInit();\r
-\r
-// Wave.cpp\r
-extern int WaveRate;\r
-extern int WaveLen; // Length of each buffer in samples\r
-extern short *WaveDest; // Destination to render sound\r
-int WaveInit();\r
-int WaveExit();\r
-int WaveUpdate();\r
-\r
-// WinMain.cpp\r
-extern "C" int dprintf(char *Format, ...);\r
-extern int Main3800;\r
similarity index 100%
rename from Cyclone/app.h
rename to app.h
similarity index 100%
rename from Cyclone/config.h
rename to config.h