Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

EIDL version 1.0.0 released (Announce)

posted by Japheth Homepage, Germany (South), 21.02.2020, 20:23

> > It's also a mystery to me when and how often Int 28h is called. IMO it's
> > called even if DOS is not "idle" at all. This little program below just
> > displays a string via DOS until terminated by Ctrl-C. I runs
> significantly
> > slower if EIDL (or any other idle tool) is installed.
>
> Which hardware/emu and DOS version did you try it on?

I tried under MS-DOS 7.x ( supplied with Win98 ). IIRC FreeDOS does not have this "slowdown" problem.

What might help for MS-DOS is a little filter (taken from my old DOSIDLE tool):

int28 proc
        pushf
        call cs:[oldint28]
if 1
        cmp ah,2
        jz @F
endif
        sti
        hlt
@@:
        iret
int28 endp


Also, I think it is necessary to hook int 16h, to cover VC:

int16 proc
        cmp ah,00h
        jz @F
        cmp ah,10h
        jz @F
oldint:
        jmp cs:[oldint16]
@@:
        push ds
        push 40h
        pop ds
        push ax
        mov ax,ds:[1Ah]
        cmp ax,ds:[1Ch]
        pop ax
        pop ds
        jnz oldint
        sti
        hlt
        jmp @B
int16 endp


However, the idea mentioned by Vernon Brooks about hooking int 15h, ah=90h, is perhaps superior and simpler.

---
MS-DOS forever!

 

Complete thread:

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