Skip to content
tsupplis edited this page May 5, 2022 · 11 revisions

Welcome to the wiki.

We have a basic "compatibility database" here:

Development tools

Turbo Pascal

  • Turbo Pascal 1, 2, 3: Works ok, no install required.
  • Turbo Pascal 4: Works ok, no install required, simply copy all files to one folder (for example, tp40), and use EMU2_CWD='C:\TP40' emu2 tp40/turbo.exe
  • Turbo Pascal 5.5 and 6.0: Works ok, install instructions in the README.md file. For example, to compile "TCALC.EXE", use EMU2_CWD='C:\TP\DEMOS\TCALC' emu2 tp/tpc.exe tcalc.pas /b. Below is a template wrapper script for tic, where ROOT is the turbo pascal directory, mapped to drive D:.
#!/bin/sh
EMU2_DRIVE_D=$ROOT 
export EMU2_DRIVE_D
EMU2_PROGNAME="d:\\bin\tpc.exe" 
export EMU2_PROGNAME
emu2 "$EMU2_DRIVE_D/bin/tpc.exe" "$@" -- PATH='D:\\BIN' 
  • Turbo Pascal 7.0: simpler install, as the bug in the installer was fixed, mostly works but the IDE keeps raising "memory errors". Command line compiler works, for example to compile "TVDEMO.EXE", use EMU2_CWD='C:\TP\EXAMPLES\TVDEMO' emu2 tp/bin/tpc.exe tvdemo.pas /b. Below is a template wrapper script for tic, where ROOT is the turbo pascal directory, mapped to drive D:.
#!/bin/sh
EMU2_DRIVE_D=$ROOT 
export EMU2_DRIVE_D
EMU2_PROGNAME="d:\\bin\tpc.exe" 
export EMU2_PROGNAME
emu2 "$EMU2_DRIVE_D/bin/tpc.exe" "$@" -- PATH='D:\\BIN' 

Quick Basic / GW Basic

  • QBASIC 1.0/1.1 from DOS 5.0 and upwards: Works ok, no install required.
  • GWBASIC 3.23: Works ok, no install required.

C Compilers

  • Microsoft C 1.04: Works ok based on an installed directory dump. The directory dump is portable. Below is a emplate wrapper script for mc1, where ROOT is the Microsoft c directory, mapped to drive D:. Equivalent scripts can be created for mc2, link, lib.
#!/bin/sh
EMU2_DRIVE_D=$ROOT 
export EMU2_DRIVE_D
EMU2_PROGNAME="d:\\bin\\mc1.exe" 
export EMU2_PROGNAME
EMU2_APPEND=D:\\
export EMU2_APPEND
emu2 "$EMU2_DRIVE_D/bin/mc1.exe" "$@" 
  • Microsoft C 6.00: Works ok based on an installed directory dump. The directory dump is portable. A little caveat, the command cl /help does not react properly to keyboard. Below is a template wrapper script for cl, where ROOT is the Microsoft c directory, mapped to drive D:. Equivalent scripts can be created for ilink, link, lib.
#!/bin/sh
EMU2_DRIVE_D=$ROOT 
export EMU2_DRIVE_D
EMU2_PROGNAME="d:\\bin\\cl.exe" 
export EMU2_PROGNAME
emu2 "$EMU2_DRIVE_D/bin/cl.exe" "$@" -- \
  PATH='D:\\BIN' LIB=D:\\LIB INCLUDE=D:\\INCLUDE
  • Turbo C 2.01: Works ok based on an installed directory dump. The configuration files need to be set to D:\ using the tcconfig.exe command. Below is a template wrapper script for tcc, where ROOT is the Borland c directory, mapped to drive D:. Equivalent scripts can be created for strip, link, lib.
#!/bin/sh
EMU2_DRIVE_D=$ROOT 
export EMU2_DRIVE_D
EMU2_PROGNAME="d:\\bin\tcc.exe" 
export EMU2_PROGNAME
emu2 "$EMU2_DRIVE_D/bin/tcc.exe" "$@" -- \
  PATH='D:\\BIN' LIB=D:\\LIB INCLUDE=D:\\INCLUDE
  • Turbo C++ 1.0: Works ok based on an installed directory dump. The configuration files need to be set to D:\ using the taints.exe command. Below is a template wrapper script for tcc, where ROOT is the Borland c directory, mapped to drive D:. Equivalent scripts can be created for strip, link, lib.
#!/bin/sh
EMU2_DRIVE_D=$ROOT 
export EMU2_DRIVE_D
EMU2_PROGNAME="d:\\bin\tcc.exe" 
export EMU2_PROGNAME
emu2 "$EMU2_DRIVE_D/bin/tcc.exe" "$@" -- \
  PATH='D:\\BIN' LIB=D:\\LIB INCLUDE=D:\\INCLUDE
  • Borland C++ 2.0: Works ok based on an installed directory dump. The configuration files need to be set to D:\ using the bcinst.exe command. Below is a template wrapper script for bcc, where ROOT is the Borland c directory, mapped to drive D:. Equivalent scripts can be created for strip, link, lib.
#!/bin/sh
EMU2_DRIVE_D=$ROOT 
export EMU2_DRIVE_D
EMU2_PROGNAME="d:\\bin\\bcc.exe" 
export EMU2_PROGNAME
emu2 "$EMU2_DRIVE_D/bin/bcc.exe" "$@" -- \
  PATH='D:\\BIN;D:\\BINB' LIB=D:\\LIB INCLUDE=D:\\INCLUDE
  • AZTEC C 5.2A: Works ok based on an installed directory dump. The directory dump is portable. Below is a template wrapper script for cc, where ROOT is the top aztec c directory, mapped to drive D:. Equivalent scripts can be created for ln, lib.
#!/bin/sh
if [ -z "$TMPDIR" ]; then
    TMPDIR="/tmp/emu2-`id -u`"
fi
mkdir -p "$TMPDIR/AZTEC/TEMP"
EMU2_DRIVE_D=$ROOT 
export EMU2_DRIVE_D
EMU2_DRIVE_E="$TMPDIR/AZTEC" 
export EMU2_DRIVE_E
EMU2_PROGNAME="d:\\bin\\cc.exe" 
export EMU2_PROGNAME
emu2 "$EMU2_DRIVE_D/bin/cc.exe" "$@" -- \
  PATH=D:\\BIN CLIB=D:\\LIB\\ INCLUDE=D:\\INCLUDE \
  CCTEMP="E:\\TEMP\\"
  • AZTEC C 4.2B: Works ok based on an installed directory dump. The directory dump is portable. Below is a template wrapper script for cc, where ROOT is the top aztec c directory, mapped to drive D:. Equivalent scripts can be created for ln, lib.
#!/bin/sh
if [ -z "$TMPDIR" ]; then
    TMPDIR="/tmp/emu2-`id -u`"
fi
mkdir -p "$TMPDIR/AZTEC/TEMP"
EMU2_DRIVE_D=$ROOT 
export EMU2_DRIVE_D
EMU2_DRIVE_E="$TMPDIR/AZTEC" 
export EMU2_DRIVE_E
EMU2_PROGNAME="d:\\bin\\cc.exe" 
export EMU2_PROGNAME
emu2 "$EMU2_DRIVE_D/bin/cc.exe" "$@" -- \
  PATH=D:\\BIN CLIB=D:\\LIB\\ INCLUDE=D:\\INCLUDE \
  CCTEMP="E:\\TEMP\\"
Clone this wiki locally