Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.os.msdos.programmer > #1388
| 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.
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 | Next — Previous in thread | Next in thread | Find similar | Unroll 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