Mail Archives: opendos/2003/12/05/12:59:17
Oh, my first message to the list was rejected too...
Let's try again:
; CLRVDISK.COM
; Clear VDISK signature in HMA if A20 enabled at boot time,
; which happens on some systems (as Toshiba Satellite 300CDS)
; and causes memory manager initialization error
; Add INSTALL=CLRVDISK.COM in [D]CONFIG.SYS before the memory
; manager; this works under DR-DOS only, as MS-DOS processes
; INSTALL= directives too late
; Intel syntax (NASM), 80386+
org 100h
xor bx, bx
mov ds, bx ; ds = 0
dec bx
mov es, bx ; es = 0FFFFh
mov bx, 200h ; word to compare: unused INT 80h vector
mov di, 10h ; offset of HMA in segment 0FFFFh
mov ax, [bx]
cmp ax, [es:bx + di] ; 20-bit address wrap test
jne clear ; words differ, A20 enabled
not dword [es:bx + di] ; not sure yet, try modifying HMA
cmp ax, [bx]
jne done ; 0:200h changed, so A20 is disabled
clear:
cld
mov cx, di ; length = 10h words, dest = HMA start
xor ax, ax
rep stosw ; clear VDISK header (if any)
done:
ret ; return via INT 20h
The binary is attached in a private message.
Hope this helps,
Michal
- Raw text -