Re: Best design strategy for loading > 1mb
Posted: Wed Dec 31, 2008 8:17 pm
Hi,
OK, I did some testing...
The short summary is that out of 30 separate tests on 22 different computers, the CPU was left in unreal mode for 3 of the 10 floppy boot tests (and none of the 20 PXE/network boot tests).
The code I used for testing is:
Note that this code can be booted from both PXE and floppy (the code was identical regardless of how I booted).
Some of the computers were tested by booting from the network (PXE) and booting from floppy. A lot of the computers don't have floppy drives and were tested by booting with PXE only. Two of the computers are currently unable to boot using PXE and were tested with floppy only.
Here's a complete/detailed list of test computers and results:
To be honest, I'm completely amazed that it actually did work on 3 of these computers - leaving the CPU in unreal mode is probably the most common BIOS bug I've come across.
Cheers,
Brendan
OK, I did some testing...
The short summary is that out of 30 separate tests on 22 different computers, the CPU was left in unreal mode for 3 of the 10 floppy boot tests (and none of the 20 PXE/network boot tests).
The code I used for testing is:
Code: Select all
org 0x7c00
jmp 0:START
align 4
START:
xor ax,ax
cli
mov ds,ax
mov es,ax
mov ss,ax
mov sp,START
sti
mov ax,0x0003
int 0x10
mov eax,0x1F1F1F1F
mov edi,0x000B8000
mov ecx,80*25/2
cld
a32 rep stosd
jmp $
times ($$-$+0x01FE) db 0x00
dw 0xAA55
Some of the computers were tested by booting from the network (PXE) and booting from floppy. A lot of the computers don't have floppy drives and were tested by booting with PXE only. Two of the computers are currently unable to boot using PXE and were tested with floppy only.
Here's a complete/detailed list of test computers and results:
Code: Select all
Cyrix "Cx6x86-P150+", AMIBIOS, PXE - crashed, Floppy - crashed
Cyrix "6x86PR166+", Award BIOS v4.51PG, PXE - crashed, Floppy - crashed
Cyrix "6x86MX-PR200", Award BIOS v4.51PG, PXE - crashed
Intel 80486DX, AMIBIOS OPTI-496SLC BIOS VER 2.1, Floppy - crashed
Intel Pentium, Award BIOS v4.50PG, PXE - crashed
Intel Pentium, Phoenix BIOS Version 4.05, PXE - crashed, Floppy - worked!
Intel Pentium Pro, Phoenix ROM BIOS Plus Version 1.10 A06, PXE - crashed
Intel Pentium Pro, AMIBIOS (BIOS Release 735120996), PXE - crashed, Floppy - crashed
Dual Pentium Pro, COMPAQ System BIOS - P08 (11/08/2000), Floppy - crashed
Dual Intel Pentium III, PhoenixBIOS 4.0 Release 6, PXE - crashed, Floppy - crashed
Dual Intel Xeon (P4/Netburst), AMI BIOS (BIOS Build 0190), PXE - crashed, Floppy - crashed
Intel Celeron (P4/Netburst), Award Modular BIOS V6.00PG, PXE - crashed
AMD Am5x86-P75-S, Award BIOS v4.51G, PXE - crashed, Floppy - worked!
AMD AMD-K6-2/300, Award BIOS v4.51PG, PXE - crashed
AMD Athlon, Phoenix AwardBIOS v6.00PG, PXE - crashed
Dual AMD Opteron 265, AMIBIOS (Tyan Thunder K8S/K8S-D Pro BIOS v3.04), PXE - crashed, Floppy - worked!
VIA Eden ESP 4000, Phoenix AwardBIOS v6.00PG, PXE - crashed
VIA C3 1.0A, Phoenix AwardBIOS v6.00PG, PXE - crashed
NSC/AMD Geode GX1, Unknown BIOS, PXE - crashed
NSC/AMD Geode GX2, Unknown BIOS, PXE - crashed
Transmeta TM5800, "HP t5000 series v6.00PG", PXE - crashed
Vortex A9100, AMIBIOS 08.00.14, PXE - crashed
Cheers,
Brendan