Aprendiendo a Programar un C64

¿Qué necesito para comenzar a programar?

Puedes programar directamente en un c64 o mejor utiliza tu computador con windows, mac o linux.

IDE o editor:   Relaunch64 (editor que te permite compilar y lanzar el código que programas a un emulador de preferencia ), Kickass IDE, CBMprg Studio, CBM studio (integran aparte del editor de código, tiene editores de imagen, editores de Sprite, es una buena forma de comenzar a programar y otros elementos que configurarían un juego.)

Compilador : ACME, CC65,DASM, TASM, vass. kickass,

Emulador: VICE, FRODO,CCS64.

Programas adicionales:

Editor de sprites : spritePad, Spritemate, Pixcen.

Editor de caracteres: CharPad, VChar.

Editores de Imágenes: Project One, Pixcen, Multipaint, Timanthes.

Editor de sonido : GoatTracker, CheeseCutter, NinjaTracker, SidWizard.

Debuggers (programa para depuración de códigos): C65Debugger (lleva integrado el emulador Css64, permite ejecutar cualquier programa del c64 y mientras el programa se ejecuta todos los registros , todas las posiciones de memoria, todos los Sprites, todos los bitmaps que tenga el programa y editarlo, se puede editar en tiempo de ejecución , cual dirección de memoria, cualquier carácter y cualquier Sprite. Es un programa muy potente para ayudar a depurar errores que se pueda tener en el desarrollo y ver como van quedando y hacer modificaciones.

Convertir un Atari 65XE a un 130XE

Existen algunos modelos de 65XE donde es posible convertirlo a un 130XE adicionando dos chip de memoria LM2464-10 (extraidos de otro 65XE basado en la misma placa)  y el chip C022953 extraido de un 130XE. Se instalaron socalos para insertar chip y tener la posibilidad de extraerlos para pruebas futuras con otros equipos.

ampliacion-de-memoria-atari-65xe-ampliable-a-130XE

El proceso es muy sencillo si contamos con los elementos necesarios: Un cautin de 25W, un extractor de soldadura, Socalos de 18 y 16 pines y tener mucha precaucion con las queduras y usar proteccion ocular.

Placa interior-del-atari-65xe

El chip original C025953 (U34) se uso en ATARI 130XE y actualmente es muy difícil de conseguir y es necesario si desea ampliar la memoria RAM en una computadora de 8 bits.

chip-C022953-extraido-de-un-130XE

Programación en Python

Python conquistó la tercera posición en el índice TIOBE el año pasado, pero su popularidad sigue aumentando. Este mes ha alcanzado un nuevo máximo histórico en el 11,28%. Dado que Java se está acercando a su mínimo histórico desde 2001, Python y Java se están acercando bastante. La brecha es ahora inferior al 1,3%. Desde el inicio del índice TIOBE, C y Java siempre han ocupado las 2 primeras posiciones.

https://www.tiobe.com/tiobe-index/

Almacenar y Reutilizar Programas en el C64

Necesitará una  grabadora de casetes de datos  o la unidad de disco para almacenar  de forma permanente el programa que ha escrito o editado. Podrá   recuperar, editar y  utilizar el programa en el futuro las veces que lo necesite.

Para guardar mis programas en un nuevo disco es necesario preparar el disco para recibir datos esto es llamado «Formatear» el disco. asegúrese de encender la unidad de disco antes de insertar cualquier disco.

Para formatear un disco en blanco se debe tipear el este comando:

OPEN 15,8,15: PRINT# 15, «N,A$,B$»  //presionar RETURN

En lugar de A$, tipee el nombre del disco de su elección, puede utilizar hasta 16 caracteres para identificar su disco.

Reemplace B$ por un código de dos caracteres a elección por ejemplo «A3».

El cursor desaparecerá por  un segundo o menos. cuando el cursor parpadee de nuevo finalice cerrando el disco y  tipeando el siguiente comando:

CLOSE 15 // presione RETURN

El proceso de formateador de un disco en el C64 puede tardar alrededor de 80 segundos.

Mensajes de Error del C64

Tabla de Contenidos

BAD DATA 

Descripción del mensaje : Se recibieron datos de cadena de un archivo abierto, pero el programa esperaba datos numéricos.

Solución : asegúrese de que los datos se guardaron con un separador entre ellos.

BAD SUBSCRIPT 

Descripción del mensaje : El programa esta tratando de hacer referencia a un elemento de una matriz cuyo número está fuera del rango especificado en la declaración DIM.

Solución : Verifique que haya dimensionado la matriz correctamente. En modo directo. haga que el c64 imprima el valor del subíndice como una pista.

BREAK

Descripción del mensaje : La ejecución del programa se detuvo porque se ha presionado la tecla STOP.

Solución : utilice  el comando CONT para iniciar nuevamente el programa.

CAN´T CONTINUE

Descripción del mensaje : el comando CONT no funcionará, ya sea porque el programa nunca se ejecutó, ha habido un error o se ha editado una línea de código.

Solución : Probablemente hiciste una corrección, vuelve a ejecutar el programa.

DEVICE NOT PRESENT

Descripción del mensaje : El dispositivo requerido no esta presente para OPEN,CLOSE,CMD, PRINT#,INPUT#, o GET#.

Solución : Verifique que el periférico al que está llamando esté encendido y que se use la declaración OPEN es la adecuada.

DIVISION BY ZERO

Descripción del mensaje : La división por cero no esta permitida.

Solución : Ordene al c64 que imprima las variables sospechosas para determinar cuál se convirtió en cero.

EXTRA IGNORED

Descripción del mensaje :Se escribieron demasiados elementos de un dato en respuesta a una declaración de entrada. sólo se aceptaron los primeros artículos.

Solución : revisa tu puntuación.

FILE NOT FOUND

Descripción del mensaje : El archivo con el nombre especificado no existe.

Solución : Verifique que tenga la cinta o el disco correctos y que haya escrito el nombre correctamente. tenga en cuenta especialmente los caracteres de espaciado y mayúsculas.

FILE NOT OPEN

Descripción del mensaje : El archivo especificado en CLOSE, CMD, PRINT# , INPUT#, o GET#, debe abrirse primero. 

Solución : Abra el archivo, verifique que utilizó el número de archivo correcto.

FORMULA TOO COMPLEX

Descripción del mensaje : La expresión en cadena que se esta evaluando debe dividirse en al menos dos partes para que el sistema funcione, o una formula tiene demasiados paréntesis.

Solución : Use cadenas mas pequeñas. Reducir el numero de paréntesis.

ILEGAL DEVICE NUMBER

Descripción del mensaje : ocurre cuando intenta acceder a un dispositivo no permitido. 

Solución : Use el numero correcto del dispositivo.

ILEGAL DEVICE NUMBER

Descripción del mensaje : ocurre cuando intenta acceder a un dispositivo no permitido. 

Solución : Use el numero correcto del dispositivo.

MESSAGEWhat the Problem isWhat to Do
BAD SUBSCRIPTThe program was trying to reference an element of an array whose number is outside the range specified in the DIM statement.Verify you hhave dimensioned the array properly. In direct mode, have the C64 print the avlue of the subscript as a clue.
BAD DATAString data was recieved from an open file, but the program was expecting numeric data.Make sure data was saved with a separator between each.
BREAKProgram execution was stopped beacuse you hit the STOP keyUse the CONT command to proceed or reRUN the program
CAN´T CONTINUEthe CONT command wil not work, either because the program was never RUN, there has ben an error, or a lines has been editedYou probably made a correction, reRUN the program.
DEVICE NOT PRESENTThe required I/O device not avaliable for a OPEN , CLOSE, CMD, PRINT #, INPUT#, or GET#.Verify the peripheral you are calling for is on proper OPEN statement is used.
DIVISION BY ZERODivision by zero is a mathematical oddity and not allowed.Command C64 to print the suspect variables to determine which one bacame a zero.
EXTRA IGNOREDToo many items of a data were typed in response to an INPUT statement. Only the first few items were accepted.Check your punctuation.
FILE NOT FOUNDNo file theat name exists.Verify you have the correct tape or disk and you spelled the name correctly, note especially spacing and upper-case characters.