|
1 | 1 | /** |
2 | 2 | * mkbios.c |
3 | | - * Copyright (c) 2022 SWAT |
| 3 | + * Copyright (c) 2022, 2025 SWAT |
4 | 4 | */ |
5 | 5 |
|
6 | 6 | #include <stdlib.h> |
7 | 7 | #include <stdio.h> |
8 | 8 | #include <stdint.h> |
9 | 9 | #include <unistd.h> |
10 | 10 |
|
11 | | -#define BIOS_OFFSET 65536 |
| 11 | +#define DEFAULT_BIOS_OFFSET 65536 |
12 | 12 |
|
13 | 13 | int main(int argc, char *argv[]) { |
14 | 14 |
|
15 | 15 | if (argc < 3) { |
16 | | - printf("BIOS maker v0.1 by SWAT\n"); |
17 | | - printf("Usage: %s file.bios program.bin", argv[0]); |
| 16 | + printf("BIOS maker v0.2 by SWAT\n"); |
| 17 | + printf("Usage: %s file.bios program.bin [offset]\n", argv[0]); |
18 | 18 | return 0; |
19 | 19 | } |
20 | 20 |
|
@@ -48,12 +48,13 @@ int main(int argc, char *argv[]) { |
48 | 48 | return -1; |
49 | 49 | } |
50 | 50 |
|
51 | | - printf("Writing to %s by offset %d size %zu\n", argv[1], BIOS_OFFSET, size); |
| 51 | + int offset = argc > 3 ? atoi(argv[3]) : DEFAULT_BIOS_OFFSET; |
| 52 | + printf("Writing to %s by offset %d size %zu\n", argv[1], offset, size); |
52 | 53 |
|
53 | 54 | fread(buff, sizeof(char), size, fr); |
54 | 55 | fclose(fr); |
55 | 56 |
|
56 | | - fseek(fw, BIOS_OFFSET, SEEK_SET); |
| 57 | + fseek(fw, offset, SEEK_SET); |
57 | 58 | fwrite(buff, sizeof(char), size, fw); |
58 | 59 | fclose(fw); |
59 | 60 |
|
|
0 commit comments