Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

Error in XMS specification? (Developers)

posted by Oso2k(R), 27.04.2019, 20:20

> While working on my symsnip collection, I encountered an error.
>
> XMS 2.00 http://www.phatcode.net/res/219/files/xms20.txt
>
> XMS 3.00 http://www.phatcode.net/res/219/files/xms30.txt
>
> In the section titled "Move Extended Memory Block (Function 0Bh)" it
> reads:
>
> > If the source and destination blocks overlap, only forward moves (i.e.
> where the source base is less than the destination base) are guaranteed to
> work properly.
>
> RBIL 61 in the Int2F.4310 description of XMS functions also has wording to
> this effect.
>
> The error is that forward moves (DF=UP, cld) work properly on overlapping
> destination and source when the *destination* is below the source. This is
> the other way around than what the specification lists. From what I can
> tell, drivers actually implement the forwards movement.

I’m not sure why you’re considering the behavior you’re seeing is an error. If it works, great. But XMS 3.0 compliant XMMs are not required to ensure that it behaves the way that you are seeing. The spec does not say it will not work. My guess is that the XMM you are using has a double buffering 0Bh function which makes it safer in this case. I’m sure the concern was not requiring XMMs to have such implementations to save on code and memory space.

 

Complete thread:

Back to the forum
Board view  Mix view
16030 Postings in 1485 Threads, 271 registered users, 5 users online (0 registered, 5 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum