PCjs Machines

Home of the original IBM PC emulator for browsers.


PCjs Blog

Turbo Pascal vs. QuickPascal

Below are side-by-side PCjs machines running Borland Turbo Pascal 5.00 and Microsoft QuickPascal 1.00. Make your browser window nice and wide, and then sit back and be mesmerized.

We reveal who the winner is below the fold.

[PCjs Machine "ibm5170-msdos320-1"]

Waiting for machine "ibm5170-msdos320-1" to load....

[PCjs Machine "ibm5170-msdos320-2"]

Waiting for machine "ibm5170-msdos320-2" to load....

Who’s The Winner?

PCjs, obviously. This demo shows off several PCjs improvements, like the autoType feature, making it easier to encode delays and specify special key sequences.

Here’s an example of “injecting” Ctrl-F4, followed by a 1/10 second delay, followed by Alt-F:

autoType: $ctrl$f4$1$altf

Any of the keys listed in the PCx86 Keyboard’s SOFTCODES table can be injected by preceding them with a $, such as:

Modifier keys, such as:

are automatically released after a non-modifier key has been injected.

Delays from 1/10 to 9/10 of a second, specified with $1 through $9, set the default delay between all subsequent keys, whereas delays of one second or more (eg, $10, $20, etc) set a one-time delay.

For software that needs more than just injected keys, sophisticated scripts are possible. Here’s the “startMouse” script for IBM’s TopView 1.01:

wait Keyboard DOS;
type Keyboard "$date\r$time\r";
wait Keyboard;
sleep 1000;
select FDC listDrives "A:";
select FDC listDisks "MS Mouse 5.00 (SYSTEM)";
loadDisk FDC;
wait FDC;
type Keyboard "MOUSE\r";
sleep 7000;
type Keyboard "B:\rSETUP\r$50.3\r$20n\r$20y\r$20\r$20\r$20.1\r";

The above script automatically “inserts” the Microsoft Mouse 5.00 diskette into drive A:, loads the mouse driver, and then configures TopView for serial mouse support.

Jeff Parsons
Mar 22, 2018