ENHANCING A VIRTUAL REALITY SIMULATOR OF THE ENIAC

John Glover,  LaVaughn Johnson,  Doug Harms*

DePauw University, Computer Science, Greencastle, IN 46135

dharms@depauw.edu


Abstract

In 1943, Dr. John Mauchly and. J. Pres Eckert of the University of Pennsylvania’s Moore School of Electrical Engineering developed the ENIAC computer to calculate firing tables of artillery shells. The ENIAC (Electronic Numerical Integrator and Computer) is considered the first fully implemented electronic programmable computer. Unlike computers of today it was programmed manually through dials, switches, and cables. Though it only took few seconds to do the necessary calculations to solve a problem, the computer operators often spent 2 or more days programming it.

Our work extended a virtual reality simulator of the ENIAC that was developed by Dr. Harms and a team of REU students in 2003. The simulator runs on a Fedora Linux computer and is written in C++ using the openGL graphics library and the openGL Utility Toolkit (GLUT).

We extended the simulator in four ways: 1) we implemented the high speed multiplier unit, 2) we improved the graphical environment, 3) we implemented the ability to save the current configuration of the ENIAC, and 4) we incorporated the use of menus to change the ENIAC configuration.

Our simulation creates a virtual 3D room to fit the large ENIAC instead of just a flat visualization. The 3-D version equips the simulation with depth and a realistic look. Through a user’s hands-on experience with the simulation, we hope to produce a model for learning about the ENIAC’s function, programming, and relativity to today’s computers.

Our process of implementing designs and functionality depended on finding the correct and most accurate documentation of the individual units. Circuitry diagrams and the original ENIAC patent helped us the most in our efforts. While adapting the original ENIAC units to our virtual simulator, we changed the operations within some of them to coincide with the work previously done by other REU groups. For example, instead of running the virtual simulator on clock speed to cycle through operations, each of the ENIAC unit’s run on a 4 cycle process.

During the summer we implemented the multiplier unit, capable of multiplying two ten digit numbers and outputting a product of 20 digits, improved the graphical appearance on the previous units by adding status lights, covers under the cabinets, and redecorated the room walls. We also added GLUT menus to the interface and implemented a save feature. Introducing the multiplier into the virtual ENIAC allows for more complex programming which permits us to solve some actual problems combined with the other units we have implemented already. The result of our graphics work provides a fuller looking ENIAC room without as many gaps and unfilled spaces, more functionality and capabilities. For the simulation’s interface to be more user-friendly we introduced the menus to configure the ENIAC in real-time.

Download

[Abstract (DOC)]