Hola!! Pues nada... Que me he comprado un Amiga!!! Concretamente este A600:
El Amiga es muy especial para mí porque es el ordenador que nunca pude tener. Cuando salió recuerdo que iba a "Galerías Preciados" después de las clases solo para verlo. Allí lo tenían, encima de un pedestal y casi siempre con la demo "Juggler", aquella del malabarista con las 3 bolas de espejo. Años más tarde mis padres decidieron comprar un PC (lo que al final resultó ser una buena decisión), así que durante bastante tiempo solo hice que babear en las tiendas viendo las demos y esos graficazos, que comparados con la CGA del PC eran increíbles... Y ahora, por fin es MÍIIIIOOOOO
El caso es que de los diskettes que me dio el vendedor no funcionan ni la mitad y los juegos que van, a excepción del Walker, son bastante birria. Así que le he comprado una Gotek, cómo no,
la más barata de Aliexpress, por 14 eurillos (si desaparece el enlace, simplemente buscar SFR1M44-U100K).
Una vez desmontada dentro tiene esto:
Di por supuesto que el firmware que trae es el que emula una diskettera de PC, así que lo primero que hice fue intentar flashearla con el firmware "Cortex", que es el que emula la diskettera de Amiga... Pero no lo conseguí siguiendo las instrucciones del autor, así que escribo esto por si a alguien más encuentra problemas y le sirve.
Las
instrucciones originales y el firmware están aquí.
Yo intenté seguir los pasos con el cable FTDI a 5V y todo conectado como dice, pero el programa de ST nunca me llegó a pasar de la primera pantalla con errores de que no podía reconocer el chip.
Investigando un poco llegué a una página de ST donde explican que los chips STM32F105 de 64 patas con código de fecha anterior a la 937 tienen un bug en el bootloader y no se pueden flashear con esas instrucciones. ¿Adivináis quién tiene un STM32F105 de 64 patas con código de fecha 727 (abajo a la izquierda)? Exacto... mi Gotek china de 14€:
Por suerte hay una forma alternativa usando un programador ST-LINK v2 (o su clon chino de Aliexpress, que cuesta 2€) usando las patas SWDIO y SWCLK del micro. Y la suerte es doble porque, al menos en mi placa, SWDIO y SWCLK están sacadas a unos taladros donde podemos soldar unos pines. Aquí se pueden ver:
Simplemente tenemos que conectar los pines 5V, GND, SWDIO y SWCLK del programador ST-LINK v2 a las correspondientes patas de la Gotek:
Además, ponemos un cablecillo del RESET a GND para evitar que la CPU arranque y el programa tome el control de las patas SWDIO/SWCLK (cable morado):
Para programarlo yo he usado el OpenOCD. Está para todos los SOs.
openocd -f interface/stlink-v2.cfg -f target/stm32f1x.cfg -c "init; reset halt; flash write_image erase unlock CortexAmigaFloppyEmulator_1.05a.hex 0 ihex; exit"
Lanzamos esa orden e inmediatamente desconectamos el cable morado para dejar a la CPU que arranque. Veremos algo como esto:
GNU MCU Eclipse 64-bits Open On-Chip Debugger 0.10.0+dev-00135-g80299198 (2017-06-22-18:37)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'.
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
adapter speed: 1000 kHz
adapter_nsrst_delay: 100
none separate
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : clock speed 950 kHz
Info : STLINK v2 JTAG v28 API v2 SWIM v7 VID 0x0483 PID 0x3748
Info : using stlink api v2
Info : Target voltage: 3.238421
Info : stm32f1x.cpu: hardware has 6 breakpoints, 4 watchpoints
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x08007900 msp: 0x20007c38
auto erase enabled
auto unlock enabled
Info : device id = 0x10016418
Info : flash size = 128kbytes
Warn : aligned end protect sector to a 2 sector boundary
target halted due to breakpoint, current mode: Thread
xPSR: 0x61000000 pc: 0x2000003a msp: 0x20007c38
target halted due to breakpoint, current mode: Thread
xPSR: 0x61000000 pc: 0x2000003a msp: 0x20007c38
wrote 63488 bytes from file CortexAmigaFloppyEmulator_1.05a.hex in 2.727592s (22.731 KiB/s)
Si queremos antes de programarlo podemos volcar el firmware original a un fichero con:
openocd -f interface/stlink-v2.cfg -f target/stm32f1x.cfg -c "init; reset halt; dump_image original-fw.bin 0 131072; exit"
Por último en
thingiverse hay una pieza para imprimir en 3D con las medidas justas para meter el USB y acceder a los botones a través de la ranura de los diskette. Hay gente que le saca el cable plano y la Gotek queda colgando por ahí, pero a mí esta solución me parece mucho más elegante:
Así queda montada:
Con la tapa puesta: niquelao!!!!
A babear se ha dicho!!!!!!