Browse code

Added version flag to uxnemu

neauoire authored on 08/08/2023 22:56:40
Showing 5 changed files
... ...
@@ -94,6 +94,16 @@ fi
94 94
 
95 95
 if [ $norun = 1 ]; then exit; fi
96 96
 
97
+# Test usage
98
+
99
+./bin/uxncli
100
+./bin/uxnemu
101
+
102
+# Test version
103
+
104
+./bin/uxncli -v
105
+./bin/uxnemu -v
106
+
97 107
 ./bin/uxnasm projects/software/piano.tal bin/piano.rom
98 108
 
99 109
 ./bin/uxnemu -2x bin/piano.rom
... ...
@@ -83,11 +83,11 @@ system_connect(Uint8 device, Uint8 ver, Uint16 dei, Uint16 deo)
83 83
 }
84 84
 
85 85
 int
86
-system_version(void)
86
+system_version(char *name, char *date)
87 87
 {
88 88
 	int i;
89
-	printf("Varvara Emulator 1.0\n");
90
-	printf("Device Version Dei  Deo\n", i, dev_vers[i], dei_mask[i], deo_mask[i]);
89
+	printf("%s, %s.\n", name, date);
90
+	printf("Device Version Dei  Deo\n");
91 91
 	for(i = 0; i < 0x10; i++)
92 92
 		if(dev_vers[i])
93 93
 			printf("%6x %7d %04x %04x\n", i, dev_vers[i], dei_mask[i], deo_mask[i]);
... ...
@@ -16,7 +16,7 @@ WITH REGARD TO THIS SOFTWARE.
16 16
 #define RAM_PAGES 0x10
17 17
 
18 18
 void system_connect(Uint8 device, Uint8 ver, Uint16 dei, Uint16 deo);
19
-int system_version(void);
19
+int system_version(char *emulator, char *date);
20 20
 int system_load(Uxn *u, char *filename);
21 21
 void system_inspect(Uxn *u);
22 22
 int system_error(char *msg, const char *err);
... ...
@@ -48,17 +48,18 @@ main(int argc, char **argv)
48 48
 	int i = 1;
49 49
 	if(i == argc)
50 50
 		return system_error("usage", "uxncli [-v] file.rom [args..]");
51
-	/* Boot Varvara */
51
+	/* Connect Varvara */
52 52
 	system_connect(0x0, SYSTEM_VERSION, SYSTEM_DEIMASK, SYSTEM_DEOMASK);
53 53
 	system_connect(0x1, CONSOLE_VERSION, CONSOLE_DEIMASK, CONSOLE_DEOMASK);
54 54
 	system_connect(0xa, FILE_VERSION, FILE_DEIMASK, FILE_DEOMASK);
55 55
 	system_connect(0xb, FILE_VERSION, FILE_DEIMASK, FILE_DEOMASK);
56 56
 	system_connect(0xc, DATETIME_VERSION, DATETIME_DEIMASK, DATETIME_DEOMASK);
57
-	if(!uxn_boot(&u, (Uint8 *)calloc(0x10000 * RAM_PAGES, sizeof(Uint8))))
58
-		return system_error("Boot", "Failed");
59 57
 	/* Read flags */
60 58
 	if(argv[i][0] == '-' && argv[i][1] == 'v')
61
-		return system_version();
59
+		return system_version("Uxncli - Console Varvara Emulator", "8 Aug 2023");
60
+	/* Continue.. */
61
+	if(!uxn_boot(&u, (Uint8 *)calloc(0x10000 * RAM_PAGES, sizeof(Uint8))))
62
+		return system_error("Boot", "Failed");
62 63
 	/* Load rom */
63 64
 	if(!system_load(&u, argv[i++]))
64 65
 		return system_error("Load", "Failed");
... ...
@@ -251,19 +251,6 @@ emu_init(void)
251 251
 	SDL_SetRenderDrawColor(emu_renderer, 0x00, 0x00, 0x00, 0xff);
252 252
 	ms_interval = SDL_GetPerformanceFrequency() / 1000;
253 253
 	deadline_interval = ms_interval * TIMEOUT_MS;
254
-	/* connect devices */
255
-	system_connect(0x0, SYSTEM_VERSION, SYSTEM_DEIMASK, SYSTEM_DEOMASK);
256
-	system_connect(0x1, CONSOLE_VERSION, CONSOLE_DEIMASK, CONSOLE_DEOMASK);
257
-	system_connect(0x2, SCREEN_VERSION, SCREEN_DEIMASK, SCREEN_DEOMASK);
258
-	system_connect(0x3, AUDIO_VERSION, AUDIO_DEIMASK, AUDIO_DEOMASK);
259
-	system_connect(0x4, AUDIO_VERSION, AUDIO_DEIMASK, AUDIO_DEOMASK);
260
-	system_connect(0x5, AUDIO_VERSION, AUDIO_DEIMASK, AUDIO_DEOMASK);
261
-	system_connect(0x6, AUDIO_VERSION, AUDIO_DEIMASK, AUDIO_DEOMASK);
262
-	system_connect(0x8, CONTROL_VERSION, CONTROL_DEIMASK, CONTROL_DEOMASK);
263
-	system_connect(0x9, MOUSE_VERSION, MOUSE_DEIMASK, MOUSE_DEOMASK);
264
-	system_connect(0xa, FILE_VERSION, FILE_DEIMASK, FILE_DEOMASK);
265
-	system_connect(0xb, FILE_VERSION, FILE_DEIMASK, FILE_DEOMASK);
266
-	system_connect(0xc, DATETIME_VERSION, DATETIME_DEIMASK, DATETIME_DEOMASK);
267 254
 	return 1;
268 255
 }
269 256
 
... ...
@@ -517,13 +504,31 @@ main(int argc, char **argv)
517 504
 {
518 505
 	Uxn u = {0};
519 506
 	int i = 1;
507
+	if(i == argc)
508
+		return system_error("usage", "uxnemu [-v][-2x][-3x] file.rom [args...]");
509
+	/* Connect Varvara */
510
+	system_connect(0x0, SYSTEM_VERSION, SYSTEM_DEIMASK, SYSTEM_DEOMASK);
511
+	system_connect(0x1, CONSOLE_VERSION, CONSOLE_DEIMASK, CONSOLE_DEOMASK);
512
+	system_connect(0x2, SCREEN_VERSION, SCREEN_DEIMASK, SCREEN_DEOMASK);
513
+	system_connect(0x3, AUDIO_VERSION, AUDIO_DEIMASK, AUDIO_DEOMASK);
514
+	system_connect(0x4, AUDIO_VERSION, AUDIO_DEIMASK, AUDIO_DEOMASK);
515
+	system_connect(0x5, AUDIO_VERSION, AUDIO_DEIMASK, AUDIO_DEOMASK);
516
+	system_connect(0x6, AUDIO_VERSION, AUDIO_DEIMASK, AUDIO_DEOMASK);
517
+	system_connect(0x8, CONTROL_VERSION, CONTROL_DEIMASK, CONTROL_DEOMASK);
518
+	system_connect(0x9, MOUSE_VERSION, MOUSE_DEIMASK, MOUSE_DEOMASK);
519
+	system_connect(0xa, FILE_VERSION, FILE_DEIMASK, FILE_DEOMASK);
520
+	system_connect(0xb, FILE_VERSION, FILE_DEIMASK, FILE_DEOMASK);
521
+	system_connect(0xc, DATETIME_VERSION, DATETIME_DEIMASK, DATETIME_DEOMASK);
522
+	/* Read flags */
523
+	if(argv[i][0] == '-' && argv[i][1] == 'v')
524
+		return system_version("Uxnemu - Graphical Varvara Emulator", "8 Aug 2023");
525
+	if(strcmp(argv[i], "-2x") == 0 || strcmp(argv[i], "-3x") == 0)
526
+		set_zoom(argv[i++][1] - '0', 0);
527
+	/* Continue.. */
520 528
 	if(!emu_init())
521 529
 		return system_error("Init", "Failed to initialize emulator.");
522 530
 	/* default zoom */
523
-	if(argc < 2)
524
-		return system_error("usage", "uxnemu [-2x][-3x] file.rom [args...]");
525
-	if(strcmp(argv[i], "-2x") == 0 || strcmp(argv[i], "-3x") == 0)
526
-		set_zoom(argv[i++][1] - '0', 0);
531
+
527 532
 	/* load rom */
528 533
 	rom_path = argv[i++];
529 534
 	if(!emu_start(&u, rom_path, argc - i))