24 lines
531 B
Diff
24 lines
531 B
Diff
|
--- a/core/isolinux.asm
|
||
|
+++ b/core/isolinux.asm
|
||
|
@@ -694,10 +724,17 @@
|
||
|
;
|
||
|
getlinsec_cdrom:
|
||
|
mov si,dapa ; Load up the DAPA
|
||
|
- mov [si+4],bx
|
||
|
- mov bx,es
|
||
|
- mov [si+6],bx
|
||
|
mov [si+8],eax
|
||
|
+ ; seems that some BIOSes have problems if the target
|
||
|
+ ; segment is 0 (don't ask); to avoid this, we normalize
|
||
|
+ ; the buffer address here
|
||
|
+ ; -> seen on Acer TravelMate C102Ti
|
||
|
+ mov [si+4],bx
|
||
|
+ and word [si+4],0fh
|
||
|
+ mov ax,es
|
||
|
+ shr bx,4
|
||
|
+ add ax,bx
|
||
|
+ mov [si+6],ax
|
||
|
.loop:
|
||
|
push bp ; Sectors left
|
||
|
cmp bp,[MaxTransfer]
|