license info for PicoDrive directory
[cyclone68000.git] / PicoDrive / Config.cpp
CommitLineData
15eb0001 1\r
58db92b9 2// This file is part of the PicoDrive Megadrive Emulator\r
3\r
4// This code is licensed under the GNU General Public License version 2.0 and the MAME License.\r
5// You can choose the license that has the most advantages for you.\r
6\r
7// SVN repository can be found at http://code.google.com/p/cyclone68000/\r
8\r
15eb0001 9#include "stdafx.h"\r
10\r
11static char *ConfigName="\\PicoConfig.txt";\r
12struct Config Config;\r
13\r
14int ConfigInit()\r
15{\r
16 memset(&Config,0,sizeof(Config));\r
17\r
18 Config.key[0]=VK_UP;\r
19 Config.key[1]=VK_DOWN;\r
20 Config.key[2]=VK_LEFT;\r
21 Config.key[3]=VK_RIGHT;\r
22 Config.key[4]=GXKey.vkC; // A\r
23 Config.key[5]=GXKey.vkA; // B\r
24 Config.key[6]=GXKey.vkB; // C\r
25 Config.key[7]=GXKey.vkStart;\r
26\r
27 return 0;\r
28}\r
29\r
30int ConfigSave()\r
31{\r
32 FILE *f=NULL;\r
33 int i=0,max=0;\r
34\r
35 // Open config file:\r
36 f=fopen(ConfigName,"wt"); if (f==NULL) return 1;\r
37\r
38 fprintf(f,"// PicoDrive Config File\n\n");\r
39\r
40 fprintf(f,"// Keys: Up Down Left Right\n");\r
41 fprintf(f,"// A B C Start\n\n");\r
42\r
43 max=sizeof(Config.key)/sizeof(Config.key[0]);\r
44 for (i=0;i<max;i++)\r
45 {\r
46 fprintf(f,"key,%d,0x%.2x\n",i,Config.key[i]);\r
47 }\r
48\r
49 fclose(f);\r
50\r
51 return 0;\r
52}\r
53\r
54int ConfigLoad()\r
55{\r
56 FILE *f=NULL;\r
57 char line[256];\r
58 int i=0;\r
59\r
60 memset(line,0,sizeof(line));\r
61\r
62 // Open config file:\r
63 f=fopen(ConfigName,"rt"); if (f==NULL) return 1;\r
64\r
65 // Read through each line of the config file\r
66 for (;;)\r
67 {\r
68 char *tok[3]={"","",""};\r
69 if (fgets(line,sizeof(line)-1,f)==NULL) break;\r
70\r
71 // Split line into tokens:\r
72 for (i=0;i<3;i++)\r
73 {\r
74 tok[i]=strtok(i<1?line:NULL, ",\r\n");\r
75 if (tok[i]==NULL) { tok[i]=""; break; }\r
76 }\r
77\r
78 if (_stricmp(tok[0],"key")==0)\r
79 {\r
80 // Key code\r
81 int ta=0,tb=0;\r
82 \r
83 ta=strtol(tok[1],NULL,0);\r
84 tb=strtol(tok[2],NULL,0);\r
85\r
86 Config.key[ta&7]=tb;\r
87 }\r
88 }\r
89\r
90 fclose(f);\r
91\r
92 return 0;\r
93}\r