----------------------------------------------------------------------------------
@MSGID:
<c6a7879d-5b84-4a5c-a34e-7d20a20d736an@googlegroups.com> 8fb1241f
@REPLY:
<1510422c-202a-4b42-8c4e-de450e248c28n@googlegroups.com> fbce070a
@REPLYADDR Alexei A. Frounze
<alexfrunews@gmail.com>
@REPLYTO 2:5075/128 Alexei A. Frounze
@CHRS: CP866 2
@RFC: 1 0
@RFC-References:
<ea5efeed-362c-4b95-964e-e7494f82ecf6n@googlegroups.com> <480c4fd8-0b7a-458a-80b8-4b5096ca53b3n@googlegroups.com>
<1510422c-202a-4b42-8c4e-de450e248c28n@googlegroups.com>
@RFC-Message-ID:
<c6a7879d-5b84-4a5c-a34e-7d20a20d736an@googlegroups.com>
@TZUTC: -0700
@PID: G2/1.0
@TID: FIDOGATE-5.12-ge4e8b94
On Saturday, June 17, 2023 at 4:32:51 PM UTC-7, Alexei A. Frounze wrote:
> On Saturday, June 17, 2023 at 2:20:59 PM UTC-7,
muta...@gmail.com wrote:
> > On Tuesday, June 6, 2023 at 5:47:34 PM UTC+8,
muta...@gmail.com wrote:
> >
> > > We have previously discussed laying out the PM16
> > > selectors. And I remember we agreed that the code
> > > selectors and data selectors needed to be
> > > intermingled to provide a somewhat flat (ie not
> > > really flat, more consecutive) address space.
> > Here is one of the discussions:
> >
> >
https://groups.google.com/g/alt.os.development/c/0f3Ns-Q R4M/m/J 1X9yflAAAJ
> >
> > where I said that I needed two values - a divide value
> > (of the amount being added) and a multiply (of how
> > to manipulate the segment), but that both of these
> > could potentially be shifts instead.
> >
> > Plus I found this, not sure if it is related:
> >
> >
http://www.delphigroups.info/2/ae/107069.html
> >
> > { AHincr is 8 in Standard and Enhanced mode, $1000 in real mode.
> > AHshift is 3 in Standard and Enhanced mode, 12 in real mode
(2^AHshift=AHincr) }
> >
> >
> > Regardless, it sounds to me like Microsoft found another
> > way to skin the cat, presumably superior to my design, and
> > that`s what their compiler is generating (as opposed to
> > Watcom`s flexible design where I could have implemented
> > my own manipulation), so there`s no particular reason why
> > I wouldn`t just copy Microsoft on this.
> >
> > And since this code works on PM16 apparently, it may mean
> > there is an existing call (Windows 3.1 or OS/2 1.0?) to get
> > the AHINCR and AHSHIFT values.
> >
> > And it looks to me like that AHSHIFT of 3 was designed to
> > manipulate selectors that contain consecutive data. I believe
> > we previously said that my design required intermingled
> > cs + ds, so the data selectors will be 0x10 apart, presumably
> > meaning AHSHIFT of 4 instead of 3.
> >
> > Any idea if there are MSDOS or Windows or OS/2 calls to
> > retrieve these 2 values?
> >
> > Thanks. Paul.
>
https://retrocomputing.stackexchange.com/questions/21559/
https://forum.vcfed.org/index.php?threads/segment-descriptor-behavior-in-non-fla
t-protected-mode-c-compilers.45331/
Alex
--- G2/1.0
* Origin: usenet.network (2:5075/128)
SEEN-BY: 5005/49 5015/255 5019/40 5020/715 848 1042
4441 12000 5030/49 1081
SEEN-BY: 5058/104 5075/128
@PATH: 5075/128 5020/1042 4441