; Load a boot sector
;
is_bootsector:
-%if IS_SYSLINUX
+%if IS_SYSLINUX || IS_MDSLINUX
; Transfer zero bytes
xor cx,cx
jmp short load_bootsec
call load_high
call crlf
-%if IS_SYSLINUX
+%if IS_SYSLINUX || IS_MDSLINUX
pop cx
%endif
sub edi,100000h
push edi ; Save length
-%if IS_SYSLINUX
+%if IS_SYSLINUX || IS_MDSLINUX
jcxz .not_bss
; For a BSS boot sector we have to patch.
call vgaclearmode
xor edx,edx
xor eax,eax
-%if IS_SYSLINUX
+%if IS_SYSLINUX || IS_MDSLINUX
mov dl,[bsDriveNumber]
mov si,PartInfo
jmp bcopy_over_self
-%if IS_SYSLINUX = 0
+%if IS_SYSLINUX || IS_MDSLINUX
+ ; Nothing
+%else
is_bss_sector:
mov si,err_bssimage
call cwritestr
;
comapi_derinfo:
mov P_AL,my_id
-%if IS_SYSLINUX
+%if IS_SYSLINUX || IS_MDSLINUX
mov al,[bsDriveNumber]
mov P_DL,al
mov P_ES,cs
test dl,3
setnz [KeepPXE]
call unload_pxe
-%elif IS_SYSLINUX
+%elif IS_SYSLINUX || IS_MDSLINUX
; Restore original FDC table
mov eax,[OrigFDCTabPtr]
mov [fdctab],eax
;
; ****************************************************************************
+%ifndef IS_MDSLINUX
%define IS_SYSLINUX 1
+%endif
%include "macros.inc"
%include "config.inc"
%include "kernel.inc"
ldlinux_sys:
-syslinux_banner db 0Dh, 0Ah, 'SYSLINUX ', version_str, ' ', date, ' ', 0
+syslinux_banner db 0Dh, 0Ah
+%if IS_MDSLINUX
+ db 'MDSLINUX '
+%else
+ db 'SYSLINUX '
+%endif
+ db version_str, ' ', date, ' ', 0
db 0Dh, 0Ah, 1Ah ; EOF if we "type" this in DOS
ldlinux_magic db 'LDLINUX SYS'
null_msg db 0
crff_msg db CR, FF, 0
syslinux_cfg db 'SYSLINUXCFG'
+%if IS_MDSLINUX
+manifest db 'MANIFEST '
+%endif
;
; Command line options we'd like to take a look at
;
%ifndef IS_SYSLINUX
%define IS_SYSLINUX 0
%endif
+%ifndef IS_MDSLINUX
+%define IS_MDSLINUX 0
+%endif
%ifndef IS_PXELINUX
%define IS_PXELINUX 0
%endif
; Copy the disk table to high memory, then re-initialize the floppy
; controller
;
-%if IS_SYSLINUX
+%if IS_SYSLINUX || IS_MDSLINUX
lgs si,[cs:fdctab]
mov di,linux_fdctab
mov cx,6 ; 12 bytes
; Find the kernel on disk
;
get_kernel: mov byte [KernelName+FILENAME_MAX],0 ; Zero-terminate filename/extension
-%if IS_SYSLINUX ; SYSLINUX has to deal with DOS mangled names...
+%if IS_SYSLINUX || IS_MDSLINUX ; SYSLINUX has to deal with DOS mangled names...
mov eax,[KernelName+8] ; Save initial extension
mov [exten_table_end],eax ; Last case == initial ext.
%else
pop bx
jnz kernel_good
mov eax,[bx] ; Try a different extension
-%if IS_SYSLINUX
+%if IS_SYSLINUX || IS_MDSLINUX
mov [KernelName+8],eax
%else
mov si,[KernelExtPtr]
%endif
xor bx,bx ; Try only one version
-%if IS_SYSLINUX
+%if IS_SYSLINUX || IS_MDSLINUX
jmp get_kernel
%else
; Is this a "localboot" pseudo-kernel?
mov [KernelCNameLen],di
popa
-%if IS_SYSLINUX
+%if IS_SYSLINUX || IS_MDSLINUX
mov ecx,[KernelName+7]
mov cl,'.'
%else
je is_bss_sector
cmp ecx,'.bin'
je is_bootsector
-%if IS_SYSLINUX
+%if IS_SYSLINUX || IS_MDSLINUX
cmp ecx,'.bs '
je is_bootsector
cmp ecx,'.0 '