miércoles, 18 de julio de 2012

Montar salida AV en una ColecoVision PAL (I): Parte teórica

Montaje: Parte teórica, Parte práctica

La empresa Coleco (Connecticut Leather Company, compañía del cuero de Connecticut) se dedicaba en los 30 a los zapatos, en los 60 a las piscinas de plástico, y en los 70 decidió entrar en el mercado de la electrónica y los videojuegos. Sacó al mercado la Coleco Telstar, acaparando la producción de chips de los pong, por lo que se hizo con una gran cuota de mercado, siguió con consolas de mano del tipo handheld (término que se aplica ahora a las PDA).

Continuó su línea con la Coleco Vision en 1982, técnicamente una de las mejores consolas del momento, usando un Z80 junto a un chip gráfico y uno de sonido (a nivel de hardware es muy similar a los posteriores MSX), no pudo desbancar a la reina, la Atari VCS o Atari 2600, a pesar de que lo intentó introduciendo una unidad de expansión que permitía usar los cartuchos de la Atari en la Vision.

Su carrera terminó al introducir en 1983 la Coleco Adam, una expansión que permitía a la Coleco Vision comportarse como un ordenador en Basic, para competir con las Atari 400, que posteriormente se vendió como un ordenador que podía usar cartuchos de la Vision. Fue un fracaso y el fin de la Coleco en la electrónica.

Esta consola tiene una buena salida por RF, por lo menos en todas las que he visto en marcha, pero es normal hoy día intentar una salida de AV, para evitar problemas en las teles modernas con la sintonía. Voy a montar este circuito en dos máquinas, por lo que voy a dedicar dos entradas al tema. En esta irá la parte teórica, y en la segunda la realización práctica.

Hay tres modelos de la Coleco, la NTSF americana, la PAL europea, y la SECAM francesa (esta incorpora salida RGB directamente). Las tres placas son diferentes, por lo que no sirve el montaje de una en la otra exactamente. Por fortuna, en Australia usan PAL, y hay una gran comunidad de usuarios de Coleco, por lo que gracias a ellos, y desde los foros de Atariage disponemos de este esquema:

Salida de AV para la Coleco Vision
Este es un diagrama de la última parte del circuito de vídeo de la Coleco. Los componentes en rojo son las partes adicionales que se requieren para manejar un TV / Monitor estándar por AV. El cable de salida de vídeo al modulador (cable azul) debe ser desconectado (lo que desactiva la salida de RF) para que el transistor de amplificación haga su función. Recomendaría levantar la pata de salida de Q24 del circuito, y conectar la resistencia de 3K3 entre la pata levantada y el punto más cercano a 5v, ya que esta parte del circuito es susceptible a capacitancias parasitarias. R140 debe reducirse a aproximadamente 3300 ohmios. En realidad, esto forma un filtro de paso bajo con Q24 (efecto Miller). Es posible que desee ajustar este valor a su gusto (¡no use una potenciómetro!). 

Mayor valor = bordes más suaves y menos puntos en movimiento (interferencia de croma), Menor valor = bordes más nítidos. 

La señal de vídeo resultante es de muy buena calidad, con mínimos puntos en movimiento.No hay que molestarse en trazar el circuito de audio buscando su señal, sólo hay que interceptar el cable que va a la placa del modulador. Utilizar un divisor resistivo para atenuar la señal

Salida de Audio para la Coleco Vision

En una próxima entrada mostraré como montar esta salida en una Coleco Vision.

lunes, 16 de julio de 2012

Salida directa de AV en una Dreamcast

Esta consola es la última fabricada por Sega, y dispone de una salida con múltiples posibilidades, entre ellas AV. En el lateral tiene ubicado un módem, que permite conectar a la consola con la red de Sega, que hace tiempo que dejó de estar operativa, por lo que ya no tiene uso. Aprovechando ese hueco, voy a dotar a la Dreamcast de salida directa por AV.

El primer paso es sacar el módem. Si queremos usar la tapa cuando no usemos el cable, debemos vaciarlo, para ello quitamos los dos tornillos que lleva a los lados del conector, y ya podemos sacar la placa.
Ahora hay que ubicar los tres conectores, hay bastante sitio para ponerlos, solo hay que tener cuidado de no irse demasiado hacia el fondo de la carcasa, por el mecanismo de la tapa que esta en ese lugar junto al tornillo.
El conector de salida es el que se ve a la izquierda en la primera foto, y a la derecha en la segunda. Podemos soldar por ese lado, pero es mas sencillo por el otro lado de la placa.
Por debajo hay mejor sitio para soldar los cuatro cables que necesitamos, vídeo, masa y los dos de audio. La masa la podemos sacar de un sitio mas cercano, pero prefiero sacarla de aquí para que este junto a los cables de señal, lo que les ayuda contra las interferencias.
Los cables los retuerzo un poco entre ellos, para que ayude contra interferencias, y los aislo y sujeto con cinta aislante para que no se muevan ni toquen la placa.
Solo falta soldar los cables, la masa es común a los tres cables, amarillo vídeo, rojo y blanco audio (el rojo de la izquierda debe ser amarillo pero no me quedaban conectores).
Resultado final, he marcado los conectores porque no se ven bien los colores al quedar debajo (así además disimulo que no tengo el amarillo). Una vez puestos se ve que hay sitio de sobra para no forzar los cables.

Con esto tenemos una modificación sencilla, pero muy práctica si no disponemos del cable original de la consola. Se puede montar de forma similar S-Video cambiando el conector amarillo por un mini-din de 4 pines, pero no ganamos demasiado y el conector no será sencillo de encontrar. También podemos usar un conector DB-9 y hacer una salida RGB, ya que un Euroconector hembra no cabe en el hueco, aunque se puede adaptar en otro lugar de la consola.

domingo, 15 de julio de 2012

Convertir archivos de audio APE a WAV

Relacionadas: Cambiar región ISO Mega-CD, convertir APE a WAV



Esta entrada está basaba en una traducción de la Web de Gametronik en francés, con ampliaciones propias. Este es un pequeño tutorial para convertir ficheros con audio APE en audio WAV usando el programa  Monkey's Audio.

Que necesitamos:

  • Monkey's Audio para la transformación, usaré la versión 4.10
  • Una ISO de Mega-CD, por ejemplo RADIANT SILVERGUN (J) (en la web deGametronik dispones de varias imágenes para Saturn y Mega-CD)
Como recordatorio, el formato APE es un archivo de audio codificado usando un códec de compresión llamado "sin pérdidas" (lossless audio), los ficheros WAV originales se comprimen permaneciendo intactos, a diferencia de los códecs llamados "con pérdidas" (lossy audio), formato usado por codecs como MP3 u OGG, en estos la compresión se efectúa recortando las frecuencias altas del audio, de forma que no afectan casi a la audición normal de nuestro oído, para ahorrar mucho espacio.

Vamos a utilizar el software que creó originalmente el formato APE, el Monkey's Audio, de este programa solo existe la versión en inglés, aunque se pueden usar otros programas, tales como dBpowerAMP por ejemplo, ya que es compatible con los formatos de audio más populares usando un sistema de plugins.

1) Configuración de las opciones:


Abrir Monkey's Audio. Aparece la pantalla principal, no hay versión en español, solo está disponible en inglés, pero es muy sencillo de usar.



A continuación, clic en el icono "OPTIONS" (Opciones) de la derecha o pulsar Ctrl+O. Se abre una nueva ventana. En el grupo "General", hay que asegurarse de que "Processing Priority" (Prioridad del proceso) esté marcada como "Normal", lo que da buenos resultados sin utilizar muchos recursos del sistema.


Luego vamos al grupo "Output" (Salida). Para que los ficheros APE sean borrados automáticamente cuando finalice su descompresión a WAV, seleccionamos en la opción "After Success" (tras finalizar) el valor "Permanently delete source file" (Borrar de forma permanente el archivo de origen). A continuación, clic en "OK" para confirmar la configuración.


2) Descomprimir los archivos APE:


Tomaremos como ejemplo el archivo de imagen del juego RADIANT SILVERGUN (J) de la SEGA Saturn. Si el icono de la izquierda indica "Compress" (Comprimir), pulse Ctrl+2 o haga clic en la flecha pequeña de su derecha y seleccione "Decompress" (Descomprimir).




Haga clic en Ctrl+D o en "Add Folder" (Añadir carpeta), busque la carpeta donde ha descomprimido el ISO/APE y se añaden todos los ficheros APE de la misma. También puede elegir Ctrl+F o "Add Files" (Agregar archivos) , buscar la carpeta y seleccionar todas las pistas de audio, manteniendo pulsada la tecla "Ctrl" para poder seleccionar todos uno a uno los ficheros.



Se cargan las pistas de audio en el Monkey's Audio, ahora haga clic en Enter o elija "Decompress" (descomprimir).



Hay que esperar mientras se descomprimen los archivos APE. Cuando finalice, ya puede cerrar Monkey's Audio. Si miras en el directorio, ahora los archivos que antes eran .ape se han convertido en .wav

3) Grabar la imagen


Y ahora, el archivo de imagen ya está ahora listo para usar, basta con utilizar el archivo CUE proporcionado para quemar el CD, o montar una unidad virtual como Daemon Tools .

Nota importante: Para todas las imágenes con la etiqueta en el archivo [TOC Confirmado], no edite el archivo CUE. Ha sido desarrollado con la tabla de contenido que respeta el disco original (después de corregir el cuesheet generado por el Sega Cue Maker), y por lo tanto listo para su uso después de la descompresión de archivos APE a WAV.

Si necesita cambiar la región del juego para jugar con la copia de seguridad en una Saturn, ver el tutorial correspondiente ver el tutorial aquí (en francés de momento). Si es para una Sega CD entonces el tutorial está aquí .

Ya está el juego listo para grabar, se recomienda usar el método Daemon Tools + CloneCD, método que se explica en este tutorial (en francés de momento).

sábado, 14 de julio de 2012

Mini simulador de Z1/Z3



Como prometí en la entrada sobre la Z1, he desarrollado un mini emulador de la Z1 y de la Z3. Este no pretende ser un emulador realista, solo se trata de que os hagáis una idea de lo que podía hacer la máquina, he intentado ser solo realista en lo que podía ejecutar la máquina y el tiempo que le costaba hacerlo.

La máquina operaba en punto flotante, pero por simplificar he usado coja fija con 4 posiciones decimales. He reducido las posiciones de memoria de 40 a 10, para probar no hacen falta mas, he puesto un "perforador" de cinta sencillo, y por no liar demasiado el tema, he añadido un visualizador del acumulador, del que no disponía la máquina real.

La Z1 podía ejecutar las 4 operaciones, podía leer una posición de memoria y guardarla, yo he simplificado estas dos operaciones con el acumulador. Además a la Z3 se le añadió la posibilidad de calcular raíces cuadradas.

La simulación es realista en cuanto a tiempos, pero como las operaciones son lentas, he añadido la posibilidad de aumentar la velocidad. Al final del programa indicará siempre el tiempo real en segundos que hubiese tardado la máquina, aunque no es exacto al 100% por no haber simulado el hardware real, he usado los tiempos medios de ejecución de las instrucciones.

Para ejecutarla debéis usar este enlace. El simulador está echo en HTML y Javascript únicamente, por lo que podéis ver el código completo en el fuente de la página. No es nada del otro mundo, pero si tenéis curiosidad lo miráis, y si encontráis problemas o que el código es mejorable, estoy abierto a sugerencias.

Solo se puede interactuar con la unidad de entrada. A la izquierda está la perforadora de cinta de papel, en ella elegimos una operación y con que dirección de memoria se realiza, al darle a "Añadir" la incluye debajo en la cinta. También podemos cambiar al cinta por una nueva y perforarla, usando "Limpiar".

A la derecha está la unidad de entrada a la memoria. Elegimos la posición de memoria e introducimos el valor, al darle a "Guardar" almacena el valor en la posición de memoria indicada. Al darle a "Borrar" inicializa la memoria de la máquina.

Debajo está la unidad de proceso, a la izquierda el lector de la cinta, con las instrucciones que hemos ido añadiendo. A la derecha la memoria. En el centro vemos el acumulador de la máquina, los mandos de velocidad, el indicador del tiempo aproximado que hubiera tardado en ejecutar el programa en la cinta la máquina real, y el botón de "ejecución".

Conforme la máquina ejecuta las órdenes, se indica en la cinta por donde va el programa, y los valores del acumulador, de la memoria y el tiempo se van actualizando conforme termina la operación en curso.

Espero que sirve de idea de que esto tan super sencillo fue el primer paso hacia la computación moderna.

Y para los que tengan interés mas técnico, deciros que la Z1 evidentemente no es una máquina de Turing completa, al carecer de instrucciones de salto, pero si es un computador limitadamente programable sin alterar sus circuitos, lo que lo convierte en el primer computador de la historia.

viernes, 13 de julio de 2012

Cambiar la región de una ISO de Mega-CD

Relacionadas: Cambiar región ISO Mega-CD, Convertir APE a WAV



Esta entrada está basaba en una traducción de la Web de Gametronik en francés, con ampliaciones propias

Que necesitamos:
  • SCDToolz es la herramienta que realiza el proceso
  • Una ISO de Mega-CD, por ejemplo Sonic CD (Versión USA) (en la web deGametronik dispones de varias imágenes)

Vamos a ver cómo parchear una ISO de Mega-CD a la misma región que la consola para que pueda leer la copia de seguridad directamente, ya que la Mega-CD no requiere un chip para jugar con copias de seguridad. Tomamos como ejemplo la ISO de Sonic CD (U) lo vamos a arreglar para poner en marcha en un Mega-CD PAL.

Recordatorio: En primer lugar, si la imagen esta en formato ISO/APE/CUE, descomprima los archivos de audio APE a WAV siguiendo el tutorial disponible aquí. Un formato de imagen BIN / CUE no se pueden parchear directamente con SCDToolz. En este caso, en primer lugar guardar el archivo BIN en formato de imagen ISO/WAV/CUE, siguiendo el tutorial disponible aquí*.

* En francés de momento, será traducido


1.- Proceso de conversión: 


Abrir SCDToolz, presenta información sobre el programa




Hacer clic en "File" (archivo) y luego "Browse for images..." (Buscar imágenes):



Elije la carpeta que contiene el archivo de imagen y selecciona el archivo ISO (en este caso "Track01"), pulsando el botón de "Abrir":



Al cargar el ISO en SCDToolz, proporciona información sobre el juego y el formato de la imagen:


Haga clic en "File" (Archivo),  luego "Convert Region" (Convertir Región) y finalmente "To Europe" (a Europa)



Se abre una ventana de MS-DOS con los pasos que realiza el proceso automáticamente para aplicar el parche:



SCDToolz indica a continuación que la conversión se realiza correctamente, con la creación de un nuevo archivo de la ISO denominado "(CONV to e) Track01.iso"


2.- Si en este punto se produce un error

Solo entonces debemos lanzar manualmente la conversión, si no pasamos al punto 3.

Para lanzarla manualmente debemos ejecutar el programa convscd110.exe, ubicado en el directorio ConvSCD dentro del directorio donde tengamos situado el programa. Al llamarlo nos pide el nombre y ruta del fichero a procesar:


Y luego la región a la que convertir



3.- Para verificar la conversión

Volvemos a hacer clic en "File" (archivo) y luego "Browse for images..." (Buscar imágenes): Se puede ver que ahora el directorio contiene dos archivos ISO, la original por un lado y el ISO convertido por otro:



Al abrir el ISO convertido nos dirá la región de origen del fichero ISO que ha abierto:




Nota: Ten en cuenta que la aplicación de un parche con SCDToolz no altera el TOC del archivo de la imagen, todos deben estar marcados como [TOC Confirmed], por lo tanto se mantiene idéntico al TOC del disco del juego original.

Nota importante: La copia, aunque sea de un CD original, se ejecutara a las frecuencias de la consola PAL a 50Hz, por lo que puede verse alterada sobre la velocidad para la que se diseño el juego, optimizados para funcionar a 60Hz como en la Megadrive Japonesa o la Genesis USA. Es muy recomendable jugar con una consola modificada que se pueda conmutar la velocidad. Debe arrancar el sistema a la velocidad que espera el Mega-CD, para evitar que de error en el arranque, y luego alterar la velocidad, una vez arrancado el sistema ya no vuelve a verificar esto.

jueves, 12 de julio de 2012

Historia de la Informática: Generaciones



Lo que marca las generaciones son las características principales de los equipos, no las fechas, ya que las fechas siempre son poco fiables, lo normal es que se solapen las máquinas entre generaciones,

Primera Generación. Los descubridores

Abarca desde la Z1 hasta el nacimiento del transistor, por lo que finaliza sobre 1952. Las primeras máquinas eran electro-mecánicas, luego se incorporaron los condensadores, los relés, las lámparas y los diodos, y con muchas cantidades de todo eso, y mucha energía eléctrica, podían funcionar, haciendo cosas similares a las actuales, pero en muy pequeña escala.

Podemos dividirla en dos partes, por un lado las primeras máquinas eran totalmente artesanales, pensadas para un único propósito, a medida del que las financiaba, con un alto coste de mantenimiento continuo. La programación era muy limitada, inicialmente se cableaban los módulos para reprogramar la máquina, pero luego se pasó a usar código máquina, pero en unidades separadas de proceso, por lo que el procesador, la memoria y el programa residían en partes separadas de la máquina.

Pero con el nacimiento de las lámparas de alta fiabilidad eso cambió y empezó una segunda época, donde empezaron a diseñarse máquinas de propósito general (pero divididas entre las de cálculo científico y uso empresarial), a fabricarse en serie y venderse muchas unidades del mismo modelo. Las máquinas usaban ya el programa almacenado en memoria, junto a los datos, en lo que se conoce como arquitectura de von Neumann por que se basa en un artículo que escribió, o como arquitectura Eckert-Mauchly ya que antes del artículo de Neumann fueron los primeros en implementarla. Aunque se seguía usando código máquina, empezaron los primeros lenguajes de programación de alto nivel. Surgen las primeras compañías dedicadas a su producción.

La memoria principal era de líneas de retardo, tanto acústicas (que usa la propagación de tiempo de sonido en un medio tal como mercurio o alambre para almacenar datos) o por los tubos de William (que usan tubos de televisión para almacenar datos). En 1943 se desarrolló la memoria de núcleo magnético, que remplazó rápido a las de propagación, permaneciendo durante la segunda generación y hasta bien entrada la tercera.

Como unidades de entrada/salida se usaban unidades de cinta de papel o tarjetas perforadas, y en algunos casos se incluía un teletipo para la entrada, o máquinas de escribir electrónicas para la salida. En la segunda era de esta generación aparecieron las unidades de cinta magnética, y los primeros discos duros en 1956, aunque por fechas ya es la segunda generación, se empezó a usar en los IBM de primera generación.

Segunda Generación. Los exploradores

De 1953 hasta 1964 se extiende la segunda generación. El transistor se ideó en 1951, y poco a poco fueron remplazando a las válvulas de vacío, por lo que las computadoras pasaron a ser mucho más fiables. Como un transistor ocupa y consume muchísimo menos que una lámpara, primero solo se rediseñaron las máquinas en producción que se redujeron de tamaño y el consumo, y luego se pudo ampliar los circuitos de las computadoras haciéndolas mas potentes.

Se programan ya en lenguajes de alto nivel, lo que aumenta la compatibilidad, para que el programa funcione en otra máquina solo hay que volverlo a compilar, no reprogramarlo para adaptarlo a la nueva máquina.

Se desarrolla el concepto de microprogramación de la CPU, esta ya no es una unidad cableada, sino que tiene un programa que la controla a si misma. Esto se ha mantenido hasta las máquinas actuales.

La memoria es de ferritas, lo que aumenta su capacidad, diseñándose habitualmente sistemas con entre 16Kb y 32 Kb de memoria principal.

Tercera Generación. Colonizadores

Entre 1965 y 1971 se consideran la época de la tercera generación. En 1959 se crea el primer circuito integrado, con 6 transistores en su interior. En 1960 se producen las primeras puertas lógicas con decenas a cientos de transistores en su interior, cuya evolución conduce al primero microprocesador creado por Intel en 1971, en cuyo interior hay cientos de puertas lógicas y miles de transistores. Esta es la generación de la baja escala de integración (SSI).

En 1965 IBM anunció su serie 360, primeras máquinas construidas con circuitos integrados. En estas máquinas se vuelve a reducir el tamaño y el consumo, aumentando la fiabilidad. Se desarrollan los primeros sistemas operativos multitarea, lo que permite a las máquinas ejecutar muchos programas a la vez, y suponen el inicio del uso de terminales como base del trabajo con la computadora. A su vez, nacen las primeras redes, conectando telefónicamente los ordenadores entre sí. La memoria pasa de ser de ferritas a ser de chips, aunque tarda unos años en producirse el cambio por el alto coste de los chips de memoria. Aparecen las primeras minicomputadoras, en lugar de una habitación ocupan un armario.

Cuarta Generación. La expansión

Desde 1972 hasta 1980 se define la época de la cuarta generación, marcada por la introducción del microprocesador. Durante la misma los procesadores crecen cada vez mas, pasando los chips a ser MSI (media escala de integración), por lo que se producen los primeros ordenadores personales, que evolucionan hasta los de hoy día. Se introducen los sistemas operativos modernos, los lenguajes de programación modernos, el uso de terminales gráficos en lugar de solo texto, la aparición de las redes locales. Se abandona el uso de las memorias de ferrita por las de estado sólido.

A partir de aquí hay polémicas sobre si existen mas generaciones, al no haber un salto cualitativo importante, sino una mayor cantidad de transistores en los circuitos, muchos definen que estamos todavía en la cuarta generación.

Quinta Generación. La velocidad

De 1981 a 1989 se empiezan a usar circuitos LSI (alta escala de integración). La evolución apunta ya hacia procesadores secuenciales y paralelos intentando mejorar la velocidad de proceso, por lo que todos los procesadores tienen algún tipo de paralelismo. La conexión se empieza a globalizar.

Sexta Generación. La globalización

De 1990 a 1999 los circuitos son ya VLSI (muy alta escala de integración). Todos los procesadores usan ya paralelismo mas avanzado, y la conexión se hace global por la aparición de Internet en 1994.

Séptima Generación. La actualidad

Del 2000 a nuestros días se empiezan a usar circuitos ULSI (ultra escala de integración) y GLSI (giga escala de integración). Esta es la generación actual, la evolución hacia procesadores multi-núcleos motivados por estar alcanzando los límites técnicos que la fabricación y los físicos por limitaciones de velocidad, y la conexión global por Internet ha cambiado el mundo. Los móviles han remplazado en muchas aplicaciones a los ordenadores, debido al aumento de potencia que han experimentado, lo que está cambiando la forma de interactuar con los ordenadores.

El futuro

Siempre es arriesgado predecir el futuro, pero actualmente estamos llegando a los límites en cuanto a tamaño de los procesadores, estamos alcanzando dos límites en cuanto al diseño de los procesadores, por un lado el técnico, los procesadores se producen mediante muchos pasos de depositar o eliminar material en una oblea de silicio dopada, para lo que se deben usar unas máscaras que tapen las zonas que no deseamos tocar, y para ello se usan métodos fotográficos, y ya estamos en los límites de miniaturización posible usando esas técnicas. Por otro lado, tampoco podemos hacerlos mucho mas pequeños por el llamado "efecto túnel", si una línea de transmisión en un circuito es muy pequeña, los electrones tienden a escapar de ella y no seguir el circuito. Esto ha motivado los multi-nucleos, y han potenciado la investigación en otros tipos de computadora, principalmente en estas líneas:
  • Hay muchas esperanzas en la computación cuántica como futuro de la informática. IBM anunció en 2012 que disponía de un prototipo de procesador cuántico estable, pero hasta dentro de 10 años no los veremos en máquinas reales en la calle.
  • La computación fotónica trata de remplazar los electrones por fotones, mucho mas pequeños por lo que se puede seguir reduciendo el tamaño, pero todavía no hay un prototipo funcional complejo. 
  • Otra línea de investigación es la computación genética, basada en ADN, ya que el tamaño podría ser molecular en lugar de macroscópico, pero está todavía en investigación si se puede llegar a construir una máquina de estas características.
  • Las computadoras neuroelectrónicas combinan en los chips la parte electrónica con células neuronales, pero aunque se han conseguido buenos resultados, todavía no está muy madura esta nueva tecnología, y parece mas una línea para integrar los ordenadores a nuestro cuerpo, lo que ya ha producido los primeros ciborg. 
  • Otra idea es utilizar micro-imanes para realizar las puertas, ya que cambiar un campo magnético tan pequeño gastan mucha menos energía que las tradicionales puertas de transistores.

miércoles, 11 de julio de 2012

Historia de la Informática: Primera generación (IV)



Hasta ahora he descrito muchas máquinas, aunque muy pocas empresas se dedicaban comercialmente a su venta, y solo se fabricaba una unidad de cada aparato bajo pedido. Esto cambió con la EMCC y su UNIVAC I y la Ferranti con su Mark I, que consiguieron vender varias unidades de la misma máquina, aunque al no formarse una cadena de montaje, por la complejidad del diseño y ensamblado, no eran exactamente iguales todas, y además cada cliente podía elegir que se añadieran o quitaran características y periféricos.

La IBM se dedicaba principalmente a comercializar tabuladoras, que eran máquinas que podían grabar, leer y ordenar tarjetas perforadas, y a partir de información de la misma, realizar algunas operaciones, principalmente contar cuantas de cada tipo había leido, todo esto de forma muy rápida. Entre sus clientes se contaba con el gobierno Nazi por ejemplo, que las empleó para contar los prisioneros de sus campos de concentración, lo que no sentó muy bien en la compañía, y seguramente por eso desarrollaron un fusil para el ejército durante la guerra.

En 1937 lanza su IBM 603 Electronic Multiplier, un sistema que permite sumar y multiplicar cifras que proporcionan las lectoras de tarjetas. En 1948 la reemplaza por la  IBM 604 Electronic Calculating Punch, con características mas avanzadas. Ninguna es realmente un computador, sino que entran en la categoría de lo que se denomina tabuladoras.

Tras la guerra estaban muy interesados en el avance de la computación, compraron algunas patentes a Zuse, y colaboraron en 1944 en el desarrollo de la Harvard Mark I, que también fue llamada la IBM Automatic Sequence Controlled Calculator (IBM ASCC).

Siguieron con sus propias investigaciones, y en 1953 presentó el IBM 701, su primer gran computador para aplicaciones científicas. En 1954 introdujo la IBM 702 y la IBM 650 para aplicaciones comerciales.

La serie 700 estaba compuesta por máquinas destinadas a aplicaciones científicas (701, 704 y 709 orientada a palabras de 36 bits), y máquinas destinadas a aplicaciones comerciales (702 y 705 orientada a cadenas de caracteres de longitud variable). Todas las máquinas de esta serie eran incompatibles entre sí, por lo que un programa desarrollado para una no podía ser ejecutado directamente en las otras. Con la implantación del transistor esta serie no murió, sino que se convirtió en la serie 7000.

La IBM 701, conocida como la "Computador de Defensa" durante su desarrollado, fue anunciado al público el 29 de abril de 1952 y fue la primera computadora comercial de IBM. Se mantuvo en producción durante 4 años, y se vendieron 20 unidades. Esta máquina estaba destinada a aplicaciones científicas. Usaba memoria de tubos Williams de 7'6 cm de diámetro, con 72 tubos de 1024 bits cada uno, por tanto su capacidad final era de 2048 palabras de 36 bits, ampliables al doble mediante otra unidad de memoria, y en las últimas unidades producidas se podía remplazar por memorias de ferrita, de la misma velocidad pero de menor mantenimiento. Contaba con dos registros de uso general, el acumulador de 38 bits de ancho, añadiendo dos bits de desbordamiento, y el multiplicador de 36 bits. El tiempo de acceso de la memoria era de 12 microsegundos, siendo este el tiempo de un ciclo de máquina. Una suma tomaba 5 ciclos de máquina, costando 60 microsegundos, mientras que podía multiplicar o dividía en 38 ciclos de máquina, costando 456 microsegundos. Su juego de instrucciones eran de 18 bits de largo usando direccionamiento simple, compuesto de tres partes, 1 bit para el tamaño (palabra completa o media palabra), código de operación de 5 bits, y dirección de memoria implicada de 12 bits (por eso admitía 4096 palabras de memoria). Los números eran 18 o 36 bits de largo, en formato de coma fija con signo.

El 701 reclama ser el primer computador que demostró el potencial de la inteligencia artificial con el juego de Damas de Arthur Samuel, pero realmente se le adelantó el ajedrez de Ferranti.

Un sistema 701
En 1953 lanza la IBM 702, destinada a aplicaciones comerciales. El sistema usaba memoria de tubos Williams, pudiendo montar 14, 28, 42, 56, o 70 tubos con una capacidad de 100 bits cada uno para memoria principal, formando una memoria de 2.000 a 10.000 caracteres de 7 bits cada uno. Además usaba 14 tubos Williams con una capacidad de 512 bits cada uno para dos acumuladores en modo carácter. Este ordenador solo se mantuvo poco mas de un año en producción, siendo remplazado por el IBM 705, que ampliaba sus capacidades y era parcialmente compatible.

La 702 en el centro de ventas de IBM
Su sucesora, la 705 en el mismo centro de ventas, son casi iguales
También en 1953 presenta la IBM 650, primer ordenador en ser fabricado a gran escala, pues se produjeron 2000 unidades, siendo retirado del catálogo en 1962, tras varias modernizaciones. Pensada para remplazar a sus tabuladoras, su coste era mucho menor que el de otros ordenadores. El sistema básico se vendía en 3 armarios, la consola, la unidad de alimentación, y el lector/perforador de tarjetas, pero admitía una gran variedad de periféricos. La memoria era un tambor giratorio de 2000 palabras, cada una con signo y 10 dígitos. El tambor era muy lento, con un tiempo medio de acceso de 2'5 ms. En 1955 se añadió la posibilidad de montar la unidad auxiliar opcional IBM 653, que añadía memoria de ferrita, más registros de uso general y una unidad de cálculo en coma flotante.

El panel principal, a la izquierda la fuente, y a la derecha la perforadora/lectora de tarjetas



La IBM 704 de 1954 era una versión ampliada de la 701. Usaba memoria de ferrita, disponía de 3 registros de índices, por lo que la programación de bucles y la indexación eran posibles, y les obligó a redefinió su juego de instrucciones, solo podía usar palabras completas de 36 bits, pero operaba con números en coma flotante en lugar de coma fija. Disponía de posibilidades sonoras, se le atribuye el primer programa de composición musical, y el primer sintetizador de voz humana (cuya demostración cantando Daisy Bell escuchó Clarke y usó en 2001).


La máquina, se aprecia el panel del operador, junto a unidades auxiliares
En 1957 desarrolló el IBM 305 RAMAC ("Random Access Memory ACcounting System", o "Sistema de Contabilidad con Memoria de Acceso Aleatorio"), dentro de su línea de ordenadores para aplicaciones comerciales, del que se construyeron más de 1.000 unidades. Fue el primer ordenador en contar con un sistema de almacenamiento basado en discos magnéticos, ya que usaba el sistema de disco IBM 350, que almacenaba hasta cinco millones de caracteres de siete bits, usando cincuenta discos (platos) de 61 cm de diámetro. Dos brazos independientes se desplazaban verticalmente para seleccionar el disco, y luego horizontalmente para seleccionar una pista de grabación. El tiempo medio de posicionamiento era de seiscientos milisegundos. La unidad pesaba una tonelada. Como anécdota, aunque el sistema podía admitir varias unidades de disco, los comerciales de IBM no sabían como se podía vender un sistema con más de 5 Mb instalados.

Una RAMAC, se ven las dos unidades de disco y al fondo el panel del operador


En 1958 presentó la IBM 709 dentro de su línea científica, agregando puertos de entrada/salida concurrente, direccionamiento indirecto, y tres instrucciones de conversión. Disponía de 32.768 palabras de memoria, e incluyó por primera vez hardware emulador opcional, que permitía ejecutar programas nativos de IBM 704 directamente.
Una sala con la 709, se aprecian las unidades de cinta y a la derecha las impresoras

Con esto termina la serie de ordenadores de primera generación, los pioneros con sus lámparas, fueron remplazados por los más fiables y robustos ordenadores de transistores.