diff --git a/build.sh b/build.sh index 3eb20fa..663e049 100644 --- a/build.sh +++ b/build.sh @@ -13,10 +13,14 @@ cat build/boot.bin build/filetable.bin > build/bootloader.bin # Kernel nasm -fbin src/kernel.asm -o build/kernel.bin +# Programs +nasm -fbin src/fs/calc.asm -o build/calc.bin +nasm -fbin src/fs/edit.asm -o build/edit.bin + +cat build/calc.bin build/edit.bin > build/files.bin + # Final binary -nasm -fbin src/calc.asm -o build/calc.bin -nasm -fbin src/message.asm -o build/message.bin -cat build/bootloader.bin build/kernel.bin build/calc.bin build/message.bin > build/os.bin +cat build/bootloader.bin build/kernel.bin build/files.bin > build/os.bin # Run QEMU qemu-system-x86_64 -drive format=raw,file="./build/os.bin",index=0,media=disk -m 256M diff --git a/src/boot.asm b/src/boot.asm index 30b127a..5f33c8f 100644 --- a/src/boot.asm +++ b/src/boot.asm @@ -72,7 +72,7 @@ readFail: cli hlt -%include "./src/print.asm" +%include "./src/lib/print.asm" driveNumber: db 0 diff --git a/src/filetable.asm b/src/filetable.asm index bb032bb..6bad737 100644 --- a/src/filetable.asm +++ b/src/filetable.asm @@ -12,10 +12,11 @@ ; ------------------ filetable: - db 'boot',0,0,0,0,0,0,'bin',0,1,1 ; boot.bin - start: 1, size: 1 - db 'filetable',0, 'txt',0,2,1 ; filetable.txt - start: 2, size: 1 - db 'kernel',0,0,0,0, 'bin',0,3,3 ; kernel.bin - start: 3, size: 3 - db 'calc',0,0,0,0,0,0,'bin',0,6,1 ; calc.bin - start: 6, size: 1 - db 'message',0,0,0, 'txt',0,7,1 ; message.txt - start: 7, size: 1 + ; db 'all',0,0,0,0,0,0,0,'txt',0,1,7 ; all - start: 1, size: 7 + db 'boot',0,0,0,0,0,0, 'bin',0,1,1 ; boot.bin - start: 1, size: 1 + db 'filetable',0, 'txt',0,2,1 ; filetable.txt - start: 2, size: 1 + db 'kernel',0,0,0,0, 'bin',0,3,3 ; kernel.bin - start: 3, size: 3 + db 'calc',0,0,0,0,0,0, 'bin',0,6,1 ; calc.bin - start: 6, size: 1 + db 'edit',0,0,0,0,0,0, 'bin',0,7,1 ; edit.bin - start: 6, size: 1 times 512-($-$$) db 0 diff --git a/src/calc.asm b/src/fs/calc.asm similarity index 89% rename from src/calc.asm rename to src/fs/calc.asm index b3c772c..91c5ae9 100644 --- a/src/calc.asm +++ b/src/fs/calc.asm @@ -17,7 +17,7 @@ start: jmp 0x2000:0x0000 -%include "./src/print.asm" +%include "./src/lib/print.asm" msg: db "Hello!", ENDL, 0 diff --git a/src/fs/edit.asm b/src/fs/edit.asm new file mode 100644 index 0000000..e69de29 diff --git a/src/kernel.asm b/src/kernel.asm index 3bebb34..d2649b6 100644 --- a/src/kernel.asm +++ b/src/kernel.asm @@ -374,8 +374,8 @@ reboot: jmp 0xffff:0x0000 ; ---------- ; Includes ; ---------- -%include "./src/print.asm" -%include "./src/screen.asm" +%include "./src/lib/print.asm" +%include "./src/lib/screen.asm" ; -------- ; Data @@ -402,11 +402,12 @@ helpMsg: db "Available Commands:", ENDL, \ ; Commands ; TODO: Put these into a file or something -lsCmd: db "ls", 0 -helpCmd: db "help", 0 -gfxCmd: db "gfx", 0 -rebootCmd: db "reboot", 0 clearCmd: db "clear", 0 +editCmd: db "edit", 0 +gfxCmd: db "gfx", 0 +helpCmd: db "help", 0 +lsCmd: db "ls", 0 +rebootCmd: db "reboot", 0 ; Files fileExt: db " ", 0 diff --git a/src/print.asm b/src/lib/print.asm similarity index 100% rename from src/print.asm rename to src/lib/print.asm diff --git a/src/screen.asm b/src/lib/screen.asm similarity index 100% rename from src/screen.asm rename to src/lib/screen.asm diff --git a/src/message.asm b/src/message.asm deleted file mode 100644 index 2f900f7..0000000 --- a/src/message.asm +++ /dev/null @@ -1,6 +0,0 @@ -%define ENDL 0x0A, 0x0D - -db "This is a very cool message!", ENDL, ENDL, \ - "Kern is a 32-bit (16-bit for now) OS based on the x86 cpu architecture." - -times 512-($-$$) db 0 diff --git a/temp.bin b/temp.bin new file mode 100644 index 0000000..e69de29