diff --git a/drbio/biosinit.a86 b/drbio/biosinit.a86
--- a/drbio/biosinit.a86
+++ b/drbio/biosinit.a86
@@ -157,6 +157,8 @@
 	cli
 	mov	ax,cs			; Initialise our stack and Data Segment
 	mov	ds,ax
+	pop	ds:drdosseg		; drkernpl ax
+	pop	ds:drdoslen		; drkernpl si
 	pop	ds:part_off
 	pop	ds:part_off+2
 	mov	ss,ax
@@ -249,6 +251,15 @@
 biosinit30:
 	mov	dos_cseg,ax		; a relocated DOS image will live here
 
+	push ds
+	mov cx, drdoslen
+	mov ds, drdosseg
+	xor si, si
+	mov es, ax
+	xor di, di
+	rep movsb
+	pop ds
+
 	mov	ax,offset biosinit_end+32
 	mov	cl,4			; Leave the Last Paragraph Free for
     shr ax,cl           ;  himem DMD 
@@ -303,7 +314,7 @@
 	 jnz	dos_reloc		;   the DOS file from disk?
 	mov	ax,dos_cseg
 	mov	current_dos,ax		; the file is held on the INIT_DRV with
-	call	read_dos		;   the name specified in DOS_NAME
+	; call	read_dos		;   the name specified in DOS_NAME
 
 eject
 ;
@@ -2012,6 +2023,8 @@
 	extrn	cfg_seekhi:word
 	extrn	boot_options:word
 	extrn	boot_switches:byte
+drdosseg	dw 0
+drdoslen	dw 0
 
 ;
 ;	PUBLIC Variables which are initialised by the BIOS before the
diff --git a/drbio/init.asm b/drbio/init.asm
--- a/drbio/init.asm
+++ b/drbio/init.asm
@@ -52,7 +52,7 @@
 
 ; IBM AT Hardware equates
 
-COMPRESSED	equ	TRUE		; enables compressed changes.
+COMPRESSED	equ	FALSE		; enables compressed changes.
 
 ; a little macro to help locate things
 ; it warns us when the ORG get trampled on
@@ -705,6 +705,8 @@
 
 	push	ds:1eh[bp]
 	push	ds:1ch[bp]
+	push	si			; drdoslen
+	push	ax			; drdosseg
 	push	cx			; save entry registers
 	push	di			; (important in ROM systems)
 
diff --git a/drbio/make.bat b/drbio/make.bat
--- a/drbio/make.bat
+++ b/drbio/make.bat
@@ -87,8 +87,8 @@
 x2b2 .\bin\bios.exe .\bin\drbio.sys
 IF ERRORLEVEL 1 GOTO FAILED
 del .\bin\bios.exe
-%LOCTOOLS%\compbios .\bin\drbio.sys
-IF ERRORLEVEL 1 GOTO FAILED
+::%LOCTOOLS%\compbios .\bin\drbio.sys
+::IF ERRORLEVEL 1 GOTO FAILED
 goto exit
 
 :failed
