In reply to : Bret 'll have to hate FreeDOS mKEYB, too (Developers)
> > Most likely, but not necessarily. It is at least theoretically possible
> to
> > flush the SMARTDRV caches with INT 15.4F even if you don't intend to
> > reboot.
>
> I don't think this idea will work - at least not when EMM386 is loaded. The
> MS tool:
>
>
> MOV AH,0D ; Disk Reset
> INT 21h ; causes SmartDrv 4.x to write cache
> MOV AX, 40 ; set up segment addressing
> MOV DS, AX
> DS:
> OR BYTE PTR [17],0C ; equivalent of pressing CTRL+ALT
> MOV AX,4F53 ; Issue a "DEL" (53h = DEL scan code)
> INT 15h ; EMM386 sees this & shuts down
> DS:
> MOV WORD PTR [72],1234 ; Set REBOOT flag to Warm-Boot (0=cold)
> JMP F000:FFF0 ; Execute the internal restart routine
>
>
> uses int 15.4F53 to "shut down" EMM386 ( note that int 21h is used
> to clear the cache ). If EMM386 detects int 15h.4f53, it will reboot
> immediately and won't return - because it could do this only if no EMS or
> UMBs are supplied - which is a very rare case.
You're correct -- I had the SMARTDRV part confused with the EMM386 part. This still doesn't negate the fact that MS thinks it's OK to call INT 15.4F from outside INT 09, though they may think it's OK only when you're about to shut down or reboot.
This code is supposed to work whether EMM386 is installed or not, so it must assume that if EMM386 is installed, EMM386 will do the rebooting, and if EMM386 isn't installed, INT 15.4F will simply return and this code must do the rebooting itself.
I don't know if anybody has recognized this yet, but for this code to work properly, INT 15.4F must be fully re-entrant (at least if EMM386 is not being used). If not, this code could get "stuck" if a real keystroke is being processed at the same time this code is trying to reboot. That is, the machine will simply hang (or possibly do something else really nasty that the user doesn't want), and not actually reboot.
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