Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

DPMI - how to chain user and original RM handler? (Developers)

posted by ecm Homepage E-mail, Düsseldorf, Germany, 29.04.2023, 08:45

> > call es:[oldint15_handler] {DOES NOT WORK !!! (Crashes here)}
> > {oldint15_handler is got from Get_rm_interrupt($15, oldint15_handler)}
>
> You need to far call the downlink in Real/Virtual 86 Mode, not in PM. And
> you need a pushfw instruction before the far call.
>
> > mov eax,ds:[esi+0] {restore return address
> > (CS:IP)}
> > mov es:[edi+2Ah],eax

You can probably get away with loading the dword from oldint15_handler and store it in [es:edi + 2Ah], then do not change the stack pointer.

---
l

 

Complete thread:

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