Página 1 de 9

Core C64 BETA7

Publicado: 23 Feb 2017, 19:13
por Quest
Actualización core BETA7b!!:

Tras un par de mesecillos de trabajo e investigación os traigo una nueva actualización del core con un buen puñado de nuevas mejoras y bugfixes. Espero que sea de vuestro agrado :)


Changelog BETA7:

  • Mejora en carga de cassetes: Ya no es necesario mantener una tecla pulsada tras la cabecera para continuar la carga. (He modificado el Kernel especialmente para este core. Parcheada la subrutina de espera para la pulsación en $E4E0 para que la espera sea cero). En resumen: cargas "del tirón" :)
  • Otra buena mejora en la carga de cassettes: Por fin funcionan las cargas de muchos más juegos de Ocean (algunos de Imagine, etc) que antes no lo hacían (Como Robocop, Rainbow Islands...). La causa era una protección contra cartuchos "freezer" (Freeload) que usan muchos de estos títulos, que comprueba mediante una rutina el checksum de una zona concreta de la memoria que cambia si un cartucho de estos está conectado. Ahora se inicializa con el patrón $00 - $FF que presenta un C64 real (he usado mi C64C real como referencia), y el problema ha quedado solucionado. Esta parte, aunque simple, ha costado un montón de tiempo de investigaciones, pero al fin está listo. Espero que disfrutéis de esos geniales cargadores con música :D. Aún hay algunos cargadores que se resisten (como algunos de los que usan Cyberload), pero sigo investigando :)
  • SID: Mejoras significativas. La más relevante: implementados los filtros. Ahora ya suenan esos efectos tipo "wah-wah" tan característicos (Combrobar en música de Cybernoid 1 y 2 por ejemplo, o en demos). El sonido es más limpio. Ha costado un poco que cupiera esta parte en la FPGA, pero tras un poco de optimización ha sido posible :). Más cambios: Arregladas las notas faltantes del canal de pulso, que no se oían en Cybernoid 2, GnG, etc. Ahora el sonido de la llave en Manic Miner ya no queda suspendido. Otros cambios menores en el reloj de entrada para que los timings sean aún más exactos.
  • Implementadas algunas funciones de las CIAs que estaban incompletas o no presentes, (ToD completo, IRQ de alarma, etc..). No hay mucho software que se beneficie de ellas, pero al menos ahora hay varios programas de test que ya no dan fallo ni se cuelgan en esas áreas. Parece que de paso la demo Edge of Disgrace al fin ya no se cuelga a mitad del segundo disco, y llega por fin hasta el final :)
  • Tecla RESTORE (NMI) añadida (Mapeada a tecla TAB del teclado PS/2).
  • Pequeños ajustes en el VIC-II que solucionan algún glitch en demos (Sigue habiendo glitches importantes por solucionar aún).
  • Muchos reajustes en los sincronismos de vídeo, tanto en compuesto/RGB como en VGA. Ahora debería ser compatible con más pantallas. También se ha ajustado de forma más fina la frecuencia vertical en ambos casos para que sean 50Hz exactos. Espero que notéis la mejora :D espero feedback de este tema, a ver qué tal os funciona ahora. Aun así puede que haya alguna pantalla "rarilla" que nunca se llegue a llevar bien con la señal del C64, pero serían casos mínimos.
  • Cambiado ligeramente el comportamiento de los puertos de joystick (tecla F11) para que sean un poco más claros. Los ajustes quedarían así (son 4 en total a rotar):
  • ** Por defecto (sin pulsación de F11): Puerto 1: Funcionan tanto el joystick real como el emulado a la vez. Puerto 2: vacío.
    ** Tras la primera pulsación de F11: Puerto 1: Vacío. Puerto 2: Funcionan tanto el joystick real como el emulado a la vez.
    ** Tras la segunda pulsación de F11: Puerto 1: Joystick real. Puerto 2: Joystick emulado.
    ** Tras la tercera pulsación de F11: Puerto 1: Joystick emulado. Puerto 2: Joystick real.
    Las siguientes pulsaciones de F11 tras la tercera volverían a rotar los puertos desde el principio.
    Como véis, se podría jugar a dobles con joystick real y emulado a la vez uno en cada puerto, sin problemas.
------

Core BETA7b: (enlace EXTERNO no vinculado al foro ni la web):

https://github.com/antoniovillena/zxuno ... 1?raw=true (no autodetectará el setting de vídeo de la BIOS, pero lo demás funcionará perfectamente)


Bueno, pues sigo trabajando en mejoras para próximas versiones :)

Aquí os dejo un par de fotillos cargando Robocop y Rainbow islands de cassette, ahora que ya funcionan sus cargas:

Re: Core C64 BETA7

Publicado: 23 Feb 2017, 20:00
por desUBIKado
¡Eres el puto amo!

Ale, me voy a actualizar el changelog. Ciao.

Re: Core C64 BETA7

Publicado: 23 Feb 2017, 20:18
por desUBIKado
Ya está actualizado. Hoy te has ganado bien la longaniza del Jueves Lardero.

Re: Core C64 BETA7

Publicado: 23 Feb 2017, 21:39
por Quest
Por cierto, un consejo muy útil para tener a mano bastantes juegos/programas de los que constan de un único .PRG y lanzarlos cómodamente con un browser que se maneja con los cursores (veréis que en el binario RAW de ejemplo para la SD incluí algunos de estos) es crear un .D64 con ellos y cuyo boot sea el brower.

Es super fácil con el grandísimo programa DirMaster 3.1.1. (http://style64.org/release/dirmaster-v3.1.1-style) Es tan sencillo como crear (o editar uno exstente) un .D64 y arrastrar y soltar dentro todos los PRGs (que quepan, claro). Vas viendo los bloques libres en todo momento, para saber cuántos más puedes meter. En cuanto acabes, le das a guardar y listo.
C64DirMaster.png
Además, como os decía, para navegar super rápido entre ellos (y no tener que teclear cada vez los pesados LOAD...) lo mejor es poner como PRIMER archivo PRG del .D64 el archivo que os adjunto aquí (FB64.PRG) que es el famoso CBM FileBrowser, y después todos los demás. Así cuando estés en el core, es super rápido, eliges con las teclas como siempre el slot del .D64 que has hecho, y pulsas Shift+ESC. Listo. Ya carga el FileBrowser, eliges juego con los cursores y Enter.
fb64.zip
(1.69 KiB) Descargado 201 veces
Si lo haces así con tu colección de .PRGs la cosa queda ordenada y de acceso bastante rápido.

Espero que os haya servido de ayuda :)

Re: Core C64 BETA7

Publicado: 24 Feb 2017, 02:41
por Hernan
Monumental trabajo, Quest.

Acabo de probar el Giana Sisters y ahora si se escucha bien!! La simulación del SID mejoró muchísimo en esta versión.

Gracias!!

Re: Core C64 BETA7

Publicado: 24 Feb 2017, 09:54
por Vanfanel
@Quest: cuando he actualizado el core (debería estar estudiando, pero que le den, no todos los días mi ZX-UNO se pone a sonar como un Commodore 64 de verdad) y he escuchado la pantalla del título del Ghouls'n Ghosts tal como se oye en un C64 de verdad, tal como yo la recuerdo, así, con los lobos, el viento, los pasos... todo en su sitio, te juro que he pensado que aún estaba dormido, que me despertaría y sería todo un sueño. Pero no: llevo un rato escuchando esto y es verdad.
No sé ni qué decir. ¡Esto me hace TAN feliz! Es como el retorno, largamente esperado, de lo que para mi significa el Commodore con su audio mágico. Y aquí lo tengo en el ZX-UNO, un hardware abierto. No puedo pedir más.

EDITO: Llevo media hora con música SID a todo trapo en el ZX-UNO. Ahora mismo tengo sonando el Wizbal a toda castaña. Me van a echar de casa, pero cómo suena esto, diosssssss. :rofl!: :rofl!: :rofl!:

EDITO2: ¿A alguien le funciona el Forbidden Forest? A mi se me queda colgao después de pulsar F(N) para elegir nivel de dificultad.

Re: Core C64 BETA7

Publicado: 24 Feb 2017, 10:49
por Quest
@Vanafel

Me alegro de que lo estés disfrutando :)

Respecto al Forbidden Forest, ¿Te refieres a este?:
2017-02-24 10.43.43.jpg
2017-02-24 10.43.43.jpg (64.28 KiB) Visto 5068 veces
A mi me funciona bien (foto recién sacada en el core).

Lo bajé de aquí: http://www.myabandonware.com/game/forbi ... u#download

Convertí el .T64 y listo.

Re: Core C64 BETA7

Publicado: 24 Feb 2017, 11:23
por Vanfanel
@Quest: Sí, sí!! Ese es!! Es un juegaco.
El .d64 no carga bien. En el VICE, el mismo .D64 sí que carga.
¿Lo que haces es pasar varios .T64 a PRG y meterlos en un .D64 o cómo lo has hecho en este caso?

Re: Core C64 BETA7

Publicado: 24 Feb 2017, 11:30
por Quest
Vanfanel escribió:@Quest: Sí, sí!! Ese es!! Es un juegaco.
El .d64 no carga bien. En el VICE, el mismo .D64 sí que carga.
¿Lo que haces es pasar varios .T64 a PRG y meterlos en un .D64 o cómo lo has hecho en este caso?
El .T64 no es más que un contenedor, igual que el .D64. Dentro hay un .PRG con el juego. Puedes abrirlo con el mismo programa que comentaba en el segundo post, el DirMaster 3.1.1 y extraer el .PRG. Luego con él puedes hacer lo que quieras, convertirlo a .WAV por ejemplo con el wavprg y cargarlo por cinta, o meterlo en un .D64 usando el mismo DirMaster. Yo por comodidad (ya que justamente lo tenía todo enchufado) lo he cargado por cinta, pero debería ir igualmente metiéndolo en un .D64

Re: Core C64 BETA7

Publicado: 24 Feb 2017, 11:51
por Vanfanel
@Quest: Ya me funciona sin problemas, gracias por la idea! :D

El que suena aún "raro" (como si le faltaran canales) es el "Mayhem in Monsterland", tanto la pantalla del título como durante el juego.
He encontrado este vídeo de cómo suena realmente en el C64 real:
https://www.youtube.czom/watch?v=_J4saQEatbQ