Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.os.msdos.programmer > #392
| From | "Rod Pemberton" <do_not_have@noavailemail.cmm> |
|---|---|
| Newsgroups | alt.os.development, comp.os.msdos.programmer |
| Subject | Re: How to call Int 15h, ax=e881h? |
| Date | 2011-11-02 02:49 -0400 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <j8qp45$e1$1@speranza.aioe.org> (permalink) |
| References | <j8n1ll$t95$1@speranza.aioe.org> <7a1ef205-0198-49f2-b7e7-c0d712ec7977@g7g2000vbv.googlegroups.com> |
Cross-posted to 2 groups.
"James Harris" <james.harris.1@googlemail.com> wrote in message news:7a1ef205-0198-49f2-b7e7-c0d712ec7977@g7g2000vbv.googlegroups.com... > On Oct 31, 8:50 pm, "Rod Pemberton" <do_not_h...@noavailemail.cmm> > wrote: > > Does anyone here know how to correctly call Int 15h, ax=e881h? > > Great question, Rod. Sigh ... > Isn't e881 documented to provide exactly the same info as e801? RBIL indicates it should. I didn't recheck the Phoenix manuals. The returned values are small enough that e881h could just clears the upper 2 bytes of eax, ebx, ecx, edx, ... (Could that be it? Horrors!) > Of course, in Protected mode int 0x15 is generally unrelated so seems > wrong. Could the reference to an interrupt be the misleading part and > the rest be correct? Not to sound hostile or aggravated, but I don't know. That's why I asked. I don't frequently come across unknown programming situations. If I get around to trying it from PM, I'll probably call the address the Int 15h 16-bit vector points too. But, I'm concerned that in PM, it may still be 16-bit code in the BIOS, not actually 32-bit. I.e., am I jumping or calling from 32-bit code to 32-bit code? Or, am I jumping or calling from 32-bit to 16-bit code? I suspect the BIOS supports both 16-bit RM and 16-bit PM, but not 32-bit protected mode even though it's supposedly 32-bit ... Well, all I seem to be doing is confusing myself. I may have to do a dump of BIOS and disassemble that routine as someone suggested. > I have a couple of Phoenix machines I could also test with in real > mode if you want to post a code snippet. Uh ... I posted my entire memory test (BDA, CMOS, all BIOS calls, etc.) at Ben's request in the Oct. 31st a.o.d. "e820 various machines" thread which is right next to this thread ... (James are you reading this from c.o.m.p.?) The RM call to e881h is one test in it. It's disabled. Direct link: http://groups.google.com/group/alt.os.development/msg/9d1a6ffab580693a > > How does one call the BIOS while in 32-bit protected mode? > > > Neither manual tells the protected mode setup required to call e881. For > > 32-bit, the manuals only describe how to call BIOS32 Service Directory. > > I think you've answered your own question. The problem is that I've got no information on how to access Int 15h via BIOS32, if that's possible ... > For comparison, based on > PCI System Architecture - 4th ed - the steps below should determine if > there are any 32-bit protected mode BIOS functions available. Apart > from the PCI bit at the end does this match the Service Directory > finder you mention? > > [BIOS32 setup, snip] It looks like it. > I don't know what eax should be for Phoenix' e881 or the family it is > part of. Apparently for the PCI BIOS eax should be set to "$PCI". BIOS32 is another of those not well documented, or documented all over the place things. I posted what I know about it here, with mentions of the specifications involved: http://groups.google.com/group/alt.os.development/msg/7b42efc6d6197527 > Both e881 and e801 are very limited and to have no way to report > holes in the address space. If they are all that's available what should > we do? Is it too naive to assume that all PCs made back then had > simple memory layouts with no holes and no devices in the memory > space these would report? Well, I posted a bunch of memory results in the "e820 various machines" thread on a.o.d which include e820h results. Maybe Ben will post some too. I sure hope so. I was surprised that e820h was supported on the old machines. > If you have a chance to go through real mode then e820 has to be the > best option, and it's been around for a long time, falling back to > e801 and ah=0x88 only in extremis. From the memory results of 3 machines that I posted, it seems those are the BIOS calls commonly supported, excluding CMOS and BDA values. However, that's a really small sample set. Rod Pemberton
Back to comp.os.msdos.programmer | Previous | Next — Previous in thread | Next in thread | Find similar
How to call Int 15h, ax=e881h? "Rod Pemberton" <do_not_have@noavailemail.cmm> - 2011-10-31 16:50 -0400
Re: How to call Int 15h, ax=e881h? Jim Leonard <mobygamer@gmail.com> - 2011-10-31 15:32 -0700
Re: How to call Int 15h, ax=e881h? Rugxulo <rugxulo@gmail.com> - 2011-10-31 16:37 -0700
Re: How to call Int 15h, ax=e881h? "Rod Pemberton" <do_not_have@noavailemail.cmm> - 2011-11-01 05:10 -0400
Re: How to call Int 15h, ax=e881h? Ross Ridge <rridge@csclub.uwaterloo.ca> - 2011-10-31 20:18 -0400
Re: How to call Int 15h, ax=e881h? "Rod Pemberton" <do_not_have@noavailemail.cmm> - 2011-11-01 05:09 -0400
Re: How to call Int 15h, ax=e881h? Ross Ridge <rridge@csclub.uwaterloo.ca> - 2011-11-01 12:23 -0400
Re: How to call Int 15h, ax=e881h? James Harris <james.harris.1@googlemail.com> - 2011-11-01 12:57 -0700
Re: How to call Int 15h, ax=e881h? "Rod Pemberton" <do_not_have@noavailemail.cmm> - 2011-11-02 02:49 -0400
Re: How to call Int 15h, ax=e881h? Ross Ridge <rridge@csclub.uwaterloo.ca> - 2011-11-02 10:33 -0400
Re: How to call Int 15h, ax=e881h? James Harris <james.harris.1@googlemail.com> - 2011-11-04 14:47 -0700
Re: How to call Int 15h, ax=e881h? Ross Ridge <rridge@csclub.uwaterloo.ca> - 2011-11-04 17:59 -0400
Re: How to call Int 15h, ax=e881h? James Harris <james.harris.1@googlemail.com> - 2011-11-04 15:09 -0700
Re: How to call Int 15h, ax=e881h? "Rod Pemberton" <do_not_have@noavailemail.cmm> - 2011-11-04 20:12 -0400
Re: How to call Int 15h, ax=e881h? Ross Ridge <rridge@csclub.uwaterloo.ca> - 2011-11-04 23:27 -0400
Re: How to call Int 15h, ax=e881h? "Rod Pemberton" <do_not_have@noavailemail.cmm> - 2011-11-06 02:46 -0500
Re: How to call Int 15h, ax=e881h? "Rod Pemberton" <do_not_have@noavailemail.cmm> - 2011-11-04 21:04 -0400
Re: How to call Int 15h, ax=e881h? "Marven Lee" <marven10@gmail.com> - 2011-11-05 01:12 +0000
Re: How to call Int 15h, ax=e881h? Nomen Nescio <nobody@dizum.com> - 2011-11-05 19:04 +0100
Re: How to call Int 15h, ax=e881h? James Harris <james.harris.1@googlemail.com> - 2011-11-04 14:58 -0700
csiph-web