Bueno, por fin pude hacer una conversion a TS2068, tuve que leer unas cuantas cosas para adaptar los puertos del PSG correctamente, y las llamadas a la ROM. Las llamadas indirectas no funcionaron, asi que tuve que usar una llamada directa a CLS que esta en otra direccion en la TS2068, y no encontre la manera de llamar a la rutina que cambia el color de borde, asi que opte por colocar el valor directo a la variable y al puerto MIC (que tambien controla el color de borde). Inclui la imagen de carga corregida, con el nombre cambiado a TAV2068, pero lamentablemente el poke magico no reacciona de la misma manera que en la Spectrum, asi que por ahora no se puede evitar que arruine la imagen imprimiendo Bytes: TAV2068PSG.
Todo lo demas por suerte funciona como en la Spectrum, las variables se almacenan de la misma manera y el puntero VARS esta en la misma direccion, asi que no hubo que cambiar el codigo que busca la variable Z$.
No tengo idea de si el programa funciona con otros modos de video o mapeados de memoria, pero hay poca informacion tecnica de esta maquina, y un pobre soporte en emuladores, asi que creo que hasta ahi voy a llegar. Por supuesto que voy a hacer correcciones a los sonidos o agregar alguna que otra opcion en el futuro, pero no creo que investigue mucho mas las caracteristicas avanzadas de esta maquina. En el manual tecnico de la TS2068 hay mucha informacion, pero hay un monton que no esta explicado, como por ejemplo que parametros requieren las rutinas de la ROM y en que orden o en que registros, segun como se hagan las llamadas.
Tuve que dejar EightyOne porque no andaba el sonido del PSG, me baje FUSE y ese anda bien, pero tiene pocas opciones para desarrollo, al final tuve que hacer todo el armado del TZX en Basin directo del binario o SCR al archivo TZX, porque al ser codigo de TS2068 no podia ejecutarlo. El Basin es muy bueno como editor BASIC, pero emula mal incluso una Spectrum 128K, el sonido no sale del todo bien, pero supongo que no fue diseñado como emulador sino como entorno de desarrollo.
Quedan algunas correcciones menores a todos los programas antes de ser 1.0, por empezar, no tuve en cuenta el espacio de los UDG, que esta al final de la memoria, y el programa estaba sobreescribiendo, como consecuencia de eso, podia borrarse parte de los datos al redefinir los UDG. En esta version 2068 eso esta contemplado y no habria conflictos, tambien para la 1.0 voy a agregar soporte de letras en minusculas, y corregir algun sonido que no me convence.
]tav2068_beta4.zip[/file]