Últimamente estoy actualizando todos los cores del ZX GO+ , así como preparando unas tarjetas para usarlo, y me he percatado de una cosa que hasta ahora no me había molestado, porque no tenía los cores en orden. La disposición de los tipos de teclado no coincide con la disposición de los cores en los slots. El primer core debe ser el de Spectrum, pero el tipo de teclado ZX se consigue con la tecla 0, y no con la 1.
Por eso he realizado un cambio para cambiar la disposición de los 10 primeros teclados. Así ahora son:
1 –> ZX
2 –> CPC
3 –> MSX
…
0 –> PCXT
De esta forma, colocando los 10 primeros cores en ese orden, cuando mantenemos pulsamos en el arranque por ejemplo la tecla 3, el core que arrancará en el de MSX, y para poner su teclado se que debo hacer CS+SS+F–>U–>3
Para actualizar el firmware del teclado del ZX GO+ he bajado los fuentes del github de Spark2k06
https://github.com/spark2k06/zxunops2
y los he metido en una carpeta que debe llamarse zxunops2
Con el IDE Arduino instalado abro el archivo zxunops2.ino, y me aparecen 3 pestañas: zxunops2, config.h y keymaps.h
En la pestaña config.h descomento esta línea:
#define switches // Activado para el ZXGo+
y en la pestaña keymaps.h modifico el orden de los teclados:
#define MODO_1 zx
#define MODO_2 cpc
#define MODO_3 msx
#define MODO_4 c64
#define MODO_5 at8
#define MODO_6 bbc
#define MODO_7 aco
#define MODO_8 ap2
#define MODO_9 vic
#define MODO_0 pc
Y esos son todos los cambios que hay que hacer. Para poder compilar, y ya con el conversor USB a UART conectado al ZX GO+, asigno los valores correctos en el menú Herramientas:
Placa: Arduino Duemilanove or Diecimila
Procesador: ATmega328p
Puerto: /dev/ttyUSB0 (en Windows suele ser COM4 u otro parecido)
solo falta dar al botón «Subir» o CTRL+U.
Una vez aparezca «Subido» en la línea de estado ya tendremos el firmware del arduino que controla el teclado actualizado.