Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!uunet!mcsun!cernvax!chx400!ugun2b!ugsc2a!fisher From: fisher@sc2a.unige.ch (Markus Fischer) Newsgroups: comp.sys.ibm.pc Subject: Re: System boot and INT 19 Message-ID: <157@sc2a.unige.ch> Date: 12 Jan 90 12:13:12 GMT References: <945@excelan.COM> <77@qmsseq.imagen.com> <357@clover.warwick.ac.uk> Organization: University of Geneva, Switzerland Lines: 47 In article <357@clover.warwick.ac.uk>, bsrdp@warwick.ac.uk (Hylton Boothroyd) writes: > [...] > I wonder how many of those who repeat these recipes have tried them. > The use of INT 19 is curiously under-documented even in the MSDOS > interrupt list. > [...] > It remains a mystery how to replicate the warm start effect of > Ctrl-Alt-Del. It seems the place where to look is in the keyboard driver, as Ctrl-Alt-Del is after all interpreted by it. Now I havn't done any hacking in the recent drivers, but a few years ago, I had to modify the Olivetti MS-DOS 2.11 swiss- french driver (it was incompatible with the needs of WordPerfect v. 3.21, or the like - WP used Ctrl- and Alt- Numbers (first row of the keyboard), which had been remapped in that particular driver...). Anyway, here is the significant dissasembled code: cmp AH, 05 ; Alt-Ctr shift state jnz (further) ; jump to next shift state cmp AL, 53 ; Del scan code jnz ACF1 ; jump to next function ; ; Alt-Ctrl-Del function ; ES: ; is hex 40 mov word ptr [0072],1234 ; no memory check (but how ?) jmp F000:FFF0 ; WARM BOOT !!! ; (never returns) ACF1: cmp AL, 3B ; F1 scan code jnz ACF2 ; jump to next function [...] ; Alt-Ctrl-F1 function... All the variants of `warmboot.com' I have seen use essentially the same idea. I'm really nothing of an assembler-expert, so I dont know the difference between jmp F000:FFF0 and jmp FFFF:0000 which is often used instead, it seems that both work (it's the same location after all). In any case, this is what you get when you strike Ctrl-Alt-Del... So long, Markus Fischer, Dpt. of Anthropology, Geneva