Added new experimental VM from Mat. This is the 'faster vm' option.
[retro/experimental.git] / ngaro / c-mat / ngaro.c
blobf63e886fdc5a8eaa0877a17a48f2dd59e4796d48
1 /******************************************************
2 * Ngaro
4 *|F|
5 *|F| FILE: ngaro.c
6 *|F|
8 * Written by Charles Childers, released into the public
9 * domain
10 ******************************************************/
12 #include <stdio.h>
13 #include <stddef.h>
14 #include <stdlib.h>
15 #include <string.h>
16 #include <time.h>
18 #include "functions.h"
19 #include "vm.h"
21 extern VM_STATE vm;
24 /******************************************************
25 *|F| int main(int argc, char **argv)
26 ******************************************************/
27 int main(int argc, char **argv)
29 int a, i, trace, endian;
31 trace = 0;
32 endian = 0;
34 if (argc < 2)
36 fprintf(stderr, "Ngaro Threading VM by Matthias Schirm\n\n");
37 fprintf(stderr, "%s option imagename\n", argv[0]);
38 fprintf(stderr, "Option can be one of the following:\n");
39 fprintf(stderr, " --endian Load an image with a different endianness\n");
40 exit(-1);
43 init_vm();
45 for (i = 1; i < argc; i++)
47 if (strcmp(argv[i], "--endian") == 0)
49 endian = 1;
51 else
53 a = vm_load_image(argv[i]);
54 strcpy(vm.filename, argv[i]);
58 if (endian == 1)
59 swapEndian();
61 init_devices();
62 vm_process();
64 cleanup_devices();
65 return 0;