› Foros › Multiplataforma › Consolas alternativas
neohroot escribió:@bzhxx, when rom.rotate = true, DPAD and other buttons are mapped accordingly? Or we need to remap on the script?
Thanks!
neohroot escribió:Actualizado el repo principal corrigiendo el problema de salvado savestates y preferencias del retroGo, así como el “resume” al iniciar el emulador, para quienes usamos el OFW + retroGo.
STM32_Programmer_CLI.exe -c port=SWD -w gw_retro_go_intflash.bin 0x08100000
STM32_Programmer_CLI.exe -c port=SWD reset=HWrst -w gw_retro_go_extflash.bin 0x90100000 -el "PATH_TO_THE_STLDR_FILE\ MX25U12835F_GAME-AND-WATCH.stldr" -rst
STM32_Programmer_CLI.exe -c port=SWD -w FICHERO_BIN_OFW_Interno_parcheado.bin 0x08000000
STM32_Programmer_CLI.exe -c port=SWD reset=HWrst -w FICHERO_OFW_Externo.bin 0x90000000 -rst
neohroot escribió:@RataWeb, lo de la pantalla en blanco lo comentaban por el Discord, puede ser algunos modelos concretos de display, a mi no me ocurre, pásate por allí y dale a la búsqueda que algo hay.
Para modificar hay que tocar el .bin con un editor de texto, ahora se me ocurre el notepad++ con el plugin HexEditor, o el propio Ghidra.
Después de parchearlo con el patcher de Tim, hay que ir a la dirección 0001A13A y cambiar el valor 51 por 41.
fakemaria escribió:Alguien ha sacado alguna guia para tonticos? No me apetece pelearme a tope de cero(demasiados frentes abiertos con los proyectos en los que estoy),aunque si que tengo conocimientos en programacion y cacharreo vario
rockycat escribió:fakemaria escribió:Alguien ha sacado alguna guia para tonticos? No me apetece pelearme a tope de cero(demasiados frentes abiertos con los proyectos en los que estoy),aunque si que tengo conocimientos en programacion y cacharreo vario
estoy igual, lo que no me queda claro es que necesito comprar, ya que veo un programador bastante costoso y otro que parece una usb, a 10 usd, estoy hecho un lio
fakemaria escribió:@icebox2 problema con linux no voy a tener,tengo el culo pelao de pelearme con dependencias y movidas. Pero soldar y desoldar la memoria me da taco de respeto… soy un muñones soldando
rockycat escribió:@icebox2 gracias entonces no necesito mas que esto, https://www.amazon.es/dp/B081CC3VLV/?tag=eol00-21 verdad, ya si le quiero cambiar la memoria es opcional
RataWeb escribió:Hola,
Yo ahora con el de Tim, me defiendo bien, ya lo tengo parcheado y volcarlo a la GnW es fácil.
Si que es cierto que modificar el acceso al homebrew por IZQ + A, es mejor. @neohroot ¿Donde lo modificas?
pjexposito escribió:Prueba a copiar las ROMs de NES sin comprimir y con un nombre de 8 caracteres (lo del nombre no es obligatorio pero te lo digo por descartar). Y deben ir dentro de la carpeta nes. El resto de carpetas pueden estar vacías.
pjexposito escribió:Hola.
Posiblemente mañana me compre una G&W para meterle mano. Me gustaría usar una RPI para no tener que comprar un programador nuevo. He visto algunos tutoriales (como este) y no parece muy difícil. ¿Alguien está flasheando con RPi o no es recomendable? ¿Me puedo encontrar con algún problema? Por otro lado, he visto que con 1Mb de ROM se puede hacer realmente poco, aunque como mucho me gustaría meter un par de juegos y dos o tres roms de G&W. ¿Sería posible? ¿Hay alguna guía sobre los nuevos emuladores y los pros y contras de usar uno u otro?
Como me he incorporado tarde a la fiesta he visto un montón de tutoriales sueltos pero no consigo ordenarlos cronológicamente para saber cuales son las últimas novedades y cual es la mejor forma de meterle mano a la consola; de ahí las preguntas.
Gracias.
Tuto principal:
hilo_game-watch-super-mario_2391666_s1300#p1751155481
------------
https://drive.google.com/file/d/1kGac4o ... fyIty/view (guía para instalar en rPi sin soldar)
Hola!
Con 1MB, olvidándote de usar el Fw de stock, puedes meter varios de NES, GB y G&W, todo depende de cuáles elijas, mientras no sobrepase 1MB sin comprimir, luego el script de complicación lo comprime en un ratio variable, depende del juego , y puedes recuperar algo para meter alguna rom más.
Con RBP yo no lo he probado, pero hay gente que si lo ha hecho con algún problema que otro, pero ahi no se decirte, pásate por el Discord del proyecto, o por el otro Discord de la peña de EOL.
Supongo que varios problemas vendrán por no establecer bien los PATHs de GCC y demás, (a mi me pasó en debian).
Respecto a los emus, hay dos ramas a destacar de retroGo, la principal (KBECKMANM) va evolucionando con alguna que otra mejora, y la que incluye el emu (BZHXX) de G&W.
Lógicamente a mi me interesa la del emu G&W, que aunque no incluye lo ultimo si tienes esta emulación.
Otra opción es esperar a que las fusionen o hacer un “merge” tú mismo (con algún conocimiento de GIT), para tener las funcionalidades de ambas ramas.
Justamente ahora estoy haciendo una a mano para publicar en mi github, pero acaban de actualizar la principal, a si que creo que voy a esperarme unos días. De paso decir que en la mia pretendo mantener el emulador de GB con relación de aspecto de imagen de la GB original.
Por otro lado otro usuario mejoró el menú de selección de ROMs añadiendo tiles de fotos. Esto resta espacio, pero queda muy curioso.
Recomedacion:
1 - prepara la RBP, o el STLink, las conexiones a la PCB y el linux donde hagas la compilación, con todas ls apps y dependencias necesarias, según los README. En el caso de usar un STLink original o chino, actualizar el FW del mismo desde STM32Programmer si presenta algún problema a la hora de programar.
2 - Desbloquea el STM y crea el backUp, con los 5 scripts de KBECKMANN, (en el README del github) usa el último (5) para recuperar FW de stock y comprobar que funciona.
3 - si tienes nuevo IC (flash), cámbialo, ejecuta de nuevo el script 5 y comprueba que funciona.
4 - Clónate el repo de KBENCKMANM o BZHXX, prepara roms en sus carpetas y a compilar (LARGE_FLASH=1 si usas una de 16MB). En caso de usar una mayor a 16MB, habria que ver alguna cosa más.
5 - en el caso de las ROMS de G&W, tienes que prepararlas con el script de python de BZHXX
Añado la guía para el LCD game shrinker, cortesía de DNA64
(en Discord tienes ls instrucciones, aunque llegado el momento puedo echar una mano ya que se usa python 3 y algunas librerías extra). Necesitas las roms de mame y los artworks específicos de Lee Robson (hydef) que se indican, yo no tuve muchos problemas en encontralos.
6 - preparar una imagen de VMware o un docker que incluya todo esto seria ideal, porque tener que instalar todo de 0 es algo laborioso.
7 - seguramente me deje cosas por el camino, pero lo vamos viendo.
https://discord.gg/vVcwrrHTNJ
https://github.com/kbeckmann/game-and-watch-retro-go
https://github.com/bzhxx/LCD-Game-Shrinker
https://gist.github.com/DNA64/16fed499d ... 0a9638e4ef
--------------
Buen tutorial.
Yo lo instalé ayer en un Mac casi son problemas. Tan sólo al convertir los vectoriales me daba error dado que no encontraba el ejecutable de inkscape. Revisando el código del script vi que existe una variable llamada INKSCAPE_PATH que el script revisa durante la ejecución y que apunta al ejecutable de inkscape. Haciendo un
export INKSCAPE_PATH=/Applications/Inkscape.app/Contents/MacOS/inkscape
solucioné el problema y ahora el script ya funciona bien.
------------
Estaria bien que lo agregarais al tuto para estar todo ordenado por si a alguien mas le pudiera pasar.
Link drivers STlink: https://www.st.com/en/development-tools ... t-software
Link programa act. firmware: https://www.st.com/en/development-tools ... nk007.html
----
Enhorabuena! Qué gusto da cuando al final las cosas salen bien. Ahora, a cacharrear con la consola.
Por cierto, páginas atrás se recomendó el romset 0.229 Merged para poder crear las roms de G&W. Pese a que el romset es correcto, yo recomendaría usar el No-Merged. Lo normal es encontrar el Split o el Merged, por lo que recomiendo usar el CLRMamePro para crear un "mini romset" de las roms de G&W (es fácil, dado que las roms empiezan por gnw-). Una vez se tengan las roms en modo no-merged ya se puede usar el conversor de nuevo.
Digo esto porque hay algunas máquinas (como el Super Mario Bros. Wide Screen) que no aparecen en el romset merged ya que son clones de otras Game & Watch. Al usar el romset No-Merged las roms se separan y el script puede trabajar con ellas de forma normal. Además, al hacerlo así cada rom ocupa de 5 a 15Kb menos. Parece una tontería pero cuando se tiene un Mb para almacenar recuperar 30Kb es una maravilla.
Saludos.
---------
Dave&Fran escribió:
No lo veo, me pierdo con linux.
Segun lo que pone hay que hacer esto:
You will need version 10 or later of arm-gcc-none-eabi toolchain. 10.2.0 and later are known to work well. Please make sure it's installed either in your PATH, or set the environment variable GCC_PATH to the bin directory inside the extracted directory (e.g. /opt/gcc-arm-none-eabi-10-2020-q4-major/bin, /Applications/ARM/bin for macOS).
Tengo descargado y descomprimido el gcc-arm-none-eabi-10-2020-q4-major en descargas aunque ya instale el gcc10. Entiendo que es decirle que lo vaya a buscar a tal sitio no?
Merci
Eso es,
Si pones
SELECCIONARCOPIAR
arm-none-eabi-gcc -v
(Compilador GCC para ARM, NO PARA tu PC (x86/i64), y que se ejecuta en tu PC para compilar binarios con destino ARM/STM)
Debajo del todo aparecera la versión a la que llama del symlink o ruta del path.
Si no es correcta pues tienes que añadir, tal como te dice la ayuda, al PATH, o al menos al GCC_PATH la ruta a la versión 10.X (donde esta el binario ejecutable “gcc”)
Si pones
SELECCIONARCOPIAR
echo $GCC_PATH
Que dice?
Y/o con
SELECCIONARCOPIAR
echo $PATH
te sale la ruta en la variable?
Por otro lado ten cuidado con sustituir GCC del sistema linux, siempre es mejor tener el GCC original y los posteriores descargados para tu arquitectura, o compilados por ti en tu máquina en caso contrario, o descargándote un toolchain GCC, pero en otra ruta y llamar según sea necesario. En este caso el GCC es para el arm/stm, por lo tanto descárgalo compilado, que no tendrás peligro.
Para asegurarte exporta los paths antes de compilar, porque si no en cada reinicio se te irán, a no ser que los añadas a bashrc, bash_profile, etc, y por comodidad hazte un script como el que puse más arriba, el cual exporta lo necesario, compila y flashea de una tacada.
Si no pues teclea comando a comando en la terminal.
SELECCIONARCOPIAR
export ADAPTER=stlink
export OPENOCD="/opt/openocd-git/bin/openocd"
export PATH=$PATH:/opt/gcc-arm-none-eabi-10-2020-q4-major/bin/
Cambia las rutas según lo tengas tu.
*********************
Avances RetroGO
*********************
Probando última actualización:
Holding the `PAUSE/SET` button while pressing other buttons have the following actions:
- `PAUSE/SET` + `TIME` = Toggle speedup between 1x and the last non-1x speed. Defaults to 1.5x.
- `PAUSE/SET` + `UP` = Brightness up.
- `PAUSE/SET` + `DOWN` = Brightness down.
- `PAUSE/SET` + `RIGHT` = Volume up.
- `PAUSE/SET` + `LEFT` = Volume down.
- `PAUSE/SET` + `B` = Load state.
- `PAUSE/SET` + `A` = Save state.
- `PAUSE/SET` + `POWER` = Poweroff WITHOUT save-stating.
Una gozada.
Avisan que vuelve a haber stock de Flash de macronix en farnell, no se si en alguna sitio más, aprovechad.
---------
Hola. Prueba a escribir
SELECCIONARCOPIAR
export PATH=/usr/bin:$PATH
Y luego compila de nuevo.
--------
Hola de nuevo.
Acabo de adaptar el script que usé yo en RPI para que funcione en Ubuntu.
Debes ir copiando y ejecutando cada una de las instrucciones de una en una. Además, hay cuatro líneas en las que debes cambiar mi nombre de usuario (pedro) por el tuyo.
Yo lo he probado en una instalación nueva de Ubuntu y me ha funcionado bien.
Pruébalo y nos cuentas.
sudo apt update
sudo apt upgrade -y
sudo apt install -y binutils-arm-none-eabi python3 libftdi1 lz4 git npm
sudo npm install -y -global xpm@latest
xpm install --global @xpack-dev-tools/openocd@latest
mkdir -p ~/opt
cd ~/opt
wget https://developer.arm.com/-/media/Files ... ux.tar.bz2
tar xvf gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
rm gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
OJO Debes cambiar pedro por tu nombre de usuario en las cuatro órdenes siguientes
export GCC_PATH=/home/pedro/opt/gcc-arm-none-eabi-10-2020-q4-major/bin/
export OPENOCD=/home/pedro/.local/xPacks/@xpack-dev-tools/openocd/0.11.0-1.1/.content/bin/openocd
echo export GCC_PATH=/home/pedro/opt/gcc-arm-none-eabi-10-2020-q4-major/bin/ >>~/.bashrc
echo export OPENOCD=/home/pedro/.local/xPacks/@xpack-dev-tools/openocd/0.11.0-1.1/.content/bin/openocd >>~/.bashrc
git clone https://github.com/ghidraninja/game-and ... backup.git
git clone https://github.com/ghidraninja/game-and ... loader.git
git clone --recurse-submodules https://github.com/bzhxx/game-and-watch-retro-go
cd ~/opt/game-and-watch-flashloader
make
OJO Antes de ejecutar lo siguiente debes copiar las roms en la carpeta roms de game-and-watch-retro-go
cd ~/opt/game-and-watch-retro-go
make -j8 flash
-------------
Ostras! Como no uso STLink creo que se me olvidó instalar los drivers. Seguramente @neohroot te pueda ayudar en este punto. De todas formas según he visto debes instalar los drivers para Linux de esta forma:
SELECCIONARCOPIAR
wget https://nightly.link/kbeckmann/ubuntu-o ... it.deb.zip
unzip openocd-git.deb.zip
sudo dpkg -i openocd-git_*_amd64.deb
sudo apt-get -y -f install
export ADAPTER=stlink
export OPENOCD="/opt/openocd-git/bin/openocd"
Si durante la instalación del OpenOCD te da problemas, haz lo siguiente:
SELECCIONARCOPIAR
sudo apt install libftdi1-2
sudo apt install libhidapi-hidraw0
sudo apt --fix-broken install
sudo apt install libftdi1-2
sudo apt install libhidapi-hidraw0
sudo dpkg -i openocd-git_*_amd64.deb
sudo apt-get -y -f install
Este código no lo he podido probar porque yo programo con la Rpi, pero debería funcionar. La información está sacada de este post de @shxmario
-----
Por cierto, recordad actualizar el repositorio y los submódulos para que todo funcione bien:
SELECCIONARCOPIAR
git reset --hard
git submodule update --init --recursive
git reset --hard
make -j8 flash
--------
Edito: Resulta que haciendo lo que te he puesto arriba no funciona. Hay que hacer alguna cosa más:
-Descarga Inkscape en formato comprimido. No el instalador. Descomprime el archivo en el escritorio, por ejemplo. Luego, pon la orden que he puesto arriba pero apuntando al archivo del escritorio. Por ejemplo:
SELECCIONARCOPIAR
set INKSCAPE_PATH=c:\Users\pjexp\Desktop\inkscape\bin\inkscape.exe
Ponlo a pelo, sin comillas ni nada.
Hay un problema si lo haces desde el instalador ya que los permisos de Windows no te dejan ejecutar correctamente el Inkscape y da error.
-Luego, descarga el LZ4, de nuevo descomprime en el Escritorio y ejecuta algo parecido a esto:
SELECCIONARCOPIAR
set LZ4_PATH=c:\Users\pjexp\Desktop\lz4_win64_v1_9_3\lz4.exe
Y recuerda instalar las dependencias de Python entrando en la carpeta del script y ejecutando:
SELECCIONARCOPIAR
pip install -r requirements.txt
Con eso debería funcionar.
La verdad es que es un lío ejecutar estos scripts en Windows. Yo te recomiendo que instales WSL en Windows y lo hagas todo desde la consola de Linux; aunque igual son manías.
----
Hola. Vuelvo a las andadas!
Como bien dice @neohroot están trabajando en un custom firmware que elimina algunos huevos de pascual y incluso la rom de Mario 2 (opcional) para que los que tenemos 1 Mb de memoria podamos usar el firmware original junto con el Retro-Go. El repo es este.
Yo hoy por fin he tenido un poco de tiempo libre y he vuelto al cacharreo. Resulta que me he puesto a modificar la consola pero me he dado de bruces con la Raspberry Pi y el Openocd. No había forma de flashear el custom firmware dado que siempre me daba error. Al final he hecho dos cosas. En primer lugar he comentado la linea de scripts/flashloader.sh que especifica que OPENOCD = openocd. De esta forma el script llama al openocd que tengo en bash dentro de la variable OPENOCD y no al que hay en el PATH (siempre me daba error si no la comentaba).
El segundo punto ha sido volver al firmware original, usando el script 5 de game-and-watch-backup. He tratado de flashear sin hacer este paso pero siempre me daba error. Lo he comentado por discord con el creador y ha cambiado un par de cosas del script y ahora parece que funciona mejor.
El segundo paso ha sido meter el retro-go en una posición de memoria distinta a la original para que el firmware parcheado funcione.
Kbeckmann hizo una version personalizada del Openocd pero desgraciadamente la versión que proporciona compilada es para X86. Así que la he descargado de su repositorio y la he compilado para RPi. Haciendo esto ha funcionado todo genial y he podido finalizar el proceso correctamente.
Así que parece que todo funciona OK. He probado la consola, carga el firm original y al pulsar Left+Game me carga el Retro-go. Pero si la apago, no vuelve a funciona. Y en este punto estoy; a ver si esta tarde consigo solucionar el problema y me pongo con la selección de juego.
Un saludo.
Edito:
Al final ya funciona todo. Por lo que parece las instrucciones del readme no eran correctas y se escribía en un lugar de la flash incorrecto. El autor ha corregido el fallo y, ahora sí, tengo el firm original y el retro-go en un mega de capacidad
https://github.com/BrianPugh/game-and-watch-patch
------
bobst escribió:No se cómo poner el primer post en modo Wiki