HelpPC 2.10 Quick Reference Utility Copyright 1991 David Jurgens
â@yASM.TXTüÓ{+Assembler Programming Topicsè@úxC.TXT úÓ{+C Programming Topics.@EHARDWARE.TXT Hardware Data and Specificationsœ7@SÐINTERRUP.TXT%Interrupt Services DOSùBIOSùEMSùMouse
+@ncTABLES.TXT+%Tables and Formats used by DOS & BIOS@4~MISC.TXTÓ{+"Uncategorized/Miscellaneous Topics»t(½àʃ;‹(ÑfA‹(Ñfìì/ö|9j¿æö'”C‘„
L–szK.'”C‘ê&´î〳`ªæö¸ÏüáÌ1»¶"Ñéõvܲðzì~±{ù¦?~¿õ~œÆ€%!tƒ5Ÿ„=ìŠFÈ{‘PáM’X—;”cÎÞ”mÜ·–v,°—[G[½c(íGxÆSü[ÿ&´î‘)♕¥›ÌUU^ÐV°`Ô™cÚ¤¬dÝÛVfáÖ7håÏjiÁ̽Õ'_H#Àî^³†(ÂÛ4Êë%ÎWþ²YfÁégék¢Ÿ0žme Ïî,VtòVˆu©JÖž®.(Ÿ´žd }'ãÁ*'ãÁ*À¤
¢ÆÜ·¢Í/›¤Ü ¶7öÞävú4ÈwÓ·Õ¥Üp—¦å1§þXyòtO¨ø—Ì«ÿqk‚azòé{‡MÒ~MÒDá|É>É> É>É>&ä‚ã'ª‰J=é®61¶tm·€è·"r¸* ¹ò'‡9R2Ä/º8üº?h½ES~¾NRÝÀÃ"ï
Çôñì/X£8Ã_üãÃÏ 1|µ"ž íeéÄ.=ûƒ2[?…7q †;wˆ9(<öo(Eh (Eh?R”‰ö'•àV(•àV
(•àV‚2-6ÈmŒ$Æ¡‰»È%á'Þ
²žWɪžWÉÑ1<»aÊCçìŠÊ•vËzŒ$ÆHíŽ8aŠ¬#66ô"ôk;íŽ×.ÍåVVÎðòÇÏûòÇÏ'
xh?
8ù âÈу¹Ò#OÔ4ËmÖBcK×SN¾ØaxÚn ¢Û{ã·Ü…v¦Ýµ(ᙚíâ§9–ä´‰ßåÂ~{çÓ‘ éáE©êî
ýëûÉí Tìî ¾Lð¼1< ‹ñ ò¢ñ¡'ãÁ*# Q›ò< Dô( Dô1 Dô†%º %µñ”O cöH cöG‰ÛW ¨ùö–\‚éf¶œMtjá8Sc Ù°÷\!1c\[ Ù°÷m Ôrþh Úýs cLÿw Òÿ¨'ãÁ*˜ Z÷ `]§ ‹Ë³ ©`» Ë 1ðÒ ”- Æ ²5ú|(¥ˆ>0z6?7©¼?Aõy@SÝzA]ÕmBq½KCxUD€rE‰¡„G‘Š.H˜ëÁHŸµI¦ÿÞK®¥ìM»œNÄÇOèñÞQÎÇOÚÇOñßSÿXUßeV"%TW0¢‚X7ݯ)Ö3ù*àà8,êæ$.ôa0þqƒ113ª=6ó7&::0U<:/}>D~¸BN¤BDXnòFbîlIijlzKˆõO‘fP¾·YÈrÓZÒ&Q\šú…Q£êŠS¬ÄWµ]NXÜ€³`Í>d^e'¬fø€³`0»4h79jR¹Pm[ÿod?pmhqvˆ‡rîtˆQu‘»owš›5x¾Ý+{£\Ûx¬rBzµ`¿zÈ 1|ïÕí ˯‚9‰-»¢Œ4íŽV¬y£_K0¥æ)àºðw¼ú ˜¿èÁ¡ÅoÅ"tÇ,â€È6¢nÊ@÷ËJvÍTº¡Î^œgÐhhÞÒr»ùÓ|”ÀÕ†ÿ`×ßkØšäVÙ¤)FÛ®#{ݸ†ªßÂ/<åÌwæÖºœçà0bèêžéô¥Áêqû€§þÁrìö?ð²Aò«ÿõ&“¼ø6Ü[ý@mCþJÞ¼ÿTŽ¦^i@h0µr*ñ |g'†Íš!sšß zû†¨¤‹®Â›¸iÂówÌ{vÖ' êîD'þrH+ tÐ,& Z.: ¯0N ³â1b •«3v }V5Š Åé7ž œÄ9² µv;Æ qA=Ú ÈHî øK!Û N!tP !›‡Q*!.S4!J¹T>!ÝWH!QøYR!1c\j!
bt!߶d~!©¡fˆ!HVoƒºŒ©’!€ªqœ!ñ6t¦!):w·!Ÿo…Á!ŇË!^ë‡Õ!8U‹ß!Ù™é!h~‘ó!Ïò”ý!«Í–"q„˜"Eš"‡Rœ%"Ø
å£/"©É®ŒˆQª9"~¾C"ó¨ÁM"«§ÂW"^Éa"oyËk"¥ô×u"†¥Ù"á7݉"·$Þ“"Eçâ•f䬞:U®§š¯°A¦°¹ò³ÂŠµË ¶ÔN:·ÝA“¸"é8ê§"Ï*ì®"ž í¼"ï
ÇôØ"6¿ÿß"8þæ"?í"ôk#‰h #¥ú#Ǫ#ç|"#Vn+#=Ï4# =#¢BF#'ðP#M#"Z#|$d#Û&n#ü&x#Ý(#µ,š#OÎ/£#66º#`T8ð#Æ,BÃ#¿9Ì#æ:Õ#6ü<Þ#-=>ç#«u?ú#¡þB$ÍÇC*$?ŸR3$±éTº$€jÄ$ñ¤kÎ$Ö¡lØ$.ƒqâ$
½rì$
Ósö$¡ìt%<™y
%›á|%)ˆ~%Û½(%²¤2%Šb‚<%"ø‚<$†¥UF%Í&…P% ÿ…Z%Ÿ‰d%É¿Šn%”ŒE$¸6VN$:ùWW$Ò>Y`$Ø[i$þ\r$^{$h,_„$ïŸ`$î™a–$~’bŸ$
g¨$‹3h±$CÉhx%ÀJŽð“%º “%µñ”¨%>²²%üž¼%d Æ%6†¡Ð%È¢Ú%?U¤ä%¬ ¥î%›X§ø%…ÿ¨&»ª&PW¬&0³ &Hï®*& C±4&WX´>&&»¶H&þí·R&÷¸\&»f&Ì-¼p&)¾z&B:¿„&ÿˆÁŽ&>“˜&ÞÝâ&óÇŬ&ÉÆƶ&…›ËÀ&©,ÌÊ&¸áÍÔ&±¢ÎöáÌÁÈÇ8SŸ
ÅN‚¥
„¬
7B†³
‰ƒ‡Ñ8S}^©»
i‰°!):w‚ym«‡Ïï¬À
#„Šâ' öîD'
rH+ tÐ,2 Z.F ¯0Z ³â1n •«3‚ }V5– Åé7ª œÄ9¾ µv;Ò qA=æ ÈHú øK!Û NŽË®“Ë®ì8SÆ
»çÌ
»çÔ
»çÜ
»ç-Ò–“ä
»çì
»çô
»çü
»çÀÍÀÍÀÍÀÍ$ÀÍ4”o”™òÞ²žÚº¦žt¼®˜¾¶Š¾¿¾yMÁÁˆÓÂÌicÄƈÓÂÒ¤ÖÅÚŠ„Çâ‘ÉꫳÊòAd̺Š¾¿±˜¾ªžt¼¡Úºö}«Óúr2ÕÊå‘ÉÞŠ„ÇÕ¤ÖÅVªÖ
w`ÙPØþr2ÕRÜÚV_v7Üv7Üw`ÙH²ÝÏicÄ9g•?y•1@Ý~"ÞÛKÁÈD]Ÿ–Nß$_UàB‡dIc—Ò•vË(Ÿºâ,"_å0”‰æ6©#èO€o—:©Òê>H‚íH©#ðCLÑîUgš]gšLgÓòQQAôgNv›VD™õqVÏœz¦/ž[Fö÷`Fö÷lFö÷fFö÷‚sÛ †uV¡ŒÐÕ¡rÅCúwüŠ1þƒ1þ}ü”µ¢›µ¢¢d¿£ªA+¦‘pP•©Æ°¨s§™Nu‘ÐIµ'¨¿ú3ª?Ùà5Æ 8«Ï~K¬× Ò¬ÞŽü¯æò”°î±õôZ²üÅW³›&´ÁË´:'”C‘«•µTH¶ ¢¤·&ÍO¸x’ o?ú“r@-Î#¹$ÍÇC$ÍÇCˆÉ2Êü¹;ÝÚºCÝÚºMzÀ¼¡Wj¦Wj²Wj¬Wj¸oɾq@ÑÛ4Êß ¶7TG[½ÐIÄž·†#µ,þ|tãCÕ“ãHópäNîkåTê`çYËTèaÑ)êE(<öo+xl0/|ê2i³ëoú¼ìt~Àím(íGx|<gî‡<gî”<gî;Àî^Àî^£ÌÄð´ÌÄð±™óÉÛSô3ýl57u8A'œ:G'œ:<u8ŸYzõM!Ó<Q!Ó<V!Ó<ÐÆ7õ×–öÝ£ö[|ú?_~|Bãï´÷éï´÷¯X í÷’MÒc@Eh~KFpvÏHtHKKï2ªøô¥äùúóœúx<¬M}<¬M‰<¬Mƒ<¬MyœþR"’ o?!Í~)Î\ºX í÷8);šöO›˜žQ§ªDSG–rSÂ\gÞ[bcÝOkI:wÖ o
‰Û&‘¡
³zúT˜`º¥ã%® íÈs]Õ©ØY·…%ɲXáÖ[¾ºÌ ÛãtêÖ‚ªDS ˜žQ•šöO crc½ˆ‚VçÖ[βXÛ©ØYòÈs]iEf%ŒPiþc¥`È‚VaÜd‡»g‡»gòðpüðp+ŒPiù[B_Úpò]'`6À\'¾w>‘KFÎæN¬ÀXA|× ÛfIÌ!sÍ&#¸zúT1Hãjl~KF?¬Ño;A„mD¬Ño6L2l‚hù#†th$Ic„s‹Âä$N@ît‘µ®%—Pt*Pt*¦vÑ.±¹Q1¹f2¾ˆ25Àî^ĉ3Ëž£3ÓÙN5Þ®.6ãÜè7Sß4vW@wÍøx[8_xíŸÌ8_°yd°yp°yj°yˆÞ?vD¸{óY|9 ho@©à@Ø’AzsB%¾÷B-IÉC?ÖEF3ýEP);GYúnJúY|9ažqKhaLo¹ƒLwFMüXN‡_O°{P˜Ú5Q ýR¨yS¯k¡S¶¹T½û×T6IÉCÄÑÛUËýµWÒÃYÙÃYá\y\z}è.Ü\íN^3¸Ïôkg_øwÙ_E'ØF_UýšW`a~1"©cZrvÄc
arDe&‹Áe/mVf7’Îf@njgHqàgG‹(ÑfN²YhTGiL(éArZucjaƒâjiÁqks°;lz"ôlöÕínÝøxäøxÔøxƒ²Zˆ²ƒ‡Š;p¸ÏpE»¶"^Cˆ)˜y‘q ¨r§ŠÆr°©ZsÈÒ„Y(íGx˜h£†,Àî^¸ï
tÀ¶uÇÃvŸ¬ˆ¤Ë‰©Ë‰¯)P‹8086 architectureInstruction Timing
directivesasm directivesmasm optionsassembler optionsflags register
8086 flagsmodels
segment namesmswmachine status wordaaaaadaamaasadcaddandarplboundbsfbsrbswapbtbtcbtrbtscallcbwcdqclccldclicltscmccmpcmpscmpsbcmpswcmpsdcmpxchgcwdcwdedaadasdecdiventereschltidivimulinincinsinsbinswinsdintintoinvdinvlpgiretiretdj...jajnbejaejnbjbjnaejbejnajcjcxzjecxzjejzjgjnlejgejnljljngejlejngjmpjncjnejnzjnojnsjnpjpojojpjpejslahflarldslealeaveleslfslgdtlidtlgslldtlmswlocklodslodsblodswlodsdlooploopeloopzloopnzloopnelsllssltrmovmovsmovsbmovswmovsdmovsxmovzxmulnegnopnotoroutoutsoutsboutswoutsdpoppopapopadpopfpopfdpushpushapushadpushfpushfdrclrcrrepreperepzrepnerepnzretretfretnrolrorsahfsalshlsarsbbscasscasbscaswscasdsetaesetnbsetbsetnaesetbesetnasetesetzsetnesetnzsetlsetngesetgesetnlsetlesetngsetgsetnlesetssetnssetcsetncsetosetnosetpsetpesetnpsetposgdtsidtshrshldshrdsldtsmswstcstdstistosstosbstoswstosdstrsubtestverrverwwaitfwaitwbinvdxchgxlatxlatbxorC declarationsC errors (MSC)
MSC errorsclMSC optionsC escape sequencesC operatorsoperator precedenceregsbyteregswordregssregsregpackabortabsabsreadabswriteaccessacosallocaallocmemasctimeasinassertatanatan2atexitatofatoiatolbdosbdosptr_bfree_ffree_nfree
_bios_disk_bios_equiplist_bios_keybrd
_bios_memsize
_bios_printer_bios_serialcom_bios_timeofdaybioscombiosdisk biosequipbioskey
biosmemory biosprintbiostime_bmalloc_fmalloc_nmallocbrkbsearchcabscallocceilcgets_chain_intrchdir_chmodchmod_clear87clearerr_clearscreenclock_closeclose
_control87coreleftcoscoshcountrycprintfcputs_creatcreatcreatnew creattempcscanfctimectrlbrkdieeetomsbindmsbintoieeefieeetomsbinfmsbintoieeedifftimedisable_disable_displaycursordiv (c)ldiv
_dos_allocmem
_dos_close
_dos_creat
_dos_creatnew_dos_freemem_dos_getdate_dos_getdiskfree
_dos_getdrive_dos_getfileattr
_dos_getftime_dos_gettime_dos_getvect _dos_keep _dos_open _dos_read
_dos_setblock_dos_setdate
_dos_setdrive_dos_setfileattr
_dos_setftime_dos_settime_dos_setvect
_dos_write dosexterr dostounixdupdup2ecvt_ellipse
_ellipse_w_elipse_wxyenable_enableeofexec...execexit_exitexp_expand_based_fexpand_nexpandfabs farcallocfarcoreleftfarfree
farreallocfcvtfclose fcloseallfdopenfeofferrorfflushfgetcfgetcharfgets
filelengthfileno findfirst_dos_findfirstfindnext
_dos_findnext
_floodfill_floodfill_wfloorflushallfmodfnmergefnsplitfopenfp_offfp_seg_fpresetfprintffputcfputsfreadfree_freectfreememfreopenfrexpfscanffseekfstatftellfwritegcvtgeninterruptgetcgetcbrkgetchgetchargetche _getcolorgetcolorputcolor getcurdir_getcurrentpositiongetcwdgetdategetdfreegetdiskgetdtagetenvgetfatgetfatd_getfillmaskgetftime _getimage_getimage_w
_getimage_wxygetimage
_getlinestyle_getlogcoord
_getviewcoordgetpass
_getphyscoordgetpid _getpixel_getpixel_wgetpspgets
_gettextcolor_gettextpositiongettimegetvect getverify_getvideoconfiggetwgmtimegsignalhalloc_harderr_hardresume _hardretnharderr
hardresumehardretn_heapchk _bheapchk _fheapchk _nheapchk_heapset _bheapset _fheapset _nheapset _heapwalk
_bheapwalk
_fheapwalk
_nheapwalkhfreehypot imagesizeinpinpwinportinportbint86int86xintdosintdosxintrioctlis...isalnumisalphaisasciiiscntrlisdigitisgraphislowerisprintispunctisspaceisupperisxdigitisattyitoakbhitkeeplabsldexplfind_lineto _lineto_w localtimelock (C)lockingloglog10longjmp_lrotl_lrotrlsearchlseekltoa _makepathmalloc_matherrmatherrmem..._memavlmemccpymemchrmemcmpmemcpymemicmpmemmovememsetmk_fpmkdirmktempmodfmovedata_moveto _moveto_wmovmem_msize_bmsize_fmsize_nmsize_openonexitopenoutpoutpwoutportoutportb_outtextparsfnmpeekpeekbperror_pie_pie_wxypokepokebpolypowpow10printfprintf specifiersputcputchputcharputenv _putimage_putimage_wputimageputsputwqsortraiserandrandbrdrandbrw_readreadrealloc
_rectangle_rectangle_w_rectangle_wxy_remapallpalette
_remappaletteremoverenamerewindrmdirrmtmp_rotl_rotrsbrkscanfscanf specifiers
_searchenv
searchpathsegread_selectpalette_setactivepage_setbkcolorsetblocksetbufsetcbrk_setcliprgn _setcolorsetdatesetdisksetdta_setfillmask_setfontsetftimesetjmp
_setlinestyle
_setlogorg_setvieworgsetmemsetmode _setpixel_setpixel_w
_settextcolor_settextposition_settextwindowsettimesetvbufsetvect setverify
_setvideomode_setviewport_setvisualpagesinsinhsleepsopenspawnspawn...
_splitpathsprintfsqrtsrandsscanfssignal
stackavailstat _status87stimestr...stringsstpcpystrcatstrchrstrcmpstrcpystrcspn_strdate_strtimestrdup _strerrorstrerrorstricmpstrlenstrlwrstrncatstrncmpstrncpystrnicmpstrnsetstrpbrkstrrchrstrrevstrsetstrspnstrstrstrtodstrtokstrtolstrtoulstruprswabsystemtantanhtelltempnamtmpnamtimetmpfiletoascii_tolowertolower_touppertouppertzsetultoaumaskungetcungetch unixtodosunlinkunlockutimevfprintfvfscanfvprintfvscanfvsprintfvsscanf_wrapon_writewritestdargva_startva_endva_list6845CRTC765FDCNEC 7658272floppy controller8042keyboard controller82501645016550UART82538254PITtimer8259PICBUScapacitor valuesCMOS RAM
CMOS clockRTCEpson printer codeshard disks drivesdrive specificationsdisk driveshard drivesHayes modem infomodem commands game portjoystickLaserjetHP Laserjetkeyboard commands
parallel portprinter portportsport addresseshardware portsdiagnostic codesPOST errorsresistor values
RS232 pinsserial ports int tableinterrupt table
exceptionsIRQint 5int 8BIOS timer interruptint 9keyboard interruptint 10BIOS video servicesvideo interruptint 10,0video modesint 10,1int 10,2int 10,3int 10,4int 10,5int 10,6int 10,7int 10,8int 10,9int 10,aint 10,bint 10,cint 10,dint 10,eint 10,f int 10,10 int 10,11 int 10,12 int 10,13 int 10,14 int 10,15 int 10,1a int 10,1b int 10,1c int 10,fe int 10,ffint 11equipment flagsint 12int 13BIOS disk servicesint 13,0int 13,1
int 13,statusint 13,2int 13,3int 13,4int 13,5int 13,6int 13,7int 13,8int 13,9int 13,aint 13,bint 13,cint 13,dint 13,eint 13,f int 13,10 int 13,11 int 13,12 int 13,13 int 13,14 int 13,15 int 13,16 int 13,17 int 13,18 int 13,19 int 13,1aint 14BIOS serial servicesBIOS communications
int 14,statusint 14,0int 14,1int 14,2int 14,3int 14,4int 14,5int 15BIOS system servicessystem interruptsint 15,0int 15,1int 15,2int 15,3int 15,f int 15,20 int 15,21 int 15,40 int 15,41 int 15,42 int 15,43 int 15,44 int 15,4f int 15,80 int 15,81 int 15,82 int 15,83 int 15,84 int 15,85 int 15,86 int 15,87 int 15,88 int 15,89 int 15,90 int 15,91 int 15,c0 int 15,c1 int 15,c2 int 15,c3 int 15,c4int 16BIOS keyboard servicint 16,0int 16,1int 16,2int 16,3int 16,4int 16,5 int 16,10 int 16,11 int 16,12int 17BIOS printer service
int 17,statusprinter statusint 17,0int 17,1int 17,2int 19int 1aBIOS clock servicesint 1a,0int 1a,1int 1a,2int 1a,3int 1a,4int 1a,5int 1a,6int 1a,7int 1a,8int 1a,9int 1a,aint 1a,b int 1a,80int 1b
Ctrl-BreakBIOS break interruptint 1cuser timer routineint 1dint 1eint 1fDOS interruptsint 20int 21DOS services
DOS functionsint 21,0int 21,1int 21,2int 21,3int 21,4int 21,5int 21,6int 21,7int 21,8int 21,9int 21,aint 21,bint 21,cint 21,dint 21,eint 21,f int 21,10 int 21,11 int 21,12 int 21,13 int 21,14 int 21,15 int 21,16 int 21,17 int 21,19 int 21,1a int 21,1b int 21,1c int 21,1f int 21,21 int 21,22 int 21,23 int 21,24 int 21,25 int 21,26 int 21,27 int 21,28 int 21,29 int 21,2a int 21,2b int 21,2c int 21,2d int 21,2e int 21,2f int 21,30 int 21,31 int 21,32 int 21,33 int 21,34INDOS int 21,35 int 21,36 int 21,37 int 21,38 int 21,39 int 21,3a int 21,3b int 21,3c int 21,3d int 21,3e int 21,3f int 21,40 int 21,41 int 21,42 int 21,43 int 21,44int 21,44,0IOCTL,0int 21,44,1IOCTL,1int 21,44,2IOCTL,2int 21,44,3IOCTL,3int 21,44,4IOCTL,4int 21,44,5IOCTL,5int 21,44,6IOCTL,6int 21,44,7IOCTL,7int 21,44,8IOCTL,8int 21,44,9IOCTL,9int 21,44,aIOCTL,aint 21,44,bIOCTL,bint 21,44,cIOCTL,cint 21,44,dIOCTL,dint 21,44,eIOCTL,eint 21,44,fIOCTL,f int 21,45 int 21,46 int 21,47 int 21,48 int 21,49 int 21,4a int 21,4b
exec function int 21,4c int 21,4d int 21,4e int 21,4f int 21,50 int 21,51 int 21,52INVARS int 21,53 int 21,54 int 21,55 int 21,56 int 21,57 int 21,58 int 21,59 int 21,5a int 21,5b int 21,5c int 21,5d int 21,5e int 21,5f int 21,60 int 21,62 int 21,63 int 21,64 int 21,65 int 21,66 int 21,67 int 21,68 int 21,69 int 21,6c int 21,f8int 22int 23ctrl-cint 24critical error handlint 25int 26int 27int 28
DOS schedulerint 29int 2aint 2a,0int 2a,1int 2a,3int 2a,4int 2a,5int 2a,6 int 2a,80 int 2a,81 int 2a,82 int 2a,84 int 2a,87int 2eint 2fmultiplex interruptint 2f,0int 2f,1
DOS multiplexint 2f,2int 2f,3int 2f,4int 2f,5int 2f,6int 2f,8 int 2f,2e int 2f,80int 33mouse interruptmouse servicesint 33,0int 33,1int 33,2int 33,3int 33,4int 33,5int 33,6int 33,7int 33,8int 33,9int 33,aint 33,bint 33,cint 33,dint 33,eint 33,f int 33,10 int 33,13 int 33,14 int 33,15 int 33,16 int 33,17 int 33,18 int 33,19 int 33,1a int 33,1b int 33,1c int 33,1d int 33,1e int 33,1f int 33,20 int 33,21 int 33,22 int 33,23 int 33,24int 4aint 67EMS services int 67,40
EMS status int 67,41 int 67,42 int 67,43 int 67,44 int 67,45 int 67,46 int 67,47 int 67,48 int 67,49 int 67,4a int 67,4b int 67,4c int 67,4d int 67,4e int 67,4f int 67,50 int 67,51 int 67,52 int 67,53 int 67,54 int 67,55 int 67,56 int 67,57 int 67,58 int 67,59 int 67,5a int 67,5b int 67,5c int 67,5d int 67,60int 70backup headersBIOS Parameter BlockBPBBatch Control BlockBCBBIOS Data AreaBDABIOS memory
memory maptaNnt5)help?installsetup
HelpPC formatBibliographycharacter codes
character setASCIIEBCDICextended ASCII
ANSI codesANSI control codes
byte ordering cold bootPOSTCPU detecting detection determinedBASE files DBF filesnumeric rangesdata rangesrangesundocumented warm boot bootstrapreboot