[noob] Recuperar programa escrito
- brunoip
- Check Point!
- Mensajes: 23199
- Registrado: 09/06/10 11:31
- Frase: Aguante el n64 vieja, no me importa nada
- Contactar:
[noob] Recuperar programa escrito
Hola, hoy vengo con una pregunta noob. El tema es así, escribo un programa en la commodore 64, le doy Run y tira un error porque en algún lado escribí algo mal, se puede recargar el programa para corregirlo o hay que escribirlo todo de nuevo?
Re: [noob] Recuperar programa escrito
Si.. Si pones LIST debería mostrarte el programa
Luego pones nro de linea a reemplazar con el nuevo código
Ej:
List
10 print "hol"
20 print "fede"
Me comí la a
Pongo:
10 print "hola"
Y lo corrige
Luego pones nro de linea a reemplazar con el nuevo código
Ej:
List
10 print "hol"
20 print "fede"
Me comí la a
Pongo:
10 print "hola"
Y lo corrige
Disponible... llamar al 123312394834
- brunoip
- Check Point!
- Mensajes: 23199
- Registrado: 09/06/10 11:31
- Frase: Aguante el n64 vieja, no me importa nada
- Contactar:
Re: [noob] Recuperar programa escrito
alguien nota que hice mal?
quería hacer este programa para probar los joys
http://www.lemon64.com/forum/viewtopic. ... 08c31dd8a2
quería hacer este programa para probar los joys
http://www.lemon64.com/forum/viewtopic. ... 08c31dd8a2
- Nightwarex
- Mortal Kombat Player
- Mensajes: 1269
- Registrado: 08/09/14 13:00
- Frase: La ignorancia se paga caro
- Ubicación: Córdoba
Re: [noob] Recuperar programa escrito
Lo voy a ver, pero estoy bastante oxidado
Fijate aca http://www.commodore.ca/manuals/c64_pro ... _guide.pdf
(pagina 344)
Que es de donde saco el programa ese, quizas sea mas facil probar con ese, o ver que es lo que esta mal
Fijate aca http://www.commodore.ca/manuals/c64_pro ... _guide.pdf
(pagina 344)
Que es de donde saco el programa ese, quizas sea mas facil probar con ese, o ver que es lo que esta mal
Re: [noob] Recuperar programa escrito
Imagino que habrás buscado el error, pero por las dudas:
http://www.devili.iki.fi/Computers/Comm ... e_400.html
BAD SUBSCRIPT The program was trying to reference an element of an array whose number is outside of the range specified in the DIM statement.
http://www.devili.iki.fi/Computers/Comm ... e_400.html
BAD SUBSCRIPT The program was trying to reference an element of an array whose number is outside of the range specified in the DIM statement.
Re: [noob] Recuperar programa escrito
Hay que cambiar el 15 por 16 en la linea que da error
Esto FR=JV AND 15 por esto FR=JV AND 16
Explicacion:
Estas pidiendo un valor del vector mas grande que el limite del vector...
O sea vos tenes DR$ del 0 al 10 (11 posiciones)... donde DR$(1) es "UP", DR$(2) es "DOWN"... y el ultimo es DR$(10) es "DO/RI"
El valor JV que estas usando en la linea 125, PRINT DR$(JV), esta fuera de rango. O sea que JV debe ser 14, 15.. o algun valor mayor al limite del vector que es 10.
Para comprobar que valor tiene JV antes de hacer llamada erronea, crea una linea
124 PRINT "JV VALOR:" : PRINT JV
Deberias fijarte porque JV vale mas que 10...
Por lo que lei en la guia tenes en los primeros 5 bits las lecturas del puerto del joystick, lo que pasa que el PEEK lee el byte entero. Por eso usa el AND para despejar el valor que le interesa
Los bits del joystick se interpretan asi:
Bit 1 Prendido: Up
Bit 2 Prendido: Down
Bit 3 Prendido: Left
Bit 4 Prendido: Right
Bit 5 Prendido: Fire
Si haciendo JV=PEEK(56231)
Por ejemplo
El bit 2 y 4 esta prendido, o sea que el joystick esta DOWN+RIGHT, y el bit 5 esta prendido, o sea que ademas esta el boton de disparo.
Si sumamos las potencias de 2, el valor de JV es (bit1) 2 + (bit 4) 8 + (bit 5) 16 = 26
O sea que JV=PEEK(56231) te guarda en JV el valor 26.
Por ejemplo con esto
FR=JV AND 16
despeja solo el bit del joystick
Si FR vale 16, el bit 5 estaba prendido. O sea que el boton del joystick estaba apretado.
La linea 110 habria que reemplazar el valor 15 por 16, sino no estaria detectando el Joystick
Si el boton estaba apretado, FR valdra 16, si estaba suelto valdra 0. Entonces se lo resta a JV para apagar UNICAMENTE ese bit. Fijate que si al valor de 26, le resto 16, me da 10, lo mismo que esten prendidos solo los bits 2 y 4.
Cuando haga PRINT DR$(JV).. JV valdria 10, si vemos el valor del vector en la posicion 10, es "DO/RI"
Esto FR=JV AND 15 por esto FR=JV AND 16
Explicacion:
Estas pidiendo un valor del vector mas grande que el limite del vector...
O sea vos tenes DR$ del 0 al 10 (11 posiciones)... donde DR$(1) es "UP", DR$(2) es "DOWN"... y el ultimo es DR$(10) es "DO/RI"
El valor JV que estas usando en la linea 125, PRINT DR$(JV), esta fuera de rango. O sea que JV debe ser 14, 15.. o algun valor mayor al limite del vector que es 10.
Para comprobar que valor tiene JV antes de hacer llamada erronea, crea una linea
124 PRINT "JV VALOR:" : PRINT JV
Deberias fijarte porque JV vale mas que 10...
Por lo que lei en la guia tenes en los primeros 5 bits las lecturas del puerto del joystick, lo que pasa que el PEEK lee el byte entero. Por eso usa el AND para despejar el valor que le interesa
Los bits del joystick se interpretan asi:
Bit 1 Prendido: Up
Bit 2 Prendido: Down
Bit 3 Prendido: Left
Bit 4 Prendido: Right
Bit 5 Prendido: Fire
Si haciendo JV=PEEK(56231)
Por ejemplo
Código: Seleccionar todo
Nro Bit 1 2 3 4 5
Potencias de 2 1 2 4 8 16
Bits Leidos 0 1 0 1 1
Si sumamos las potencias de 2, el valor de JV es (bit1) 2 + (bit 4) 8 + (bit 5) 16 = 26
O sea que JV=PEEK(56231) te guarda en JV el valor 26.
Por ejemplo con esto
FR=JV AND 16
despeja solo el bit del joystick
Código: Seleccionar todo
Nro Bit 1 2 3 4 5
Potencias de 2 1 2 4 8 16
Bits Leidos 0 0 1 1 1
Operandor AND AND
Valor 16 0 0 0 0 1
--------------------------------
Bits Que Quedan 0 0 0 0 1
La linea 110 habria que reemplazar el valor 15 por 16, sino no estaria detectando el Joystick
Si el boton estaba apretado, FR valdra 16, si estaba suelto valdra 0. Entonces se lo resta a JV para apagar UNICAMENTE ese bit. Fijate que si al valor de 26, le resto 16, me da 10, lo mismo que esten prendidos solo los bits 2 y 4.
Cuando haga PRINT DR$(JV).. JV valdria 10, si vemos el valor del vector en la posicion 10, es "DO/RI"
Disponible... llamar al 123312394834
- brunoip
- Check Point!
- Mensajes: 23199
- Registrado: 09/06/10 11:31
- Frase: Aguante el n64 vieja, no me importa nada
- Contactar:
Re: [noob] Recuperar programa escrito
Gracias fede, sabia que estaba errando tratando de recuperar datos en un indice que no habia pero no entendia toda la magia que habia por detras. cuando legue a casa lo pruebo