diff --git a/boot/vbr.asm b/boot/vbr.asm index 6895d15..41daeef 100644 --- a/boot/vbr.asm +++ b/boot/vbr.asm @@ -1,4 +1,4 @@ -org 0x7C00 +org 0 fdc: ; FDC Descriptor as per ECMA-107 jmp _startup @@ -44,6 +44,20 @@ fdc: ; FDC Descriptor as per ECMA-107 times (62 - ($-$$)) db " " _startup: + xor ax, ax + mov ds, ax + mov es, ax + mov cx, 0x0100 + mov si, 0x7C00 + mov di, 0x0500 + rep movsw + jmp 0x0050:.lowstart +.lowstart: + mov ax, cs + mov ds, ax + mov ss, ax + xor sp, sp + mov [fdc.drv], dl ; backup driver number mov ah, 0x08 int 0x13 ; required, QEMU detects 360kB as 1200kB with CHS 80 2 15