Autor Tema: [Ayuda]- P.O.W  (Leído 10657 veces)

0 Usuarios y 1 Visitante están viendo este tema.

ISTRALE

  • Con experiencia
  • ***
  • Mensajes: 498
Re:[Ayuda]- P.O.W
« Respuesta #30 en: 11 de Julio de 2015, a las 08:14 horas »
Marcos muchas gracias por todo rockman muchisimas gracias tambien por tu ayuda.
Despues cuelgo las de programa que ademas creo que estan etiquetadas, creo que he podido localizar una placa igual a la mia y con posibilidad de que el dueño me lea las memorias y me pase sus datos, cruzare los dedos¡¡¡¡
« última modificación: 11 de Julio de 2015, a las 08:16 horas por ISTRALE »

Marcos75

  • Socio
  • ****
  • Mensajes: 3046
  • Arcadero de los 80s
Re:[Ayuda]- P.O.W
« Respuesta #31 en: 11 de Julio de 2015, a las 10:15 horas »
Por lo que pude ver anoche, la placa original utiliza datos gráficos de 16 bits, de forma que una MASK de 1 Mb de capacidad (y de 8 bits) se carga en la posición par de memoria, y la que ocupa 4 lugares más alejada, en la posición impar. La placa original lleva únicamente un descodificador en la subplaca, que es un 139. Mi placa lleva un 138. La de ISTRALE, cuatro 138s... Almacenan y tratan la información gráfica de los sprites de distinta manera, lo que no sabría es decir cuál es la lógica, pero debe haberla. No se me ocurre otra forma de averiguarla que hacer "ingeniería inversa" del decodificador de direcciones de cada placa, y comparar los resultados para encontrar esa lógica.

ISTRALE, cuando vayas a leer las EPROMs de programa ten cuidado. Me ha parecido ver que son MASK, no EPROM. Si son MASK, serán de 1 Mbit, con lo cual no podrás leerla normalmente con los programadores tradicionales. Mi placa, por ejemplo, lleva dos 27512 montadas a caballo, con el CE levantado para direccionar la de abajo o la de arriba.

Rockman, yo supuse que lo de odd y even hace referencia a las posiciones de la memoria, a las direcciones, pero era solamente una suposición mía.

Un saludo.


ISTRALE

  • Con experiencia
  • ***
  • Mensajes: 498
Re:[Ayuda]- P.O.W
« Respuesta #32 en: 11 de Julio de 2015, a las 10:58 horas »
Marcos, buenas de nuevo, mi placa tambien lleva dos 27c512 montadas a caballo y con el mismo pin levantado y unidos por un cable, con lo cual en eso es igual a la tuya.
despues hago una foto de la zona, seria interesante que volcara estas eproms?
Saludos.

Marcos75

  • Socio
  • ****
  • Mensajes: 3046
  • Arcadero de los 80s
Re:[Ayuda]- P.O.W
« Respuesta #33 en: 11 de Julio de 2015, a las 11:24 horas »
Disculpa, ISTRALE, por la foto me había parecido que eran MASKs.

La verdad es que me tiene intrigado el tema, y me he puesto a investigar un poco. Os cuento lo que estoy pensando:

- Este hardware utiliza datos de 16 bits para los sprites. Eso se ve por ejemplo en el driver de MAME, ya que cuando carga los gráficos lo hace cargando una ROM en las posiciones pares de memoria, y otra en las posiciones impares:



Si os fijáis, cada ROM gráfica de sprites ocupa 20000 (en hexadecimal). Las primeras empiezan en 00000 y en 00001, como es normal. Las segundas, en 40000 y 40001, cuando deberían empezar en 20000 y 20001 si fuesen consecutivas. Creo que la explicación está en cómo trata MAME la información, accediendo a ella direccionando bytes, y no conjuntos de 16 bits, con lo cual necesita el doble de espacio de direccionamiento.

- Yo tengo tres juegos que corren sobre este hardware, y el Ikari III resulta llevar MASKs grandes, de 16 bits directamente, en lugar de grupos dos MASKs de 8 bits. También he visto Ikari's que llevan MASKs de 8 bits, con lo cual se pudieron utilizar indistintamente en este hardware.

- Y creo que eso explica las diferencias entre el decodificador de direcciones mío, y el de ISTRALE. Fijaros lo que se ve si quito mi aéreo:



Es decir, el aéreo está sustituyendo a 4 MASKs de 16 bits. ISTRALE, ¿podrías hacer tú esa misma foto, a ver qué hay debajo?

Ahora estoy tratando de ver una lógica en las EPROMs de mi aéreo. He descubierto que si las divido en filas y columnas (8 filas, 4 columnas), las 8 filas tienen distinto OE (cada una a una patilla del decodificador 74LS138 - esto es lo que cabría esperar), y cada columna tiene datos independientes (es decir, tengo 4 grupos de datos de 8 bits).

Voy a  darle una vuelta más a ver si veo la lógica.

Un saludo.


ISTRALE

  • Con experiencia
  • ***
  • Mensajes: 498
Re:[Ayuda]- P.O.W
« Respuesta #34 en: 11 de Julio de 2015, a las 11:56 horas »
Por supuesto, faltaria mas, cuando llege a casa del trabajo hago las fotos.
Ya aunque solo sea por aprender merece la pena esto, la de cosas que aprende uno aqui¡¡¡¡¡

Marcos75

  • Socio
  • ****
  • Mensajes: 3046
  • Arcadero de los 80s
Re:[Ayuda]- P.O.W
« Respuesta #35 en: 11 de Julio de 2015, a las 13:10 horas »
Rockman, creo que tu intuición y tu interpretación comparando las ROMs era totalmente correcta. Según el análisis que he hecho de mi placa bootleg y de mi placa original, las posiciones 1 y 2 mías (que seguramente coincidan con las de ISTRALE) corresponden a la ROM 23 del original, y las 3 y 4 a la 24.

Sigo sin entender por qué son tan diferentes.

Un saludo.


Marcos75

  • Socio
  • ****
  • Mensajes: 3046
  • Arcadero de los 80s
Re:[Ayuda]- P.O.W
« Respuesta #36 en: 11 de Julio de 2015, a las 14:15 horas »
Os cuento lo último que he visto.

Nada de 16 bits. La información gráfica es de 8 bits, como es normal. Las MASKs de la placa base (que vienen sin poblar, ya que se sustituyen por el aéreo) son de 16 bits, pero están preparadas para funcionar a 8 bits con el doble de capacidad (los pines de datos de D8 a D15 no tienen pista).

Dicho lo cual, la placa original lleva un descodificador de direcciones "de libro". Es decir, coge las dos direcciones más altas de las MASKs grandes, las de la placa base (A16 y A17) y con ellas selecciona 4 posibles grupos de MASKs de la subplaca. El mapeo de direcciones entre las MASKs vacías de abajo y las de la subplaca es directo, teniendo en cuenta que como las de abajo funcionan en modo byte tienen activada la línea de direcciones A-1, con lo cual las direcciones de las MASKs de abajo son A-1, A0, A1, A2, etc. que mapean directamente con A0, A1, A2, A3 de las MASKs de la subplaca.

Sin embargo el descodificador de la bootleg no está tan claro. Al 138 va A17, sí, lo cual pare lógico, pero también va A0 (ambas de la MASK no poblada, en la placa base). Y A16 de esa MASK va a A0 de las MASKs de la subplaca. Menudo chocho. Estoy convencido de que la información gráfica en las tres versiones (la original, la de ISTRALE, la mía) es la misma, pero está almacenada de forma distinta (entrelazada con respecto a la original).

Aquí lo dejo.

Un saludo.


ISTRALE

  • Con experiencia
  • ***
  • Mensajes: 498
Re:[Ayuda]- P.O.W
« Respuesta #37 en: 11 de Julio de 2015, a las 14:35 horas »
Buah pues iba a colgar mas lecturas a ver si coincidían pero después de esto ultimo no se si servira para algo.
En cuanto a las fotos:

Esta seria la placa sin el aereo, esto es lo que hay debajo.



Aqui las memorias de programa montadas a caballo.





Estas dos eproms quedan debajo de la placa aerea.



Las dos ultimas eproms tienen una nomenclatura diferente, despues de la 30.
« última modificación: 12 de Julio de 2015, a las 08:14 horas por ISTRALE »

ISTRALE

  • Con experiencia
  • ***
  • Mensajes: 498
« última modificación: 12 de Julio de 2015, a las 12:24 horas por ISTRALE »

Rockman

  • Con experiencia
  • ***
  • Mensajes: 1281
Re:[Ayuda]- P.O.W
« Respuesta #39 en: 12 de Julio de 2015, a las 11:19 horas »
He estado fuera y no pude seguiros ayer y tampoco he podido mirar las ultimas lecturas que has colgado.
Per he releido por encima todos los posts de ayer y veo un detalle que ha dicho Marcos que quizás es la clave o parte de la clave.

Comenta Marcos que parte de las diferencias en la gestion de las memorias implica el bit de menos peso del bus de direcciones. Es posible que los graficos esten codificados, aparte de partidos en 2 respecto al original, alternados mediante ese bit. De ahí esa identificación ODD y EVEN que nos dijo mi comparacion en romcmp. Habria que mirar de desentrelazar esas lecturas de alguna manera siguiendo el patron que marca el decodificador o descodificadores implicados en la placa aerea.

Las roms de programa de la placa principal usará las dos memorias montadas a caballo con el pin OE conectado por cables para elegir entre una u otra. Es una manera chunga de tener una memoria de 1024kbits con dos 512 usando el pin OE como bit más alto de memoria.

A por cierto Istrale, usa la opcion -d al usar el comparador de mame en este caso que miramos para que lo compare por partes.

Saludos.
RESUMEN: Proyecto de incluir versiones españolas de juegos a Mame (Oficial): http://www.aumap.org/foro/index.php?topic=1270.0

ISTRALE

  • Con experiencia
  • ***
  • Mensajes: 498
Re:[Ayuda]- P.O.W
« Respuesta #40 en: 12 de Julio de 2015, a las 12:17 horas »
Rockman, gracias por el consejo.
Respecto al tema de las eproms que me faltan pues nada, supongo que tocara esperar a alguien con la misma placa y que pueda volcarlas.
Muchas gracias a todos por la ayuda, no me queda otra alternativa que dejar esto en standby.
Casi lo olvido OS dejo fotos del fallo:






Saludos.
« última modificación: 13 de Julio de 2015, a las 01:01 horas por ISTRALE »