Nueva versión de placa base OMEGA 1.3 EU

Trabajando en la manera de mejorar la placa diseñada por Sergey Kiselev, decidí que habían algunos cambios que me hubieran gustado tener desde el principio. En realidad la placa original es un gran trabajo en muchos aspectos, pero todo es mejorable en esta vida y también encontramos algo que corregir (en teoría).

Así que empecé a retocar el diseño y al quedarme sin placas solicité las nuevas con este diseño (con un nombre provisional), incluso antes de haber probado el cambio, aunque he de decir que no hay ningún cambio tan profundo ni irreversible.

Bien vamos a explicar los cambios y veréis de lo que hablo.

CONECTOR DE CARTUCHOS A 90º

Desde el principio hemos apostado por ofrecer la posibilidad de que el segundo slot de cartuchos fuese a 90º y así facilitar la conexión de un expansor de slots a futuro.

Sin embargo, aunque soldar un conector de cartucho en ángulo recto fue fácil, más tarde vimos que la carcasa de los cartuchos solía topar con la propia PCB. Es por ello que hace ya tiempo recomiendo recortar un trozo de la PCB de la placa base, justo en esa zona, ya que no hay pistas que lo impidan.

Por tanto ese es el primer cambio de esta PCB, la placa queda recortada de modo que se pueda poner un conector de cartucho en ángulo recto y gracias a este cambio el cartucho entra sin problemas.

CONECTORES DIN-8 ALGO MÁS COMUNES

El proyecto original del Omega, incluía unos conectores de Casete y RGB (DIN-8) que no son fáciles de encontrar en todos los proveedores. Hay proveedores internacionales que los tienen, como Mouser o Digikey, pero si sólo te faltan estas piezas y vives en España, pagarás 20€ en portes más el coste del propio conector, total 30€ (+IVA).

Por contra, otros proveedores como Aliexpress, Amazon, Ebay o incluso las tiendas locales aquí en España, tienen otro conector con una huella algo diferente y mucho más económico. Por todo ello, para facilitar la compra a los de aquí, decidí que era preferible sustituir este componente por el más común.

Cuando comenté este cambio con Sergey, descubrí que en realidad para ellos (USA) tampoco era tan fácil conseguir nuestro conector, por lo que él prefería seguir utilizando el conector “caro” y en todo caso decidimos identificar las placas con este conector como EU y con US las que mantengan el conector original. Unas fotos que muestran nuestra versión de placa:

.

CAMBIOS EN EL MAPEADOR DE MEMORIA

Aquí empiezan los cambios más polémicos y son también los que alteran el funcionamiento del sistema.

El OMEGA HOME COMPUTER fue diseñado para alcanzar 4M y por ello incluye un circuito mapeador en la placa base que lo permite, es decir, incluye los chips de control de la memoria expandida hasta 4Mb pero sólo un chip de RAM. El resto de conexiones de ese circuito están agrupadas en un conector, J12. Así pues, añadiendo los 7 chips de RAM restantes conectados a J12 alcanzamos 4Mb.

¿Pero que sucede si faltan?

Bueno, si un programa pide una página de memoria al mapeador para la que no hay un chip instalado, el mapeador apuntará a una zona sin memoria.

Aunque el arranque de sistema del MSX está bien diseñado para buscar la cantidad real de RAM e incluso en este caso identifica correctamente la cantidad real que tiene el OMEGA, lo cierto es que esta forma de funcionar es como si “este MSX” se hubiera construido con 4M y alguien hubiese extraído esos chips dejándolo mutilado. Este, de algún modo, es un funcionamiento que difiere de todos los demás MSX o expansores en cartucho fabricados en los 80. En todos los demás mapeadores de RAM de MSX, si les pides una página de RAM, al menos responden con una de ellas.

Este supuesto fallo es tan sutil que no hemos conseguido localizar de momento un programa que no funcione, pero hay que entender que el OMEGA es un MSX que viene de serie con 512K y en la época pocos o ningún otro los alcanzaba, por tanto cuesta de encontrar programas MSX que requieran de tanta memoria.

Como fuere, decidí que era mejor tener una mejora no necesaria que necesitarla y no tenerla, así pues, para aquellos que no tengan instalados 4M en el OMEGA (y no quieran comprarnos el modulo O4MEGA), existe una solución bien sencilla aun si tu versión de placa es la antigua: extrae el chip U32 del OMEGA y une con un cable los pines del zócalo números 5 y 15 (/RAM_SL unido con /RAM0_CS).

En cualquier caso, para aquellos que tengáis la nueva versión de la placa este es el cambio en el esquema:

Básicamente significa que se han añadido 3 jumpers de 3 pines, JP7-JP9. Si conectas todos los jumpers en la posición 1-2, la conexión será idéntica a la que tenía el Omega originalmente, por tanto accede a 4Mb de RAM, tanto si tiene como si no ese chip de memoria. Para alguien que tenga sólo 512Kb de RAM, la posición correcta sería todos los jumpers en posición 2-3 (512K) y si alguien tiene el modulo O4MEGA pero no ha llenado todos los chips de RAM, podría elegir sólo JP7 en posición 1-2 (para 1Mb) o poner tanto JP7 como JP8 en posición 1-2 (para 2Mb). Estas son imágenes de la placa.

CAMBIOS EN EL MAPEADOR DE MEMORIA (BIS)

Por último aún introduje un cambio más polémico. Es como una avería que tenenían otros MSX.

El estándar MSX indicaba claramente que el registro de un mapeador no debía leerse, por ello, todos los programas de MSX que leyeran dicho registro, estaban claramente incumpliendo la norma y eran “incompatibles” por diseño.

No obstante, casi todos los MSX tenían una conexión pull-up en este registro y dejaban desconectados los BITS que no utilizaban, lo que hacía que si “alguien” leía el registro el valor de los BIT que no estaban en uso, quedase fijado a “1” lógico.

Aunque la norma dijera otra cosa, varios eran los programas que leían el registro para calcular la cantidad de memoria disponible.

El OMEGA originalmente tiene todos los BITS conectados por lo que sería incompatible con estos programas. REPITO: el OMEGA era incompatible con unos programas MSX que se saltaban la norma del estándar. Pero a pesar de ello eran compatibles con casi todos los demás MSX.

Sergey dice que no deberíamos arreglar mediante hardware un problema que viene provocado por el software, y no le falta razón, pero de nuevo mi consideración fue que esta era una “mejora” que se podía deshacer fácilmente y que permitía a cualquiera elegir entre conectar todos los jumper y anular la mejora o aprovechar esto para que funcione el 100% del software MSX.

Por tanto lo que hice fue añadir unos jumper que desconectaran los bits en desuso de dicho registro:

El OMEGA original tenía esas líneas siempre conectadas (D5-D7) y podemos insertar esos 3 jumpers para mantener la configuración original o porque vayamos a utilizar los 4Mb, pero si tenemos 512K y estos jumpers están desconectados nuestro OMEGA será compatible incluso con los programas que leen el registro del mapeador.

Si por casualidad tenemos un O4MEGA pero solo dispone de 1Mb de RAM deberemos insertar el jumper JP12, si disponemos de 2Mb insertaremos además JP11 y si tenemos los 4Mb completos necesitaremos insertarlos todos. Estas son imágenes de la placa:

Si tu versión de placa es la antigua (v1.2 o anterior) también existe solución: extrae los pines 7, 9 y 10 del chip fuera del zócalo y dejalos al aire (D5, D6 y D7), de este modo estarán igualmente desconectados.

Aunque los cambios son muy leves, he creado una lista de materiales (BOM) independiente de las anteriores para evitar confusiones debidas a los cambios.

El diseño de esta placa base es libre (como todo el proyecto) y se puede descargar del siguiente enlace: https://github.com/msx-solis/omega_mainboard1.3eu

Jordi Solís MsxMakers 2020


Construyamos algo juntos.


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

Crea tu sitio web con WordPress.com
Empieza ahora
A %d blogueros les gusta esto: