¿Como empezar a programar para Commodore 64?

Si tienes alguna duda y crees que alguien podría resolverla, ponla aquí. || If you have any doubt about programming, post it here.

Moderador: CEZ

Responder
Avatar de Usuario
josepzin
128 bits
128 bits
Mensajes: 2238
Registrado: 25 Oct 2005 18:03
Ubicación: Carthagonova
Contactar:

¿Como empezar a programar para Commodore 64?

Mensaje por josepzin »

Tengo esta inquietud desde hace bastante....

¿Como empiezo a programar para Commodore 64?

Debo decir que entre 1987 y 1992 tuve un C64, hice muchas cosas en Basic (incluidos juegos simples) y que sabía programar en Codigo Maquina, no llegué a usar Assembler porque no tenía disquetera, aunque estuve a punto de terminar un compilador de Assembler para cinta programado en codigo maquina desde el "monitor"... (lo pienso ahora y me resulta increible!!)
Pero nunca hice un juego, como mucho algun mini-demo gráfica... cosas muy simples.

Pero eso fue hace 15 años! no digo que me haya olvidado de todo, pero supongo que de mucho sí.

Tengo guardados (en casa de mis padres, a miles de km.) los manuales de las instrucciones del 6510/6502? y varias cosas más de aquellas epocas.
Pero me imagino que habrá material que se pueda conseguir por internet.

Por otro lado, me interesaría saber cómo es la forma de trabajar de los commodorianos que hay por aquí... o sea, conocer la metodología de trabajo actual, que programas usan para codificar, probar, hacer los gráficos, etc.

No sé si podré ponerme a hacer algo (el tiempo...) pero al menos si puedo hacerlo, tendré la información.

Salutes!

Avatar de Usuario
WoodMaster
32 bits
32 bits
Mensajes: 697
Registrado: 13 Jul 2007 15:31
Ubicación: Fi algharb alandalus

Mensaje por WoodMaster »

Hola josepzin,

Ya te diré algo(es Domingo y voy a salir con la familia pronto), los assemblers que se usa actualmente, lo que hay de documentacion y programas para ayudar a desarollar pal c64. También hablaré algo de como yo programo para el c64.


Hay una cosa importante, que tal tu te das con el idioma de Shakespeare? :twisted:

Avatar de Usuario
josepzin
128 bits
128 bits
Mensajes: 2238
Registrado: 25 Oct 2005 18:03
Ubicación: Carthagonova
Contactar:

Mensaje por josepzin »

Hombre, no hay apuro! a ver cuando podré aplicar algo de todo esto... :S

El english técnico se me da bien leerlo, que para esto es suficiente
Y si mal no recuerdo, mis apuntes y fotocopias de la epoca eran todas en ingles asi que... ;)

Avatar de Usuario
Commodoriano
16 bits
16 bits
Mensajes: 232
Registrado: 31 May 2006 16:52

Mensaje por Commodoriano »

El amigo Fermin de Commodoremania tiene un par de cosas por aquí puestas...

http://www.cuaproc64.tk/

Avatar de Usuario
davidcm
32 bits
32 bits
Mensajes: 547
Registrado: 18 Sep 2007 22:25
Ubicación: Barcelona
Contactar:

Mensaje por davidcm »

Yo no puedo decir mucho porque apenas llevo dos días con el tema del 6502 y no para C64, pero te dejo aquí algunos recursos que he encontrado, bien vía Google bien vía WoodMaster (no son muchos porque como digo llevo poco tiempo con ello, y porque la mayoría de los que tengo son estrictamente relacionados con la NES).

CC65, el compilador C y ensamblador que estoy utilizando (WoodMaster utiliza otro, no recuerdo cual):
http://www.cc65.org/

La "casa" del 6502:
http://www.6502.org/

Documento experimental sobre instrucciones no documentadas:
http://www.neshq.com/6502program/6502-N ... pcodes.htm

Plugin para editar ensamblador de 6502 en Eclipse:
http://home.chello.no/~gstraume/c64/cpu6502_0.5.0.zip
"The sore in my soul. The mark in my heart. Her acid reign."

Avatar de Usuario
WoodMaster
32 bits
32 bits
Mensajes: 697
Registrado: 13 Jul 2007 15:31
Ubicación: Fi algharb alandalus

Mensaje por WoodMaster »

Recursos:
- Informacion:
- All about your c64: http://www.the-dreams.de/aay.html
- C64 programmer's reference guide
http://www.zimmers.net/cbmpics/cbm/c64/c64prg.txt
- Tutorial http://noname.c64.org/csdb/release/?id=8717


- Assemblers:
- ACME http://www.esw-heim.tu-clausthal.de/~ma ... brod/acme/
- Dasm(y otras herramientas) http://cadaver.homeftp.net/tools.htm
- CA65 http:// http://www.cc65.org y http://www.cc65.org/doc/ca65.html
- Kickassembler http://www.theweb.dk/KickAssembler/Main.php

------------------

La pagina de Fermin que davidcm ya ha aseñalado es muy buena tambien para aprender sobre el c64 y tiene herramientas y documentos para bajar. La recomiendo.

Las herramientas que uso son:

- Crimson editor http://www.crimsoneditor.com/
- Kickassembler (ver arriba)
- Pucrunch http://noname.c64.org/csdb/release/?id=6089
- Y estes editores de bitmap,chars y sprites:
- Project One: http://noname.c64.org/csdb/release/?id=39261
- CharPad: http://noname.c64.org/csdb/release/?id=26959
- SpritePad: http://noname.c64.org/csdb/release/?id=26944


Bueno me parece que esto es todo lo que es necesario. Notad que todo esto es para programacion del c64 usando el PC.

Avatar de Usuario
josepzin
128 bits
128 bits
Mensajes: 2238
Registrado: 25 Oct 2005 18:03
Ubicación: Carthagonova
Contactar:

Mensaje por josepzin »

Puf! cuanta información!!

Estuve mirando los editores de caracteres y de sprites y me gustaron muchisimo!!! cuantos recuerdos... esos pixels ladrillos! esos colores! :D:D

En el tema ensambladores ya la cosa es mas delicada y tendré que mirar con más detenimiento.

Me pregunto si podré comprobar el efecto "andar en bicicleta", me explico: se dice que una vez que aprendiste a ir en bici ya nunca se olvida... en su epoca manejé bastante el CM, al nivel de hacer scrolles suaves, mover sprites y algo mas... a ver si al querer hacer algunas cosas vuelve algunos de esos conocimientos a mi!

Gracias a todos por los enlaces :)

Y WoodMaster: si tienes consejos o mini-instrucciones de cómo es tu forma de trabajar, se agradece igualmente. De todas maneras si arranco con esto, ya preguntaré mas cosas.

Avatar de Usuario
Commodoriano
16 bits
16 bits
Mensajes: 232
Registrado: 31 May 2006 16:52

Mensaje por Commodoriano »

Dándole pa bajo en esta página hay un ensamblador que funciona bajo windows que a lo mejor os sirve de algo...

http://www.luigidifraia.com/c64/index.htm


También hay unas utilidades para crear TAPs muy cucas...

Avatar de Usuario
josepzin
128 bits
128 bits
Mensajes: 2238
Registrado: 25 Oct 2005 18:03
Ubicación: Carthagonova
Contactar:

Mensaje por josepzin »

En uno de los enlaces hay una entrevista que habla sobre una librería "IDEAL" para el ensamblador de la C64, ¿alguien sabe de que se trata?

http://www.terra.es/personal9/ferminhernandez/acero.htm
http://www.cuaproc64.tk -> Entrevista con Fernando Acero
* fermhg: ¿Qué métodos recomiendas para programar una demo o un juego?
* Fernando: Yo soy de la línea dura siempre utilicé el código máquina, era rápido eficiente y había buenas librerías como las IDEAL que te solucionaban muchas cosas. Si te dedicabas al Basic por el hardware siempre acababas con los peeks y pokes y eso era una lata. El código máquina es más directo, además el del 6502 era relativamente sencillo y los direccionamientos muy intuitivos.
Última edición por josepzin el 01 Oct 2007 11:37, editado 1 vez en total.

Avatar de Usuario
WoodMaster
32 bits
32 bits
Mensajes: 697
Registrado: 13 Jul 2007 15:31
Ubicación: Fi algharb alandalus

Mensaje por WoodMaster »

josepzin escribió:En uno de los enlaces hay una entrevista que habla sobre una librería "IDEAL" para el ensamblador de la C64, ¿alguien sabe de que se trata?
* fermhg: ¿Qué métodos recomiendas para programar una demo o un juego?
* Fernando: Yo soy de la línea dura siempre utilicé el código máquina, era rápido eficiente y había buenas librerías como las IDEAL que te solucionaban muchas cosas. Si te dedicabas al Basic por el hardware siempre acababas con los peeks y pokes y eso era una lata. El código máquina es más directo, además el del 6502 era relativamente sencillo y los direccionamientos muy intuitivos.
http://www.terra.es/personal9/ferminhernandez/acero.htm
http://www.cuaproc64.tk -> Entrevista con Fernando Acero
Nunca he oido hablar de esa libreria... seria interesante poder darle una mirada.

Avatar de Usuario
josepzin
128 bits
128 bits
Mensajes: 2238
Registrado: 25 Oct 2005 18:03
Ubicación: Carthagonova
Contactar:

Re: ¿Como empezar a programar para Commodore 64?

Mensaje por josepzin »

Haciendo un poco de foroarqueología refloto este hilo :P

En estos días, gracias al simpático virus Conficker que se activó el 1º de abril en mi WinXP, decidí reinstalar mi Ubuntu antediluviano de pruebas y convertirlo en mi sistema de trabajos. Lo llevo muy bien, ya tengo casi todo funcionando y estoy muy conforme :)

A lo que iba, mirando en el repositorio de paquetes, bajo el nombre de "Commodore" aparece el emulador Vice, algunos juegos y un paquete con el nombre de xa65, que resulta ser un ensamblador cruzado para toda la familia de procesadores 65x (y no se cuantos mas).

Yo siempre sigo con mi idea de hacer algunas tonterías para C64, asi que instalado está :D
What is xa?
xa is a high-speed, two-pass portable cross-assembler. It understands mnemonics and generates code for NMOS 6502s (such as 6502A, 6504, 6507, 6510, 7501, 8500, 8501, 8502 ...), CMOS 6502s (65C02 and Rockwell R65C02) and the 65816.
URL de xa65: http://www.floodgap.com/retrotech/xa/

Un pequeño ejemplo de uso (aunque para Atari): http://www.tuxpan.cl/fcatrin/es/comment ... d=20080418
$ cat test.asm
.word $FFFF
.word start
.word end-start
* = $600
code

start
lda #0
sta 710
loop jmp loop
end

$ xa test.asm -o test.xex
$ atari800 test.xex

Juno
64 bits
64 bits
Mensajes: 939
Registrado: 16 Oct 2007 16:35
Ubicación: Tuestelandia

Re: ¿Como empezar a programar para Commodore 64?

Mensaje por Juno »

Aprovechando la coyuntura aquí tienes el C64 Programmer's Reference Guide en varios PDF, que es mucho más cómodo que el enorme TXT que hay por aquí.

http://www.megaupload.com/?d=FOQDRP26

Avatar de Usuario
josepzin
128 bits
128 bits
Mensajes: 2238
Registrado: 25 Oct 2005 18:03
Ubicación: Carthagonova
Contactar:

Re: ¿Como empezar a programar para Commodore 64?

Mensaje por josepzin »

Juno escribió:Aprovechando la coyuntura aquí tienes el C64 Programmer's Reference Guide en varios PDF, que es mucho más cómodo que el enorme TXT que hay por aquí.

http://www.megaupload.com/?d=FOQDRP26
Descargado :)

Avatar de Usuario
Nicogalis
16 bits
16 bits
Mensajes: 108
Registrado: 31 Mar 2008 12:44

Re: ¿Como empezar a programar para Commodore 64?

Mensaje por Nicogalis »

Descargado juno, gracias por el enlace. Por cierto que os parece este nuevo entorno de programación en Basic? parece bastante prometedor para iniciarse a programar en commodore.
http://8bitcentral.com/dotbasic/

frankiejcr
8 bits
8 bits
Mensajes: 7
Registrado: 03 Ene 2010 23:12

Re: ¿Como empezar a programar para Commodore 64?

Mensaje por frankiejcr »

En el siguiente enlace encontrareis la Biblioteca de Alejandria para todo lo relacionado con LA PROGRAMACION para el Commodore 64.

Creo que hay que darle a la escena del C64 lo que se merece, por lo que aqui va un pequeño aporte :

http://retro-roms.blogspot.com/2009_11_01_archive.html

Para descargar cada enlace, lineas en color naranja, teneis que copiar y pegar linea por linea en nuevas pestañas del navegador, y darle a la tecla ENTRAR para que se carguen las páginas.

Avatar de Usuario
josepzin
128 bits
128 bits
Mensajes: 2238
Registrado: 25 Oct 2005 18:03
Ubicación: Carthagonova
Contactar:

Re: ¿Como empezar a programar para Commodore 64?

Mensaje por josepzin »

uff.. cuantos enlaces :O ¿Por donde empiezo??? Hagggg!!

Avatar de Usuario
sejuan
64 bits
64 bits
Mensajes: 866
Registrado: 15 Jun 2006 16:44
Ubicación: Amarion
Contactar:

Re: ¿Como empezar a programar para Commodore 64?

Mensaje por sejuan »

... y todos en inglés... yo debería de ir empezando por aprenderlo. :oops:

frankiejcr
8 bits
8 bits
Mensajes: 7
Registrado: 03 Ene 2010 23:12

Re: ¿Como empezar a programar para Commodore 64?

Mensaje por frankiejcr »

Hola de nuevo!!! He encontrado la fuente original de la Biblioteca de Alejandria para todo lo relacionado con la programación del Commodore 64 , y mucho más, incluyendo también libros de programación y referencia del Commodore Amiga.

Es una página increible, con libros, manuales, revistas... todo retro :eek: y con una calidad de escaneado perfecta. Son en inglés, muchos de ellos son las versiones originales de los mejores libros de programación del C64 que estuvieron disponibles en español. Me refiero a los libros de la editorial alemana Data Becker. Estos libros fueron editados en España por Ferre Moret S.A. Encontrareis en la página TODAS las versiones en inglés de la editorial Abacus Software. Son los mejores manuales de referencia para aprender a programmar gráficos, sonido, lenguaje máquina, videojuegos, etc... Casi 400 libros, entre los del C64 y Amiga. En total unos 6 Gigas de historia y conocimiento técnico. :D

Los libros aparecen como fotografias de sus portadas que hacen de enlace a los archivos en formato PDF.

La página tiene bastantes actualizaciones. En los últimos 4 dias han subido unos 5 libros nuevos escaneados. Recordad que la página está abierta a recibir libros relacionados donados (y devueltos) para ser escaneados y ser puestos a disposición del público de forma totalmente altruista. Son clásicos que no se encuentran facilmente en el mercado. Yo mismo me estoy planteando escanear algunos libros que tengo y enviarlos, me parece un proyecto de preservación y consulta admirable.

No me resultó nada facil encontrar la dirección del proyecto original. Aqui la teneis :

El indice general de contenidos :
http://www.bombjack.org/commodore/

Libros del Commodore 64, el Vic 20 y los PET :
http://www.bombjack.org/commodore/books.htm

Libros del Commodore Amiga :
http://www.bombjack.org/commodore/amiga-books.htm

Que os parece? :-k

Estan faltando juegos nuevos para el C64... [-o< Manos a la obra !!! ](*,)

P.D. Si teneis problemas con el inglés, dos apuntes :
1) El inglés técnico para microinformática es facil de entender.
2) Una buena ayuda : http://translate.google.com/#es|en|

Avatar de Usuario
josepzin
128 bits
128 bits
Mensajes: 2238
Registrado: 25 Oct 2005 18:03
Ubicación: Carthagonova
Contactar:

Re: ¿Como empezar a programar para Commodore 64?

Mensaje por josepzin »

frankiejcr: buenisimo!!! Ya me he descargado varios :)

Avatar de Usuario
sejuan
64 bits
64 bits
Mensajes: 866
Registrado: 15 Jun 2006 16:44
Ubicación: Amarion
Contactar:

Re: ¿Como empezar a programar para Commodore 64?

Mensaje por sejuan »

josepzin cuenta conmigo para hacerte los gráficos del proyecto si te animas. :)

Avatar de Usuario
josepzin
128 bits
128 bits
Mensajes: 2238
Registrado: 25 Oct 2005 18:03
Ubicación: Carthagonova
Contactar:

Re: ¿Como empezar a programar para Commodore 64?

Mensaje por josepzin »

sejuan escribió:josepzin cuenta conmigo para hacerte los gráficos del proyecto si te animas. :)
¡¡Gracias!!

Por ahora estoy haciendo la libreria "EightSpriter", ya casi tengo resuelto el tema de los sprites, y a punto de meterme con los charsets, aunque voy a mejor velocidad de la que me esperaba, voy chocando con obstáculos muy básicos, ya que al mismo tiempo voy aprendiendo C y la arquitectura de C64... por suerte en ambas cosas tengo una base, pero el tiempo pasa factura :p

Avatar de Usuario
josepzin
128 bits
128 bits
Mensajes: 2238
Registrado: 25 Oct 2005 18:03
Ubicación: Carthagonova
Contactar:

Re: ¿Como empezar a programar para Commodore 64?

Mensaje por josepzin »

Aunque parezca increíble, sigo haciendo cosas, eso sí, a paso de tortuga...

Mi librería en C "EightSpriter" ya casi está lista, al menos la parte de gestionar sprites, colisiones y leer el joystick, los tiles de caracteres funcionan pero no muy fino. Igual un poco más y ya me podría largar a crear "algo"...
sejuan escribió:josepzin cuenta conmigo para hacerte los gráficos del proyecto si te animas. :)
Quien sabe, quizás haya Nelo&Quo para C64! :P

Avatar de Usuario
na_th_an
256 bits
256 bits
Mensajes: 11874
Registrado: 22 Abr 2005 13:25
Contactar:

Re: ¿Como empezar a programar para Commodore 64?

Mensaje por na_th_an »

josepzin escribió: Mi librería en C "EightSpriter" ya casi está lista, al menos la parte de gestionar sprites, colisiones y leer el joystick, los tiles de caracteres funcionan pero no muy fino. Igual un poco más y ya me podría largar a crear "algo"...
Yo llevo meses a punto de ponerme a hacerme una para mí... ¿Me espero y no reinvento la rueda? :lol:

Avatar de Usuario
josepzin
128 bits
128 bits
Mensajes: 2238
Registrado: 25 Oct 2005 18:03
Ubicación: Carthagonova
Contactar:

Re: ¿Como empezar a programar para Commodore 64?

Mensaje por josepzin »

na_th_an escribió:Yo llevo meses a punto de ponerme a hacerme una para mí... ¿Me espero y no reinvento la rueda? :lol:
La librería está publicada en SourceForge (estoy usando Subversion) aunque ahora está desactualizada, si quieres puedes usar lo que llevo hecho como base, como inspiración, como ideas, o mejorar lo que yo hice, o colaborar conmigo (o mejor dicho yo contigo!!) para sacar una librería decente :P

Avatar de Usuario
na_th_an
256 bits
256 bits
Mensajes: 11874
Registrado: 22 Abr 2005 13:25
Contactar:

Re: ¿Como empezar a programar para Commodore 64?

Mensaje por na_th_an »

No creas, soy muy novato con las máquinas de Commodore. De todos modos me gustaría echarle un vistazo. Voy a buscar por sourceforge :)

Avatar de Usuario
sejuan
64 bits
64 bits
Mensajes: 866
Registrado: 15 Jun 2006 16:44
Ubicación: Amarion
Contactar:

Re: ¿Como empezar a programar para Commodore 64?

Mensaje por sejuan »

josepzin escribió:Aunque parezca increíble, sigo haciendo cosas, eso sí, a paso de tortuga...

Mi librería en C "EightSpriter" ya casi está lista, al menos la parte de gestionar sprites, colisiones y leer el joystick, los tiles de caracteres funcionan pero no muy fino. Igual un poco más y ya me podría largar a crear "algo"...
sejuan escribió:josepzin cuenta conmigo para hacerte los gráficos del proyecto si te animas. :)
Quien sabe, quizás haya Nelo&Quo para C64! :P
[-o<

Avatar de Usuario
josepzin
128 bits
128 bits
Mensajes: 2238
Registrado: 25 Oct 2005 18:03
Ubicación: Carthagonova
Contactar:

Re: ¿Como empezar a programar para Commodore 64?

Mensaje por josepzin »

na_th_an escribió:No creas, soy muy novato con las máquinas de Commodore. De todos modos me gustaría echarle un vistazo. Voy a buscar por sourceforge :)
Si, pero tienes claro qué debe hacer una rutina de sprites, qué tipo de funciones necesitas, etc. En ese sentido yo voy haciendo funciones por separado.
Aquí está el enlace al proyecto: http://sourceforge.net/projects/eightspriter/ (anoche lo actualicé)
Estoy haciendo un wiki con todas las funciones: http://josezanni.com/mis-proyectos/eigh ... r/doku.php (aunque tengo que darle un repaso porque hay cosas que no sé si estan actualizadas, sobre todo la función de crear los sprites que es lo que estuve haciendo en estos días, lo que hice antes funciona pero no es lo que hace falta.
Por eso sería interesante ver el enfoque que se le puede dar a las funciones desde tu punto de vista, que las estas usando. Mi intento de inspirarme en las de Spectrum no me sirvio de mucho...
Ah! Las funciones de charset no van muy bien, y la de sprites todavía hace algo raro al cambiar de banco del VIC, a ver si en estos días puedo arreglar esto último!

sejuan: envíame los sprites del personaje, asi al menos en mis pruebas voy moviendo tu grafico y no los de Uwol, que ya tiene versión para C64 :D :D
Última edición por josepzin el 18 May 2011 12:11, editado 1 vez en total.

Avatar de Usuario
Indiana K. Jones
32 bits
32 bits
Mensajes: 446
Registrado: 26 Ene 2009 14:30
Ubicación: ¡De aquí, de Madrí!

Re: ¿Como empezar a programar para Commodore 64?

Mensaje por Indiana K. Jones »

Hace años que tengo en mente iniciarme en la programación para Commodore 64 y por fin me he decidido. Ya voy por el paso número dos... El primero ha sido conectar la fuente de alimentación, encender la tele, el ordenador... :lol: :P

Ahora mismo estoy un poco estancado porque algunas teclas no funcionan. La E, por ejemplo, ha fallecido, así que tendré que solucionar estos contratiempos antes de seguir. Además, es una put... para jugar a las aventuras conversacionales porque, en este caso en concreto, no puedo ir al ESTE ](*,)

En serio, me tengo que poner un día, pero partiendo desde cero (y si me apuráis desde negativo), así que a ver si os curráis un tutorial para lerdos y ya tengo por donde empezar... :wink:

¡Un saludo y ánimo! ¡No os dejéis engañar! ¡No renunciéis! ¡Qué es el Commodore, coñ...! (versión libre de la conversación aquella famosa del 23-F :P )

Avatar de Usuario
josepzin
128 bits
128 bits
Mensajes: 2238
Registrado: 25 Oct 2005 18:03
Ubicación: Carthagonova
Contactar:

Re: ¿Como empezar a programar para Commodore 64?

Mensaje por josepzin »

Indiana K. Jones escribió:En serio, me tengo que poner un día, pero partiendo desde cero (y si me apuráis desde negativo), así que a ver si os curráis un tutorial para lerdos y ya tengo por donde empezar... :wink:
Programa desde el PC! es más fácil :P
Lobogris se está currando unos tutoriales muy buenos: http://back2theretro.blogspot.com/searc ... Tutoriales

Avatar de Usuario
na_th_an
256 bits
256 bits
Mensajes: 11874
Registrado: 22 Abr 2005 13:25
Contactar:

Re: ¿Como empezar a programar para Commodore 64?

Mensaje por na_th_an »

Le estoy echando un vistazo y me gusta, el código está comentado y muy limpio :-) En cuanto tenga rato me instalo el target C64 del compilador y enredo un poco.

Creo que mirar cómo meter ASM en linea y "mezclarlo" con C (pasar valores y variables) podría venir muy bien, porque muchas de estas funciones son sencillas y se pueden pasar a ASM facilmente.

Responder