Most of this "stuff" builds and runs under DOS I mostly used: Microsoft DOS 5 I've also used: Windows 9x/2000/XP/7/8 (but only 32 bit versions) - I've never seen any of these available "free". At one point, IBM gave away PCDOS which is very compatible/almost the same - Officially available in: free "IBM ServerGuide Scripting Toolkit" FreeDOS, CalderaOpenDOS and PtsDOS should also work - All are/were free - I've not used/tested them much. - Boot images for all of these are included within my "DBBD" My RealDOS setup: C: main drive \DOS main DOS install \CMDS additional commands/utilities I added \MC Micro-C \TC Borland Turbo-C (only needed for a bit of my stuff) R: RamDisk - I use for/because: Nice/fast place for temp files - auto cleared on shutdown. Compilers tend to uses "". D: RamDisk in my earlier systems You can: SUBST D: R:\ AutoExec: PATH C:\Cmds;C:\MC;C:\TC;C:\DOS set TEMP=R:\ set MCDIR=C:\MC set MCTMP=R:\$ For other systems (including 64bit Windows) - I use DosBox which is a very good DOS emulator - I recommend the one I've posted on my site: My DosBox setup: Z: internal DosBox - commands etc. Y: DosBox home direcrory - I use C:\DosBox - mount Y C:\DosBox \CMDS additional commands/utilities I added \C where I put C: C: Main working drive - I store in "" - use: SUBST C: Y:\C \MC Micro-C \TC Borland Turbo-C (only needed for a bit of my stuff) R: RamDisk - I create on host as R: - mount R R:\ AutoExec: PATH Y:\Cmds;C:\MC;C:\TC;Z:\ set TEMP=R:\ set MCDIR=C:\MC set MCTMP=R:\$ I you don't have/want a RamDisk, use C:\R DOS/WIN - SUBST R C:\R DosBox - mount R C:\R Tools you can use (To build the way I did): DDS Micro-C/PC compiler (available on my site) DOS/8086 assembler and linker: I originally used MASM and LINK but changed to Borland TASM/TLINK as it handled larger files. I've never seen MASM/LINK available free, but "Borland Comunity Museum" had TASM/TLINK as a free download. You can get TASM.ZIP from my site Borland Turbo-C 2.0 I've never seen this "officially" free, but I have seen it available in various places on the web. DDS XASM various embedded assemblers (available on my site) LccWin32 - free - copy I used (3.8) on my site To compile most things with Micro-C/PC: cc name -[P]OF[M] [M=S] -Preprocess Uses the full Micro-C preprocessor. Some of my early "stuff" used only the limited preprocessor built into MCC.EXE - look for: #include | #include "file" -P IS needed #include file (no <> "") -P NOT needed -Optimize Invokes MC's peephole optimizer -Foldliteral C "standard" says all string literals are stored uniquely: "ThisString" "String" Without -F, MC generates: MOV AX,OFFSET DGRP:?0+0 MOV AX,OFFSET DGRP:?0+11 ?0 DB 84,104,105,115,83,116,114,105,110,103,0,83,116,114,105,110,103,0 -F causes MC to combine the strings: MOV AX,OFFSET DGRP:?0+0 MOV AX,OFFSET DGRP:?0+4 ?0 DB 84,104,105,115,83,116,114,105,110,103,0 M=S build SMALL model (otherwise TINY) Most of my "stuff" happily fits in (64k code+data) 8086 Tiny .COM model but some need Small .EXE model (64k code + 64k data) -Module Does not LINK - builds name.OBJ When multiple source files to one executable: cc name1 -pofm buikd name1.OBJ cc name2 -pofm buikd name2.OBJ lc name1 name2 combine into name1.COM Some of my stuff uses extra "help" files. To create these, use my: HFC - Help File Compiler Reads the provided .SRC help source file, and produces a .HLP hypertext linked file for interactive help within the program. CHT - C Help Text Reads "comments" in a .C source file to create a Help.H file containing character arrays of help text in a form which saves some space and can be "#include"d in the .C You can build much of my DOS stuff for Windows/Linux with DVM (DunfieldVirtialMachine): DVM cc program