# Loci-2

Loci-2 fue la primera calculadora programable fabricada por Laboratorios Wang. Con esta calculadora y posteriores, como las pertenecientes a 300-Series, la compañía fundada por An Wang se inició un periodo de gran auge tanto económico como tecnológico de la citada compañía. De hecho pasó a ser una de las grandes potencias mundiales en el negocio del cálculo electrónico hasta su declaración de bancarrota el 18 de agosto de 1992.

## Contexto Histórico

An Wang estuvo interesado desde su etapa como universitario en la posibilidad de realizar cálculos complejos mediante electrónica digital. No en vano cabe destacar que trabajó con Howard Aiken, uno de los padres de la informática actual. Tras licenciarse en Harvard en Física aplicada, el Dr. Wang comenzó a trabajar en el Laboratorio Computacional de dicha universidad, precisamente en proyectos acerca de memorias magnéticas para computadoras. Finalmente, en 1951 y tras arduos años de trabajo, consiguió reunir el suficiente dinero, unos 15.000 dólares, para fundar su propia empresa: Wang Laboratories. Esta empresa se dedicó, en un principio, a fabricar componentes digitales. Sin embargo, a principios de 1960 Laboratorios Wang en colaboración con Compugraphic, lanzaron al mercado su primera creación, Linasec. La función de esta máquina era la de recibir mediante cinta de papel perforado un texto sin formato, y con la ayuda de un operario, reescribir ese texto justificado y grabarlo en otra cinta de papel. Tras el éxito de esta primera máquina, de hecho llegaron a embolsarse más de un millón de dólares, en 1964 Compugraphic decidió separarse de Laboratorios Wang para introducir su propia versión de la Linasec. Este hecho, dejó al doctor Wang con fondos suficientes para emprender su propia aventura en el negocio del cálculo electrónico.

## Antecedentes

Posteriormente a la separación de Compugraphic, Wang comenzó a trabajar en el diseño de una calculadora que se llamaría LOCI-1 (Dichas siglas provienen de LOgarithmic Computing Instrument). Esta calculadora ya hacía uso de los transistores (inventados en diciembre de 1947). No obstante, esta primera versión no llegó a tener mucho éxito lo que hizo que en enero de 1965 se lanzara al mercado su evolución, la LOCI-2. Tras su aparición, la LOCI-2 fue ampliamente usada y aceptada tanto por científicos e ingenieros como por matemáticos. Algunas de las causas de esta aceptación eran su habilidad para realizar operaciones matemáticas de alto nivel a una gran velocidad y su capacidad de ser programada, una novedad para la época. La gran innovación de este modelo fue el conocido como "Circuito mágico de cálculo logarítmico" del Dr. Wang que era básicamnete realizar las operaciones más complejas mediante suma y resta de logaritmos. Hay que reseñar que en aquel tiempo dichas operaciones se realizaban buscando a mano los valores de los logaritmos en unos grandes libros, lo que hacía del cálculo una tarea muy lenta y tediosa.

## Detalles técnicos

Tras un primer vistazo a la LOCI-2 podemos observar la gran cantidad de botones y su críptica simbología. Características que impidieron su uso comercial dada la complejidad de su uso. Esta desventaja fue posteriormente subsanada en las calculadoras de la 300-Series que fueron mucho más usadas gracias a su teclado más intuitivo. La Loci-2 constaba de 53 botones y 24 indicadores luminosos aparte del visor de resultados que permitía 10 cifras más el signo del valor. Como ya se ha dicho esta calculadora era muy usada en el ámbito científico y matemático gracias a unas características que pasaremos a describir a continuación.
El interior de la máquina está compuesto de más de 1.200 transistores distribuidos en 9 placas de circuitería hechas de fibra de vidrio. Dichas placas están interconectadas por finos cables de cobre. De estas nueve placas solamente los circuitos de 3 de ellas son inteligibles, ya que las otras 6 placas parecen un montón de diodos, resistencias, flip-flops, et. colocados al azar. Se cree que esto es así por el miedo que tenía el Dr. Wang a que descubrieran y plagiaran sus sistemas.
En la placa frontal, se hallan el registro de instrucciones y el decodificador. Como las instrucciones se le pasaban a la máquina en forma de tarjetas perforadas, éstas debían de ser traducidas a instrucciones comprensibles para la máquina. La siguiente placa era conocida como placa de salida ya que alberga 12 tubos Nixie usados para mostrar por el display la salida. También se halla la circuitería necesaria para convertir la información interna que iba en BCD natural a señales luminosas que mostraran números decimales. Nótese que el tubo Nixie de más a la izquierda no mostraba número alguno sino el signo de la salida (+ o -). En la tercera placa comprensible se halla la memoria central usada para almacenar números u operaciones de forma permanente. Esta ROM primitiva constaba de 16 registros de 12 bits cada uno distribuidos en 4 capas de 4 registros. El inconveniente de esta memoria era que no se podía operar directamente sobre ella sino que se debía cargar previamente a los registros volátiles. Estas placas constituyen el hardware básico de la calculadora, aunque una de las partes más importantes de ésta se vendía por separado, el lector de tarjetas perforadas.Este lector recibía tarjetas perforadas (suministradas por IBM) de 12 filas por 40 columnas en las cuales solía haber alrededor de unas 80 instrucciones. Una vez cargadas éstas en la memoria, la calculadora se podía usar como una especie de "desktop computer" ya que permitía ejecutar las operaciones paso a paso para detectar y corregir posibles errores, se podían realizar bloques de sentencias condicionales y guardar los resultados intermedios, se le podía indicar a la máquina por donde debía empezar a calcular e incluso qué pasos de programa debía ejecutar y cuales omitir. Todas estas características otorgaban un control máximo sobre los "programas".

## Estructura "software"

La estructura de registros era muy simple, ésta se dividía en tres grupos principales:
Registro W (Working): Aquí permanecen los datos introducidos vía teclado a la máquina y es también el registro mostrado por pantalla. Hay que añadir que como los resultados de las operaciones no van a este registro, si queremos visualizarlos primero dichos resultados deben ser copiados desde los otros registros a éste.
Registro A (Adder): Este registro actúa como acumulador, es decir va guardando los resultados intermedios de las operaciones de adición y sustracción. Esto es, cuando introducimos un número, tras pulsar la tecla de suma o resta, dicho número se almacena en este registro y tras sucesivas introducciones vamos sumando o restando a dicho número inicial.
Registro L (Logarithm): Parte ingeniosa de la calculadora ya que es otro acumulador pero no de números sino de logaritmos. Como es lógico, el rango de este último registro va desde -49,9999999999 hasta +49,9999999999. El rango necesario para representar los logaritmos neperianos. Como cabe intuir, en este registro se acumulan los valores de los elementos de multiplicaciones, divisiones, raíces y otra operaciones complejas.

## Ejemplo de Funcionamiento

Esta arquitectura que a simple vista puede parecer muy compleja no lo es tanto viendo un simple ejemplo: Por ejemplo, para realizar la división 275'7424 entre 18'4. Tras encender la máquina y limpiar la memoria, introduciríamos el número 275,7424 y pulsaríamos la tecla de división. En este instante, en el registro "W" estaría dicho número y el registro "L" tendría su logaritmo neperiano, es decir, 5'6194670. Tras esto, introduciríamos el segundo número, o sea 18'4 y volveríamos a pulsar la tecla de división. En este punto tendremos en "W" el valor 18'4 y en el registro "L" estaría el resultado de restar al primer valor, el logaritmo del segundo número es decir, 5'6194670-2'9123506 = 2'7071164. Por las reglas de los logaritmos sabemos que A/B = lnA - ln B, por lo que para saber el resultado real bastaría con presionar la tecla "ANTILOG", la cual realizaría el antilogaritmo del número contenido en el registro "L" y tras esto enviar el resultado al registro "W" para poder visualizarlo. Tras haber hecho esto el display mostraría 14'986. Para las operaciones simples de suma y resta el proceso es similar salvo que los resultados intermedias se acumulan en el registro "A". Sin embargo, hay que mencionar que normalmente solía producir resultados no redondeados como 12'3499999 en vez del resultado real que era 12'35 pero el Dr. Wang puso a trabajar a sus ingenieros para solucionar dicho inconveniente.