some tests
[megadrive.git] / testpico / fill.c
1 #include <stdio.h>
2 #include <arpa/inet.h>
3
4 static uint32_t rom[0x400000 / 4];
5
6 int main(int argc, char *argv[])
7 {
8         size_t ret;
9         FILE *f;
10         int i;
11
12         if (argc != 2) {
13                 fprintf(stderr, "usage:\n%s <bin>\n", argv[0]);
14                 return 1;
15         }
16
17         f = fopen(argv[1], "r+");
18         if (!f) {
19                 perror("fopen");
20                 return 1;
21         }
22
23         for (i = 0; i < 0x400000; i += 4) {
24                 uint32_t v = i;
25                 v = (v << 8) | ((v >> 16) & 0xff);
26                 rom[i / 4] = htonl(v);
27         }
28
29         ret = fread(rom, 1, sizeof(rom), f);
30         if (ret == 0) {
31                 perror("fread");
32                 fclose(f);
33                 return 1;
34         }
35         rewind(f);
36
37         ret = fwrite(rom, 1, sizeof(rom), f);
38         fclose(f);
39         if (ret != sizeof(rom)) {
40                 perror("fwrite");
41                 return 1;
42         }
43
44         return 0;
45 }