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