Página 5 de 7

Re: QLSD

Publicado: Lun May 09, 2011 7:53 pm
por mcleod_ideafix
radastan escribió:Lo que me pregunto es cuantos ficheros soporta QDOS, para ver el límite que vamos a tener por SD.

Me da la impresión de que, si el sistema de ficheros lo pone el driver, la limitación estará en cuántos ficheros admite el sistema de ficheros, que en FAT-16 creo que eran 512 (en el directorio raiz).

radastan escribió:Y creo que me curraré una interfaz simple de acceso a la SD para que se ejecute en el arranque, y que haga como una navegación por "subdirectorios ficticios", para así poder facilitar la navegación o será una locura.


Yo lo que tenía pensado (no sé si podrá hacerse) es incluir comandos de SBASIC del tipo MAKE_DIR y cosas así para gestionar los subdirectorios.

Re: QLSD

Publicado: Mar May 17, 2011 3:18 pm
por radastan
Por cierto, que QDOS no soporte directorios no quiere decir que el driver no lo soporte... basta que añada los comandos adecuados al SuperBASIC para crear/borrar/cambiar y que sólo sepa leer el directorio actual como si fuera una unidad completa.

Re: QLSD

Publicado: Vie May 20, 2011 4:41 pm
por Scooter
Respecto a la actualización del firmware, en los bichos eqivalentes a QLSD que conozco (conozco de oídas) como SD2IEC se hace poniendo cierto archivo en la SD y arrancando al animalito; osea que la escritura no la hace el ordenador. No se si este esquema sería válido para este cartucho, pero tendría la ventaja de "poder vivir" sin otra unidad de almacenamiento; si no va el nuevo firm, se pone un archivo con el viejo en la SD en un PC, se pincha la SD y el QLSD y se arranca el QL, no hace falta que el QL haga nada ni lea desde otra unidad. (si alguien solo tiene microdrives puede que estén todos muertos)

Re: QLSD

Publicado: Vie May 20, 2011 5:46 pm
por mcleod_ideafix
Scooter escribió:Respecto a la actualización del firmware, en los bichos eqivalentes a QLSD que conozco (conozco de oídas) como SD2IEC se hace poniendo cierto archivo en la SD y arrancando al animalito; osea que la escritura no la hace el ordenador. No se si este esquema sería válido para este cartucho...


No, me temo que no es válido. El SD2IEC usa un microcontrolador, y eso le da cierta autonomía respecto del ordenador principal. Además, en el SD2IEC lo que se actualiza es el firmware de este microcontrolador, de lo cual se encarga el propio microcontrolador. En el QLSD el firmware es ejecutado por el QL, no por un elemento externo a él. Para abaratar costes, todo lo que no sea manejar el protocolo SPI debe ser hecho por el propio QL (por este firmware). No cabe duda que tendré que poner algún sistema que permita actualizar el firmware desde el QL, pero sólo podrá ser:
- Cargándolo desde el propio QLSD, suponiendo que ya tenga un firmware anterior funcionando.
- Cargándolo desde otro sitio, si el QLSD está completamente muerto.

Hay una tercera opción: dado que la flash que pondré en el QLSD es muy grande, tengo espacio de sobra en ella para implementar un modo "upgrade" en un banco alternativo de esta flash, de forma que cuando se active (con un jumpercito por ejemplo) y se encienda el QL, éste entre en modo "upgrade" y busque un fichero de actualización en la SD para cargarlo en el banco principal de la flash.

De cualquier modo, el proceso de actualización del firmware del QLSD debe realizarlo el propio QL. La interfaz QLSD no incorpora ningún microcontrolador.

Re: QLSD

Publicado: Jue Dic 08, 2011 6:52 pm
por afx
Mcleod_ideafix, ¿cómo llevas tu proyecto QLSD?

Re: QLSD

Publicado: Sab Dic 10, 2011 1:30 am
por mcleod_ideafix
Ahora mismo parado, porque lo que queda fundamentalmente, que es el driver, no lo he hecho, y no lo he hecho porque no tengo ningún libro equivalente al "Linux Device Drivers" que enseñe paso a paso cómo escribir un driver. Sólamente tengo el manual avanzado de usuario donde hay ejemplos de drivers (pero no de drivers de directorio que es lo que necesito) y el código fuente del QUBIDE impreso y encuadernado, que tendré que leerme con cuidado, pero para eso necesito bastante tiempo.

Lo que es la electrónica del aparato está practicamente terminada. Compré además una buena remesa de conectores SD, cuarzos, zócalos PLCC, memorias EEPROM, etc, con la idea de aprovechar cuando estaban bajitos los precios y así mantener la promesa de fabricarlo con un PVP no mayor de 30 euros.

Pero el desarrollo software, como ya predije, es lo que llevará más tiempo. Meses, incluso años. Cualquier tutorial sobre la escritura de drivers de directorio en QL será muy bien recibida :)

Re: QLSD

Publicado: Sab Dic 10, 2011 11:29 am
por speccy
Yo quiero uno o dos... ;)

Re: QLSD

Publicado: Dom Dic 11, 2011 12:48 pm
por Scooter
Pregunta tonta:
¿El driver no se haría mejor entre varios?
Lo digo porque puede que fuese mejor distribuir el hard a alguien/es que esté/n dispuesto/s a colaborar. Si es que ese alguien existe; ya doy por hecho que gente con buena voluntad habrá mas de uno, digo con conocimientos.

Re: QLSD

Publicado: Dom Dic 11, 2011 3:51 pm
por afx
mcleod_ideafix escribió:Lo que es la electrónica del aparato está practicamente terminada. Compré además una buena remesa de conectores SD, cuarzos, zócalos PLCC, memorias EEPROM, etc,


¿No te has planteado la edición limitada de una versión funcional de hardware aunque no vaya acompañada del driver nativo QDOS?

Creo que tu ampliación, acompañada de un programa front-end para copiar ficheros desde y hasta la tarjeta SD sería muy util para muchos usuarios, y en muchos casos más que suficiente. Lo imprescindible sería sólo la implementación de una extensión de SuperBASIC o un simple ejectable para la transferencia de ficheros.

A modo de ejemplos:

QLSD_Copy "miprograma_exe flp1_miprograma_exe"
QLSD_Copy "miprograma_exe ram1_miprograma_exe"

Sólo para poder copiar ficheros desde la tarjeta SD a la disquetera o a un disco ram. También que se puediera hacer a la inversa, copiar ficheros desde diquetes o dispositivos nativos QDOS a la tarjeta SD. (Aunque no se permitan subdirectorios, sólo algo rudimentario y lo más simple posible).

Pienso que para una versión 0.1 no habría que liarse con los drivers nativos QDOS, que supongo que tendrá que ser un trabajo muy arduo y "oscuro".


PD:
Hace unas cuantas semanas le compré a MemoryLane el SerUSB ( ... si, si, ... me gasté la paga de los domingos de todo el año .. :) ...). A parte del driver nativo QDOS, viene un "pseudo-driver" para manejar ficheros en formato FAT de la tarjeta al estilo de los ejemplos que te pongo. Al final, me ha resultado casi más práctico estas utilidasdes que el propio driver nativo ya que el dispositivo básicamente lo uso para transferencia de ficheros. (Voy a esctibir una entrada en QBlog con mis impresiones sobre SerUSB, ya les cuento ...). Reconozco que lo más brillante del trabajo de MemoryLane ha sido precisamente el curro con la parte del driver QDOS y todo el software que acompaña al hardware.

Re: QLSD

Publicado: Mar Dic 13, 2011 12:25 pm
por mcleod_ideafix
Scooter escribió:Pregunta tonta:
¿El driver no se haría mejor entre varios?
Lo digo porque puede que fuese mejor distribuir el hard a alguien/es que esté/n dispuesto/s a colaborar. Si es que ese alguien existe; ya doy por hecho que gente con buena voluntad habrá mas de uno, digo con conocimientos.


La cosa es que cacharrito sólo hay uno. Si se lo paso a alguien que quiera colaborar, ya no puedo colaborar yo (ni nadie más), así que nunca se podría hacer "entre varios", sino sólamente uno, el que tenga el cacharrito.

La solución: si alguien quiere colaborar, que haga lo que yo planeo hacer: tirando de emulador, escribir drivers de directorio sencillitos para algo parecido a un Disco-RAM, es decir, usar parte de la memoria RAM del aparato como un disco. Para esto no se necesita hardware extra, y se puede hacer todo desde el emulador. Eso serviría de entrenamiento para después coger ese mismo driver y sustituir las rutinas de acceso a bajo nivel (leer sector, escribir sector, etc) por las de la tarjeta SD.

De hecho, mi plan de actuación (que precisamente "actualicé ayer mismo tras encontrar más libros que pueden ayudarme en la tarea) es:
- Escribir un driver no de directorio, sino de dispositivos, lo más simple posible, para tener algo a modo de plantilla. Para ello usaré la información y ejemplos del QL Advanced User Guide que compré en su día a RWAP, cuando comenzó todo esto (y cuando yo tenía más dinero :( )
- Adaptar ese driver de dispositivo a la tarjeta SD, de forma que tooodo el contenido de la tarjeta se vea como un fichero (equivalente a abrir en Linux el fichero /dev/sda que es el contenido del disco duro completo, desde el primer sector)
- Escribir/adaptar el driver primero, para convertirlo en un driver de directorio, con un sistema de ficheros lo más trivial posible.
- Probar otros sistemas de ficheros (FAT16/32 con LFN es mi meta)
- Adaptar el driver de directorio a las rutinas de acceso a bajo nivel a la tarjeta SD

La idea es que al llegar a las pruebas con el QL real y la tarjeta SD real, el driver tenga el menor número de errores posible, ya que no es lo mismo depurar en el emulador que en el hardware real.

Re: QLSD

Publicado: Mar Dic 13, 2011 12:40 pm
por mcleod_ideafix
afx escribió:Creo que tu ampliación, acompañada de un programa front-end para copiar ficheros desde y hasta la tarjeta SD sería muy util para muchos usuarios, y en muchos casos más que suficiente. Lo imprescindible sería sólo la implementación de una extensión de SuperBASIC o un simple ejectable para la transferencia de ficheros.


Pero para eso se supone que el QL entonces dispone de algún otro sistema de almacenamiento funcional, y resulta que:
- No todo el mundo tiene una unidad de disco.
- No es fácil conseguir microdrives fiables.

A mi de hecho me pasan estas dos cosas con dos de mis QL's. Esta interfaz la pensé para que pueda usarse en un QL "pelao", sin disquetera ni nada, e incluso aunque el usuario no tenga ni una triste cinta microdrive. El único QL que tengo con unidad de disco es el que uso para "desarrollo" (también tiene una ROM Minerva y la ampliación de 512KB interna de RAM que le hice el verano pasado... ¿o fue el anterior?). Los otros siguen con 128K de RAM y la ROM original JS o como se llame.

De todas formas, aunque ahora dejara el driver de lado y me pusiera a producir plaquitas, necesitaría tiempo para ello, y dinero para adelantar la producción. Dado que me quitan la paga extra (gracias, Zapa) pues va a ser que mejor me dedico a seguir estudiando el tema de los drivers de directorio, que por lo menos para eso no necesito (más) dinero.

A todo esto: tengo ya documentación para leerme de los drivers de directorio y demás, pero tengo algunas dudas. Las planteo aquí a ver si alguien sabe dónde puedo buscaar respuestas o lo sabe...
- ¿Es lo mismo QDOS que SMSQ/E? A todo esto, ¿qué es SMSQ/E? ¿Un programa? ¿Un S.O. alternativo? ¿Se carga por floppy/microdrive o es una ROM?
- ¿Qué aporta de nuevo un driver de directorio de nivel 2? He leído algo de soportar directorios... ¿QDOS soporta directorios o no?

Re: QLSD

Publicado: Mar Dic 13, 2011 6:33 pm
por speccy
Echale un vistazo al manual de la Sandy SuperQBoard que te dejé en casa e igual te llevas una sorpresa ;)

Re: QLSD

Publicado: Mar Dic 13, 2011 6:59 pm
por mcleod_ideafix
Ahora mismo no estoy en casa... ¿el manual incluye el código fuente comentado del driver?

Re: QLSD

Publicado: Mar Dic 13, 2011 8:14 pm
por speccy
No, pero si no recuerdo mal, explica como se hace la estructura de los subdirectorios en el QL...

Por cierto... ¿Le has echado un vistazo en busca de inspiración a los articulos de QLave, QLiper y similares? Igual hay algo...

Re: QLSD

Publicado: Mar Dic 13, 2011 9:06 pm
por mcleod_ideafix
speccy escribió:No, pero si no recuerdo mal, explica como se hace la estructura de los subdirectorios en el QL...

No me sirve de mucho ahora. Ten en cuenta que el sistema de ficheros lo pone el driver, no el S.O. y dado que quiero implementar FAT, pues lo que necesito (que eso sí lo tengo) es una implementación de FAT para 68K.

speccy escribió:Por cierto... ¿Le has echado un vistazo en busca de inspiración a los articulos de QLave, QLiper y similares? Igual hay algo...

Pues.... no, ¡no las conocía! ¡Gracias!. En el caso de QLave veo que hay bastantes números, pero el sistema de búsqueda no funciona. He mirado en el sumario de tooodas las revistas y no he encontrado nada.

Respecto a QLiper, en el número 39 hay un artículo llamado "FLP/RAM LEVEL 2: QUE ES Y COMO SE COME" pero no me ha aclarado nada, la verdad. Luego seguiré buscando, aunque sea manualmente por el sumario porque la búsqueda "a la Google" que tiene el sitio web no funciona.