A simulation of the ABC is presented here. To successfully use the ABC one must be precise and orderly in the setting of controls and card management. Familiarity with the material in the operator's manual is necessary for manual operation. However, this is alleviated in the simulation by the provision of an auto-mouse (Otto) facility which automatically performs the operations to solve a set of equations.

 RunABC Simulation Requirements& Suggestions

Physical presentation: The simulation attempts to provide a reasonable facsimile of the front panel, card readers and punch of the ABC. Proportions have been altered for the sake of screen space, but the basic ordering and positioning of items approximates the original.

Algorithms: The algorithms and the functioning of the controls as implemented in the simulation were pieced together from what could be derived from the references. Some 'reverse engineering' conjecture has been employed to fill in the gaps in the references, based on what would have been the probable construction using the then-available switches, relays, etc., and working from the premise that the control system was kept as simple as possible.

One revolution (hence one vector operation) of the ABC drums is an atomic event to the simulator, and this event is deemed to occur at the end of the time occupied by the revolution. None-the-less, the simulator does perform true 50-bit arithmetic, so the numerical results from the simulator should be identical to those of the original ABC. For the proof-of-concept simulation, bit operations are atomic events.

Figure 1: A View of the ABC Simulator Screen

### Using the simulation

Figure 1 is a snap of the ABC simulator as the auto-mouse (Otto) proceeds through stage 2 of the solution process, as indicated by the columns of cards in the card bins. A card has been read through the base-2 card reader and Otto is just dropping a card on the base-2 punch.

• The simplest way to use the simulation is to:
1. Select the PUNCH DATA tab.
2. Press one of the N= buttons to set up an example problem.
3. Press PUNCH to create the initial base-10 cards.
4. Press SOLVE to set Otto to work.

• Initial base-10 cards can be punched from the PUNCH DATA page. Data for the cards can be entered by:
• Pressing the N= buttons. These enter data for various examples. The N=4 button uses the values from the example in section 1 of the operator's manual, already prescaled.
• Pasting the contents of the system clipboard. The data can be prepared in another application such as a text editor or spreadsheet and copied to the clipboard. Each line should contain the coefficients for one initial equation, the coefficients being separated by spaces or tabs.
• Keyboard entry.
Pressing the PUNCH button empties all the card bins, creates base-10 cards with the entered data and places them in the bins.

• A 9 by 9 array of bins is provided for storage of cards.

• Cards may be examined by dropping them on the appropriate base-2 or base-10 card reader and selecting the Monitors page.

• The ABC and the auto-mouse (Otto) can operate simultaneously, just as would occur in use of the actual ABC by a human operator. As a consequence there are two speed selectors and two sets of run/step buttons - one for the ABC and one for Otto. The parallel operation is used to advantage to have Otto move cards about while the ABC is busy.

 Automatic Operation Program Proof-of-Concept | Architecture | ASM | Manual | Simulation ABC bhilpert2002