Me he topado con este video que me ha dejado ojiplático o_O No se si alguno de los que aquí lleváis montones de tiempo programando para el C64 habíais visto esto o se os había ocurrido intentarlo. Se trata de programar PARA Commodore 64 en el lenguaje C++ Se que hay algun tipo de C para C64,pero C++ es bastante diferente. Aunque está basado en C, y hay muchísimas cosas "compatibles" es un lenguaje que necesita más recursos de inicio, por lo que tener un compilador C++ en C64 supongo que es imposible. Aunque no me he puesto a mirar y podría estar diciendo una burrada.
¿Asi es que como se hace? Pues a ver.. si lo he entendido bien sería algo así. Se hace en un PC ,en el video usa linux pero imagino que podrá valer en windows. Se escribe el código en C++ y se obtiene como veis en el vídeo el equivalente en ensamblador para x86. El truco está que desde el programa C++, el sujeto que hace este video hace llamadas directas a memoria a las posiciones que son las que quisieras manejar/manipular/leer en el C64, es decir, lo equivalente a pokes y peeks para leer o escribir. Si eso se ejecutara en un PC seguramente sería catástrofe al acceder a posiciones protegidas o vete a saber, pero ese código no funcionará finalmente en un PC Una vez obtenido el equivalente del programa C++ en ensamblador x86 parece que usa un compiler o herramienta especial "x86-to-6502" que hace el trabajo duro de transformar el ensamblador x86 a código máquina del 6502, y hace que el resultado lo saque por pantalla. Entonces copia ese texto y lo pega en el programa Turbo Macro 1.2 de C64,usando emulador claro. Finalmente se ejecuta y tachán.. funciona..
Alguno dira.. pues vaya currada para solo unas líneas que podrías hacer directamente en C64. Sí, cierto. Pero con (mucho) tiempo y ganas se podría crear un IDE en PC que pudieras programar directamente en C++, y pulsando un botoncito automáticamente haría todo el proceso anterior y se visualizaría en el emulador. NO es lo mismo que por ejemplo el CBM prg Studio, en el CBM hay que programar en Basic o en ensamblador del 6502. Aqui solo programarías en C++ que quitada la barrera inicial de entender lo de los objetos es un lenguaje tremendamente potente
Así en poco tiempo podrias hacerte tus propias librerías chulas C++ para manejar puertos, joysticks, zonas de memoria, sprites, crear objetos de soldado, de nave, de bala.. Reutilizarlas, mejorarlas, Yo creo que los que sepáis C++ sabéis a qué me refiero.
Bueno pues ahí lo dejo.. no se si alguien algún día le gustaria tomar este proyecto, no se si ya hay algo en marcha o a medias o finalizado pero me gustaria saber vuestra opinión

Un ejemplo sencillo y de lo que podría ser en C++ crear un nuevo soldadito y mostrarlo por pantalla en la posición 50,80 ya con atributos de resistencia,velocidad y todo lo que se ocurriera

Soldado patoso = new Soldado(20,5);//Soldado (int Resistencia,int velocidad)
patoso.show(50,80);
y aqui matamos al soldado patoso XD
patoso.death();
https://www.youtube.com/watch?v=nLv_INgaLq8