Goals

We set out to create a device which could run programs written for the SSC while showing exactly what the programs are doing. We considered several alternatives:

We considered using an Altera board; it certainly has sufficient I/O capabilities to make clear the internal state of the SSC. Providing output other than LEDs seemed a daunting task, however, and earlier difficulties with Altera's product deterred us from this solution. We then thought about writing a computer program to emulate the SSC. This approach has the advantage of easy development and debugging and offers the greatest flexibility for interaction with the user. It was rejected as less interesting than a hardware solution.

After sufficient thought, we chose to build some simple hardware for our emulator and we chose to center it around Microchip's PIC microcontroller. This would allow for a flexible, reasonably fast, compact and aesthetically pleasing emulator. Knowing the limits set by the microcontroller allowed us to set goals for the emulator's capability.

We decided that it ought to be able to run at a few different speeds, step forward through programs, expose all registers, RAM, and ROM, to the user while make some or possibly all of them modifiable, and store a few programs for later use. We also came up with a few things to work on if we finished early: the ability to undo an instruction or two, the ability to network two SSCs through their I/O ports, and the ability to run off of batteries.

< Abstract | Hardware >


Alexandr Pshenichkin and Cortland Setlow
Swarthmore College