Commodore manía
Commodore 64 => Hardware => Disketeras - Datasettes - Cintas - Discos => Mensaje iniciado por: maeloterkim en Septiembre 07, 2024, 20:35:07
-
Hola a todos
Tengo un error muy raro con una disquetera 1541 ( es el modelo largo de color marrón clarito)
Le he pasado el test de la disquetera y da todo ok
Desde el c64 en principio todos los comandos van OK excepto leer un programa basic y listarlo
- formateo ok
- graba programa basic ok ( CREO, no estoy seguro y ahora explico porque)
Si creo un programa simple como por ejemplo
10 print "hola"
y lo grabo en el disco con SAVE
al leer este programa y hacer un LIST
no me aparece solo el programa basic sino que me aparece mezclado con el listado del disco
como cuando hago LOAD "$",8 y me da el listado del disco
o sea si hago LOAD "$",8 y después LIST me aparece correctamente el listado del directorio del disco
pero cuando hago LOAD "MIPROGRAMABASIC",8 y después hago LIST
me aparece el listado del diso otra vez como si fuera parte del mismo programa
aunque antes haya hecho NEW para borrar todo y aunque reinicie el ordenador
de forma que cuando hago RUN después de leer el programa
me da error sintax en 0 ya que intenta ejecutar el listado del disco ( linea 0)
o sea el listado normal del directorio ha hecho MERGE con el listado del programa
Es como si alguna memoria o algo hubiera juntado el resultado del listado del directorio con el del programa
He hecho varias pruebas y me he asegurado de hacer NEW antes de leer el programa basic por si acaso era que he listado antes el directorio del disco y lo ha mantenido
No he visto este error por ninguna parte
Si alguien tiene alguna idea
Gracias
-
Lo más habitual es eso, cargar el directorio, teclear un programa sin pensar en hacer NEW, y grabarlo. Si no borras el programa del disco e intentas volver a grabarlo con el mismo nombre, el LED parpadeará para indicar error. Pero vamos, el NEW es antes de grabar, antes de cargar es indiferente que hagas NEW o no, a menos que la carga sea un append, yo no lo he hecho nunca.
No creo que pueda ser un problema de corrupción del disket, porque el directorio no se almacena como un listado. Eso se genera en un proceso. Me parece más probable que la disquetera no consiguiese grabar nada y estuviese recuperando siempre lo mismo.
Es posible que pueda haber algún problema en la RAM o la ROM y haga cosas raras, pero vamos, lo que describes es más típico que sea un despiste tuyo.
-
Lo más habitual es eso, cargar el directorio, teclear un programa sin pensar en hacer NEW, y grabarlo. Si no borras el programa del disco e intentas volver a grabarlo con el mismo nombre, el LED parpadeará para indicar error. Pero vamos, el NEW es antes de grabar, antes de cargar es indiferente que hagas NEW o no, a menos que la carga sea un append, yo no lo he hecho nunca.
No creo que pueda ser un problema de corrupción del disket, porque el directorio no se almacena como un listado. Eso se genera en un proceso. Me parece más probable que la disquetera no consiguiese grabar nada y estuviese recuperando siempre lo mismo.
Es posible que pueda haber algún problema en la RAM o la ROM y haga cosas raras, pero vamos, lo que describes es más típico que sea un despiste tuyo.
Muchas Gracias
En efecto lo estaba haciendo mal
Por si le sirve a otra persona y se ve en el mismo problema
Lo que hacía MAL es lo siguiente
1) Hacia LOAD "$",8 y me daba el listado del disco y eso se quedaba en memoria
2) Después escribía 10 print "hola" y lo grababa en disco pensando que solo grababa eso
pero en realidad mezclaba ese basic de prueba con el listado del disco hecho anteriormente
de forma que al final tenia un programa basic con número de línea 0 y número de línea 644 ( que es el número de bytes que te indica el disco al hacer el listado :D )
Lo correcto si se quiere grabar un programa basic nuevo en disco es
1) hacer NEW para que no haya nada en memoria
2) Escribir el programa basic
3) Grabarlo en el disco
4) Después al cargar el programa del disco desde el ordenador y hacer list ya sale correctamente el programa basic