Autor Tema: Tutorial para comenzar a programar C en C64  (Leído 61009 veces)

Iapetus

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 245
    • Ver Perfil
Re:Tutorial para comenzar a programar C en C64
« Respuesta #45 en: Octubre 30, 2017, 13:15:21 »
Me acordé ahora de una cosa, hay otro lenguaje de alto nivel algo tipo C para c64, llamada Slang, quizá seria buena para quien quiere programar para la máquina sin usar asm.
« última modificación: Octubre 30, 2017, 13:17:13 por Wood »

Iapetus

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 245
    • Ver Perfil
Re:Tutorial para comenzar a programar C en C64
« Respuesta #46 en: Octubre 30, 2017, 13:29:18 »
Lo que sí, los juegos hechos en CC65 de Wood tienen rutinas hechas en ensamblador para mover bloques gráficos y tareas mas exigentes.

En la verdad la librería es muy cencilla y no me parece que tenga algo que no se pueda hacer en C. Lo que veo que podría ser más pesado son rutinas para pintar tiles, lo que en modo texto se puede hacer bien en C, en bitmap será más pesado. Y la otra cosa son las rutinas de interrupción que yo no he programado de modo genérico y hay que crear librerías nuevas para cada juego si hay cambios en la rutina de interrupción. Las interrupciones se pueden crear y llamar desde C pero yo como sabía hacer en asm lo hizo así para no perder tiempo mirando documentación. Por eso no veo cualquier problema para que no se programe más juegos en C sin uso de asm. Eso sí hay que conocer el hardware muy bien y eso puede que sea lo que lleve más tiempo para los nuevos programadores.

Mode 2

  • Commodorista
  • ***
  • Mensajes: 97
    • Ver Perfil
    • brick Fabrik
Re:Tutorial para comenzar a programar C en C64
« Respuesta #47 en: Octubre 30, 2017, 13:37:31 »
Gracias por vuestros aportes.

Todo depende, lo que vi yo es que el código que genera CC65 no era muy eficiente; pero eso no quiere decir que no puedas usarlo.

Dependiendo del tipo de juego, si programas en C "simple", atendiendo a las extensiones de CC65 (por ejemplo, puedes definir una variable local con "register" para que use la página cero), y las partes que necesiten velocidad están en ensamblador... creo que sí se podría, quizás a costa de usar un poco más de espacio.

Cuando uso C en una plataforma de 8-bits es para la parte de la lógica sobretodo, las rutinas gráficas van en ensablador normalmente. Pero eso es en ZX Spectrum y Amstrad CPC, que no tienen el soporte hardware del C64.
Efectivamente, eso es lo que dice Wood abajo, el hardware de C64 ayuda a que no te tengas que pegar con todas esas rutinas gráficas y demás.

Cuales son los problemas principales que tenéis en usar el código máquina? el 6510 es muy sencillo y tiene muy pocos mnemónicos al contrario del z80 por ejemplo?
Pues, no sé si es más difícil o más fácil pero mi único contacto ha sido con ensamblador de CPC y veo el 6510 bastante distinto al Z80. Lo mismo si me pongo no me cuesta tanto, pero el factor tiempo ahora es muy importante, por eso lo de hacerlo en C.  Y no solo eso sino entender el interior del C64 que cuando programas en ensamblador tienes que conocerlo mejor que con C u otro lenguaje de alto nivel.
Por otro lado, es cierto que acabo de descubrir un blog de desarrollo paso a paso de un juego en ensamblador gracias a josepzin que lo comenta en otro hilo. Además está otro (este en inglés) de "Guns & Ghosts" o algo así. Sobretodo es el factor tiempo, Wood.

Muchas gracias a ambos por vuestra respuesta. ;-)
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.

Iapetus

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 245
    • Ver Perfil
Re:Tutorial para comenzar a programar C en C64
« Respuesta #48 en: Octubre 30, 2017, 13:42:55 »
Por otro lado, es cierto que acabo de descubrir un blog de desarrollo paso a paso de un juego en ensamblador gracias a josepzin que lo comenta en otro hilo. Además está otro (este en inglés) de "Guns & Ghosts" o algo así. Sobretodo es el factor tiempo, Wood.
Entiendo, yo también he empezado en Z80 depués aprendi la programación de 6502, 6809 etc. El tutorial "Guns & Ghosts" es realmente muy bueno.

Has sacado juegos para CPC, tienes alguno link. Gracias

Mode 2

  • Commodorista
  • ***
  • Mensajes: 97
    • Ver Perfil
    • brick Fabrik
Re:Tutorial para comenzar a programar C en C64
« Respuesta #49 en: Octubre 30, 2017, 14:04:13 »
Entiendo, yo también he empezado en Z80 depués aprendi la programación de 6502, 6809 etc. El tutorial "Guns & Ghosts" es realmente muy bueno.

Has sacado juegos para CPC, tienes alguno link. Gracias
Pues publicamos hace un tiempo "Zombi terror reloaded" para Amstrad CPC. Empecé a hacerlo en BASIC, luego en C y finalmente lo hice en Ensamblador que es como está programado.
Video parte 1:
https://www.youtube.com/watch?v=oyCqWsiWOwY
Video parte 2:
https://www.youtube.com/watch?v=jxrDF-oIDS4

También estoy inmerso en acabar "Babaliba" que saldrá bajo ESP soft, a ver si para la edición de Amstrad eterno 3 puede ser, que ya se demora demasiado. Este empecé haciéndolo en C con Z88dk pero lo he rehecho en ensamblador. El video que te enlazo es muy antiguo, estaba hecho en C y no tenía implementado los tres pasos al moverse el protagonista por lo que parece que se "teletransporta" ¡¡Ja,ja!!
https://www.youtube.com/watch?v=o0VZoCcPIvw



Finalmente, ahora estamos inmerso en un proyecto multiplataforma que nos va a traer mucho curro y unos cuantos dolores de cabeza. Te dejo el enlace a la noticia en nuestro blog:
https://lunaticoretro.000webhostapp.com/hwgar-lo-nuevo-de-bitzarro-games/

¡Saludos!
« última modificación: Octubre 30, 2017, 14:10:08 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.

Iapetus

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 245
    • Ver Perfil
Re:Tutorial para comenzar a programar C en C64
« Respuesta #50 en: Octubre 30, 2017, 14:05:51 »
Pues publicamos hace un tiempo "Zombi terror reloaded" para Amstrad CPC. Empecé a hacerlo en BASIC, luego en C y finalmente lo hice en Ensamblador que es como está programado.
Video parte 1:

Video parte 2:


También estoy inmerso en acabar "Babaliba" que saldrá bajo ESP soft, a ver si para la edición de Amstrad eterno 3 puede ser, que ya se demora demasiado. Este empecé haciéndolo en C con Z88dk pero lo he rehecho en ensamblador. El video que te enlazo es muy antiguo, estaba hecho en C y no tenía implementado los tres pasos al moverse el protagonista por lo que parece que se "teletransporta" ¡¡Ja,ja!!


Finalmente, ahora estamos inmerso en un proyecto multiplataforma que nos va a traer mucho curro y unos cuantos dolores de cabeza. Te dejo el enlace a la noticia en nuestro blog:
https://lunaticoretro.000webhostapp.com/hwgar-lo-nuevo-de-bitzarro-games/

¡Saludos!
Muchas gracias Mode 2

Mode 2

  • Commodorista
  • ***
  • Mensajes: 97
    • Ver Perfil
    • brick Fabrik
Re:Tutorial para comenzar a programar C en C64
« Respuesta #51 en: Octubre 30, 2017, 14:08:49 »
De nada.

Se me olvidaba, Wood échale un ojo a este tutorial que tiene muy buena pinta ;-)
https://mscifu.wordpress.com/
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.

Iapetus

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 245
    • Ver Perfil
Re:Tutorial para comenzar a programar C en C64
« Respuesta #52 en: Octubre 30, 2017, 14:11:31 »
De nada.

Se me olvidaba, Wood échale un ojo a este tutorial que tiene muy buena pinta ;-)
https://mscifu.wordpress.com/
Gracias no conocía.

Mode 2

  • Commodorista
  • ***
  • Mensajes: 97
    • Ver Perfil
    • brick Fabrik
Re:Tutorial para comenzar a programar C en C64
« Respuesta #53 en: Octubre 30, 2017, 14:27:43 »
Gracias a ti, Wood. ;)
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.

josepzin

  • Administrador
  • Commodore Master
  • *****
  • Mensajes: 15020
  • Commodoreador web
    • Ver Perfil
    • Mi blog
Re:Tutorial para comenzar a programar C en C64
« Respuesta #54 en: Octubre 30, 2017, 14:44:59 »
Hay unos tutoriales muy buenos por ahí, en el hilo de Desarrollo tendría que poner algunas de estas referencias. Me lo apunto
www.retroinvaders.com | www.commodoreplus.org  | josepzin.blogspot.com

josepzin

  • Administrador
  • Commodore Master
  • *****
  • Mensajes: 15020
  • Commodoreador web
    • Ver Perfil
    • Mi blog
Re:Tutorial para comenzar a programar C en C64
« Respuesta #55 en: Octubre 30, 2017, 14:47:17 »
Amstradianos haciendo spam... habrá que banear gente... :P
www.retroinvaders.com | www.commodoreplus.org  | josepzin.blogspot.com

Mode 2

  • Commodorista
  • ***
  • Mensajes: 97
    • Ver Perfil
    • brick Fabrik
Re:Tutorial para comenzar a programar C en C64
« Respuesta #56 en: Octubre 30, 2017, 14:57:38 »
Amstradianos haciendo spam... habrá que banear gente... :P
No era mi intención, J. Por cierto, cepeceros, si no te importa. ;-)
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:Tutorial para comenzar a programar C en C64
« Respuesta #57 en: Octubre 30, 2017, 15:05:42 »
Acá tienes otro, Josepzin. ;-)
http://www.6502.org/tutorials/
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.

Iapetus

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 245
    • Ver Perfil
Re:Tutorial para comenzar a programar C en C64
« Respuesta #58 en: Octubre 30, 2017, 15:13:48 »
Y claro ;) http://codebase64.org/doku.php me ha sido útil muchas veces.

Iapetus

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 245
    • Ver Perfil
Re:Tutorial para comenzar a programar C en C64
« Respuesta #59 en: Octubre 30, 2017, 15:15:56 »
Otro en inglés, mirar en "Rants" y algunos de los juegos tienen el código fuente - uno de ellos con comentários detallados como funciona todo. https://cadaver.github.io/