Hi all, I found some interesting facts in the MS DOS 4.01 reference handbook . Hope you can use them: APPEND hooks functions 0f, 3d (open), 23 (get file size), and - IF /x:on given - 4b (exec) and 11, 4e (findfirst). If those functions are called with no directory / drive given, both the current directory and the appended one(s) are tried. If /path:on given, even if directory / drive are given, APPEND still tries the appended directories. I think as only those functions are hooked, APPEND should be easier than we thought... MS EXE2BIN does have a mode for the case of CS:IP being 0:0, instead of 0:100h. In the 0:0 mode, relocations are allowed and EXE2BIN asks the user at which segment the binary will be loaded. The output is a memory image of the loaded binary. Our EXE2BIN does not yet have this (not often used) mode. FASTOPEN can log 10..999 (default 10) file paths (-average- size 48 bytes) and 0..999 "file size informations" (16 bytes). FIND escapes " as "", so you can do find "print ""hello""" ... DIR only had /p /w options and SMARTDRV(.sys!) only had size and /a (use EMS rather than default XMS) options and no CD-ROM nor delayed write features in MS DOS 4! ANSI only had /x /k (force or block 102 key keyboard) and /L (keep number of lines over a screen mode change) options. EMM386 only had the exclude range and position page frame options (plus size option, sure). RECOVER filename "rescues" a file by replacing broken sectors by empty sectors (or cutting them out of the file?). RECOVER drive creates new filenames for all FAT chains as far as I understand. SELECT, the setup / install tool, creates config and autoexec with at least the following settings: EMS / XMS / UMB usage, keyboard, country, printer (including possible MODE redirection for using a serial printer as LPT1), codepage, ansi, fastopen, graftabl, graphics, share, shell, ramdrive. DEBUG only supports EMS, not XMS (sorry for the misleading TODO list entry, my fault). XA n means alloc n*16k EMS and displays the created handle number. XD n unallocs handle n. XM l p h maps logical page l to physical page p (0..3 for EMS 3.2), handle h. XS lists the current mappings and handles and the count of total and free handles and the size of total and free EMS (16k units). DRIVPARM changes the "has changeline", "is removable", "type" as reported by BIOS (not really useful?) and *geometry* information for an existing drive (CHS in 1..999 1..99 (255?) 1..99 (63?) range, defaulting to 80 2 9). Syntax: DRIVPARM=/d:1 (drive number, 1=b:) [/c|/n] (has changeline / is not changeable) [/f:type] (default 2) [/t:tracks] [/h:heads] [/s:sectors] [/i] (special option, means 3.5" without BIOS support) Types: 0 max 360k, 1 1200k, 2 720k, 5 harddisk, 6 tape, 7 1440k. Giving /f influences the /t /h /s defaults. No spaces are needed between a number and the following /. DRIVER has the same syntax but is a device: DRIVER.SYS /d:...... You cannot give /n or /i options there, nor can type be 5 or 6. The /d option differs in DRIVER case! Here it means the BIOS drive number (0..127), DOS creates a NEW drive letter for the drive. If an old drive letter for the same drive existed, the geometry of the old drive letter is updated, too. INSTALL officially is only allowed to load KEYB, FASTOPEN, NLSFUNC or SHARE from config.sys... FORMAT asks you to enter the current label for confirmation if you try to re-format a formatted DOS harddisk partition. MODE seems to have the type,[R|L][,T] "shift CGA" option: T means show a test pattern and use interactive mode (ask user if shift worked). MS DOS 6.xx MODE always tells "not possible" when trying to shift the image on an old VGA, MS WinDOS MODE has no R/L option at all. I guess only original CGA 6845 CRTC are accepted for shifting? DISPLAY.sys allows display types MONO, CGA, EGA (also used for VGA) and LCD (?). You use it to tell DOS which hardware codepage is used: 437 US, 850 multi, 870 Portuguese, 863 French/ca, 865 Norway. Only in EGA / LCD, up to 2 / 1 extra codepages with n font banks each can be announced (you tell DOS how much font RAM you have, nothing else!?). GRAPHICS only allows COLOR[1|4|8], GRAPHICS, GRAPHICSWIDE, THERMAL IBM printer types in that version, and supports EGA/VGA and 8514/A (?) graphics modes. COLOR4=RGB, COLOR8=CMYK. With b/w GRAPHICS and COLOR1 printers, 4 grey levels are used in 320x200. 640x200 is printed in landscape mode. MS DOS 6.xx GRAPHICS gives better quality on more printers. MODE retry values are E, B, R and NONE, meaning "report error, busy, ready, timeout if timeout" respectively. Baud rates are 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200. Redirection is only LPTn=COMm (when sending data to int 17 printers, DOS redirects it to int 14 serial...). PRINT options are: /B:buffersize (512..1634, default 512), /U:ticks-to-wait-if-busy (1..255, default 1), /M:printing-ticks (1..255, default 2), /S:timeslice-ticks (1..255, default 8), /Q:queuesize (in files, only 64 chars per filename allowed, 4..32, default 10), /T (flush queue), /D:dev (select device), /C filename (abort queue from filename on), /P filename(s) (insert filename(s) in queue).