Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.os.msdos.programmer > #1386

Re: detecting emulation or console windows

From "James Harris" <james.harris.1@gmail.com>
Newsgroups alt.os.development, comp.os.msdos.programmer, alt.lang.asm
Subject Re: detecting emulation or console windows
Date 2014-06-02 17:05 +0100
Organization A noiseless patient Spider
Message-ID <lmi7cc$ilr$1@dont-email.me> (permalink)
References (5 earlier) <op.xgs8v3iw6zenlw@localhost> <lmh1ac$p63$1@dont-email.me> <op.xgtf1zk06zenlw@localhost> <lmhduh$uji$1@dont-email.me> <op.xgtw0lnh6zenlw@localhost>

Cross-posted to 3 groups.

Show all headers | View raw


"Rod Pemberton" <dont_use_email@xnothavet.cqm> wrote in message 
news:op.xgtw0lnh6zenlw@localhost...
> On Mon, 02 Jun 2014 04:51:28 -0400, James Harris 
> <james.harris.1@gmail.com> wrote:
>> "Rod Pemberton" <dont_use_email@xnothavet.cqm> wrote in message
>> news:op.xgtf1zk06zenlw@localhost...
>
>>> A20 enables correctly for each
>>> supported method, at least for the sample set.
>>
>> Not quite. SCPA enable fails on the ABIT
>
> Ah, you missed my weasel wording: "for each supported method".
> I.e., the PS/2 method is _not_ supprted on the ABIT ...

I noticed the wording but evidently misunderstood your meaning. I see now 
you meant supported *on a given machine*.

>> The A20 test routine I mentioned follows below.
>>
>> [...]
>
> I have a whole bunch of DOS .com's which
> enable and disable A20.  In DOS, you have to
> boot clean, i.e., no XMS memory manager to
> correctly detect and use A20.  XMS memory managers
> emulate A20.

You mean they enable it and then program segment tables to mimic wrapping as 
needed? I'm not sure whether that would work or not. Just a guess.

> DOS .com programs:
> -on and off for keyboard A20 bit
> -on and off for PS/2 bit
> -on and off for Int 15 - and some others for Int 15
> -on for UHCI A20 sequence
> -(unimplemented) on for OHCI A20 sequence
>  (this might be same as the UHCI sequence...)
> -some others that were experimental or used A20
>  routines from other people
>
> I don't want to give away the code for the my code
> that checks the A20 status, but I'll tell you what
> it does.  You could probably recreate it.

...

You probably only need that complexity because you start from DOS.

As this has come up I have to say that I was surprised at the start of this 
thread when you mentioned that your new project started from DOS the way 
that your OS does. I remember discussing how complex that made your OS 
startup. Did you not want to do away with that in your new project?

> AIUI, the Int instruction should force memory coherency
> and/or cache flush etc to ensure that the memory wrap or
> unwrap is in effect prior to generating the interrupt.

Is that needed? We discussed this on alt.os.development a few years ago and, 
IIRC, came to the conclusion that the A20 mask occurs between the CPU and 
its caches even if those caches are on chip. (There is an A20 gate input pin 
on CPUs with caches.) So the test of A20 is one of addressing, not memory 
values. In other words there is no need for memory coherency such as to 
allow updated values to drain to memory before reading them back from the 
other address.

The only potential problem I can remember would be a machine such as an old 
pre-486 (i.e. one which has no on-chip cache) then an external cache and 
then the A20 gate. That was theoretcical. We didn't identify any particular 
machine which was built that way.

James

Back to comp.os.msdos.programmer | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

detecting emulation or console windows "Rod Pemberton" <dont_use_email@xnothavet.cqm> - 2014-05-31 18:31 -0400
  Re: detecting emulation or console windows Ross Ridge <rridge@csclub.uwaterloo.ca> - 2014-05-31 19:59 -0400
    Re: detecting emulation or console windows "Rod Pemberton" <dont_use_email@xnothavet.cqm> - 2014-05-31 20:54 -0400
      Re: detecting emulation or console windows "Rod Pemberton" <dont_use_email@xnothavet.cqm> - 2014-05-31 21:43 -0400
        Re: detecting emulation or console windows "James Harris" <james.harris.1@gmail.com> - 2014-06-01 22:48 +0100
          Re: detecting emulation or console windows "Rod Pemberton" <dont_use_email@xnothavet.cqm> - 2014-06-02 00:46 -0400
            Re: detecting emulation or console windows "James Harris" <james.harris.1@gmail.com> - 2014-06-02 06:15 +0100
              Re: detecting emulation or console windows "Rod Pemberton" <dont_use_email@xnothavet.cqm> - 2014-06-02 03:21 -0400
                Re: detecting emulation or console windows "Rod Pemberton" <dont_use_email@xnothavet.cqm> - 2014-06-02 03:32 -0400
                Re: detecting emulation or console windows "James Harris" <james.harris.1@gmail.com> - 2014-06-02 09:51 +0100
                Re: detecting emulation or console windows "Rod Pemberton" <dont_use_email@xnothavet.cqm> - 2014-06-02 09:27 -0400
                Re: detecting emulation or console windows "James Harris" <james.harris.1@gmail.com> - 2014-06-02 17:05 +0100
                Re: detecting emulation or console windows "Rod Pemberton" <dont_use_email@xnothavet.cqm> - 2014-06-02 19:25 -0400
                Re: detecting emulation or console windows "James Harris" <james.harris.1@gmail.com> - 2014-06-04 07:55 +0100
                Re: detecting emulation or console windows "Rod Pemberton" <dont_use_email@xnothavet.cqm> - 2014-06-04 03:20 -0400
      Re: detecting emulation or console windows Ross Ridge <rridge@csclub.uwaterloo.ca> - 2014-06-01 14:03 -0400
        Re: detecting emulation or console windows "Rod Pemberton" <dont_use_email@xnothavet.cqm> - 2014-06-02 00:53 -0400
          Re: detecting emulation or console windows Ross Ridge <rridge@csclub.uwaterloo.ca> - 2014-06-02 15:55 -0400
            Re: detecting emulation or console windows "Rod Pemberton" <dont_use_email@xnothavet.cqm> - 2014-06-02 19:27 -0400
              Re: detecting emulation or console windows Ross Ridge <rridge@csclub.uwaterloo.ca> - 2014-06-03 17:00 -0400
  Re: detecting emulation or console windows Sjouke Burry <burrynulnulfour@ppllaanneett.nnll> - 2014-06-01 06:25 +0200
    Re: detecting emulation or console windows "Rod Pemberton" <dont_use_email@xnothavet.cqm> - 2014-06-01 02:50 -0400
  Re: detecting emulation or console windows "James Harris" <james.harris.1@gmail.com> - 2014-06-01 07:53 +0100
    Re: detecting emulation or console windows "Rod Pemberton" <dont_use_email@xnothavet.cqm> - 2014-06-01 04:53 -0400
      Re: detecting emulation or console windows "James Harris" <james.harris.1@gmail.com> - 2014-06-01 20:57 +0100
        Re: detecting emulation or console windows "Rod Pemberton" <dont_use_email@xnothavet.cqm> - 2014-06-02 00:48 -0400
      Re: detecting emulation or console windows "Rod Pemberton" <dont_use_email@xnothavet.cqm> - 2014-06-02 03:20 -0400
  Re: detecting emulation or console windows JJ <duh@nah.meh> - 2014-06-02 03:43 +0700
    Re: detecting emulation or console windows "Rod Pemberton" <dont_use_email@xnothavet.cqm> - 2014-06-02 00:34 -0400
    Re: detecting emulation or console windows "Rod Pemberton" <dont_use_email@xnothavet.cqm> - 2014-06-03 07:06 -0400
      Re: detecting emulation or console windows JJ <duh@nah.meh> - 2014-06-03 20:25 +0700
  Re: detecting emulation or console windows "wolfgang kern" <nowhere@never.at> - 2014-06-03 20:52 +0200
  Re: detecting emulation or console windows "James Harris" <james.harris.1@gmail.com> - 2014-06-03 22:59 +0100
    Re: detecting emulation or console windows CN <qmbmnp3799@pacbell.net> - 2014-06-03 18:39 -0700
      Re: detecting emulation or console windows "James Harris" <james.harris.1@gmail.com> - 2014-06-04 07:06 +0100
        Re: detecting emulation or console windows "Rod Pemberton" <dont_use_email@xnothavet.cqm> - 2014-06-04 03:07 -0400
          Re: detecting emulation or console windows "James Harris" <james.harris.1@gmail.com> - 2014-06-04 09:16 +0100
  Re: detecting emulation or console windows "James Harris" <james.harris.1@gmail.com> - 2014-06-03 23:00 +0100
  Re: detecting emulation or console windows "Rod Pemberton" <dont_use_email@xnothavet.cqm> - 2014-06-10 17:37 -0400
    Re: detecting emulation or console windows Wildman <best_lay@yahoo.com> - 2014-06-11 00:37 +0000
      Re: detecting emulation or console windows "Rod Pemberton" <dont_use_email@xnothavet.cqm> - 2014-07-27 12:11 -0400

csiph-web