Ejemplo n.º 1
0
int main(int margc, char **margv)
{
  argc=margc;
  argv=margv;
  zstart();
  return(0);
}
Ejemplo n.º 2
0
int main (int argc, char *argv[]) {
	int opt,p,pp;

	char *fvar;

	UnProtectMemory();
	while((opt = getopt(argc, argv, "01:2:789a:c:d:ef:g:hijk:lmno:p:r:s:tuv:wyz?")) != -1) {
		switch(opt) {
			/* Palette 0 disable */
			case '0': {
				Palette0 = 1;
				break;
			}
			/* Player 1 Input */
			case '1': {
				//if (!hasroom) return 4;
				pl1contrl = my_atoi(optarg);

				if (pl1contrl > 6) return 15;
				p++;

				ConvertJoyMap1();
				break;
			}
			/* Player 2 Input */
			case '2': {
//				if (!hasroom) return 4;
				pl2contrl=my_atoi(optarg);

				if (pl2contrl > 6) return 15;
				p++;

				ConvertJoyMap2();
				break;
			}
			/* SPC700 speed hack disable */
			case '7': {
				SPC700sh = 1;
				break;
			}

			case '8': {
				Force8b = 1;
				break;
			}
			/* Off by 1 line */
			case '9': {
				OffBy1Line = 1;
				break;
			}

			case 'c': {
				if (strcmp(optarg,"b") == 0) {
					printf("\nRemove background color in 256 modes not implemented!\n");
				}
				
				else
				
				if (strcmp(optarg,"c") == 0) {
					smallscreenon = 1;
					pp++;
				} else {
					ScreenScale = 1;
				}
				break;
			}

			case 'd': {
				if (strcmp(optarg,"d") == 0) {
					DSPDisable = 1;
					pp++;
				} else {
					/* debugger will never work under linux, since it's full of bios interrupt calls */
					printf("\nDebugger not implemented for Linux version!\n");
				}
				break;
			}

			case 'e': {
				enterpress = 1;
				break;            
			}

			case 'f': {
//				if (!hasroom) return 4;
				frameskip = my_atoi(optarg);
				if (frameskip > 9) return 10;
                                frameskip++;
				p++;
				break;
			}

			case 'g': {
//				if (!hasroom) return 4;
				gammalevel = my_atoi(optarg);

				if (gammalevel > 5) return 11;
				p++;

				break;
			}

			case 'h': {
				romtype = 2;
				break;
			}

			case 'i': {
				finterleave = 1;
				break;
			}

			case 'j': {
				GUIClick = 0;
				MouseDis = 1;
				break;
			}

			case 'k': {
//				if (!hasroom) return 4;
				MusicRelVol = my_atoi(optarg);

				if (MusicRelVol > 100) return 16;
				p++;
				break;
			}

			case 'l': {
				romtype = 1;
				break;
			}

			/* disables GUI */
			case 'm': {
				guioff = 1; 
				break;
			}

			case 'n': {
				scanlines = 1;
				break;
			}

			case 'o': {
				if (strcmp(optarg,"m") == 0) {
					MMXSupport = 1;
					pp++;
				} else {
					MMXSupport = 0;
				}
				break;
			}

			case 'p': {
//				if (!hasroom) return 4;
				per2exec = my_atoi(optarg);

				if (per2exec > 150) return 14;

				if (per2exec < 50) return 14;
				p++;

				break;
			}

			case 'r': {
//				if (!hasroom) return 4;
				SoundQuality = my_atoi(optarg);

				if (SoundQuality > 5) return 12;
				p++;

				break;
			}

			case 's': {
				if (strcmp(optarg,"a") == 0) {
					showallext = 1;
					pp++;
				} else if (strcmp(optarg,"n") == 0) {
					SnowOn = 1;
					pp++;
				} else {
					spcon = 1;
					soundon = 1;
				}
				break;
			}

			case 't': {
				ForcePal = 1;
				break;
			}

			case 'u': {
				ForcePal = 2;
				break;
			}

			case 'v': {
				if (strcmp(optarg,"8") == 0) {
					V8Mode = 1;
					pp++;
				} else {
//					if (!hasroom) return 4;
					cvidmode = my_atoi(optarg);

					if (cvidmode > 10) return 13;
					p++;
				}
				break;
			}

			case 'w': {
				vsyncon = 1;
				break;
			}

			case 'y': {
				antienab = 1;
				break;
			}

			case 'z': {
				StereoSound = 1;
				break;
			}

			case '?': {
				displayparams();
				return 9;
			}
		}
	}

	/* execute rom filename: file.x */
	if  (optopt == '?')
	{
		if (argv[optind] != NULL)
		{
			fvar=&fname;
			fvar[0] = strlen(argv[optind]);
			strncpy(&fvar[1], argv[optind],127);
			makeextension();
		}
	}

	zstart();
	return 0;
}