wok-current rev 19837
syslinux/iso2exe: remove 8k limit for win32.exe
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Sat Mar 11 11:56:27 2017 +0100 (2017-03-11) |
parents | b5e60f53a19e |
children | e23fd880d81b |
files | syslinux/stuff/iso2exe/bootiso.S |
line diff
1.1 --- a/syslinux/stuff/iso2exe/bootiso.S Sat Mar 11 09:26:27 2017 +0100 1.2 +++ b/syslinux/stuff/iso2exe/bootiso.S Sat Mar 11 11:56:27 2017 +0100 1.3 @@ -122,7 +122,7 @@ 1.4 .org 0x01B8 1.5 1.6 ////////////////////////// partition boot code //////////////////////////////// 1.7 -// assume CS=DS=SS=0 AH=00 BX=7C00 CX=0100 DL=<drive> SI=7DBE 1.8 +// assume DS=SS AH=00 BX=7C00 CH=01 DL=<drive> SI=7DBE 1.9 1.10 .org 0x7C00 1.11 jmp bootpartition 1.12 @@ -132,9 +132,11 @@ 1.13 patch: 1.14 .byte 0,0,0 // head of original bs 1.15 partcode: 1.16 - popw %di 1.17 - movw $table,%si 1.18 + popw %si 1.19 + xchgw %si,%di 1.20 call movepartition 1.21 + pushw %cx 1.22 + pushw %cx 1.23 movw $patch-16,%di 1.24 movb $4,%cl 1.25 movb $16,%al 1.26 @@ -142,18 +144,16 @@ 1.27 addw %ax,%di 1.28 cmpb %ch,(%di) // boot flag ? 1.29 loope next 1.30 - pushw %ds 1.31 - pushw %ds 1.32 pushw 10(%di) 1.33 pushw 8(%di) 1.34 - pushw %ds 1.35 + pushw %cs 1.36 pushw %bx 1.37 movb $1,%cl 1.38 pushw %cx 1.39 pushw %ax 1.40 movw %sp,%si // assume %ds = %ss 1.41 pushw %bx 1.42 - cmpw %ax,2(%di) // empty or isolinux partition ? 1.43 + cmpw $63,2(%di) // empty or isolinux partition ? 1.44 jbe default 1.45 movb $0x42,%ah 1.46 int $0x13 1.47 @@ -167,7 +167,7 @@ 1.48 movw %bx,%di 1.49 movsw 1.50 movsb 1.51 - movw $0x7E00,%di 1.52 + movw $table-0x142,%di 1.53 pushw %di 1.54 movepartition: 1.55 movb $66,%cl // 0142 and 0042