Path: utzoo!attcan!utgpu!news-server.csri.toronto.edu!rutgers!cs.utexas.edu!yale!mintaka!chaos!cos From: cos@chaos.cs.brandeis.edu (Ofer Inbar) Newsgroups: comp.sys.ibm.pc.misc Subject: Re: Boot program... Message-ID: <1990Aug19.200832.23521@chaos.cs.brandeis.edu> Date: 19 Aug 90 20:08:32 GMT References: <1990Aug15.152150.7124@athena.mit.edu> Distribution: comp.sys.ibm.pc Organization: Brandeis University Computer Science Dept Lines: 46 In article <1990Aug15.152150.7124@athena.mit.edu> ckb@athena.mit.edu (Christopher K. Brown) writes: >I'm looking for a program to Boot a PC from the command line. Source and/or >Binary would be helful. An FTP site containing such a utility would be >extremely helpful. Please Email replies. This is actually incredibly trivial. When your system starts, the Intel processor defaults to CS=FFFF, IP=0000. So that's where the ROM boot routines start (actually, a JMP to the proper place). This is a program to reboot your computer: JMP FFFF:0000 Simple, isn't it? If you have DEBUG (which comes with MSDOS), you can create BOOT.COM like this: C:\>debug -a ????:0100 jmp ffff:0000 ????:0105 -nboot.com -rcx 0000 :5 -w Writing 0005 Bytes. -q C:\>boot The file BOOT.COM is 5 bytes long. These bytes are, in order: EA 00 00 FF FF You can create it with a binary editor. This simulates a "cold boot". If you want to simulate a CTRL-ALT-DEL type "warm boot", that is, skip the memory test, you simply have to place a certain value somewhere in the BIOS data are before doing the JMP. Anyone remember what that number is, and where it goes? (My copy of Peter Norton Programmer's Guide is in another town :( ) If you're ambititious, you write a BOOT.COM that takes a command line parameter, which tells it whether to do a warm boot or a cold boot. This I have done, and as soon as I find that file (I seem to have lost it) I will post it. >Chris -- Cos (Ofer Inbar) -- cos@chaos.cs.brandeis.edu -- WBRS (BRiS) -- WBRS@binah.cc.brandeis.edu WBRS@brandeis.bitnet