Restaurando un IBM PS/1 Model 2011: RTC/CRT/RAM/OPL3/FDD/486/RED

Emulación de sistemas DOS, Windows, DR-DOS, OS/2, Linux y sus sabores. Desde 8088 hasta Pentium 3.
Avatar de Usuario
DistWave
Atari 1040 STf
Atari 1040 STf
Mensajes: 748
Registrado: 15 Ene 2011, 09:08
Sistema Favorito: PC
primer_sistema: PC
consola_favorita: Nintendo SNES
Primera consola: Atari 2600
Ubicación: Zaragoza
Gracias dadas: 2 veces
Gracias recibidas: 51 veces

Restaurando un IBM PS/1 Model 2011: RTC/CRT/RAM/OPL3/FDD/486/RED

Mensajepor DistWave » 03 May 2021, 18:39

*** Este post se publicó en 2011 y se perdió en una actualización del foro, por suerte tenía una copia de seguridad, así que lo vuelvo a poner (ya es la tercera vez) por si sirve de ayuda a algún fanático de los PS/1

Como ya comenté en el otro hilo me hice con un IBM PS/1 por un módico precio. Por desgracia el paso del tiempo, el transporte y quizás alguno de sus dueños no lo han tratado muy bien y requiere ciertas reparaciones. Empiezo por la más sencilla y común: RTC

- Dallas DS1287 RTC

IBM y otros fabricantes durante finales de los 80 y principios de los 90 utilizaron en sus ordenadores PC el RTC de Dallas DS1287. Es un chip RTC al que le han añadido una pila y lo han recubierto de epoxy, de manera que la pila no se puede sustituir. Aunque la vida de esta pila supera en ocasiones los 10 años, que es un tiempo de vida útil razonable para un ordenador PC, los fabricantes no contaban con que pasado ese tiempo habría un colectivo de entusiastas que los seguirían utilizando.

La pila de este RTC también alimento a la memoria CMOS donde se almacenan los datos de configuración de la BIOS, por lo que una vez gastada el equipo no solo es incapaz de conservar la hora y la fecha, tampoco puede retener su configuración. A efectos prácticos, el IBM PS/1 2011 muestra estos síntomas:
- Los errores 161 y 163 en cada reinicio, con la petición de pulsar F1 para arrancar.
- Errores de lectura en disketes: aunque el programa configur.exe, equivalente al SETUP de la BIOS, muestra la disketera como de 1,44 MB la realidad es que no funciona bien.
- Perdida de la fecha / hora

La solución sencilla a priori es sustituir este RTC por otro nuevo, pero a parte de no ser muy utilizado a día de hoy tenemos la limitación de que no se pueden reutilizar los RTC de otras máquinas o comprar uno NOS (New Old Stock) porque tendrán el mismo problema: la pila está gastada. Por suerte, podemos modificar un DS1287 con la pila gastada para alimentarlo externamente con 3 voltios, y así lo he hecho yo (siguiendo el mismo método explicado en otras páginas y foros)

Imagen

Mirando el integrado DS1287 vemos que le faltan patas. En realidad las patas están, pero en lugar de salir del encapsulado están dobladas "hacia arriba". Así que sólo tenemos que excavar para buscarlas. He utilizado una lima pequeña hasta encontrar el metal y luego un cutter para terminar de quitar epoxy sin dañar nada.

Imagen

Ahora viene la parte más delicada, cortar las dos patas para desconectarlas de la pila interna, pero dejando suficiente metal como para poder soldar en él. He pegado encima del integrado un portapilas extraído de una placa base rota y lo he soldado respetando la polaridad.

Imagen

Un poco de cinta aislante para sujetar el cable y proteger los contactos y ya está listo para instalar.

Imagen

Misión completada! Sólo tenemos que ajustar la fecha y hora, ejecutar las aplicaciones configur.exe y customiz.exe para ajustar los parámetros de la BIOS y comprobar que los datos se retienen tras reiniciar.



- Reajuste del monitor CRT

Una de las incógnitas acerca del equipo era si el monitor era VGA en blanco y negro como el de mi primer PS/1, o color. Esperaba que fuera este segundo modelo ya que es más común pero como el vendedor de eBay no facilitaba información alguna no quedaba más remedio que esperar a recibirlo y comprobarlo por mi mismo. Sin embargo me encontré con esto:

Imagen


Imagen a color, pero completamente torcida! Además los pixeles presentaban los colores desalineados...

Imagen

Hasta el momento no me las había visto con un monitor, siempre les he tenido respeto por los altos voltajes a los que funcionan y no he tenido necesidad de reparar uno, con sustituirlo me ha solucionado la papeleta. Pero en este caso, el monitor contiene la fuente de alimentación de todo el ordenador, por lo que no es prescindible. Así que con mucha precaución y los consejos del forero genocho me puse manos a la obra.

Imagen

Al principio intenté ajustar los anillos que hay al final del tubo, ya que no estaban bien sellados con silicona y sospechaba que se habrían movido durante el transporte. Además tenian una marca transversal, marcando un ajuste de fábrica como referencia, y alguno de estos anillos estaba desplazado. Todo esto con el monitor apagado y empujando los aros con un rotulador de plástico.


Sin embargo, los cambios que se producían eran mínimos por lo que empecé a darme cuenta de que se trataba de algo más "importante".

Imagen

Echando un ojo un poco más adentro, vi que el bobinado se había desplazado y el armazón de plástico no estaba en contacto con la silicona cuyo objetivo era fijarlo a la base. Pero no se encontraba suelto, porque no volvía a su sitio... tuve que soltar la abrazadera para devolverlo a su posición original.

En vcforums también sugirieron que esto podía ser la causa (sin siquiera verlo). Y acertaron


Imagen


-Memoria RAM

El PS/1 2011 se vendió con varias configuraciones. Variaba el monitor a color o en blanco y negro, la presencia o ausencia de disco duro y el tamaño de la memoria RAM, pudiendo tener 512 KB o 1 MB.

Estos 512 KB básicos se encontraban integrados en la placa base, mientras que los 512 KB opcionales se añadían mediante una tarjeta especial que se introducía en el frontal del equipo.

Imagen

Por desgracia el PS/1 que adquirí no incluye esta expansión y 512 KB de RAM se quedan muy cortos. Ya tenía un nuevo reto

Examinando a simple vista dicha tarjeta, se aprecia que lo único que contiene son 4 integrados 41256, muy comunes de la época. Con la ayuda de un multímetro no fue muy difícil descubrir la correspondencia de los pines de los módulos de memoria RAM instalados en la placa base con los pines del conector de expansión. Una de las cosas que me sorprendió fue que había una linea de direccionamiento adicional (A9) en el conector, por lo que en teoría se podría instalar una ampliación de 2 MB adicionales en lugar de la ampliación de 512 KB standard. Así que en lugar de utilizar chips 414256 para obtener 512KB, usé unos 414400 para aprovechar esa línea extra. Los chips los extraje de dos módulos SIMM de 1 MB sin paridad:

Imagen

Tras diseñar la placa de doble cara y construirla (menuda paliza, odio las placas de 2 caras) este fue el resultado:

Imagen

Sólo quedaba instalarla y comprobar su funcionamiento. El sistema arrancó y el programa de SETUP mostró los cambios:

Imagen

Buenas y malas noticias: el sistema reconoce la expansión, pero no hace uso de la línea extra, seguramente por falta de soporte en la BIOS o algún otro detalle que desconozco (en el conector de expansión había 2 pines que no descubrí su función). Así que de las 2 MB sólo utiliza 512 KB además de los integrados en la placa base. Ha merecido la pena de todas formas



ACTUALIZACIÓN:
No conforme con el resultado, seguía dándole vueltas al tema... encontré que IBM sí fabricó un módulo de 2MB, con referencia 92F9935. Así que el misterio tenía que estar en esos dos pines cuyo cometido desconocía.

Multímetro en mano, descarté el primero porque leía valores cambiantes. Además estaba situado entre los pines de control /WR, /RAS, etc indicando que podría ser alguna línea adicional. El otro en cambio, estaba situado cerca de uno de los extremos del conector, el multímetro lee 5V constantes y no esta conectado directamente a la línea +VCC de 5 voltios (la resistencia a tierra es mayor). Tras conectar ese pin a tierra...

Imagen

512 + 2048 = 2560 KB. :)

Imagen
Imagen


-Sonido OPL3 (Adlib)

Una de las mayores frustraciones con mi primer PS/1 a principios de los 90 fue la imposibilidad de añadirle una tarjeta de sonido. Teóricamente era posible y comercialmente había dos posibilidades:

* Adapter Card Unit (ACU): El PS/1 se diseño con el objetivo de ser compacto, dificultando sus posibilidades de expansión. Pese a tener una arquitectura ISA, la CPU no dispone de slots de expansión ISA. En caso de querer utilizar tarjetas ISA, IBM vendía una expansión llamada Adapter Card Unit, y venía a ser una caja del mismo tamaño de la CPU que se acoplaba en la parte superior de ésta, con un riser y 3 slots ISA. No permitía usar tarjetas full length, pero cabían las más normales. Aquí una foto de un PS/1 con el ACU y la otra expansión, la disketera de 5 1/4:

Imagen

En su día pregunté por el ACU en todas las tiendas de informática que conocía de mi ciudad, pero ninguna sabían qué era. Hasta la fecha no he visto ningún ACU que no sea el de la foto de arriba y mucho menos en venta.

* IBM PS/1 Audio card

Otro fantasma. Muchos juegos de Sierra permiten seleccionar como tarjeta de sonido la "IBM PS/1 Audio Card", pero en mi primer PS/1 no sonaba nada si la escogía. Recuerdo que durante una época los PS/1 traían de regalo la "Disney Sound Source", que es un básicamente un DAC de puerto paralelo con una silueta de Mickey Mouse, así que supuse que la "PS/1 Audio Card" se refería a la "Disney Sound Source". Pero no.

En este hilo del foro vogons hablan sobre la auténtica "PS/1 Audio Card" y hay fotos de ella. Por lo visto es similar al sistema de sonido de los Tandy y PCjr, pero incompatible con ellas. Y al igual que el ACU, imposible de adquirir a día de hoy... por lo que aún era peor solución.

Si quería mejorar el apartado sonoro del PS/1 sólo me quedaba una posibilidad... construir algo a medida.

* Mi solución

Imagen

La placa base del PS/1 tiene dos conectores en su parte central. El marron con aspecto de slot PCI o MCA es en realidad donde se engancha el riser del ACU. Es decir, ese conector tiene todas las señales del bus ISA... pero son 112 pines sin documentación alguna y la labor de identificarlos a base de prueba y error puede ser eterna. Al lado de ese slot, hay un header de 34 pines de color gris, idéntico a otro donde está enganchada la disketera. Siempre había sospechado que la expansión con la disketera de 5 1/4 iría enganchada ahí, pero tras conseguir el manual del PS/1 resulta que ambas disketeras se enchufan al mismo header, con un cable especial. Entonces... ¿para qué sirve?

La respuesta la hallé en el hilo de vogons... es el conector para la "PS/1 Audio Card". Con un multímetro y aplicando la lógica conseguí identificar los 8 bits del bus de datos, los 10 bits de menor peso del bus de direcciones, las líneas de control /IOR, /IOW y las líneas de alimentación de +5v, +12v y -12v. No fuí capaz de encontrar líneas de interrupción o de DMA, por lo que no podría conectar una Sound Blaster... pero era suficiente para enchufar al bus una Adlib, por ejemplo. El siguiente problema era que no tenía una Adlib

Por suerte, conservaba unos cuantos integrados de una Sound Blaster Pro que dejó de funcionar hace tiempo. Entre ellos estaba la pareja YMF262 / YAC512, que son el sintetizador FM OPL3 y el DAC para el mismo. Como no estaba dispuesto a pagar lo que se pide hoy en día por una Adlib, decidí construir una tarjeta de sonido a partir de estos chips. El OPL3 sólo necesita un reloj de entrada de 14.313 MHz, el DAC y un par de operacionales para producir sonido. Encontré un diseño de PCB con todo ésto en el proyecto midibox FM y lo tomé como base. Sólo tenía que añadirle la lógica de selección para que el PC pudiera acceder al OPL3 en el puerto 0x388. Y este fué el resultado:


Imagen


Tras un par de pequeñas correcciones en el diseño empezó a sonar como debía. Todos los juegos con soporte Adlib que probé sonaban a la perfección. El OPL3 es compatible con el OPL2, el sintetizador de la Adlib, y añade nuevas características como el sonido Stereo. Por desgracia no es posible aprovecharlo, ya que al ubicar el OPL3 en el puerto 0x388 (el mismo que utiliza la Adlib) todo el software accede al OPL3 como si fuera un OPL2. Si lo configuro en otro puerto, el software no puede detectar el OPL3 y no suena. De todas formas me quedo más que satisfecho, la mejora respecto al sonido PC Speaker es sustancial.

La guinda fue encontrar un pin en el header que iba al conector del monitor... el multímetro leía 0v, por lo que podría ser una entrada. Conecté la salida del OPL3 a ese pin y BINGO! Ahora suena por el altavoz integrado del monitor, se puede regular con el control de volumen del mismo y mediante la salida de auriculares se pueden conectar unos altavoces externos, obteniendo una mezcla del sonido del OPL3 y del PC Speaker (nunca había sonado tan bien el Golden Axe)


Y por fin... EL VIDEO! (recomendable verlo a 720p)





-Disquetera

IBM utilizó en sus gamas PS/1 y PS/2 unas disqueteras de 3 1/2 no standard. Algunos modelos llevan conector de 34 pines, otros de 40 pines y alguno incluso un conector de placa PCB para conectar la faja. Lo que más llama la atención es que no tienen conector de alimentación, esta es proporcionada a través del propio cable de datos.

En varios sitios había leído que el interfaz de estas disqueteras era similar al standard pero se había invertido la lógica de algunas señales. Como no se me había muerto ninguna unidad, no había investigado mucho el tema... pero recordé que el compañero airsoft había logrado sustituir la disquetera defectuosa de su PS/2 por una standard, aunque con algunos problemas. Hoy ha muerto una de mis disqueteras, así que ya era hora de investigar un poco

En el hilo que abrió airsoft el forero joemorgan apuntaba a un hilo de los siempre útiles foros de vintage computer donde se narraba cómo conectar una disquetera standard a un PS/2 model 30. La modificación es muy sencilla, se usa un cable de disketera standard y hay que cortar 3 hilos de la faja de datos para sacar la alimentación, el resto del cable se deja tal cual. Esto no cuadraba con lo que había leído sobre las señales invertidas, así que lo primero fue documentarme sobre dichas señales:

Imagen
Se me olvidó desactivar el corrector ortográfico de Openoffice

No había tales señales invertidas, todas coinciden excepto los pines 3, 4 y 6. Del pin 3 obtenemos los +5v, del 6 los +12v, la masa la podemos tomar de cualquier pin impar (salvo el 3) y el pin 4 selecciona el tipo de disquetera.

Así que tras un rato cortando y soldando, construí el cable, pero no funcionaba bien. El equipo detectaba la unidad como 5 1/4 1,2 MB y no era capaz de leer correctamente ningún disco (los de HD daban errores aleatorios, los de DD ni siquiera permitía listar el directorio). El problema estaba en el pin 4 del cable. Si lo dejamos sin conectar o a +5v, el equipo detecta la unidad como 5 1/4 1,2 MB. Si lo conectamos a masa, la detecta como 3 1/2 1,44 MB. Tras esta última modificación todos los discos se leen sin problemas.

Puestos a investigar, conecté una segunda unidad de 3 1/2 al mismo cable y para mi sorpresa, la detectó sin problema alguno. Ambas funcionan como si fueran originales.

Una foto del cable con las dos disqueteras:
Imagen

Y por último el equipo con las dos unidades instaladas (el embellecedor frontal no encaja, una lástima)


Imagen


-Microprocesador

El PS/1 2011 utiliza como procesador principal un 80286 a 10 MHz, y por desgracia no es suficiente para mover ciertos juegos. Me propuse como objetivo darle un empujón a la frecuencia de funcionamiento, pero encontré un handicap: el procesador viene soldado a la placa base:

Imagen

Así que lo primero era quitarlo de ahí y poner en su lugar un zócalo que permitiese cambiar el procesador con facilidad. Así quedó:

Imagen

Una vez comprobado que el sistema seguía funcionando, necesitaba un procesador de mayor velocidad. En eBay conseguí 80286 a 16 Mhz por 3€.

Imagen

Tras instalarlo el sistema seguia funcionando a 10 Mhz ya que el generador de reloj de la placa seguía intacto. La placa base tiene dos osciladores de cuarzo, uno a 48 MHz y otro a 40 MHz. A simple vista, el de 40 MHz parece el encargado de hacer funcionar al procesador, ya que su velocidad es un mútiplo de 4. Algo no cuadra, ya que la señal de reloj que necesita el 80286 debe de ser el doble de frecuencia de la que va a funcionar finalmente, es decir, debería ser de 20 MHz. Mirando las pistas de la placa, el oscilador no va directamente al procesador sino que primero "pasa" por un gran circuito integrado de IBM que debe ser el corazón del chipset. Seguramente se utilizará la señal para generar algúna otra dependiente de la frecuencia principal y de paso se divirá por dos para adecuarla al procesador.
Como la única forma de corroborar esta hipótesis era sustituir el oscilador de 40 Mhz por otro diferente y observar los cambios, me puse manos a la obra. Primero lo sustituí por uno de 24 Mhz y el ordenador arrancó a 6 Mhz. Exactamente el comportamiento esperado. Luego instalé otro de 14.318 y entonces arrancó a 3.5 MHz (posiblemente el PC 286 más lento de la historia ). Sin embargo a esta velocidad el teclado fallaba perdiendo alguna pulsación, lo cual hacía sospechar de que el controlador de teclado 8042 utilizaba como frecuencia de reloj otra derivada de la frecuencia del procesador (o quizás la misma).

El objetivo era hacer el ordenador más rápido, pero de momento sólo había probado con cristales inferiores a 40 Mhz ya que no tenía ninguno superior a mano. Haciendo una regla de tres, necesitaba estos cristales osciladores para hacer pruebas y ver si el sistema era estable a mayor velocidad:
12 MHz -> 48 MHz
16 MHz -> 64 MHz

Tras buscar, encontré uno de 66.666 MHz. Con esta frecuencia obtendría una velocidad de reloj de 16.666 MHz, un poco superior a la soportada por el nuevo procesador... pero nunca viene mal un poco de overclocking

Imagen

Una vez instalado era el momento de hacer los tests. Mi mayor temor era que un aumento tan grande de velocidad (nada más y nada menos que un 60%) pudiera ser un problema para la memoria RAM o incluso para el chipset de la placa. Pero no fue así :D Aquí van unos benchmarks:

Imagen

Imagen

Imagen


Pese a ser totalmente estable y notarse una barbaridad el aumento del 60% en la velocidad de funcionamiento, esta modificación ha añadido un pequeño problema: Durante el arranque, algunas veces aparece el error 301 de teclado:

Imagen

Seguramente se deberá al aumento de velocidad en el controlador de teclado 8042, quizás algún test de la bios dependiente de la velocidad obtiene un resultado no esperado y lo da como erróneo. Por suerte el teclado funciona perfectamente y todo se soluciona pulsando F1.



-Microprocesador 486SLC2

Hace unos meses encontré información acerca de unas actualizaciones de procesador para los IBM PS/2 que traen de serie un procesador 80286. Estas ampliaciones son una placa que integra un chip 486SLC2, que en realidad es un procesador muy similar al 386SX pero con una memoria caché mucho mayor, que soporta las instrucciones de los 486 y además funciona a 50 MHz internamente (y a 25 MHz externamente). Por suerte pude hacerme con una de ellas (Viele Danke, Christian!) y tiene esta pinta:

Imagen


Un benchmark una vez instalada:

Imagen



Como el bus sigue siendo de 16 bits y el resto de componentes del equipo (memoria, disco duro, gráfica, etc) siguen funcionando a la velocidad que fueron diseñados, el aumento de rendimiento no llega ni siquiera al de un buen 386 DX... pero es notable. Juegos como Golden Axe o Body Blows van tremendamente fluidos y además ahora puedo ejecutar multitud de programas que requerían 386 o memoria EMS.

No obstante, al cargar el controlador EMM386.EXE el rendimiento cae estrepitosamente, quedandose al nivel del procesador 286 a 10 Mhz original.




-Tarjeta de red

Ya empiezo a quedarme sin ideas, lo último que se me ocurrió fue conectar el PS/1 al IRC, y para ello necesitaba una tarjeta de red. Encontré una 3Com 509B por ahí tirada y me propuse conectarla... el problema es que no hay slots ISA. Sin embargo, ya había estudiado el conector de la Audio Card y contiene las señales básicas para acceder a los puertos de la tarjeta de expansión, y buscando más a fondo encontré la línea de IRQ7 (estas tarjetas de red necesitan una interrupción). Así que manos a la obra, hice un riser para adaptar el conector Audio Card a un slot pseudo ISA de 8 bits

Imagen


Faltan las líneas de direccionamiento superiores, las de memoria, todas las de DMA, todas las de IRQ salvo la 7 y unas cuantas de control más. Por suerte es suficiente para hacer funcionar la tarjeta de red.

Así queda instalado junto a la tarjeta de red:

Imagen


Y la parte trasera de la CPU. El hueco de la Audio Card coincide a la perfección con los conectores de la tarjeta de red.

Imagen


Probando el navegador Arachne:

Imagen


Y hasta aquí el hilo del PS/1 2011. Si os ha resultado interesante, podéis continuar con el hilo del PS/1 2121

Avatar de Usuario
JoJo
Amiga 1200
Amiga 1200
Mensajes: 1065
Registrado: 03 Feb 2008, 22:45
Sistema Favorito: PC
primer_sistema: PC
consola_favorita: Nintendo SNES
Primera consola: (Otro)
Gracias dadas: 29 veces
Gracias recibidas: 78 veces

Re: Restaurando un IBM PS/1 Model 2011: RTC/CRT/RAM/OPL3/FDD/486/RED

Mensajepor JoJo » 06 May 2021, 11:15

Fantastico, que no se pierda este hilo :)
http://www.vieju.net
http://pcp.vieju.net, el Pequeño Computador Personal de 32 bits


Volver a “PC Clásico”

¿Quién está conectado?

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