qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] BIOS behaves different as real BIOS
@ 2004-07-17  6:01 Natalia Portillo
  2004-07-17  6:40 ` [Qemu-devel] " Ben Pfaff
  2004-07-17  7:12 ` [Qemu-devel] " Antony T Curtis
  0 siblings, 2 replies; 8+ messages in thread
From: Natalia Portillo @ 2004-07-17  6:01 UTC (permalink / raw)
  To: qemu-devel

Hi!

I tried to boot an old operating system from qemu and I get a message from
BIOS saying that tbe floppy is not bootable (literally: "FATAL: Not a
bootable disk").

I think that this is because the BIOS searches for the 0x55AA signature on
last two bytes of first sector of disk.
As far as I remember, this signature was introduced very lately and as far
as I tested on my real systems, this signature is not really searched at
boot time, and every DOS before 3.0 doesn't have it (it is used also by
later DOSes and Windows to identify a FAT filesystem), at least on floppies
(I think that on hard disks it is also ignored, but never tested -0x55AA is
also used to identify Intel partition scheme, aka MBR-).

Regards,
Natalia Portillo

P.S.: Just have read the BIOS source code from the original IBM PC
documentation, and BIOS doesn't look for that signature, just do INT 13h to
copy the first sector from floppy 0 to 0x7c00 and then jump to it, just as
following (is NOT a copy from the documentation):

Mov ah, 02h
Mov al, 01h
Xor ch, ch
Mov cl, 01h
Xor dx, dx
Mov ex, 0000h
Mov bx, 7c00h
Jmp 7c00h

P.S.2: Maybe this mail should be better sent to bochs mailing list but I'm
not subscrided, so, if so, please resend it.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Qemu-devel] Re: BIOS behaves different as real BIOS
  2004-07-17  6:01 [Qemu-devel] BIOS behaves different as real BIOS Natalia Portillo
@ 2004-07-17  6:40 ` Ben Pfaff
  2004-07-17  6:45   ` Natalia Portillo
  2004-07-17  7:12 ` [Qemu-devel] " Antony T Curtis
  1 sibling, 1 reply; 8+ messages in thread
From: Ben Pfaff @ 2004-07-17  6:40 UTC (permalink / raw)
  To: qemu-devel

"Natalia Portillo" <claunia@claunia.com> writes:

> I think that this is because the BIOS searches for the 0x55AA signature on
> last two bytes of first sector of disk.
> As far as I remember, this signature was introduced very lately and as far
> as I tested on my real systems, this signature is not really searched at
> boot time, and every DOS before 3.0 doesn't have it (it is used also by
> later DOSes and Windows to identify a FAT filesystem), at least on floppies

You can disable the signature check by setting byte 0x38 in the
CMOS RAM to a nonzero value.
-- 
"...In the UNIX world, people tend to interpret `non-technical user'
 as meaning someone who's only ever written one device driver."
--Daniel Pead

^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: [Qemu-devel] Re: BIOS behaves different as real BIOS
  2004-07-17  6:40 ` [Qemu-devel] " Ben Pfaff
@ 2004-07-17  6:45   ` Natalia Portillo
  2004-07-17  6:51     ` Ben Pfaff
  0 siblings, 1 reply; 8+ messages in thread
From: Natalia Portillo @ 2004-07-17  6:45 UTC (permalink / raw)
  To: blp, qemu-devel

Excuse me, where are the CMOS RAM values in qemu :? 

> -----Mensaje original-----
> De: qemu-devel-bounces+iosglpgc=teleline.es@nongnu.org 
> [mailto:qemu-devel-bounces+iosglpgc=teleline.es@nongnu.org] 
> En nombre de Ben Pfaff
> Enviado el: sábado, 17 de julio de 2004 7:40
> Para: qemu-devel@nongnu.org
> Asunto: [Qemu-devel] Re: BIOS behaves different as real BIOS
> 
> "Natalia Portillo" <claunia@claunia.com> writes:
> 
> > I think that this is because the BIOS searches for the 0x55AA 
> > signature on last two bytes of first sector of disk.
> > As far as I remember, this signature was introduced very 
> lately and as 
> > far as I tested on my real systems, this signature is not really 
> > searched at boot time, and every DOS before 3.0 doesn't 
> have it (it is 
> > used also by later DOSes and Windows to identify a FAT 
> filesystem), at 
> > least on floppies
> 
> You can disable the signature check by setting byte 0x38 in 
> the CMOS RAM to a nonzero value.
> --
> "...In the UNIX world, people tend to interpret `non-technical user'
>  as meaning someone who's only ever written one device driver."
> --Daniel Pead
> 
> 
> 
> _______________________________________________
> Qemu-devel mailing list
> Qemu-devel@nongnu.org
> http://lists.nongnu.org/mailman/listinfo/qemu-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Qemu-devel] Re: BIOS behaves different as real BIOS
  2004-07-17  6:45   ` Natalia Portillo
@ 2004-07-17  6:51     ` Ben Pfaff
  2004-07-17  7:04       ` Natalia Portillo
  0 siblings, 1 reply; 8+ messages in thread
From: Ben Pfaff @ 2004-07-17  6:51 UTC (permalink / raw)
  To: qemu-devel

"Natalia Portillo" <claunia@claunia.com> writes:

> Excuse me, where are the CMOS RAM values in qemu :? 

In hw/pc.c.  Add a line like
        rtc_set_memory(s, 0x38, 1);
to the end of cmos_init().

As far as I know there is currently no way to customize CMOS
without modifying source code.
-- 
"In this world that Hugh Heffner had made,
 he alone seemed forever bunnyless."
--John D. MacDonald

^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: [Qemu-devel] Re: BIOS behaves different as real BIOS
  2004-07-17  6:51     ` Ben Pfaff
@ 2004-07-17  7:04       ` Natalia Portillo
  2004-07-17 15:47         ` Ben Pfaff
  0 siblings, 1 reply; 8+ messages in thread
From: Natalia Portillo @ 2004-07-17  7:04 UTC (permalink / raw)
  To: blp, qemu-devel

Thanks it works.

Boots the floppy but seems that Xenix isn't supported xD.

Does this value in CMOS do anything in a real BIOS?
Where is it documented?

Regards 

> -----Mensaje original-----
> De: qemu-devel-bounces+iosglpgc=teleline.es@nongnu.org 
> [mailto:qemu-devel-bounces+iosglpgc=teleline.es@nongnu.org] 
> En nombre de Ben Pfaff
> Enviado el: sábado, 17 de julio de 2004 7:52
> Para: qemu-devel@nongnu.org
> Asunto: [Qemu-devel] Re: BIOS behaves different as real BIOS
> 
> "Natalia Portillo" <claunia@claunia.com> writes:
> 
> > Excuse me, where are the CMOS RAM values in qemu :? 
> 
> In hw/pc.c.  Add a line like
>         rtc_set_memory(s, 0x38, 1);
> to the end of cmos_init().
> 
> As far as I know there is currently no way to customize CMOS 
> without modifying source code.
> --
> "In this world that Hugh Heffner had made,  he alone seemed 
> forever bunnyless."
> --John D. MacDonald
> 
> 
> 
> _______________________________________________
> Qemu-devel mailing list
> Qemu-devel@nongnu.org
> http://lists.nongnu.org/mailman/listinfo/qemu-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] BIOS behaves different as real BIOS
  2004-07-17  6:01 [Qemu-devel] BIOS behaves different as real BIOS Natalia Portillo
  2004-07-17  6:40 ` [Qemu-devel] " Ben Pfaff
@ 2004-07-17  7:12 ` Antony T Curtis
  2004-07-17  8:20   ` Natalia Portillo
  1 sibling, 1 reply; 8+ messages in thread
From: Antony T Curtis @ 2004-07-17  7:12 UTC (permalink / raw)
  To: qemu-devel

On Sat, 2004-07-17 at 07:01, Natalia Portillo wrote:
> Hi!
> 
> I tried to boot an old operating system from qemu and I get a message from
> BIOS saying that tbe floppy is not bootable (literally: "FATAL: Not a
> bootable disk").
> 
> I think that this is because the BIOS searches for the 0x55AA signature on
> last two bytes of first sector of disk.
> As far as I remember, this signature was introduced very lately and as far
> as I tested on my real systems, this signature is not really searched at
> boot time, and every DOS before 3.0 doesn't have it (it is used also by
> later DOSes and Windows to identify a FAT filesystem), at least on floppies
> (I think that on hard disks it is also ignored, but never tested -0x55AA is
> also used to identify Intel partition scheme, aka MBR-).

I remember looking at the IBM PC/XT BIOS source and seeing it, and when
I used to play with putting my own messages in the boot sector, It had
to be there. This was around 15 years ago. The old IBM PC/XT would boot
into ROM Cassette BASIC if it did not find the signature. It is possible
that the original IBM PC did not have the check but by the time the
PC/XT came out, it did. The model of the PC/XT I had was 5150 (the 2
full height floppy drive model)

<snip>

-- 
Antony T Curtis <antony.t.curtis@ntlworld.com>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: [Qemu-devel] BIOS behaves different as real BIOS
  2004-07-17  7:12 ` [Qemu-devel] " Antony T Curtis
@ 2004-07-17  8:20   ` Natalia Portillo
  0 siblings, 0 replies; 8+ messages in thread
From: Natalia Portillo @ 2004-07-17  8:20 UTC (permalink / raw)
  To: qemu-devel

Well the PC-DOS 1.0 does not have that signature, and also does not create
it in any disk you format. Nor the SCO Xenix has it.

I know this signature is present on DOS 3.0 and upper versions in all disks
you create. I not know about DOS 2.0 (I lost my copy of this version).

> -----Mensaje original-----
> De: qemu-devel-bounces+iosglpgc=teleline.es@nongnu.org
> [mailto:qemu-devel-bounces+iosglpgc=teleline.es@nongnu.org]
> En nombre de Antony T Curtis
> Enviado el: sábado, 17 de julio de 2004 8:13
> Para: qemu-devel@nongnu.org
> Asunto: Re: [Qemu-devel] BIOS behaves different as real BIOS
> 
> On Sat, 2004-07-17 at 07:01, Natalia Portillo wrote:
> > Hi!
> > 
> > I tried to boot an old operating system from qemu and I get
> a message
> > from BIOS saying that tbe floppy is not bootable
> (literally: "FATAL: 
> > Not a bootable disk").
> > 
> > I think that this is because the BIOS searches for the 0x55AA 
> > signature on last two bytes of first sector of disk.
> > As far as I remember, this signature was introduced very
> lately and as
> > far as I tested on my real systems, this signature is not really 
> > searched at boot time, and every DOS before 3.0 doesn't
> have it (it is
> > used also by later DOSes and Windows to identify a FAT
> filesystem), at
> > least on floppies (I think that on hard disks it is also
> ignored, but
> > never tested -0x55AA is also used to identify Intel
> partition scheme, aka MBR-).
> 
> I remember looking at the IBM PC/XT BIOS source and seeing it, and 
> when I used to play with putting my own messages in the boot sector, 
> It had to be there. This was around 15 years ago. The old IBM PC/XT 
> would boot into ROM Cassette BASIC if it did not find the signature. 
> It is possible that the original IBM PC did not have the check but by 
> the time the PC/XT came out, it did. The model of the PC/XT I had was 
> 5150 (the 2 full height floppy drive model)
> 
> <snip>
> 
> --
> Antony T Curtis <antony.t.curtis@ntlworld.com>
> 
> 
> 
> _______________________________________________
> Qemu-devel mailing list
> Qemu-devel@nongnu.org
> http://lists.nongnu.org/mailman/listinfo/qemu-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Qemu-devel] Re: BIOS behaves different as real BIOS
  2004-07-17  7:04       ` Natalia Portillo
@ 2004-07-17 15:47         ` Ben Pfaff
  0 siblings, 0 replies; 8+ messages in thread
From: Ben Pfaff @ 2004-07-17 15:47 UTC (permalink / raw)
  To: qemu-devel

"Natalia Portillo" <claunia@claunia.com> writes:

[nonzero value at 0x38 in CMOS disables boot signature check]
> Does this value in CMOS do anything in a real BIOS?

I don't think so--it's not documented in Ralf Brown's list of
CMOS bytes.

> Where is it documented?

I just noticed that that was was the Bochs BIOS did while looking
through the BIOS source one day.
-- 
"The sound of peacocks being shredded can't possibly be
 any worse than the sound of peacocks not being shredded."
Tanuki the Raccoon-dog in the Monastery

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2004-07-17 15:50 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-07-17  6:01 [Qemu-devel] BIOS behaves different as real BIOS Natalia Portillo
2004-07-17  6:40 ` [Qemu-devel] " Ben Pfaff
2004-07-17  6:45   ` Natalia Portillo
2004-07-17  6:51     ` Ben Pfaff
2004-07-17  7:04       ` Natalia Portillo
2004-07-17 15:47         ` Ben Pfaff
2004-07-17  7:12 ` [Qemu-devel] " Antony T Curtis
2004-07-17  8:20   ` Natalia Portillo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).