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


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

Re: detecting emulation or console windows

From "Rod Pemberton" <dont_use_email@xnothavet.cqm>
Newsgroups alt.os.development, comp.os.msdos.programmer, alt.lang.asm
Subject Re: detecting emulation or console windows
Date 2014-06-02 19:25 -0400
Organization Aioe.org NNTP Server
Message-ID <op.xguoost76zenlw@localhost> (permalink)
References (6 earlier) <lmh1ac$p63$1@dont-email.me> <op.xgtf1zk06zenlw@localhost> <lmhduh$uji$1@dont-email.me> <op.xgtw0lnh6zenlw@localhost> <lmi7cc$ilr$1@dont-email.me>

Cross-posted to 3 groups.

Show all headers | View raw


On Mon, 02 Jun 2014 12:05:34 -0400, James Harris  
<james.harris.1@gmail.com> wrote:
> "Rod Pemberton" <dont_use_email@xnothavet.cqm> wrote in message
> news:op.xgtw0lnh6zenlw@localhost...

>> 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 what XMS does with A20.  It's emulated somehow.
I'd have to recheck, but I think XMS wouldn't let you enable
or disable A20 via the standard methods.

> 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?

This doesn't use anything from my OS.  It uses standard
DJGPP (GCC) C compiler and DPMI functionality.  It doesn't
need to dump out the DPMI host, or DOS, or need a special
TSR to start, etc like my OS.  I'm hoping to keep it to
only DJGPP and DPMI functionality, excluding some potential
direct hardware access.  For it to be useful, it needs to
be made to operate somewhat faster.

>> 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?

It's done.  It's been done.  It works.

Codewise, it looks clean-er...

> We discussed this on alt.os.development a few years ago
> and,

Yes.

> 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.

I don't remember the conclusion, but as long as the
cache is up to date in terms of A20 state at the time
of the memory writes to the vector and high address,
it won't matter if the value is in cache or memory.

And, you know about both techniques, so if you want to
search for one where the Int method doesn't work, it's
your choice.  I only had a half dozen machines to test
on.

> 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.

That would be a "strange bird", at least for x86.

IIRC, the 68000 series had an external MMU for the first
few processors, but I recall if they had an external cache.


Rod Pemberton
P.S.  Opera has an option which says it's supposed to be wrapping lines  
for Usenet so I'm sending this extra long one to see what happens ...

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