From 7492e99c3f870c7b67d97bccaadadbb18cc80348 Mon Sep 17 00:00:00 2001 From: Ain <41307858+nero@users.noreply.github.com> Date: Wed, 27 Mar 2019 23:05:46 +0000 Subject: [PATCH] vbr: relocate to 0x00500 --- boot/vbr.asm | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) 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