Added 0.030 of PicoDrive and moved license files into root
[cyclone68000.git] / PicoDrive / File.cpp
diff --git a/PicoDrive/File.cpp b/PicoDrive/File.cpp
new file mode 100644 (file)
index 0000000..bc3593f
--- /dev/null
@@ -0,0 +1,62 @@
+\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