Core C64 BETA7

raparici
Mensajes: 3
Registrado: 21 Abr 2017, 00:58

Re: Core C64 BETA7

Mensaje por raparici » 26 Abr 2017, 03:00

@Quest

He estado probando durante poco tiempo tiempo el Core del 64 ya que el ZX-Uno me llegó ayer, a la que tenga otro rato y el sistema me lo permita te mando un pm. He probado alguna cosa de los discos que teneis subidos de ejemplo y también con este que me he creado: https://we.tl/YavOrOkqZi

Hay alguna página donde subir los bugs ? y algún wiki con el detalle del Core (he ido descubriendo los keystrokes de manera casual)

El balance por el momento es:

1) Choplifter no responde al Joystick, no puedo iniciar la partida, es el único juego con el que me ha ocurrido de 8 o 10 que he probado (no sé si es el Core o mi unidad que es una modificada con doble Joystick )

2) El sonido en la mayoría de juegos o demos que he probado se interrumpe con un ligero chasquido periódico sin embargo consigue una muy buena fidelidad. Suena distinto a Mist, me recuerda más al motor ReSID de VICE mientras que Mist me recuerda más a Fast SID. La demo de mi disco "a new mind is born" (dentro del disco que he copiado aqui) suena mucho mejor que en Mist.

3) Como decía @pooky Frantic Freddie ('83) se cuelga al inicio de la pantalla en algo que parece un bug del FPGA64 y que afecta a un conjunto de juegos (si solucionas eso sería una pequeña revolución jeje).

4) Si hago operaciones en la Flash del ZXUno habiendo botado con el Core del C64 se corrompe el teclado en el momento de escribir el nombre del Core y le graba un churro jeje.

En fin, le queda un poquito al Core pero apunta muy buenas maneras. Al principio el funcionamiento de los discos es un poco chocante pero lo cierto es que no es complicado hacerse el binario necesario desde linea de comandos y en el fondo tambien se agradece que la máquina sea simple y que el foco del desarrollo de los Cores se centre en la compatibilidad que es lo que importa. Dado que los discos de C64 tienen un ID de 2 bytes quizás se podría hacer una combinación que te salte directamente al ID de un disco determinado dentro del binario.

Enhorabuena por todo lo que habéis conseguido y adelante !

Avatar de Usuario
Quest
Mensajes: 900
Registrado: 27 Sep 2015, 00:20

Re: Core C64 BETA7

Mensaje por Quest » 26 Abr 2017, 12:58

raparici escribió: Hay alguna página donde subir los bugs ? y algún wiki con el detalle del Core (he ido descubriendo los keystrokes de manera casual)

1) Choplifter no responde al Joystick, no puedo iniciar la partida, es el único juego con el que me ha ocurrido de 8 o 10 que he probado (no sé si es el Core o mi unidad que es una modificada con doble Joystick )
El sitio donde subir bugs es éste precisamente, los hilos de cada beta, para eso están, entre otras cosas, para comentar cada versión del core.

Con respecto al "wiki del core" (que no hay como tal, de ningún core), te he juntado en el quote el tema del joystick, porque creo que van "juntos", porque como sabes, el joystick en el C64, cada juego lo implementaba como le daba la gana, es decir, en cuanto a en qué puerto se ha de usar (1 o 2). Sí que puse documentación de todo el mapa de teclas del core, está en el hilo de la beta6 (aunque lo actualicé en post chincheta del "changelog", al final). Donde puedes ver todo lo necesario para manejar el core desde el teclado. Échale un ojo. Lo más seguro es que lo del joystick te quede solucionado usando la tecla para rotar entre puertos, indicada en esa documentación (F11).
raparici escribió: 2) El sonido en la mayoría de juegos o demos que he probado se interrumpe con un ligero chasquido periódico sin embargo consigue una muy buena fidelidad.

4) Si hago operaciones en la Flash del ZXUno habiendo botado con el Core del C64 se corrompe el teclado en el momento de escribir el nombre del Core y le graba un churro jeje.
Nada de esto debería ocurrir. No hay nigún problema de chasquidos ni interrupciones en el sonido. Funciona perfectamente. Tampoco tiene que haber ninguna corrupción como dices del teclado ni al grabar en la flash.

Si te ocurre eso, se me ocurre que puede ser por 2 razones principalmente:

1- No estás usando la versión 7b del core. Probablemente tu ZX-UNO vino pregrabada con una versión anterior (7) que daba problemas de timings en algunos Zx-Unos causando corrupciones. La 7b va bien en todos los ZX-Unos probados y reportados hasta el momento. Está enlazada en el primer post de este mismo hilo.

2- Tu ZX-Uno tiene algún problema (podría ser en la SRAM, FPGA o soldaduras). No tiene por qué observarse un problema similar en otros cores (no todos usan igual los recursos, ni la misma velocidad o los mismos pines).
raparici escribió: 3) Como decía @pooky Frantic Freddie ('83) se cuelga al inicio de la pantalla en algo que parece un bug del FPGA64 y que afecta a un conjunto de juegos (si solucionas eso sería una pequeña revolución jeje).
El que se cuelguen varios juegos al inicio, no tiene por qué ser por el mismo bug (por experiencia). Unos son producidos por ejemplo por detecciones anticopia, otros por usos de las CIAs algo diferentes de lo normal, etc... Todavía hay problemas de compatibilidad (sobre todo con algunos detalles de la temporización del VIC-II y en los timers de las CIAs, sobre todo cuando se usa NMI). Algunos están solucionados en parte y otros ni siquiera se ha podido encontrar el problema. Sigo en ello.
raparici escribió: En fin, le queda un poquito al Core pero apunta muy buenas maneras. Al principio el funcionamiento de los discos es un poco chocante pero lo cierto es que no es complicado hacerse el binario necesario desde linea de comandos y en el fondo tambien se agradece que la máquina sea simple y que el foco del desarrollo de los Cores se centre en la compatibilidad que es lo que importa. Dado que los discos de C64 tienen un ID de 2 bytes quizás se podría hacer una combinación que te salte directamente al ID de un disco determinado dentro del binario.
No se trata de que sea chocante, o de que se haya hecho para que la máquina sea simple. Esto ya se ha comentado tantas y tantas veces, que al final he puesto una nota en color rojo al inicio del changelog. Los recursos de la FPGA están al 99,99% y no se puede hacer otro sistema de carga, ni meter un SD2IEC ni nada por el estilo. Es el sistema que hay, y salvo alguna ligera mejora en las hotkeys para la navegación, o para hacer más facil el cambio de disco, el sistema de almacenado por bloques en la SD va a permanecer así. Lo que sí se puede mejorar (y gente como pooky lo han estado haciendo, y se agradece, para quitarnos algo de carga), es mejorar la parte que hay que hacer en el PC para meter los juegos en la SD. Incluso si alguien se anima (yo lo he pensado, pero me quitaría mucho tiempo que no dedicaría a los cores), se puede currar una buena GUI para listar, insertar, borrar, reorganizar discos .D64 en la SD. Sería estupendo para los usuarios menos experimentados.

La otra opción que estoy barajando (si es que puedo añadir siquiera esas modificaciones, que está por ver que quepan) es alguna pequeña ayuda en la selección del número de disco. Si encuentro la manera de implementarlo en hardware, estaba pensando en un sistema de comunicar al core con el kernel y por tanto, poder usar, al estilo spectrum, un puerto concreto para realizar esa "comunicación". El tema es que parece que el C64 no usa "puertos", sino acceso directo al mapa de ram. Por lo que he leído el mapa de ram está completo, e incluso las áreas que aparecen como "unused", he comprobado que muchos programas las usan para almacenar algún pequeño dato. Incluso en la zona Zeropage. (Basta con unas pruebas POKE/PEEK antes y después de ejecutar algunos programas)

Para meterme con ese tema necesito alguien que controle mucho de C64 para poder pensar en qué zona podemos usar, que ningún programa o juego usen, para poderlo dedicar exclusivamente al almacenamiento de unos cuantos bytes, donde se guardarían los índices del disco al que acceder, que el core leería y podría pasarle al wrapper que le dice al módulo de la 1541-SD en qué sector empezar a leer (lo que hago ahora manualmente con los números de disco usando las teclas RePag, AvPag, etc). Esa misma persona que controla de C64, y sepa programar para él, podría, una vez encontrado el "sitio" donde almacenar esa información, hacer un pequeño programita que permita cambiar de disco indicándole simplemente el número de slot donde está. De paso si controla mucho mucho, podemos pensar en un sistema, al estilo de lo que comente con pooky, que coja el índice de discos de un primer disco, lo liste, y con los cursores puedas ir hasta él, y cargarlo. Eso ya sería la bomba.

Así que lo dicho: hago un llamamiento para alguien que controle mucho de C64 para poder, si quiere, pensar en un sistema a implementar del estilo de lo que acabo de contar, coordinarlo y sacarlo adelante, tanto por mi parte en la parte core, como por la suya en la parte programación del C64.
raparici escribió: Enhorabuena por todo lo que habéis conseguido y adelante !
Muchas gracias! Seguimos trabajando en todo, cuando el tiempo y la salud lo permite :okidoki;
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

ManuFerHi
Mensajes: 752
Registrado: 15 Nov 2015, 17:50

Re: Core C64 BETA7

Mensaje por ManuFerHi » 26 Abr 2017, 16:02

Normalmente tengo instalado los últimos cores de cada sistema, pero posiblemente cómo los cojo del repositorio éste al estar en servidores externos no lo tenga actualizado, al principio del hilo está el enlace externo del core.
En cuanto a los joystick, en este core no está implementado el segundo joy, problema que resolvería el tema de que hay juegos que intercambian los puertos. Confío que en un futuro cuando tenga tiempo Quest habilite esta opción.

pooky
Mensajes: 16
Registrado: 04 Abr 2017, 23:06

Re: Core C64 BETA7

Mensaje por pooky » 26 Abr 2017, 16:48

Hola @ManuFerHi

Quizás no te haya entendido bien pero creo que los Josticks si están bien implementados. Tienes dos joysticks disponibles bien el que conectas en el DB9 o bien el que está en el pad numérico (0 para disparar), si le vas dando a F11 vas intercambiando entres ambos puertos y a mi me funciona perfectamente en todos los juegos que he probado.

Pruébalo y me dices, un saludo.

ManuFerHi
Mensajes: 752
Registrado: 15 Nov 2015, 17:50

Re: Core C64 BETA7

Mensaje por ManuFerHi » 26 Abr 2017, 17:18

pooky escribió:Hola @ManuFerHi

Quizás no te haya entendido bien pero creo que los Josticks si están bien implementados. Tienes dos joysticks disponibles bien el que conectas en el DB9 o bien el que está en el pad numérico (0 para disparar), si le vas dando a F11 vas intercambiando entres ambos puertos y a mi me funciona perfectamente en todos los juegos que he probado.

Pruébalo y me dices, un saludo.
Perdona Pooky no me expliqué bien, me refería a implementar el segundo joystick aparte del teclado numérico en el segundo conector DB9 que incorpora el ZX-UNO VGA 2M

braincell1973
Mensajes: 7
Registrado: 01 Mar 2017, 09:44

Re: Core C64 BETA7

Mensaje por braincell1973 » 06 May 2017, 12:36

@Quest

Hi. I am leaning towards the CIA being the likely source for some of these bugs but you are right ,It seems the original author has updated both the CIA and VIC vhdl since 0.27 (which i assume you are using too ?)

I have emailed the author (peter) but as yet i have had no responce. As time permits i am looking into this.

Should you have any ideas i would appreciate any info you could give.

Lee

Avatar de Usuario
Quest
Mensajes: 900
Registrado: 27 Sep 2015, 00:20

Re: Core C64 BETA7

Mensaje por Quest » 06 May 2017, 13:18

@braincell1973

Don't lose your time waiting for a response from Peter. I tried several times since last year until now... no response. *sigh*

Yes, I use that, too (0.27) as a base for the system. From there, modifications were done (with my unexperienced and noob code. In addition, I didn't know the internals of the C64 before, so I'm learning at the same time I check the HDL ;))

As you are doing now, I was investigating certain game/demo issues, I also suspect of the CIA timing (and some VIC features not implemented), but I'm still learning, so no relevant advances for now. I only added some missing features in the CIAs, but that is the easy part. I added the complete ToD implementation and added the Alarm interrupt feature, too. Altough it is barely used by any software, It worth be there definitely. In fact, Edge of disgrace plays till the end :)
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

braincell1973
Mensajes: 7
Registrado: 01 Mar 2017, 09:44

Re: Core C64 BETA7

Mensaje por braincell1973 » 06 May 2017, 14:05

I think im going to get some test prg running on the mist and the breadbin to see the differences.

I too am new to coding but i have got cartridge support working when i fell foul of this *bug*.

Identifying theproblem it seems is going to be the hard part :(

Lee

Avatar de Usuario
neuro_999
Mensajes: 692
Registrado: 06 Oct 2015, 10:14

Re: Core C64 BETA7

Mensaje por neuro_999 » 04 Jul 2017, 21:20

Buenas tardes.
No encuentro el símbolo + en el teclado del comodore. ¿Alguien sabe x dnd anda? O es que no esta metido en el mapa del teclado?. En el de vic20 si lo encuentro, pero aqui no.
O es que los comodoroanos solo sabiam restar? :)

Enviado desde mi ONE A2003 mediante Tapatalk

Avatar de Usuario
DSpawnZ
Mensajes: 33
Registrado: 01 Jun 2017, 04:09
Ubicación: Argentina

Re: Core C64 BETA7

Mensaje por DSpawnZ » 05 Jul 2017, 04:02

neuro_999 escribió:Buenas tardes.
No encuentro el símbolo + en el teclado del comodore. ¿Alguien sabe x dnd anda? O es que no esta metido en el mapa del teclado?. En el de vic20 si lo encuentro, pero aqui no.
O es que los comodoroanos solo sabiam restar? :)

Enviado desde mi ONE A2003 mediante Tapatalk
En mi teclado PS/2 Español es F10

Responder