Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

For Rayer - shared resources between DOS and WinXP (Announce)

posted by Japheth Homepage, Germany (South), 17.07.2008, 08:20

> > Usually, inside the VDD, if you got addresses
> > from the DOS app, you will translate them by a call of VdmMapFlat() -
> this
> > call translates SEGMENT:OFFSET or SELECTOR:OFFSET into FLAT.
>
> If I would forward SELECTOR:OFFSET to VDD how it can translate it? It
> should neeed to look-up to LDT od my DJGPP program first for base of the
> selector's descriptor - do it automatically?

Yes, of course. The LDT is not a part of your program.

> Unforetunatelly I'm stucked with compiling vdd sample code in mingw and
> don't have much free time to messing with it now.
>
> And please, do you have a complette prototype of VdmMapFlat?
> PVOID VdmMapFlat(IN WORD Segment, IN ULONG Offset, IN VDM_MODE Mode);
>
> What type is VDM_MODE and what is VDM_PM, VDM_V86 valuses? I cannot find
> it in any .h either on google.

the VDM stuff is included in Win2k/WinXP ddk, there's a help file, include files (vddsvc.h, nt_vdd.h, isvbop.h) and an import lib (ntvdm.lib).

> And the VdmMapFlat() can be called only after registering vdd? If I tried
> to call it in stand-alone exe it returns A0000 for A000,0,0 input instead
> null.

Looks ok to me. A000,0,0 means segment=A000, offset=0, pmode=FALSE, that should return linear address A0000.

---
MS-DOS forever!

 

Complete thread:

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