The Manchester Baby, Small Scale Experimental Machine
The study of ancestry can teach us a great deal. Knowing the origins of something gives us a renewed appreciation for where we are today, and affords us a better perspective on where we are going tomorrow.

Today I stood and basked in the awesome glory of the Manchester Small Scale Experimental Machine (SSEM) nicknamed the ‘Baby‘. Built 1948, it was the first ever electronic computer system in the world and has been on display here at the Manchester Institute of Science and Technology. I was dismayed to learn that the computer is being packed away in to storage, but the kind staff allowed me up close to pay my respects and bring you these great photos.
Programming the Small Scale Experimental Machine
Having spent much of last weekend writing my first programs for this great ancestor of modern computing, I find renewed appreciation for the technology that is available to us now.
I have written code for a few computers, including some home consoles like the Super Nintendo, but nothing could have prepared me for the Manchester Baby.
Why? Well, firstly, it has a humble instruction set consisting of 7 valid instructions, with only ONE arithmetic operation – subtract! In order to add two values, a programmer would need to use the form: -(-x-y). Software multiplication can be achieved by creating a loop which repeatedly ‘adds’ in this manner – don’t even ask me about divide!
Another exciting fact about the SSEM is it’s memory store. By today’s standards it would be considered backward.
![]() How Binary Numbers are Usually Stored |
![]() How SSEM Stores Binary Numbers |
No, I mean that it’s memory is literally a mirror image of how we might expect today’s computers to store binary numbers, with the least significant bit (LSB) is on the left and the most significant bit (MBR) on the right!
The memory store itself is made up of 32 rows of 32-bit words, giving the SSEM 128 bytes (0.125 KB) of total memory for both program and data. Not a lot when you compare it to computers available today. To put everything back in perspective, the SSEM executes 1,100 instructions per second. Yet my Apple iPhone used to photograph this exhibit can execute 620,000,000 instruction per second and has 8,000,000 KB of storage and (AND!) … it fits right in my pocket.
How To Run Virtual SSEM Programs At Home
[ See The Source Code For This Example Here ]
But you don’t have to travel all the way to Manchester to use the SSEM. David Sharp has developed a fantastic Java based SSEM simulator which you can run directly through your browser. Not only does it include the imagery of the original machine, but includes several working program examples and the ability to import/export memory snapshots and assembly code.
![]() |
![]() |
Conclusion
All in all it was a very humbling experience. I am told that the Baby will go back on display in about 7 months and I strongly urge others to see this exhibit. While the Small Scale Experimental Machine may not be all that impressive technically, it provided a solid blueprint upon which all modern computers are built. In doing so, it leaves a timeless mark in the computer world that will live on beyond it’s physical components. These principles seem far removed when I’m sat at my desk working with luxuriously high-level language like PHP. But sometimes it helps to remind myself of the sheer toil and pain it has taken to get to this stage.
Extras
Here is the source code to the ‘TheFraj’ example featured in this article, a scrolling marquee based on an example program that comes with the simulator. Try saving this into a file and importing to the simulator!
30
1 NUM -1207943145
2 CMP
3 SUB 22
4 STO 18
5 LDN 18
6 SUB 18
7 STO 23
8 LDN 1
9 STO 18
10 LDN 18
11 SUB 20
12 CMP
13 LDN 19
14 STO 1
15 SUB 21
16 STO 7
19 NUM 1207943145
20 NUM -134217729
21 NUM -8192
22 JMP 1
23 NUM 2039410350
24 NUM 575808164
25 NUM 575808164
26 NUM 600729316
27 NUM 600729316
28 NUM 575283876
29 NUM 710025892
30 NUM 307375780
31 NUM 0









Leave a Reply
You must be logged in to post a comment.