EDSAC

EDSAC means Electronic Delay Storage Automatic Calculator, built in 1949, was the second stored- program computer to go into real service – after the American ENIAC. EDSAC was based on the design of EDVAC, which was itself based on ENIAC, but EDVAC came online after EDSAC, making a direct hierarchy difficult to pin down. 

EDSAC was built by a team led by Maurice Wilkes, and he wrote about his experiences in Edition 2 of Resurrection. It was created with a specific purpose; to help the Cambridge Mathematical Lab perform all the calculations they had to regularly deal with in a cost and time efficient way.

 

EDSAC had 13 instructions, each encoded by a mnemonic letter. The instructions are:
     add, subtract, multiply & add, binary AND & add, shift left, arithmetic shift right, load multiplier register, store and/or clear accumulator, conditional jump, read input, output, round accumulator constant, noop, halt

Notably, the instruction set does not include an unconditional jump; they were not needed, because subroutines did not exist. When they were eventually invented by David Wheeler, who was awarded the first ever Computer Science PhD for this work on the EDSAC, there became a need for an unconditional jump.

Emulators for the EDSAC

There are four generally publically available emulators for the EDSAC. The most well known is likely the one developed by Martin Campbell-Kelly, which functions perfectly fine to this day:

 

This emulator is available for download at the Computer Conservation Society, and contains a manual for its own usage.

The page just linked also contains a DOS version written by Lee Wittenberg:

The source code for Lee's emulator is available here.

Unfortunately, we have not been able to figure out how to properly port this emulator to modern operating systems, so Martin Cambell-Kelly's emulator remains the best functioning option.

 

The third emulator linked by the CCS is one written jointly by Martin Campbell-Kelly and Lee Wittenberg, QEDSAC. However, it is a work-in-progress and doesn't fully support Windows yet.