This is currently a minimal implementation of the IBM 514 Reproducing Punch machines, also used as Summary Punch for the IBM 402 Accounting Machine.
The read hopper is located in the upper left, and the punch hopper in the upper middle. Read output stacker is in the lower middle, and punch stacker in the lower right. The hoppers and stackers behave in the normal fashion, except that the read stacker contents cannot be saved.
The program panel is implemented as a properties file. currently, this file must be edited external from the simulation. The START, STOP, and RESET buttons should function as on original equipment, with the exception that switches do not require holding down. The run rate is set to 20 cards per second.
Comparing magnets may be viewed in the opening between the two stackers. Control switches are located to the left of the stackers.
Programming is done by a "properties" file, that contains lines of the format "name = value". Referencing the original equipment programming panel, the following are supported:
|REPRODUCING BRUSHES||1-80||Card Cols 1-80||r.1 - r.80|
|PUNCH BRUSHES||1-80||Card Cols 1-80||p.1 - p.80|
|COMPARING BRUSHES||1-80||Card Cols 1-80||c.1 - c.80|
|READ X BR.||1-5 (1)||Read X brushes||rx1 - rx80|
|P X BR.||1-6 (1)||Punch X brushes||px1 - px80|
|PUNCH MAGNETS||1-80||Card Cols 1-80||pm1 - pm80|
|COMP. MAG FROM PUNCH BRUSHES||1-80||Comparator||c1p - c80p|
|COMP. MAG FROM COMPARING BRUSHES||1-80||Comparator||c1c - c80c|
|CTR TOT EXIT||2A-8D||Counters (Summary Punch)||2a1 - 8d8|
|SELECTOR 1/2||R||R pick-up||s1r - s2r|
|P||P pick-up||s1p - s2p|
|T||T pick-up||s1t - s2t|
|X||X/transfer position||s1x1 - s2xN|
|N||NX/normal position||s1n1 - s2nN|
|C||common position||s1c1 - s2cN|
|SUM X PCH CTRL||+1- thru +7-||unknown||x1+,x1- - x7+,x7-|
|COLUMN SPLITS||11-12||11/12 zone punches||cs1x - cs10x||0-9||0-9 digit punches||cs1d - cs10d||COM||common||cs1c - cs10c|
|RX||Reader X Entry||rx|
|RD||Reader X delayed Exit||rd|
|PX||Punch X Entry||px|
|PD||Punch X delayed Exit||pd|
(1) The small number of Punch/Read X brushes were manually positioned in specific columns. This implementation simply provides 80 X brushes already positioned at respective columns.
Property names are expected to represent ENTRY hubs, and generally do not contain a width (field width is determined by source(s)). In other words, the syntax of each line is "ENTRY = EXIT..." (where "..." represents optional, additional, parameters/exits).
In the property value, a set of hubs (a field) may be designated by adding an asterisk and the number of hubs in the field. It is generally expected that all sets of hubs in a given property will be the same width, and that width determines the property width.
Single items (cycles, controls, etc) must not have a field width specified.
Selectors do not have a limit on positions (contact sets). N may be any practical number (CO-SELECTORS are not needed). The position numbers should start at "1" and be kept contiguous. Keep in mind that related C, N, and T contacts must have the same position number.
Column Splits are bi-directional, similar to Selector positions (contacts).