Displaying 4 results from an estimated 4 matches for "lba_offset".
Did you mean:
lb_offset
2017 Mar 19
1
"isolinux.bin missing or corrupt" when booting USB flash drive in old PC
...alues or just do some dummy computation for EBIOS */
So it's just for simplicity or lazyness. As the code doesn't do any
harm (supposedly) in that case the coder just lets it run.
>
> - I assume that
> movw $0x7c00, %bx
> movw $4, %cx /* Sector count */
> movl (lba_offset), %eax
> 2:
> call read_sector
> ...
> loopw 2b
> shall load the bytes of isolinux.bin to address 0x7c00.
Yes, I think so. It loads the next bootloader (which is four secors
instead of the usual one) to 0x7c00. It's most likely is isolinux as
it has confi...
2017 Mar 19
1
"isolinux.bin missing or corrupt" when booting USB flash drive in old PC
Thomas Schmitt wrote:
> I ponder whether it would be possible to create a diagnostic MBR
> which does not necessarily have to boot but rather tells what the
> isohybrid MBR would perceive: Presence of partition table,
> EBIOS or CBIOS, block address used with INT 13, content of the block
> read by the first INT 13, ...
...
> The diagnostic MBR should only use 432 bytes because at
2017 Mar 21
3
"isolinux.bin missing or corrupt" when booting USB flash drive in old PC
...g */
/* Save sectors/cylinder on the stack */
pushw %dx /* -22: High word */
pushw %ax /* -24: Low word */
/*
* Load sectors. We do this one at a time mostly to avoid
* pitfalls and to share code with the stock MBR code.
*/
movw $0x7c00, %bx
movw $4, %cx /* Sector count */
movl (lba_offset), %eax
2:
call read_sector
jc disk_error
incl %eax
addb $(512 >> 8), %bh
loopw 2b
/* Dump out the bytes of the first sector. */
pusha
mov $0x7c00, %di
mov $16, %dx
2:
mov $16, %cx
1:
mov (%di), %al
inc %di
call print_al
loop 1b
call print_string
.ascii "\r\n"...
2017 Mar 21
0
Patch: make slightly more verbose versions of isohdp.x.S
...ring:
+ pop %si
+ push %bp
+ push %ax
+ push %bx
2:
lodsb
movb $0x0e, %ah
@@ -284,10 +329,11 @@ error:
cmpb $10, %al /* Newline? */
jne 2b
- int $0x18 /* Boot failure */
-die:
- hlt
- jmp die
-
+ pop %bx
+ pop %ax
+ pop %bp
+ push %si
+ ret
+
/* Address of pointer to isolinux.bin */
lba_offset = _start+432
diff --git a/mbr/isohdppv.S b/mbr/isohdppv.S
new file mode 100644
index 0000000..08f3881
--- /dev/null
+++ b/mbr/isohdppv.S
@@ -0,0 +1,3 @@
+#define DEBUG_PRINT 1
+#include "isohdppx.S"
+