-
Notifications
You must be signed in to change notification settings - Fork 31
Home
tsupplis edited this page May 5, 2022
·
11 revisions
Welcome to the wiki.
We have a basic "compatibility database" here:
- 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 useEMU2_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'
- QBASIC 1.0/1.1 from DOS 5.0 and upwards: Works ok, no install required.
- GWBASIC 3.23: Works ok, no install required.
- 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\\"