Autor Tema: Aprendiendo CC65  (Leído 431 veces)

Mode 2

  • Commodorista
  • ***
  • Mensajes: 97
    • Ver Perfil
    • brick Fabrik
Aprendiendo CC65
« en: Abril 24, 2023, 22:23:51 »
¡Buenas a todos!

Hace al menos un lustro estuve dando por saco sobre como aprender C y ensamblador para programar un videojuego en C64 (al final el proyecto multiplataforma en el que estuvimos metidos no salió para adelante, el crowdfunding del proyecto italiano no salió para adelante) en este hilo en concreto:
https://commodoremania.com/foro/index.php/topic,270..html#msg1447

Como he vuelto al mundillo retro, y con muchas ganas (ahora mismo estoy terminando un par de proyectos) me ha vuelto el gusanillo de hacer algo para C64, a priori si es posible en C, mejor. Al margen de todos los consejos que me dieron compis como Iapetus (Wood) para echarle un ojo a fuentes y algunos enlaces, ahora mismo también estoy bicheando algunos tutoriales, como el de Picaro Games que habéis comentado.

¿Hay alguna cosilla nueva más que sea interesante en este sentido?

Saludos.

Nota:
He abierto otro hilo nuevo, porque lleva mucho tiempo el otro sin actualizar, cosa que me ha recordado. Si es mejor añadírselo a antiguo, decídmelo y lo hago sin problemas.
« última modificación: Abril 28, 2023, 18:46:18 por Mode 2 »
https://brickfabrik.webador.es/

BUSCO: VideoPac+, Jaguar, Saturn, Micromanía 1, Amstrad Semanal, MicroHobby, juegos especialmente CPC y Vectrex, Aquarius, Sam Copé, 520 ST, Everdrive SNES, manual +3, manual CPC664.

Mode 2

  • Commodorista
  • ***
  • Mensajes: 97
    • Ver Perfil
    • brick Fabrik
Re:Aprendiendo CC65
« Respuesta #1 en: Abril 29, 2023, 18:31:53 »
¡Buenas de nuevo!

He estado leyendo un ratito sobre los distintos modos gráficos que te ofrece el Commodore 64, y he podido llegar a la conclusión que a la hora de embarcarse en un posible proyecto lo más factible/interesante es optar por el modo carácter, creo que eso lo tengo meridianamente claro, pero ahora, ¿Cuál de los tres que ofrece elegir? Desde una limitada óptica/visión cepecera/spectrumera  :-[ (disculpadme si meto la pata en las comparativas, va sin mala intención, solo intento trazar cierto paralelismo con lo conocido e ir haciéndome una idea), entiendo que:

- El modo char estándar, o de alta resolución sería algo así como un juego que se acercaría a un look 'spectrumita' o incluso a un modo 1 en CPC que es lo más parecido al Spectrum, donde tendrías una resolución de 320x200 y pocos colores en la pantalla.

-El modo char multicolor, sería de baja resolución, 160x200, pero con 16 colores por pantalla (Dejemos al lado de momento lo que he leído sobre que en este modo se puede combinar con el anterior, quedando como un híbrido, con zonas de un modo y otras de otro). Pero entiendo que si opto por este modo, en plan puro, sería como algo así al modo 0 de CPC (el llamado ladrillo).

-Por último, he leído que hay un modo char extendido, que tiene alta resolución como el modo char estándar y además con más colores, eso sí, con la limitación de poder solo usar 64 caracteres, en vez de los 256 que ofrece los dos anteriores modos, entiendo que se habla de caracteres/tiles diferentes y que letras y números también se cuentan. Entiendo que sería algo así como un modo 1 extendido de CPC o un modo spectrumero con colores.

Con esta información, entiendo que si mi juego va a sobrevivir con 64 tiles, podría optar por el último modo, para combinar alta resolución con colorido. Me atrae bastante este modo a priori (soy muy de modo 1 en CPC) ¿Ando muy desencaminado? ¿Ventajas e inconvenientes?

Por otro lado, ¿ Existe en páginas como la de Lemon, o alguna similar, información sobre en qué modo está programado cada videojuego? Me gustaría hacerme una idea general y ver que es lo que más se adaptaría a mis inquietudes.

Otra pregunta, la última, a la hora de diseñar tiles, y ya puestos, también los sprites, ¿Es el programa CharPad una buena opción, o hay otras que os seducen más? ¿Algún tutorial de pintado?

Muchísimas gracias.
« última modificación: Abril 29, 2023, 18:38:46 por Mode 2 »
https://brickfabrik.webador.es/

BUSCO: VideoPac+, Jaguar, Saturn, Micromanía 1, Amstrad Semanal, MicroHobby, juegos especialmente CPC y Vectrex, Aquarius, Sam Copé, 520 ST, Everdrive SNES, manual +3, manual CPC664.

javierglez

  • Commodore Master
  • *****
  • Mensajes: 463
  • terminator not seen
    • Ver Perfil
Re:Aprendiendo CC65
« Respuesta #2 en: Abril 29, 2023, 22:16:53 »
Nadie usa el modo de color extendido porque 64 caracteres son pocos, y solo que quieras tener los 10 números y algunas letras ya estas restando.

No es muy buena la analogía con los modos de Spectrum/Amstrad. Que sí, los modos alfanuméricos junto con los sprites pueden conseguir un aspecto parecido a los modos gráficos de esos ordenadores con menos esfuerzo de programación, pero a cambio hay que cuidar de no quedarse sin recursos (caracteres y sprites). Con el Spectrum, el C64 tiene en común las celdas de colores, pero con el Amstrad, aunque a nivel de aspecto ambos compartan "pixels ladrillo", a nivel de funcionamiento no tienen nada en común.

Para mirar en que modo esta programado un juego lo cargas en el VICE, abres el monitor Alt-H y miras el valor que hay en el registro correspondiente del VIC (no recuerdo). Imagino que el modo más común en juegos sea el alfanumérico multicolor.

Respecto de lo que comentas en tus posts anteriores, si cuando hacías C en Z80 acababas haciendo parte del código en ensamblador, para hacer la misma clase de cosas en C64 probablemente tengas que hacer lo mismo.

Mode 2

  • Commodorista
  • ***
  • Mensajes: 97
    • Ver Perfil
    • brick Fabrik
Re:Aprendiendo CC65
« Respuesta #3 en: Abril 29, 2023, 22:39:02 »
Muchísimas gracias Javier por tus respuestas.

Claro, la similitud no la trazaba en tema de funcionamiento, sino a nivel visual con los modos gráficos de los otros ordenadores. Seleccionaré muy bien de antemano los títulos que me convence visualmente a ver el tipo de modo que tiene, ya me imaginé que el modo de baja resolución con más color podría ser el más demandado de los tres, ya me has dejado con ganas de ver qué juegos están programados en este último modo, y cómo solventa el problema de los pocos caracteres, ¿Conoces algún título más o menos famoso que esté programado en el mismo?

Pues si te digo la verdad, Javier, lo que he hecho hasta el momento lo empecé en C, sí, pero he terminado haciéndolo en ensamblador, y es que puede resultar ridículo pero me resulta mucho más sencillo el asm z80 que el C, y no por lo que se dice la propia programación, sino que prefiero pegarme con el código que perder el tiempo, aburrirme, con el compilador, los ámbitos, los parámetros y toda la parafernalia de C (y mira que me gusta). Eso sí, quería hacer algo en C, y descansar algo el coco con tantas líneas de código más o menos exigente, y lanzarme con el CC65, pero ya he tenido mis escaramuzas en temas de depuración de ciertos errores, y ya le estoy temiendo lo suyo.
Por cierto, que me ha sorprendido lo bien que me estoy adaptando al 6502, eso sí, acabo de empezar. Seguiré mirando en ambos lenguajes. Creo que hacer la parte de la lógica menos exigente en C, ayuda a descansar mucho, luego, con la parte más crítica seguramente tendré que apoyarme en ensamblador, aunque creo que gran parte de la lógica de pintado que uso en mis programas para CPC sobra acá, por tener los sprites por hardware.

Saludos.
« última modificación: Abril 29, 2023, 22:44:03 por Mode 2 »
https://brickfabrik.webador.es/

BUSCO: VideoPac+, Jaguar, Saturn, Micromanía 1, Amstrad Semanal, MicroHobby, juegos especialmente CPC y Vectrex, Aquarius, Sam Copé, 520 ST, Everdrive SNES, manual +3, manual CPC664.