[Bochs-developers] [PATCH resend] compute checksum for roms bigger than a segment
This commit is contained in:
parent
adb5243f25
commit
f34cce9177
@ -1,5 +1,5 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
// $Id: rombios.c,v 1.228 2009-04-03 15:53:46 sshwarts Exp $
|
// $Id: rombios.c,v 1.229 2009-04-09 20:34:09 sshwarts Exp $
|
||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// Copyright (C) 2002 MandrakeSoft S.A.
|
// Copyright (C) 2002 MandrakeSoft S.A.
|
||||||
@ -937,7 +937,7 @@ Bit16u cdrom_boot();
|
|||||||
|
|
||||||
#endif // BX_ELTORITO_BOOT
|
#endif // BX_ELTORITO_BOOT
|
||||||
|
|
||||||
static char bios_cvs_version_string[] = "$Revision: 1.228 $ $Date: 2009-04-03 15:53:46 $";
|
static char bios_cvs_version_string[] = "$Revision: 1.229 $ $Date: 2009-04-09 20:34:09 $";
|
||||||
|
|
||||||
#define BIOS_COPYRIGHT_STRING "(c) 2002 MandrakeSoft S.A. Written by Kevin Lawton & the Bochs team."
|
#define BIOS_COPYRIGHT_STRING "(c) 2002 MandrakeSoft S.A. Written by Kevin Lawton & the Bochs team."
|
||||||
|
|
||||||
@ -10154,22 +10154,43 @@ no_serial:
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
rom_checksum:
|
rom_checksum:
|
||||||
push ax
|
pusha
|
||||||
push bx
|
push ds
|
||||||
push cx
|
|
||||||
xor ax, ax
|
xor ax, ax
|
||||||
xor bx, bx
|
xor bx, bx
|
||||||
xor cx, cx
|
xor cx, cx
|
||||||
|
xor dx, dx
|
||||||
|
|
||||||
mov ch, [2]
|
mov ch, [2]
|
||||||
shl cx, #1
|
shl cx, #1
|
||||||
|
|
||||||
|
jnc checksum_loop
|
||||||
|
xchg dx, cx
|
||||||
|
dec cx
|
||||||
|
|
||||||
checksum_loop:
|
checksum_loop:
|
||||||
add al, [bx]
|
add al, [bx]
|
||||||
inc bx
|
inc bx
|
||||||
loop checksum_loop
|
loop checksum_loop
|
||||||
|
|
||||||
|
test dx, dx
|
||||||
|
je checksum_out
|
||||||
|
|
||||||
|
add al, [bx]
|
||||||
|
mov cx, dx
|
||||||
|
mov dx, ds
|
||||||
|
add dh, #0x10
|
||||||
|
mov ds, dx
|
||||||
|
xor dx, dx
|
||||||
|
xor bx, bx
|
||||||
|
|
||||||
|
jmp checksum_loop
|
||||||
|
|
||||||
|
checksum_out:
|
||||||
and al, #0xff
|
and al, #0xff
|
||||||
pop cx
|
pop ds
|
||||||
pop bx
|
popa
|
||||||
pop ax
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user