Int15 handler example: IISP; chain other functions directly (Developers)
A NASM example outlining how to construct an IISP header yourself (I usually use a macro for that), and with slightly different behaviour. (Yes, I know the flags are handled differently. And I don't know what to do with the AL value(s). Ignore these parts, they would have to be adjusted accordingly.) The part I want to point out specifically is that Bret's example would chain by calling the next handler every time, then check afterwards whether it was the correct function call. That unnecessarily increases the stack usage of every Int15 function and may or may not be less efficient than this one: It checks for the correct function first, and will chain directly (via jump) if it's another function.
; This stuff at the beginning is the IISP header (17 bytes).
; It allows other programs to walk the handler chain past this one.
int15.dummyhwreset:
retf
int15:
jmp short .actualhandler
.next:
dd 0
db "KB"
db 0
jmp short .dummyhwreset
times 7 db 0
; Here the actual handler.
.actualhandler:
; push ax ; (if saving al, see below)
pushf
cmp ah, 4Fh ; Is this our function call?
je .handle
popf ; Nope, chain quickly to the next handler:
; pop ax ; (if saving al, see below)
.jumpnext:
jmp far [cs:.next]
.handle:
; Save al here? (Modify it already?)
push cs
call .jumpnext
; pop ax ; (if saving al)
; Process in some way.
iret
Complete thread:
- int 15/4f French keyboard driver ready + *Ping Japheth* - Ninho, 27.04.2011, 13:34 (Developers)
- int 15/4f French keyboard driver ready + *Ping Japheth* - Japheth, 27.04.2011, 16:02
- int 15/4f French keyboard driver ready + *Ping Japheth* - Ninho, 27.04.2011, 17:13
- int 15/4f French keyboard driver ready + *Ping Japheth* - Japheth, 28.04.2011, 07:47
- int 15/4f French keyboard driver ready + *Ping Japheth* - Ninho, 27.04.2011, 17:13
- int 15/4f French keyboard driver ready + Now what? * - Ninho, 10.05.2011, 13:30
- int 15/4f French keyboard driver ready + Now what? * - Rugxulo, 10.05.2011, 23:52
- int 15/4f French keyboard driver ready + Now what? * - Ninho, 11.05.2011, 13:38
- int 15/4f French keyboard driver ready + Now what? * - ecm, 11.05.2011, 19:39
- int 15/4f French keyboard driver ready + Now what? * - Ninho, 12.05.2011, 10:56
- int 15/4f French keyboard driver ready + Now what? * - bretjohn, 12.05.2011, 17:13
- int 15/4f French keyboard driver ready + Now what? * - Ninho, 12.05.2011, 22:27
- AMIS, Optimize memory usage - ecm, 13.05.2011, 00:24
- AMIS, Optimize memory usage - Ninho, 13.05.2011, 01:33
- AMIS, Optimize memory usage - ecm, 13.05.2011, 01:45
- AMIS, Optimize memory usage - Ninho, 13.05.2011, 02:07
- AMIS, Optimize memory usage - ecm, 13.05.2011, 02:39
- AMIS, Optimize memory usage - Ninho, 13.05.2011, 02:58
- Correction, memory usage - Ninho, 13.05.2011, 02:50
- Memory usage, AMIS(!) - ecm, 13.05.2011, 03:00
- Memory usage, AMIS(!) - Ninho, 13.05.2011, 11:57
- Memory usage, AMIS(!) - ecm, 13.05.2011, 14:51
- Memory usage, AMIS(!) - bretjohn, 13.05.2011, 17:43
- Memory usage, AMIS(!) - Ninho, 13.05.2011, 18:15
- Memory usage, AMIS(!) - Japheth, 13.05.2011, 18:58
- Memory usage, AMIS(!) - bretjohn, 14.05.2011, 01:42
- Memory usage, AMIS(!) - Ninho, 14.05.2011, 11:38
- Sorry error :) - No contents - Ignore - Ninho, 14.05.2011, 11:41
- Memory usage, AMIS(!) - bretjohn, 15.05.2011, 17:26
- Int15 handler example: IISP; chain other functions directly - ecm, 15.05.2011, 18:30
- Int15 handler example: IISP; chain other functions directly - Ninho, 16.05.2011, 03:49
- Memory usage, AMIS(!) - Ninho, 15.05.2011, 20:57
- In reply to Bret - int 15/4F stuff - Ninho, 16.05.2011, 03:35
- In reply to Bret - int 15/4F stuff - Japheth, 16.05.2011, 10:18
- In reply to : Bret 'll have to hate FreeDOS mKEYB, too - Ninho, 16.05.2011, 12:19
- In reply to : Bret 'll have to hate FreeDOS mKEYB, too - tom, 16.05.2011, 13:35
- In reply to : Bret 'll have to hate FreeDOS mKEYB, too - Ninho, 16.05.2011, 15:10
- In reply to : Bret 'll have to hate FreeDOS mKEYB, too - tom, 16.05.2011, 17:13
- In reply to : Bret 'll have to hate FreeDOS mKEYB, too - bretjohn, 16.05.2011, 19:50
- In reply to : Bret 'll have to hate FreeDOS mKEYB, too - tom, 16.05.2011, 21:06
- In reply to : Bret 'll have to hate FreeDOS mKEYB, too - bretjohn, 17.05.2011, 18:10
- In reply to : Bret 'll have to hate FreeDOS mKEYB, too - tom, 17.05.2011, 19:47
- In reply to : Bret 'll have to hate FreeDOS mKEYB, too - bretjohn, 18.05.2011, 02:09
- In reply to : Bret 'll have to hate FreeDOS mKEYB, too - Japheth, 18.05.2011, 06:47
- In reply to : Bret 'll have to hate FreeDOS mKEYB, too - bretjohn, 18.05.2011, 19:08
- In reply to : Bret 'll have to hate FreeDOS mKEYB, too - tom, 18.05.2011, 12:35
- In reply to : Bret 'll have to hate FreeDOS mKEYB, too - bretjohn, 18.05.2011, 18:14
- In reply to : Bret 'll have to hate FreeDOS mKEYB, too - tom, 19.05.2011, 15:32
- In reply to : Bret 'll have to hate FreeDOS mKEYB, too - Rugxulo, 19.05.2011, 22:42
- Keyboard, codepages... - Ninho, 19.05.2011, 23:41
- FreeDOS DISPLAY (TSR vs. device driver?) - ecm, 20.05.2011, 14:09
- In reply to : Bret 'll have to hate FreeDOS mKEYB, too - Ninho, 19.05.2011, 23:59
- In reply to : Bret 'll have to hate FreeDOS mKEYB, too - tom, 20.05.2011, 00:49
- In reply to : Bret 'll have to hate FreeDOS mKEYB, too - Rugxulo, 19.05.2011, 22:42
- In reply to : Bret 'll have to hate FreeDOS mKEYB, too - tom, 19.05.2011, 15:32
- In reply to : Bret 'll have to hate FreeDOS mKEYB, too - bretjohn, 18.05.2011, 18:14
- In reply to Bret... - Ninho, 18.05.2011, 15:41
- DOS IO kernel part hooking Int15.4F ? - ecm, 18.05.2011, 20:35
- DOS IO kernel part hooking Int15.4F ? - Ninho, 18.05.2011, 22:41
- DOS kernel, Int15.4F - ecm, 18.05.2011, 22:48
- DOS IO kernel part hooking Int15.4F ? - Ninho, 18.05.2011, 22:41
- In reply to Bret... - tom, 19.05.2011, 15:15
- In reply to \\\ Tom... - Ninho, 19.05.2011, 19:27
- DOS IO kernel part hooking Int15.4F ? - ecm, 18.05.2011, 20:35
- In reply to : Bret 'll have to hate FreeDOS mKEYB, too - Japheth, 18.05.2011, 06:47
- In reply to : Bret 'll have to hate FreeDOS mKEYB, too - bretjohn, 18.05.2011, 02:09
- In reply to : Bret 'll have to hate FreeDOS mKEYB, too - tom, 17.05.2011, 19:47
- In reply to : Bret 'll have to hate FreeDOS mKEYB, too - bretjohn, 17.05.2011, 18:10
- In reply to : Bret 'll have to hate FreeDOS mKEYB, too - tom, 16.05.2011, 21:06
- In reply to : Bret 'll have to hate FreeDOS mKEYB, too - Ninho, 16.05.2011, 15:10
- In reply to : Bret 'll have to hate FreeDOS mKEYB, too - tom, 16.05.2011, 13:35
- In reply to : Bret 'll have to hate FreeDOS mKEYB, too - Ninho, 16.05.2011, 12:19
- In reply to Bret - int 15/4F stuff - Japheth, 16.05.2011, 10:18
- Int15 handler example: IISP; chain other functions directly - ecm, 15.05.2011, 18:30
- Memory usage, AMIS(!) - Ninho, 14.05.2011, 11:38
- Memory usage, AMIS(!) - bretjohn, 14.05.2011, 01:42
- Memory usage, AMIS(!) - Ninho, 13.05.2011, 11:57
- Memory usage, AMIS(!) - ecm, 13.05.2011, 03:00
- AMIS, Optimize memory usage - ecm, 13.05.2011, 02:39
- AMIS, Optimize memory usage - Ninho, 13.05.2011, 02:07
- AMIS, Optimize memory usage - Japheth, 13.05.2011, 07:28
- AMIS, Optimize memory usage - Ninho, 13.05.2011, 11:27
- AMIS, Optimize memory usage - ecm, 13.05.2011, 01:45
- AMIS, Optimize memory usage - Ninho, 13.05.2011, 01:33
- AMIS, Optimize memory usage - ecm, 13.05.2011, 00:24
- AMIS, No flaming - ecm, 13.05.2011, 00:24
- int 15/4f French keyboard driver ready + Now what? * - Ninho, 12.05.2011, 22:27
- AMIS - ecm, 13.05.2011, 00:24
- AMIS - Ninho, 13.05.2011, 02:21
- AMIS, Ciriaco - ecm, 13.05.2011, 03:23
- AMIS, Ciriaco, Ralph ? - Ninho, 13.05.2011, 12:16
- AMIS, Ciriaco - ecm, 13.05.2011, 03:23
- AMIS - Ninho, 13.05.2011, 02:21
- int 15/4f French keyboard driver ready + Now what? * - bretjohn, 12.05.2011, 17:13
- int 15/4f French keyboard driver ready + Now what? * - Ninho, 12.05.2011, 10:56
- int 15/4f French keyboard driver ready + Now what? * - Rugxulo, 11.05.2011, 20:12
- int 15/4f French keyboard driver ready + Now what? * - Ninho, 12.05.2011, 10:36
- int 15/4f French keyboard driver ready + Now what? * - ecm, 11.05.2011, 19:39
- int 15/4f French keyboard driver ready + Now what? * - Ninho, 11.05.2011, 13:38
- int 15/4f French keyboard driver ready + Now what? * - Rugxulo, 10.05.2011, 23:52
- int 15/4f French keyboard driver ready + *Ping Japheth* - Japheth, 27.04.2011, 16:02