Mostrando entradas con la etiqueta gotek. Mostrar todas las entradas
Mostrando entradas con la etiqueta gotek. Mostrar todas las entradas

viernes, 27 de febrero de 2026

Manejo de los botones de la gotek

Si tienes un sencillo emulador de disquetera gotek con botones de selección te habrás percatado que solo hay dos botones para moverte por los archivos del directorio a la izquierda o a la derecha pero no hay un botón para seleccionar el archivo o el directorio si queremos navegar por ellos, entonces, ¿cómo hacemos estas operaciones?

 


Como podéis apreciar en la imagen, son los botones que están a la derecha del puerto USB y debajo del led de encendido, en este caso ya tiene seleccionado la imagen del juego 1943, os recuerdo que la gotek recuerda la última imagen DSK que seleccionamos guardando su nombre en un archivo en el raíz con un nombre similar a IMAGE_A.CFG

 Si pulsamos el botón de la izquierda iremos viendo los diferentes archivos que están antes del seleccionado hasta que nos muestre "[..]" 

 


Si dejamos de pulsar botones durante un par de segundos directamente selecciona esta opción que no es otra que bajar en el árbol de directorios, y nos mostrará el directorio en el que estábamos, en este caso "favoritos".

 


En el momento que sale el nombre del directorio debemos pulsar los botones rápidamente para que NO vuelva a entrar en el mismo directorio. 

Supongamos que tenemos un directorio llamado [cpm] y dentro de él otro que se llame [games], en este caso pulsaremos el botón izquierdo hasta que aparezca [cpm], momento en el cual pulsamos el botón correspondiente hasta que aparezca [games].


Cuando seleccionamos un directorio, si nos aparece otra vez [..] o un directorio que no nos interesa de nuevo hay que pulsar los botones rápidamente para terminar donde no queremos, por lo que seleccionamos la imagen deseada, en este caso la del juego Gozilla.BAS para CP/M.

 


Y así se navega por el árbol de directorios en una gotek, ya solo nos faltaría ejecutar el programa en nuestro Amstrad CPC, en este caso, como se trata de un juego que se ejecuta con el comando |CPM la unidad deberá estar seleccionada para que funcione como unidad A:

Para quien se haya perdido con las rutas de los archivos, aquí tenéis el camino que hemos seguido desde 1943 hasta Gorilla:

.
├── favoritos (2)
│   ├── ...
│   ├── 1943 (1988).dsk (1)
│   ├── ....
│   └── xevious.dsk
├── IMAGE_A.CFG
└── cpm (3)
    ├── ...
    ├── games (4)
    │   ├── ...
    │   ├── gorilla-cpc.dsk (5)
    │   ├── ...
    │   └── Zork III - The Dungeon Master_cpm_cpc6128_pcw.dsk
    └── system

 

Otras consideraciones

Si tienes selector giratorio el funcionamiento es el mismo, solo que en lugar de pulsar botones hay que girarlo paso a paso a la derecha o a la izquierda dependiendo lo que queramos seleccionar. 

Recomiendo que el contenido del pendrive esté organizado de manera que en cada directorio no haya demasiados archivos para no castigar a los pulsadores ni a nuestros dedos, así que si tenemos decenas de miles de archivos DSK no hay que meterlos en un solo directorio, sino crear directorios por cada primera letra de cada juego, dentro de los cuales se hace lo mismo para la segunda letra y dentro de cada subdirectorio igual para la tercera letra.

Como esto sería una locura hacerlo manualmente os recuerdo que el script splitpather crea toda la estructura por nosotros a partir del directorio donde tenemos nuestros dsk, normalizando el nombre de los archivos y hasta evitando duplicados de archivos repetidos.

Hace tiempo hice un artículo explicando más a fondo el funcionamiento de splitpather

 

Videotutorial

También hice unos días un videotutorial...


 

viernes, 26 de febrero de 2021

SplitPather: buscar todos los archivos con una extensión a partir de un directorio y copiarlos en otro en subdirectorios sucesivos con sus primeras letras

He creado un nuevo script al que le he puesto de nombre SpitPather para que me copie todos los archivos que tenga con una extensión determinada en el árbol de un determinado directorio a otro directorio donde creará un nuevo árbol cuyo primer nivel será el primer carácter del archivo, el segundo la segunda letra y así sucesivamente hasta el nivel de profundidad que defina.

Y te preguntarás, ¿qué utilidad tiene este script? Pues bastante para quien tiene un aparatito en el que tengas que seleccionar uno entre miles de archivos pequeñitos, esta estructura de directorio te facilita la navegación minimizando el número de veces que hay que darle a los botones.

En mi caso me va a venir de perlas para poder navegar por las imagenes de disco que guarde en el pendrive que tengo enganchada a la gotek de mi Amstrad CPC (archivos dsk).

De hecho, los usuarios de este tipo de artilugios para cargar desde pendrives o memorias en ordenadores de los 80 van a poder sacar partido al script y llenar sus dispositivos con las imágenes correspondientes organizadas de la manera más óptima para la posterior navegación.

También le he metido cierta normalización extra para que no tenga problemas al copiar los archivos en un pendrive con FAT32 sobre todo (todo en minúsculas, guiones bajos por espacios, solo tener en cuenta letras y números para componer los subdirectores).

Un ejemplo: supón el archivo 3D Grand Prix.DSK, se copiaría en la ruta destino en la siguiente subruta si elegimos la profundidad por defecto de 3 niveles:

3/d/g/3d_gran_prix.dsk
Además así evitamos duplicidades si tenemos ese mismo archivo en otra ubicación dentro del directorio orígen o con alguna letra cambiada mayúsculas por minúsculas o viceversa.

Es ideal para emuladores de disquetera, de cartucho o de cassette (cpcduino, tzxduino, tapuino, casduino), etc...

Descarga

Lo podéis descargar aquí y por comodidad le daría permisos de ejecución y lo copiaría en la carpeta /usr/local/bin.

chmod +x splipather


Uso

El nuevo comando de linux splitpather se ejecuta en consola pasándole 2 parámetros obligatorios y otros dos opcionales:

  1. Ruta de origen donde empezar la búsqueda de archivos.
  2. Ruta de destino donde copiaremos los archivos.
  3. Extensión de los archivos, no es sensible a mayúsculas (por defecto es dsk).
  4. Nivel de profundidad de los subdirectorios (por defecto es 3).

Si escribis el comando splitpather sin parámetros os informará de como usarlo:

splitpather START_PATH DESTINATION_PATH [EXT] [DEPTH]

Un ejemplo de uso real sería algo así:

splitpather "/media/miPC/MIDISCO/emuladores/amstrad_cpc" "/media/miPC/MIDISCO/emuladores/gotek" dsk 3

Le estamos diciendo que:

  • Empiece a buscar los archivos en la ruta:
    /media/miPC/MIDISCO/emuladores/amstrad_cpc
  • Que cree la nuestra estructura en la ruta:
    /media/miPC/MIDISCO/emuladores/gotek
  • Que solo tenga en cuenta los archivos con extensión 'dsk'.
  • Que cree una estructura de directorios a partir de la ruta indicada con un nivel de profundidad 3.

La estructura de subdirectorios a partir del directorio de destino quedaría más o menos como en la imagen de la derecha.

 

Mejoras para el futuro

El desarrollo del script no termina aquí, va a seguir mejorando, añadiendo mejoras y puliendo errores.

Por ejemplo, en las últimas revisiones los archivos se guardan siempre en minúsculas evitando duplicidades y que no detecten algunos aparatos extensiones que estén en mayúsculas.

No descarto en un futuro hacer un frontend gráfico.

Si detectáis algún problema ponedlo aquí en los comentarios o en la sección de issues del repositorio.

viernes, 27 de diciembre de 2019

Gotek para Amstrad CPC6128: preparación y programación con FlashFloppy en GNU/Linux

Estos días me ha llegado una gotek, un emulador de disquetera para mi Amstrad CPC que me permite cargar imagenes de disquete desde un pendrive como si fueran discos de verdad.


Para disfrutarla ha venido con algunos complementos:
Para la preparación he seguido el tutorial Cómo programar Gotek con FlashFloppy mediante USB de AUAmstrad, con algunas salvedades.


Conexionado y preparación

Alimentación

Antes de usar el cable dupont he comprobado que los pines rojo y negro corresponden efectivamente a +5V y masa, para ello he usado un simple led.
Después solo he tenido que conectar el rojo a donde ponía +5V en la serigrafía y el negro al lado.



Apertura de la unidad y puenteado

Solo hay que retirar 3 tornillos que tiene en la parte superior para mostrar la placa.
La placa gotek

Al retirar la placa hay que tener especial cuidado en los elementos más delicados, los pines, el puerto USB, etc...

En el artículo de AUAmstrad se muestra los pines que hay que cortocircuitar para permitir la programación del firmware, mr.byte recomienda soldar un par de cablecitos y yo también, pero como todavía no estoy muy habil con el soldador lo que he hecho es poner un par de alambres de cobre que toquen en todo momento lo que hay que tocar y nada más.
Hay que tener mucho cuidado también al quitar los puentes después de hacer la programación del firmware para no dañar ninguna pista o componente, paciencia y buena letra.


Programación del firmware

He utilizado el firmware libre FlashFloppy que cubre mis necesidades, hay que seguir los siguientes pasos:
  • Descargar el último firmware, hay que descargarse la última versión estable y descomprimirla en la carpeta donde vayamos a trabajar.
  • Aplicar el firmware:
    sudo dfu-util -a 0 -s :unprotect:force -D FF_Gotek-v2.13.dfu
    sudo dfu-util -a 0 -D FF_Gotek-v2.13.dfu
  • Lógicamente si ves estas instrucciones dentro de un tiempo la última versión será otra y deberás sustituir 2.13 por la versión que sea.
Si tienes dudas sobre el éxito de la operación, puedes comparar lo que has obtenido en pantalla con lo que yo obtuve.

Ya podemos retirar los puentes con la unidad apagada, mientras los teníamos puestos no se encendía ninguna luz en la gotek y parecía no tener ninguna actividad pero si la volvemos a conectar después ya muestra el mensaje F-F que indica que ha ido todo bien (por ahora he trabajado con la pantalla original).



Muchas gracias a los compañeros del grupo de telegram AUA Club, en especial a jgilcas que me ha proporcionado los comandos.


Cambio de pantalla

Esta operación es delicada y conviene seguir al pie de la letra el esquema del artículo de AUA, puedes usar los mismos cables de la pantalla original, aunque dispuestos vertical en lugar de horizontalmente.



Como puedes ver en esta foto he puesto la nueva pantalla ya conectada junto a la original desconectada para apreciar que es igual de alta pero bastante más ancha así que toca mecanizar la caja, de nuevo con mimo y cuidado.

Pero antes comprobamos que funciona en el CPC, para lo cual preparo un pendrive con una única partición FAT32 y algunos archivos DSK.

La unidad la conectamos como hicimos con la disquetera de 3.5", recuerda que los interruptores que tengamos para cambiar de cara o elegir unidad deben estar abiertos, es decir, CARA A y funciona como unidad B.

En la pantallita debe salirnos los nombres de los archivos y una vez seleccionados accedemos a la unidad B y procedemos como de costumbre:
|B
CAT
RUN"LOQUESEA
Cuidado con el cable y el escaso peso de la gotek comparado con la disquetera, cuando la estés manipulando todavía abierta puede llevarse un golpe, yo casi pierdo uno de los tornillos así.


Resultado final

Al final me cargué la pantallita nueva y tuve que volver a poner la vieja mientras me traen otra, son muy baratas pero extremadamente delicadas.


Así que me tuve que pedir otra pantalla de nuevo (ya me pedí dos) y este fue el resultado definitivo:


Enlaces de interés