Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

polling (Announce)

posted by Japheth Homepage, Germany (South), 01.06.2011, 17:50

> > From my experience I'd say that this variant of "idle call" isn't
> supported
> > in NTVDM ( I am not 100% sure).
>
> You are wrong; it is indeed supported.

Yes, partially. I recall the issue now: it isn't supported by NTVDM if the DOS app is in protected-mode. It's somewhat funny that the call is supported in real-mode, but not in protected-mode, because, IIRC, this API was introduced with DPMI.

> > Although it sounds a bit strange, probably
> > the best option in NTVDM is to call the "keyboard status interrupt" (int
> > 16h, ah=01) if you want to "give up" your time slice.
>
> Are you sure? That sounds indeed strange. Isn't 16.01 supposed to return
> immediately? In any case mTCP's DHCP (other programs probably too) does
> appear to call 16.01 in each loop iteration so if that gave up enough time
> it wouldn't fully load a core.

Yes, it is supposed to return immediately. I guess the NTVDM hooks this interrupt and will go idle if it is called "too often".

---
MS-DOS forever!

 

Complete thread:

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