diff --git a/.gitignore b/.gitignore index 39dbb38..7d43da0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ bin mount image.bin -dump.img \ No newline at end of file +dump.img +diskwrite \ No newline at end of file diff --git a/diskwrite b/diskwrite deleted file mode 100755 index 62f92ba..0000000 Binary files a/diskwrite and /dev/null differ diff --git a/src/bootloader/main.s b/src/bootloader/main.s index 98a1627..6070c04 100644 --- a/src/bootloader/main.s +++ b/src/bootloader/main.s @@ -396,7 +396,7 @@ open_file: pop ds push 0 pop es - ;sector start now contains the sector number of the first data sector of the root directory + mov ah, 0x42 mov dl, byte [data.boot_disc] mov si, DAP diff --git a/tools/diskwrite.c b/tools/diskwrite.c index a53c3df..288dfa4 100644 --- a/tools/diskwrite.c +++ b/tools/diskwrite.c @@ -3,6 +3,22 @@ #include int main(int argc, char **argv){ - printf("Hello, World!\n"); + char **files = malloc(512); + int filec = 0; + printf("write files to virtual disk\n"); + if(argc == 1 || !strcmp(argv[1], "help")){ + printf("Usage:\ndiskwrite -o "); + printf("\n-h: Help"); + printf("\n-o: Specify output file\n"); + } + for(int i = 1; i < argc; i++){ + if(!strcmp(argv[i], "-o")){ + i++; + if(i >= argc){ + printf("Error: No output file specified!\n"); + } + } + files[filec++] = argv[i]; + } return 0; } \ No newline at end of file