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 rr Homepage E-mail, Berlin, Germany, 21.02.2020, 21:57

> 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
>


How/why does it work?

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

Volkov Commander?
Visual C?

>
> 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
>


I'm not very familiar with JWasm/MASM/TASM syntax.
Do I interpret this correctly:
If keyboard function "GET KEYSTROKE" or "GET ENHANCED KEYSTROKE" is invoked, then execute STI+HLT until keyboard buffer becomes non-empty, i.e., a key is pressed by the user.

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

---
Forum admin

 

Complete thread:

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