Wang 3300

dancresp
Mensajes: 6224
Registrado: 13 Nov 2010 02:08
Ubicación: Barcelona
Agradecido : 664 veces
Agradecimiento recibido: 1016 veces

Wang 3300

Mensajepor dancresp » 03 Dic 2014 16:26

EL EQUIPO
El Wang 3300 era un sistema modular de propósito general, multitarea y multipuesto (time-sharing), compuesto por una CPU central de 8 bits a la que se pueden conectar hasta 16 terminales tipo maquinas de escribir IBM Selectric modificados, o otros teletipos estándar.

Comercializado en 1971, el Wang 3300 era un sistema de bajo coste para los precios de aquella época, comprendido entre los 14.000$ por un equipo con un terminal hasta los 200.000$ por un equipo con 16 terminales y todos los periféricos opcionales.

La configuración base del Wang 3300 se componía de la CPU, 12 KB de memoria RAM, dos terminales IBM Selectric, una unidad de control de terminales (permite controlar hasta cuatro unidades), almacenamiento en casete, y el intérprete BASIC. Todo por un coste total de 17.550$ de la época, bajando a 15.200$ si se prescindía del casete.

Wang estaba tan segura de la calidad de su sistema que se comprometía a devolver el dinero si en 60 días el cliente no quedaba satisfecho, a excepción de 1.500$ en concepto de configuración e inicialización.

El medio de almacenamiento principal eran las unidades de cinta de papel que incorporaban los propios terminales, pero también se podían usar unidades de cintas de casete de alta velocidad, disquetes de 64 KB o discos de 0.5 MB. Con todo, los primeros usuarios se vieron obligados a usar las cinta de papel. Esto se convirtió en un gran problema ya que cargar el arranque del sistema y el intérprete BASIC desde cinta de papel tardaba en torno a los 40 minutos, a los que había que sumar el tiempo necesario para cargar un programa en BASIC propio.

El WANG 3300 se concibió para competir con los sistemas PDP-8 y la PDP-11, pero fue condenado desde el principio porque el personal de ventas de Wang no estaban formados acerca de la venta de minicomputadoras de propósito general.

Foto-2.jpg


Información Técnica
- Núcleo del sistema basado en circuitos integrados TTL que conforman un sistema de 8 bits en paralelo.
- Memoria RAM de núcleo magnético ampliable hasta los 64KB, mediante bloques de 4 KB.
- Juego de 72 instrucciones de 2 bytes, 21 de ellas destinadas al acceso a memoria con 9 modos de direccionamiento.
- 6 instrucciones aritméticas en modo binario ó BCD de 4 bits, con resultados de hasta 8 dígitos.
- Canales DMA para el acceso a dispositivos de almacenamiento, con velocidades de hasta 300.000 CPS.
- Reconoce terminales con velocidades de entre 10 y 15 CPS.
- Posibilidad de controlar hasta 128 periféricos.
- Uso de acopladores acústicos para conexiones remotas por línea telefónica.

El panel frontal
Por aquellos tiempos, todo computador debía incorporar un gran número de luces e interruptores en el frontal. A través de ellos se podía cargar un programa desde una fuente externa o consultar y modificar la memoria.

Las distintas luces están agrupadas en seis grupos distintos que indican el estado de los distintos registros disponibles:
- Z : Registro de 8 bits de uso general. Se puede agrupar con “A” para formar un registro de 16 bits.
- A : Registro de 8 bits usado como acumulador, o como par con el registro “Z”.
- S : Registro de 8 bits usado para contener el estado de los 6 flags disponibles.
- C : Junto con el registro B forman un registro de 16 bits usado como contador de programa.
- M : Registro de 8 bits que contiene el último dato leído o enviado a la memoria.

En la parte inferior del panel frontal hay 4 grupos de botones:
- Los botones “80-40-20-10-8-4-2-1” se usan para introducir un valor de 8 bits en formato octal.
- Los botones “B-C-Z-A-S-M-Core” se usa para indicar el registro donde se almacena el valor introducido.
- Los botones “Run-Display-Enter”” establecen el modo de funcionamiento.
- Los botones “Load-Step-ExQ-Go” establecen el modo de ejecución.

Frontal.jpg


Modos de funcionamiento
En modo “Enter” se puede asignar un valor de 8 bits al registro indicado, pulsado el botón correspondiente, excepto cuando se pulsa la tecla “Core”, que escribe el valor en la posición de memoria indicada por el par [B,C] e incrementa el valor de este par en 1 para poder entrar otro valor a continuación. Es una forma sencilla pero farragosa de introducir un programa o valores en la memoria.

En modo “Display”, pulsando la tecla “Enter” podemos consultar mediante el registro “M” el valor de 8 bits de la posición de memoria indicada por el par de registros [B,C]. Cada pulsación de la tecla “Core” incremente en 1 el valor del par [B,C], siendo útil para inspeccionar el contenido de la memoria.

En modo “Run” el sistema queda listo para la ejecución de un programa, usando el par [B,C] como dirección inicial. Los cuatro botones del grupo “Command” determinarán el modo de ejecución del programa:
- El botón “Go” inicia la ejecución del programa.
- El botón “Step” ejecuta el programa paso a paso. Ideal para un proceso de depuración.
- El botón “ExQ” ejecuta una instrucción entrada directamente desde la botonera del panel frontal.
- El botón “Load” no está documentado. Se supone que debería servir para ejecutar un pequeño programa de arranque en algunos modelos.


EL DESARROLLO
En junio de 1968, Wang compró Philip Hankins Incorporated (PHI), un proveedor de servicios de procesamiento de datos en mainframes. Wang estaba interesado en ellos por su experiencia en software, así como el hecho de que eran dueños de un IBM 360/65. Esta potente unidad central jugó un papel importante en el desarrollo del Wang 3300.

Develope.jpg

Izquierda: Computer Room en PHI Computer Services, Inc. donde se usó un simulador de 3300 en un IBM-360-65 para desarrollar software.
Derecha: Joe Klementovich, Product System Supervisor revisando la producción de modelos de 3300.


Después de la adquisición de PHI, Wang se movió rápidamente. En unos pocos meses se iniciaron dos diseños de computadoras destinadas como CPUs de propósito general. Uno de ellos terminó siendo desviado para ser una súper calculadora en lugar de un equipo de bajo costo. Se conoció como la serie 700 de calculadoras programables, un producto tremendamente exitoso e importante para Wang. La otra máquina terminó siendo el Wang 3300.

Publicidad_1.jpg


Si bien el diseño de hardware del 3300 avanzaba, el grupo de software estaba ocupado simulando sus creaciones de software en su sistema IBM 360, a través de un software de simulación de hardware del 3300. Según los comunicados de prensa de Wang de la época, las primeras experiencias de la escritura de código para la máquina simulada condujeron directamente a los cambios en el diseño de hardware del 3300. Además de contar con un intérprete de BASIC, el sistema tenía un ensamblador, un cargador, y el software de diagnóstico. Wang también imaginó una biblioteca de aplicaciones para ejecutar en la máquina, que sería una fuente de ingresos permanente. El gestor de aplicaciones de software fue Bob Kolk, que más tarde se convertiría en el líder del proyecto de la primera generación de la familia 2200.

3300_color.jpg

Foto-4.jpg

Foto-6.jpg


EL EMULADOR
Los últimos Wang 3300 desaparecieron antes de 1990, ya que fueron una fuente de problemas para Wang, quien decidió cambiarlos gratuitamente por su sistema Wang MVP 2200. Gracias a los esfuerzos de Steve Witham, que escaneó sus manuales y recuperó el contenido de la cinta de casete de arranque, se ha podido desarrollar este emulador del 3300.

Desarrollado por Jim Battle, el “Emu3300” funciona de forma nativa en el sistema operativo Windows como una aplicación de 32 bits. Ha sido probado para funcionar en Windows XP y Windows 7, usando la biblioteca wxWidgets.

La interfaz del emulador consta de una ventana para controlar el panel frontal de la CPU, además de una ventana más para controlar cada terminal ASR-33 simulada.

Emulator.jpg


El emulador es fiel a la sincronización de la máquina original, lo que significa que cada E/S pasa a 10 caracteres por segundo. Hay que acostumbrarse a escribir lentamente. El carácter de subrayado se utiliza como la tecla de retroceso. Utiliza la barra invertida para cancelar la entrada en la línea actual. ESC interrumpe un programa en ejecución, pero de vez en cuando hace que el intérprete de BASIC se pare al ejecutar una operación ilegal.

Debido a que el creador nunca ha usado un 3300, y que todas las fotos que tiene son en blanco y negro, la reconstrucción de la interfaz gráfica de usuario del panel frontal es en parte un fragmento de su imaginación. Las luces indicadoras parpadean en función de su ciclo de trabajo real, utilizando un filtro de primer orden para modelar la inercia térmica del filamento.

La última y mejor versión del emulador es la v0,6. Mejora sobre la versión anterior, la v0.5, en que utiliza una descripción de vectores SVG para el panel frontal, que es más fiel a la apariencia real de la máquina, y escala mejor con el tamaño de la ventana.

Instalación
Se pueden descargar las 3 versiones disponibles desde: http://www.wang3300.org/emu.html, o se puede usar la versión que adjunto, la v0.3, que contiene únicamente el ejecutable y varios programas del 3300.

Descargar la distribución del emulador v0.3 desde retrowiki:
Wang 3300.rar
(504.6 KiB) Descargado 127 veces


En cualquiera instalación usada, el emulador guarda todos los ficheros necesarios en su propia carpeta. No guarda nada en carpetas del sistema y no toca el registro de Windows.

Recomiendo la versión v0.3 porque funciona correctamente con cualquier versión de Windows, ya que con las versiones superiores he detectado distintos problemas en versiones más recientes de Windows o con sistemas de 64 bits.

Cargando el BASIC
Al arrancar el emulador este se queda sin hacer nada. Para ello hay que introducir un programa, y para ello es básico conocer la dirección de memoria donde el programa debe ser cargado. El emulador facilita este proceso en parte, y lo hace más rápido, pero se debe usar el panel frontal.

Para cargar el BASIC hay que seguir los siguientes pasos:
1) En el menú “File”, pulsar en “Load Hex...” y seleccionar el fichero “BASIC_28K.hex”
2) Pulsar el botón “Enter”.
3) Pulsar los botones “40” y “2”.
4) Pulsar el botón “B” para cargar en el par [B,C] la dirección de inicio de carga “4200b”.
5) Pulsar el botón “Run”.
6) Pulsar el botón “Go”.

Con esta secuencia aparecerá en el terminal el mensaje de que el BASIC está listo para ser usado.

El documento “README.txt” explica como cargar y ejecutar otros programas.


3300 BASIC
Aunque el 3300 era un equipo de propósito general, Wang creyó que la mayoría de sus usuarios usarían el BASIC como lenguaje de programación. En ese momento el Dartmouth BASIC ya tenía seis años y una buena reputación por su facilidad de uso.

La primera versión de BASIC lanzado para el 3300 era bastante simple y carecía, entre otras cosas, de variables alfanuméricas. Sin embargo ya admitía el modo de tiempo compartido. Un programa de configuración se ejecutaba al arrancar el sistema para establecer el número de terminales disponibles y la cantidad de memoria asignada a cada uno.

En este BASIC las variables numéricas son en coma flotante de precisión simple, ocupando 5 bytes de memoria. Un byte controla el signo de la mantisa, del exponente, y una magnitud de exponente de seis bits; los otros cuatro bytes contienen ocho dígitos en formato BCD normalizado. El número máximo representable era +/- 9.9999999E + 63. El número distinto de cero más pequeño era +/- 1.0000000E-63. Algunos cálculos intermedios se realizaron con un byte adicional de precisión (dos dígitos decimales) para ayudar a mantener la precisión en el resultado final.

En 1971, Wang lanzó una versión actualizada del BASIC, llamado Extended BASIC, que añadió variables alfanuméricas con nombre de una letra o una letra más un dígito y con una longitud máxima de 18 caracteres. También incluía la declaración MAT para una serie de operaciones con matrices, así como la gestión de ficheros en dispositivos externos. Al ser un intérprete más completo ocupaba más memoria, dejando menos para los usuarios.

Al parecer FORTRAN también fue desarrollado para el 3300, pero hasta hoy no han aparecido documentos o cinta de arranque.

Manual-BASIC.jpg


Comandos:
LIST
Lista el programa. Opcionalmente se puede indicar el rango inicial, [final].

RUN
Ejecuta el programa borrando las variables de la memoria.

RERUN
Ejecuta el programa sin borrar las variables de la memoria.

START
Borra el programa y las variables de la memoria.

RESTART
Borra el programa de la memoria pero deja las variables.

LOAD
LOAD (cinta), LOAD n (casete), LOAD “NNN” (disco). Carga un programa desde el dispositivo indicado.

SAVE
SAVE (cinta), SAVE n (casete), SAVE “NNN” (disco). Graba el programa en el dispositivo indicado.

Instrucciones:
PRINT
Imprime un texto o valor numérico en el terminal.

TAB
Indica la posición de columna a la instrucción PRINT.

LET
Definir una variable. Su uso es opcional.

DIM
Define una matriz numérica de una o dos dimensiones con un máximo de 255 elementos.

COM
Define variables (como DIM) para compartirlas entre programas. Poner al principio del programa.

FOR / TO / STEP
Inicio de un bucle.

NEXT
Final de un bucle.

GOSUB / RETURN
Salta a la subrutina de la línea indicada, y vuelve con un RETURN.

GO TO / GOTO
Salta a la línea indicada.

IF / THEN
Salta a la línea indicada si se cumple la condición.

INPUT
Introducir uno o más valores en la variable o lista de variables indicada.

STOP
Finaliza la ejecución del programa.

END
Indica el final del programa.

DATA
Introduce una lista de valores numéricos en el programa.

READ
Lee los valores de una lista DATA y almacena el valor en la variable indicada.

RESTORE
Reinicia el contador del siguiente valor a leer de una línea DATA.

DEF
Define una función matemática.

RANDOM
Reinicia el generador de números aleatorios.

TRACE ON / OFF
Inicia o detiene el proceso de depuración de un programa.

Funciones:
SIN, COS, TAN, ATN, EXP, LOG, ABS, SQR, RND, INT, SGN, BOOL, AND, OR

Extended Version:
La versión extendida incorporaba toda una gama de nuevas instrucciones que potenciaban considerablemente este lenguaje.

- STR
- Variables alfanuméricas
- MAT (matrices)
- Juego de instrucciones de acceso a ficheros: #0 = Cinta, #1 ó #2 = Casete, #3 = Disco. Soporta hasta 8 unidades.
- CHAIN, CHAINR
- GOTO ON
- PRINT USING


Espero os guste
Buscando la IP de la W.O.P.R. he encontrado mi índice

BUZZ
Mensajes: 58
Registrado: 28 Mar 2014 21:01

Re: Wang 3300

Mensajepor BUZZ » 03 Dic 2014 20:20

Buenas tardes Dancresp

Sin lugar a dudas que me ha gustado. Esto me recuerda cuando estaba en el instituto y a primero de mes iba al Kiosco a comprar la revista Commodore World y una vez que la leía ya estaba deseando que llegara el mes siguiente. Eso me pasa con tus artículos.

Un Saludo

Avatar de Usuario
ron
Mensajes: 21855
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4752 veces

Re: Wang 3300

Mensajepor ron » 03 Dic 2014 20:36

Dancresp, hay que volver a felicitarte porque lo has vuelto a hacer. BIEN tío, las gracias es poco.

Fantástico, es uno de esos sistemas "autenticamente vintage y originales y genuinos" preferidos. Quizá para muchos un gran desconocido. Es un orgullo poder hablar de estas máquinas y que todo el mundo sepa de donde vienen muchas cosas.

Me ha gustado muchísimo.

Avatar de Usuario
Chema
Mensajes: 2664
Registrado: 21 Jun 2012 20:13
Ubicación: Gijón
Agradecido : 3190 veces
Agradecimiento recibido: 926 veces
Contactar:

Re: Wang 3300

Mensajepor Chema » 03 Dic 2014 21:41

Menudo nivel que tienen estos artículos. Son brutales.... Muchas gracias, es un lujo tenerte posteando estas cosas.

dancresp
Mensajes: 6224
Registrado: 13 Nov 2010 02:08
Ubicación: Barcelona
Agradecido : 664 veces
Agradecimiento recibido: 1016 veces

Re: Wang 3300

Mensajepor dancresp » 03 Dic 2014 22:47

BUZZ escribió:Esto me recuerda cuando estaba en el instituto y a primero de mes iba al Kiosco a comprar la revista Commodore World y una vez que la leía ya estaba deseando que llegara el mes siguiente. Eso me pasa con tus artículos.

Caramba, que bonito !!! -shock

Mi mujer no me dice cosas así... -grin

... pero bueno, ya te aviso que no tendrás que esperar hasta el mes que viene.
Hay otro en camino, con su correspondiente emulador de regalo.

ron escribió:Fantástico, es uno de esos sistemas "autenticamente vintage y originales y genuinos" preferidos. Quizá para muchos un gran desconocido. Es un orgullo poder hablar de estas máquinas y que todo el mundo sepa de donde vienen muchas cosas.

He tenido una vuelta al trabajo después del verano muy fuerte, con una gran carga de trabajo, cosa que en el fondo es buena, pero por desgracia no puedo participar todo lo que me gustaría.
De todas formas, con la ayuda de los emuladores he descubierto muchos sistemas total o parcialmente desconocidos para mi. Gracias a ellos he aprendido mucho y he ampliado considerablemente mis conocimientos en informática retro-retro.
La serie de artículos que estoy publicando son el fruto de todas estas investigaciones.

-drinks
Buscando la IP de la W.O.P.R. he encontrado mi índice

Avatar de Usuario
luiscoco
Mensajes: 2414
Registrado: 15 May 2011 04:23
Ubicación: Caracas, Venezuela
Agradecido : 38 veces
Agradecimiento recibido: 59 veces

Re: Wang 3300

Mensajepor luiscoco » 04 Dic 2014 16:37

Pues yo no lo conocía, la marca si, y no he podido parar de leer, lo pones todo muy clarito, así da gusto enterarse de lo que nos gusta, era prodigioso que pudieran hacer cosas en esos tiempos y con esos precios mas, casi es un milagro que tengamos computadoras hoy en día, porque si hubieran mantenido esos precios, ninguno estaría metido en esto, jeje

Avatar de Usuario
game0ver
Mensajes: 335
Registrado: 09 Nov 2012 12:15
Agradecido : 1 vez
Agradecimiento recibido: 4 veces

Re: Wang 3300

Mensajepor game0ver » 06 Dic 2014 11:31

Felicides tío, clarita y muy completa la ficha. Buen trabajo. Chincheta para este hilo :)


Volver a “Otros Sistemas”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados