SpecSD, interfaz de almacenamiento para tarjetas SD

Proyectos de hardware con sus esquemáticos y si llevan software en fuente

Moderadores: cacharreo, Fundadores

Reglas del Foro
Aquí solo tienen cabida proyectos de hardware que incluyan siempre al menos sus esquemáticos para poder reproducirlos si llevan componentes electrónicos, y si es posible los ficheros del programa en que se hacen, los diseños de las placas, los gerber, etc. Si llevan algún tipo de software asociado debe estar diponible el código fuente

Para los que no cumplen estas condiciones se debe postear en el foro de proyectos generales.
Avatar de Usuario
Spirax !Sinclair 1
Demonio tercer orden
Demonio tercer orden
Mensajes: 715
Registrado: 09 Oct 2017, 17:03
Ubicación: Leganes (Madrid)
Has thanked: 24 times
Been thanked: 46 times

Re: SpecSD, interfaz de almacenamiento para tarjetas SD

Mensaje por Spirax »

recibido el SpecSD.
primera prueba y me ha costado 2 minutos, hacerlo funcionar.
no habia creado la particion en la tarjeta como primary ;)
creada particion y reformateada con partition magic en FAT32 y descargado el esxdos 0.8.7 que es el que venia flasheado y funcionó a la primera.
Actualizado al esxdos 0.8.8 y sigue funcionando :D
ahora solo falta probar un par de juegos y preparar la segunda tarjeta para +3E ;)

Muchas gracias :D :D
Saludos

nota: para quitar el error del fichero RTC.SYS de la lista al arrancar y que ponga OK.
lo mas simple es poner un fichero "vacio" "en blanco" "de tamaño 0" llamado RTC.SYS dentro del directorio BIN. :P
Avatar de Usuario
Kyp !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3376
Registrado: 30 Sep 2013, 14:54
Ubicación: Madrid
Has thanked: 28 times
Been thanked: 146 times

Re: SpecSD, interfaz de almacenamiento para tarjetas SD

Mensaje por Kyp »

Spirax escribió: 16 Jul 2020, 12:21 Actualizado al esxdos 0.8.8 y sigue funcionando
La que he tenido que liar para que se pueda actualizar :P

Resulta que al grabar las EEPROMs antes de soldarlas no me di cuenta de se había quedado marcada la opción de dejarla protegida y al intentar actualizar el esxdos daba error. Como era un lio desoldar todas las placas escribí un programa en ensamblador para mandar a la EEPROM la secuencia de desprotección (nada muy complicado, hay que escribir unos valores concretos en unas posiciones de memoria concretas en secuencia) pero resulta que para que funcione hay que hacerlo en PAGE MODE, es decir, escribir los datos SIN desactivar la señal WRITE ENABLE, y eso por programa no se puede hacer porque el Z80 la desactiva entre escritura y escritura. Total, que me hice un core para la CPLD que dejaba la señal /WE activa siempre al poner el SpecSD en modo de actualización, así pude cargar mi TAP de desprotección con el SpecSD, ponerlo en modo E y enviar la secuencia para desprotegerla. Lo malo es que al hacer eso se corrompía la memoria (cualquier lectura posterior se convertía en una escritura al estar siempre activa /WE). Así que luego he tenido que cargar el TAP de actualización del esxdos con el MAXduino y una vez actualizada ya se quedaba bien grabada y con posibilidad de actualización :)) :)) :))
Avatar de Usuario
wilco2009 !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 8152
Registrado: 01 Abr 2013, 23:47
Ubicación: Valencia
Has thanked: 47 times
Been thanked: 101 times

Re: SpecSD, interfaz de almacenamiento para tarjetas SD

Mensaje por wilco2009 »

Kyp escribió: 16 Jul 2020, 13:44
Spirax escribió: 16 Jul 2020, 12:21 Actualizado al esxdos 0.8.8 y sigue funcionando
La que he tenido que liar para que se pueda actualizar :P

Resulta que al grabar las EEPROMs antes de soldarlas no me di cuenta de se había quedado marcada la opción de dejarla protegida y al intentar actualizar el esxdos daba error. Como era un lio desoldar todas las placas escribí un programa en ensamblador para mandar a la EEPROM la secuencia de desprotección (nada muy complicado, hay que escribir unos valores concretos en unas posiciones de memoria concretas en secuencia) pero resulta que para que funcione hay que hacerlo en PAGE MODE, es decir, escribir los datos SIN desactivar la señal WRITE ENABLE, y eso por programa no se puede hacer porque el Z80 la desactiva entre escritura y escritura. Total, que me hice un core para la CPLD que dejaba la señal /WE activa siempre al poner el SpecSD en modo de actualización, así pude cargar mi TAP de desprotección con el SpecSD, ponerlo en modo E y enviar la secuencia para desprotegerla. Lo malo es que al hacer eso se corrompía la memoria (cualquier lectura posterior se convertía en una escritura al estar siempre activa /WE). Así que luego he tenido que cargar el TAP de actualización del esxdos con el MAXduino y una vez actualizada ya se quedaba bien grabada y con posibilidad de actualización :)) :)) :))
¿Entonces la FLASH la dejas siempre en modo desprotegido?. He tenido malas experiencias yo con ese modo en el megaflash de CPC, que por cualquier ruido al encender el equipo me corrompia la flash.
La conclusión es que siempre es más seguro utilizar el modo protegido y escribir siempre en modo protegido, de esa manera es prácticamente imposible que se borre por error.
"Aprender a volar es todo un arte. Aunque sólo hay que cogerle el truco. Consiste en tirarse al suelo y fallar".

Douglas Adams. Guía del autoestopista galáctico.
Avatar de Usuario
Kyp !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3376
Registrado: 30 Sep 2013, 14:54
Ubicación: Madrid
Has thanked: 28 times
Been thanked: 146 times

Re: SpecSD, interfaz de almacenamiento para tarjetas SD

Mensaje por Kyp »

wilco2009 escribió: 16 Jul 2020, 15:06 ¿Entonces la FLASH la dejas siempre en modo desprotegido?. He tenido malas experiencias yo con ese modo en el megaflash de CPC, que por cualquier ruido al encender el equipo me corrompia la flash.
La conclusión es que siempre es más seguro utilizar el modo protegido y escribir siempre en modo protegido, de esa manera es prácticamente imposible que se borre por error.
Se supone que este modelo de chip está preparado para evitar escrituras accidentales durante el encendido/apagado :| (o eso dice el datasheet).

Lo malo es que si se queda protegida no se puede grabar con el Spectrum y al ser SMD e ir soldada directamente a la placa tampoco es fácil actualizarla externamente.
Avatar de Usuario
Spirax !Sinclair 1
Demonio tercer orden
Demonio tercer orden
Mensajes: 715
Registrado: 09 Oct 2017, 17:03
Ubicación: Leganes (Madrid)
Has thanked: 24 times
Been thanked: 46 times

Re: SpecSD, interfaz de almacenamiento para tarjetas SD

Mensaje por Spirax »

Kyp escribió: 16 Jul 2020, 15:51
wilco2009 escribió: 16 Jul 2020, 15:06 ¿Entonces la FLASH la dejas siempre en modo desprotegido?. He tenido malas experiencias yo con ese modo en el megaflash de CPC, que por cualquier ruido al encender el equipo me corrompia la flash.
La conclusión es que siempre es más seguro utilizar el modo protegido y escribir siempre en modo protegido, de esa manera es prácticamente imposible que se borre por error.
Se supone que este modelo de chip está preparado para evitar escrituras accidentales durante el encendido/apagado :| (o eso dice el datasheet).

Lo malo es que si se queda protegida no se puede grabar con el Spectrum y al ser SMD e ir soldada directamente a la placa tampoco es fácil actualizarla externamente.
ok, me lo apunto.
gracias a los dos por los comentarios, iré con cuidado :twisted: :twisted:
BCH
Demonio tercer orden
Demonio tercer orden
Mensajes: 973
Registrado: 06 Sep 2014, 12:10
Ubicación: Barcelona
Been thanked: 4 times

Re: SpecSD, interfaz de almacenamiento para tarjetas SD

Mensaje por BCH »

Kyp escribió: 16 Jul 2020, 13:44 Resulta que al grabar las EEPROMs antes de soldarlas no me di cuenta de se había quedado marcada la opción de dejarla protegida y al intentar actualizar el esxdos daba error. Como era un lio desoldar todas las placas escribí un programa en ensamblador para mandar a la EEPROM la secuencia de desprotección (nada muy complicado, hay que escribir unos valores concretos en unas posiciones de memoria concretas en secuencia) pero resulta que para que funcione hay que hacerlo en PAGE MODE, es decir, escribir los datos SIN desactivar la señal WRITE ENABLE, y eso por programa no se puede hacer porque el Z80 la desactiva entre escritura y escritura. Total, que me hice un core para la CPLD que dejaba la señal /WE activa siempre al poner el SpecSD en modo de actualización, así pude cargar mi TAP de desprotección con el SpecSD, ponerlo en modo E y enviar la secuencia para desprotegerla. Lo malo es que al hacer eso se corrompía la memoria (cualquier lectura posterior se convertía en una escritura al estar siempre activa /WE). Así que luego he tenido que cargar el TAP de actualización del esxdos con el MAXduino y una vez actualizada ya se quedaba bien grabada y con posibilidad de actualización :)) :)) :))
Velesoft tenia una utilidad similar para el divide:
https://foro.speccy.org/viewtopic.php?f=8&t=1324
Supongo que también funcionara con el divmmc
Avatar de Usuario
Kyp !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3376
Registrado: 30 Sep 2013, 14:54
Ubicación: Madrid
Has thanked: 28 times
Been thanked: 146 times

Re: SpecSD, interfaz de almacenamiento para tarjetas SD

Mensaje por Kyp »

BCH escribió: 17 Jul 2020, 16:17 Velesoft tenia una utilidad similar para el divide:
https://foro.speccy.org/viewtopic.php?f=8&t=1324
Supongo que también funcionara con el divmmc
Jo, para haberlo sabido :))

Debería funcionar, el puerto de control del automapper es el mismo. Releyendo el datasheet creo que estaba equivocado en lo de mantener /WR activa durante los accesos para desbloquear la memoria. Creo que no me funcionaba porque estaba verificando la escritura y no había que hacerlo (eso es solo para escribir 'de verdad' y no para la secuencia de desbloqueo). Desde luego si esa utilidad funciona, que no lo dudo siendo de Velesoft, entonces seguro que estaba haciendo algo mal.
Avatar de Usuario
Popopo
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3466
Registrado: 05 Nov 2019, 15:25
Has thanked: 1120 times
Been thanked: 570 times

Re: SpecSD, interfaz de almacenamiento para tarjetas SD

Mensaje por Popopo »

Hola,
Me ha llegado el paquete con el SpecSD, :) gracias
Ahora solo tengo que volverme a leer el post para recordar para que se usa y si hay que actualizar alguna cosa o hacer un puente... :)
Me ha encantado la idea del cartón con los componentes pegados y nombrando que es cada cosa, sencillo, muy bueno y útil.

edito: He estado ojeando un poco las hojas del post, he visto que se nombran varios problemas de protección activada o desactivada a la hora de re-programar una vez soldada, comprobación de funcionamiento de los componentes, y otras cosas... desde la versión de placa 1.02 ... aparte de la soldadura de los interruptores ¿ha surgido alguna otra problemática?


Saludos :)
Avatar de Usuario
Kyp !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3376
Registrado: 30 Sep 2013, 14:54
Ubicación: Madrid
Has thanked: 28 times
Been thanked: 146 times

Re: SpecSD, interfaz de almacenamiento para tarjetas SD

Mensaje por Kyp »

Popopo escribió: 23 Jul 2020, 14:57 Me ha encantado la idea del cartón con los componentes pegados y nombrando que es cada cosa, sencillo, muy bueno y útil.
Es un buen sistema pero reconozco que no se me ocurrió a mi, la idea se la he copiado a alguien :| :))
Popopo escribió: 23 Jul 2020, 14:57 he visto que se nombran varios problemas de protección activada o desactivada a la hora de re-programar una vez soldada
Parecía un problema pero luego apareció un programa hecho para el DivIDE para proteger/desproteger la EEPROM que casi seguro que es una solución (no he probado aun pero debería funcionar).
Popopo escribió: 23 Jul 2020, 14:57 aparte de la soldadura de los interruptores ¿ha surgido alguna otra problemática?
Que yo sepa no.
Avatar de Usuario
Kyp !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3376
Registrado: 30 Sep 2013, 14:54
Ubicación: Madrid
Has thanked: 28 times
Been thanked: 146 times

Re: SpecSD, interfaz de almacenamiento para tarjetas SD

Mensaje por Kyp »

Copio aquí mi respuesta a unas dudas que ha tenido @sejuan por si le vienen bien a alguien más:
Kyp escribió: Para que funcione en el +2A los dos jumpers tienen que estar a la izquierda.

El de arriba es para desactivar el interfaz (y para cuando se quiere actualizar el firmware).
Izda = activado, dcha = desactivado/actualizar.

El de abajo es para seleccionar el tipo de Spectrum.
Izda = +3, +2A/B, dcha = 48K, 128K, +2 (gris)

Hay que formatear la SD en FAT32 y copiar las dos carpetas del ESXDOS (bin y sys) a la raíz del disco:
http://www.esxdos.org/files/esxdos087.zip
Tiene que coincidir la versión del firmware con la de los archivos, la versión sale al arrancar. Yo grabé la 0.8.7 pero hace poco salió la 0.8.8.

Para usar la última hay que actualizar el firmware, solo hay que siguir las instrucciones que vienen en el zip (básicamente copiar y cargar un TAP normalmente, y antes de actualizar cambiar el interruptor de arriba a la derecha y luego dejarlo como estaba).

Si da problemas para reconocer las particiones prueba a hacerlas desde linux que el Windows a veces detecta las tarjetas como "disquetes grandes" y no permite hacer particiones en ellas. Depende de como viniera de fábrica.
Responder

Volver a “Proyectos de hardware abiertos”