Mail Archives: djgpp/1997/07/04/14:16:07
>CWSDPMI doesn't like INT 19 in my programs. Every time I use it it tells
>me that INT 19 occured, but doesn't reboot the computer. QDPMI doesn't
>complain and reboots without problem.
>The problem is that I'm developing for someone who has no DPMI host, and
>so must use CWSDPMI. Is there any way of making CWSDPMI allow a reboot?
Ralf Brown's Interrupt List R53 has this to say about INT 19h:
This interrupt reboots the system without clearing memory or restoring
interrupt vectors. Because interrupt vectors are preserved, this
interrupt usually causes a system hang if any TSRs have hooked
vectors from 00h through 1Ch, particularly INT 08.
So perhaps INT 19 is not the best way to reboot. Other solutions:
The standard way to reboot has always been a real-mode jump to F000h:FFF0h.
For a warm boot, store 1234h at 0040h:0072h first; for a cold boot, store 0000h.
I believe there is some port you can poke which has the same effect as a
cold reboot. If the jump doesn't work, you could try disassembling the BIOS
routine from there and look at what it does.
HTH.
Nate Eldredge
eldredge AT ap DOT net
- Raw text -