[syslinux] "isolinux.bin missing or corrupt" when booting USB flash drive in old PC
Thomas Schmitt
scdbackup at gmx.net
Wed Mar 22 04:06:12 PDT 2017
Hi,
given the fact that the conversion has the factor HC*SH = "secpercyl",
which is invariant under swapping, there remains as suspect in
read_sector_cbios only this division:
divb (sectors)
There is a suspicious discrepancy in the code:
heads = (stack-16)
sectors = (stack-18)
...
/* here we computer CHS values or just do some dummy computation for EBIOS */
andw $0x3f, %cx /* Sector count */
popw %bx /* EBIOS flag */
pushw %cx /* -16: Save sectors on the stack */
movzbw %dh, %ax /* dh = max head */
incw %ax /* From 0-based max to count */
pushw %ax /* -18: Save heads on the stack */
mulw %cx /* Heads*sectors -> sectors per cylinder */
Does "-16: Save sectors on the stack" contradict "sectors = (stack-18)" ?
Have a nice day :)
Thomas
More information about the Syslinux
mailing list