Herramienta alternativa para crear tarjetas SD

pooky
Mensajes: 16
Registrado: 04 Abr 2017, 23:06

Herramienta alternativa para crear tarjetas SD

Mensaje por pooky » 14 Abr 2017, 16:21

Hola a todos

La herramienta que ha creado @Quest (create_C64_ALL_D64.bat) me funciona perfectamente para crear archivos .bin que luego paso por el HDD Raw Copy Tool y cargo sin problemas en el Core beta 7.

Sin embargo cuando el numero de discos es muy grande (y ocupan del orden de varios cientos de megas) el sistema operativo se queda colgado porque debe coger un archivo muy muy grande y crear una copia y añadirle otros dos archivos cada vez que le pedimos que añada un nuevo disco.

Así que como soy un pesado haciendo peticiones, permitidme una pequeña redención (ahora que estamos a Viernes Santo) y daros una pequeña utilidad porque aunque no creo que haya tantos "locos" como yo que tienen colecciones de varios gigas, hablando con Alfredo de Retrocant me comentaba había tenido problemas al usar Linux y una variante del DD que no llegaba a funcionarle bien.

Os dejo un programita en Python (salen dos ficheros al descomprimirlo) que funciona igual que el de Quest, lo ponéis en la carpeta con los discos y os crea un Salida.bin que luego debéis copiar en la tarjeta SD con el HDD Raw Copy Tool.

Si no lo tenéis en el sistema deberos instalar Python (preferiblemente Python 2.7) y para ejecutarlo copias los dos archivos en vuestra carpeta con los .D64 y lo ejecutáis (bien mediante el editor IDLE y luego F5) o con algo similar a c:\python27\python.exe D642bin.py y os hará el archivo Salida.bin

En linux debéis invocar al interprete de Python pero no sé daros ninguna pista porque solo uso Windows,

http://fmartinz.webs.ull.es/D642bin.zip

Cualquier cosa, me lo comentáis, un saludo.

Avatar de Usuario
spark2k06
Mensajes: 1188
Registrado: 12 Feb 2016, 13:58

Re: Herramienta alternativa para crear tarjetas SD

Mensaje por spark2k06 » 14 Abr 2017, 17:32

Interesante, aquí te va una sugerencia para que no sea necesario instalar python en windows:

https://geekytheory.com/generar-un-ejec ... -de-un-py/



Enviado desde mi Thor mediante Tapatalk

pooky
Mensajes: 16
Registrado: 04 Abr 2017, 23:06

Re: Herramienta alternativa para crear tarjetas SD

Mensaje por pooky » 14 Abr 2017, 21:10

Hola @spark2k06

La idea era tener el archivo de Python para poderlo ejecutar tanto en Linux como en Windows, pero es verdad que si la gente de Windows no está familiarizada con Python, es mas cómodo un ejecutable.

Lo dejo por aquí:

http://fmartinz.webs.ull.es/D642BIN_Windows.zip

La operación es la misma, poner el programa descomprimido en tu carpeta con los .d64 y ejecutar el archivo D642BIN.bat

Un saludo.

Avatar de Usuario
Quest
Mensajes: 900
Registrado: 27 Sep 2015, 00:20

Re: Herramienta alternativa para crear tarjetas SD

Mensaje por Quest » 18 Abr 2017, 10:10

@pooky

Gracias! Todo lo que sea para mejorar o facilitar las tareas, es gratamente bienvenido :)
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

pooky
Mensajes: 16
Registrado: 04 Abr 2017, 23:06

Re: Herramienta alternativa para crear tarjetas SD

Mensaje por pooky » 18 Abr 2017, 13:29

@Quest

Me alegra poder ayudar en algo, porque vuestro trabajo es impresionante :-D

Por cierto, había pensando en que ya que hice la herramienta aprovechar y cambiarlo para que meta el nombre del disco / juego entre dos archivos Dummy de tal forma que pudieras leerlo y quizás mostrar una "lista" de los discos insertados, lo malo es que seguramente te daría muchos quebraderos de cabeza porque la ROM del C64 no está preparada para ello, solo quería comentarlo por si te da alguna idea.

Aprovecho para comentarte que has tenido un gran acierto al meter el JiffyDOS, he estado haciendo pruebas con el Core de C64 del Mist y este tuyo carga los discos infinitamente más rápido.

Gracias de nuevo, un saludo.

Avatar de Usuario
Quest
Mensajes: 900
Registrado: 27 Sep 2015, 00:20

Re: Herramienta alternativa para crear tarjetas SD

Mensaje por Quest » 18 Abr 2017, 20:38

pooky escribió:@Quest
Por cierto, había pensando en que ya que hice la herramienta aprovechar y cambiarlo para que meta el nombre del disco / juego entre dos archivos Dummy de tal forma que pudieras leerlo y quizás mostrar una "lista" de los discos insertados, lo malo es que seguramente te daría muchos quebraderos de cabeza porque la ROM del C64 no está preparada para ello, solo quería comentarlo por si te da alguna idea.
Ideas de ese tipo he tenido muchas, para intentar facilitar el manejo de los discos (incluido lo que comentas y NO se trataría solo de la rom sino de cambios mucho más importantes en el core) , el poblema es... Que es imposible. Aunque ya lo he comentado un sinfín de veces, lo voy a hacer una vez más, y de paso lo pondré en grande y en rojo en el changelog y demás hilos importantes :mrgreen: :mrgreen:

no cabe NADA más en este core. La FPGA está al 99,99% de capacidad, con todas las optimizaciones posibles

Es un milagro que entre todo lo que ha entrado. Si se pudiera, ya habría intentado meter algo del estilo. Evidentemente si alguien quiere prescindir del SID (que supongo que nadie en su sano juicio querría :roll:) u otras partes del C64, pues adelante... Pero vamos, que creo que ni hace falta que responda a eso... :D

Insisto de nuevo... Por más veces que pidáis más cosas extra para este core, no se van a poder meter. Actualmente sólo estoy centrado en lo posible: solucionar bugs y pequeños cambios que no influyen en la ocupación de elementos lógicos de la FPGA.

Volviendo otra vez al tema de facilitar ver el listado de discos, lo único que se me había ocurrido sin que afecte a la FPGA (pero que aún no he mirado su viabilidad, pero podría serlo) es que el script crease un .D64 que sería el disco en la primera posición, cuyo contenido fuese el listado del resto de discos. Sería cuestión de parsear los nombres de archivo de todos los .D64 e inyectar sus nombres como archivos de 0 bytes en nuestro .D64 "especial listado" anteponiendoles delante el numero de archivo que ocupa el el directorio (y por tanto la posicion que ocupara en la SD RAW). Así al grabar la SD con el BIN generado que incluiria ese D64 especial en la primera posición, podríamos listar siempre los discos yendo al disco 1 y pulsando F1. No he mirado si hay utilidades que permitan inyectar archivos en un D64 por línea de comandos. Si lo hay, estupendo. Y si no, se puede mirar si no es muy compleja la estructura de dichos contenedores y crear una utilidad que lo haga.
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
Quest
Mensajes: 900
Registrado: 27 Sep 2015, 00:20

Re: Herramienta alternativa para crear tarjetas SD

Mensaje por Quest » 18 Abr 2017, 23:57

Hilando con lo último que comentaba, parece que esta herramienta de línea de comandos hace lo que buscaba: http://csdb.dk/release/?id=121926

La idea sería que el script creara archivos de 0 bytes con los nombres de los juegos/demos correspondientes a los .d64 y los inyectara con dicha herramienta en el .d64 nuevo. El límite supongo que será de unos 650 títulos (ya que cada entrada de texto en el disco parece ocupar 1 bloque). Cada título deberá tener 16 caracteres máximo y sin símbolos ni mayúsculas (en .d64 las mayúsculas que importamos desde el PC no se convierten a tales, sino a símbolos). Si los .s64 de los juegos ya tienen el nombre de archivo según esos parámetros la copia/renombrado a los dummys de 0 bytes es bastante trivial en batch. Si queremos que delante del nombre esté el número de la posición que ocupa en la SD (usando un contador que se vaya incrementando en el script), entonces habrá que acortar los títulos. Si vamos a usar 3 cifras + el espacio, los nombres habrán de tener entonces 12 caracteres máximo.
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

pooky
Mensajes: 16
Registrado: 04 Abr 2017, 23:06

Re: Herramienta alternativa para crear tarjetas SD

Mensaje por pooky » 19 Abr 2017, 09:09

@Quest

Muchas gracias por tus aclaraciones, ya Mcleod decía que te estaba costando Dios y ayuda meter todo el C64 y que cupiera en la FPGA. Probé una herramienta similar a la que comentas, que era una librería en Python y no me funcionó, el ejemplo oficial de la página, no me funcionaba :-(

Voy a mirar con calma esta herramienta que envías y si puedo automatizar algo lo comento en el foro.

Mil gracias por todo, un saludo.

Avatar de Usuario
bakoulis
Mensajes: 187
Registrado: 12 Sep 2016, 10:36

Re: Herramienta alternativa para crear tarjetas SD

Mensaje por bakoulis » 19 Abr 2017, 10:10

pooky escribió:@Quest

Muchas gracias por tus aclaraciones, ya Mcleod decía que te estaba costando Dios y ayuda meter todo el C64 y que cupiera en la FPGA. Probé una herramienta similar a la que comentas, que era una librería en Python y no me funcionó, el ejemplo oficial de la página, no me funcionaba :-(

Voy a mirar con calma esta herramienta que envías y si puedo automatizar algo lo comento en el foro.

Mil gracias por todo, un saludo.
Test also this. Maybe this works for you.
http://csdb.dk/release/?id=149994

pooky
Mensajes: 16
Registrado: 04 Abr 2017, 23:06

Re: Herramienta alternativa para crear tarjetas SD

Mensaje por pooky » 19 Abr 2017, 18:27

He probado la versión que envía @bakoulis y funciona bien, @Quest yo me encargo de hacer una herramienta que cree discos vacíos a partir de un conjunto de archivos .d64 que tengas en una carpeta.

Espero tenerla en unos días.

Un saludo.

Responder