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
22747 Postings in 2119 Threads, 402 registered users, 359 users online (1 registered, 358 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum