From 31eac279c2fdc08b0389a9c33ecc2f7bcad9868e Mon Sep 17 00:00:00 2001 From: Ain <41307858+nero@users.noreply.github.com> Date: Sun, 20 Sep 2020 19:58:19 +0200 Subject: [PATCH] Revert to more sensible kernel.bs boot scheme I think i should consider it a necessity that the kernel is accessible as a regular file. This makes installing rdos on another blockdev much easier. --- Makefile | 10 +++++----- boot/fat.asm | 3 --- boot/kernel.asm | 28 ---------------------------- 3 files changed, 5 insertions(+), 36 deletions(-) diff --git a/Makefile b/Makefile index 0edf6b2..8ef9ee4 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ PROGRAMS = hello.com -DISTFILES = $(PROGRAMS) +DISTFILES = kernel.bs $(PROGRAMS) ROMS = QEMU = qemu-system-i386 @@ -59,10 +59,10 @@ fat6.bs: boot/fat.asm %.rom: rom/%.asm utils/fix-rom $(NASM) $(NASM_ARGS) -o $@ $< && utils/fix-rom $@ -fd%.img: kernel.bs $(DISTFILES) - mformat -C -i $@ -f $* -R 8 -v "$(LABEL)" -B kernel.bs :: - dd if=kernel.bs conv=notrunc bs=512 skip=1 seek=1 of=$@ - mcopy -i $@ $(DISTFILES) :: +fd%.img: fat1.bs $(DISTFILES) + mformat -C -i $@ -f $* -R 8 -v "$(LABEL)" -B fat1.bs :: + mcopy -i $@ $(DISTFILES) :: + mattrib -i $@ +s ::kernel.bs hdimage.img: mbr.bs fd1440.img cat mbr.bs fd1440.img >$@ diff --git a/boot/fat.asm b/boot/fat.asm index 37228f4..f5c156e 100644 --- a/boot/fat.asm +++ b/boot/fat.asm @@ -248,9 +248,6 @@ main: ; Set up BP to point to BPB ; load root directory call loadr - ; search for first system directory - mov ah, 0x14 - call loadf ; search for first system file mov ah, 0x04 call loadf diff --git a/boot/kernel.asm b/boot/kernel.asm index 3150256..09f5c37 100644 --- a/boot/kernel.asm +++ b/boot/kernel.asm @@ -7,16 +7,6 @@ ; kernel stack size in words %define stacksize 512 - jmp near init - -%defstr STRVER VERSION -%define INTVER 0x %+ VERSION - - db STRVER - - ; mformat writes stuff until 0x3E -params: times ( 0x3E - ($-$$) ) nop - init: cli xor ax, ax mov ds, ax @@ -24,31 +14,13 @@ init: cli mov ss, ax mov sp, ( stack+stacksize ) - mov ax, [params+bpb.sectoroffset] - mov dx, [params+bpb.sectoroffset+2] - - mov ax, 0x0201 - mov cx, 0x0002 - mov dh, 0 - mov bx, 0x7E00 - int 0x13 - - mov ax, [0x7E00] - mov cx, [0x7E02] - mov dx, [0x7E04] - int 3 hlt: hlt jmp hlt - times (0x1FE - ($-$$)) db 0 - dw 0xAA55 - db "rdos kernel" - dd INTVER - end: align 512 section .bss