wok rev 19849

syslinux/iso2exe: do not update hybrid mbr partitions (again)
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed Mar 15 16:52:45 2017 +0100 (2017-03-15)
parents 7c4116e3377f
children 10cf54238be9
files syslinux/stuff/iso2exe/bootiso.S syslinux/stuff/iso2exe/iso2exe.sh
line diff
     1.1 --- a/syslinux/stuff/iso2exe/bootiso.S	Wed Mar 15 12:56:01 2017 +0100
     1.2 +++ b/syslinux/stuff/iso2exe/bootiso.S	Wed Mar 15 16:52:45 2017 +0100
     1.3 @@ -177,12 +177,11 @@
     1.4  	ret
     1.5  	.org	0x7E00
     1.6  
     1.7 -	.org	0x7F48
     1.8 +	.org	0x7F4E
     1.9  ////////////////////////////// DOS EXE code ///////////////////////////////////
    1.10  
    1.11  exestart:
    1.12  	cld
    1.13 -	movw	$EXEADRS(puts), %bp	
    1.14  	movw	129, %ax
    1.15  	cmpb	$0x2F, %al
    1.16  	je	ishelp
    1.17 @@ -194,24 +193,18 @@
    1.18  	je	abort
    1.19  	int	$0x21			// get DOS version
    1.20  	addb	$-3, %al
    1.21 -	movw	$0xF000+EXESTR(noDOS3), %ax
    1.22 +	movb	$EXESTR(noDOS3), %al
    1.23  	movw	$0x100, %di
    1.24  	jc	tst386
    1.25  abort:
    1.26 -	jmp	*%bp
    1.27 +goputs:
    1.28 +	jmp	puts
    1.29  
    1.30  tst386:
    1.31 -	pushfw				// save flags
    1.32 -		// bits  15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0
    1.33 -		// flags  0 NT  IOPL OF DF IF TF SF ZF  0 AF  0 PF  1 CF
    1.34 -	// movb	$0xF0, %ah
    1.35 -	pushw	%ax
    1.36 -	popfw				// < 286 : flags[12..15] are forced 1
    1.37 -	pushfw				// = 286 : flags[12..15] are forced 0
    1.38 -	popw	%bx			// > 286 : only flags[15] is forced 0
    1.39 -	popfw				// restore flags (IOPL)
    1.40 -	addb	%ah, %bh		// test F0 and 00 cases
    1.41 -	js	is86			// NS=386+, NC=286
    1.42 +	pushw	%sp
    1.43 +	popw	%ax
    1.44 +	subw	%sp, %ax
    1.45 +	jnz	is86			// 86/186 not a 286+
    1.46  	.arch	i486
    1.47  is386:
    1.48  	smsww	%ax			// not privileged
    1.49 @@ -225,7 +218,7 @@
    1.50  	inc	%ax
    1.51  	//movb	$EXESTR(realmodemsg), %al
    1.52  realmode:
    1.53 -	call	*%bp
    1.54 +	call	goputs
    1.55  	.arch	i8086
    1.56  is86:
    1.57  	movw	comstart-end_header(%di), %si		// .com address
     2.1 --- a/syslinux/stuff/iso2exe/iso2exe.sh	Wed Mar 15 12:56:01 2017 +0100
     2.2 +++ b/syslinux/stuff/iso2exe/iso2exe.sh	Wed Mar 15 16:52:45 2017 +0100
     2.3 @@ -595,6 +595,7 @@
     2.4  		for i in 0 1 2 3 ; do
     2.5  			[ $(get $((0x1BE+16*i)) $1 2) == $((0x0080)) ] || continue
     2.6  			store $((0x1CA+16*i)) $(($mb*2048-$h)) $1 32
     2.7 +			store $((0x1C5+16*i)) $(($mb-1)) $1 8
     2.8  		done
     2.9  		if [ $newsz -gt $isosz ]; then
    2.10  			echo "$(($newsz - $isosz)) extra bytes."