Me suena haber leído que esos registros no están implementados en la emulación del AY. pero no consigo encontrar donde he leído eso.
Supongo que hay buenas razones para no implementarlos (ahorrar celdas, supongo), pero si no costara mucho...

El que lleva el core de spectrum es @mcleod_ideafix. Nos vienen bien tus reportes, ya que al ser autor de emuladores tienes más facilidad de encontrar la raíz del problema (como en este caso). Para los que no lo sepan, zx81 es el autor del emulador JSpeccy (Java) y ZXBaremulator (Raspberry Pi Bare Metal):zx81 escribió:Estaba yo esta noche probando diferentes juegos y, la verdad es que disparando a matar, probé con la versión de 128k de Tai-Pan. Al acabar la carga se resetea. Eso es típico de esa protección SpeedLock 4 que verifica que todos los registros del AY mantienen unos valores que pone, incluidos los registros Port-A y Port-B.
Me suena haber leído que esos registros no están implementados en la emulación del AY. pero no consigo encontrar donde he leído eso.
Supongo que hay buenas razones para no implementarlos (ahorrar celdas, supongo), pero si no costara mucho...
Si no me equivoco tanto AY-3-8912 como el AY-3-8910 tienen la misma pastilla de silicio pero con diferente encapsulado. Así que a nivel software se comportarán igual. El registro B se podrá leer y escribir en el AY-3-8912 a pesar de no reflejarse por ningún pin.Kyp escribió:En el código del AY (realmente es un core de YM2149) parece que están implementados los dos puertos IO.
De todas formas, el YM tiene dos puertos IO, es como un AY-3-8910 pero el Spectrum tiene un AY-3-8912 que solo tiene uno. No se si eso puede tener algo que ver con que no funcione bien la protección.
Esa prueba, la puedo hacer yo, cargando desde un Maxduino, pero necesitaria el TZX que has usado, ya que en WOS, no está.zx81 escribió:Vuelvo por aquí para contar novedades al respecto. Como siempre que se toca más de una cosa a la vez, no sabes cual de las dos era la causa del problema. Ayer actualicé el core al EXP25-v4 y ya funciona el Tai-Pan.
Pero es que, además, me he dado cuenta de que el playtzx que usaba hasta ahora no maneja bien ciertos bloques, porque juegos como Arkanoid y Bruce Lee no cargan tampoco. He juankeado un poco mi emulador JSpeccy para que de más volumen y ahora cargan los tres.
Como sé que el SpeedLock 4 del Tai-Pan es un peacho sinvergüenza que cuando hay errores no te dice nada y al final simplemente se resetea, casi desconfío más del playtzx que del core, la verdad. No voy a volver atrás el core solo para repetir la prueba, no vaya a ser que no supere el cambio.
A ver si un día de estos me levanto con el cuerpo con ganas de marcha y convierto parte de JSpeccy en una especie de Tapir escrito en Java para que lo pueda usar todo el mundo.
Tai-Pancarmeloco escribió:Esa prueba, la puedo hacer yo, cargando desde un Maxduino, pero necesitaria el TZX que has usado, ya que en WOS, no está.zx81 escribió:Vuelvo por aquí para contar novedades al respecto. Como siempre que se toca más de una cosa a la vez, no sabes cual de las dos era la causa del problema. Ayer actualicé el core al EXP25-v4 y ya funciona el Tai-Pan.
Pero es que, además, me he dado cuenta de que el playtzx que usaba hasta ahora no maneja bien ciertos bloques, porque juegos como Arkanoid y Bruce Lee no cargan tampoco. He juankeado un poco mi emulador JSpeccy para que de más volumen y ahora cargan los tres.
Como sé que el SpeedLock 4 del Tai-Pan es un peacho sinvergüenza que cuando hay errores no te dice nada y al final simplemente se resetea, casi desconfío más del playtzx que del core, la verdad. No voy a volver atrás el core solo para repetir la prueba, no vaya a ser que no supere el cambio.
A ver si un día de estos me levanto con el cuerpo con ganas de marcha y convierto parte de JSpeccy en una especie de Tapir escrito en Java para que lo pueda usar todo el mundo.