retro-esp32 / RetroESP32

Retro ESP32 is a turbo charged Odroid Go Launcher, Emulator and ROM Manager
Creative Commons Attribution Share Alike 4.0 International
597 stars 92 forks source link

exiting to menu from gbc game crash #28

Closed mac-a-r0ni closed 4 years ago

mac-a-r0ni commented 4 years ago

Any gbc game I load to play when exiting to menu never exits and the loading light stays on, have to power down go and re-flash the fw to get out of the game.

32teeth commented 4 years ago

@jloco can you try this one?

https://github.com/retro-esp32/RetroESP32/blob/Software/Firmware/Releases/odroid-go/Retro%20ESP32.fw

I just tested GBC and Atari 2600, seems to be fine.

If it's still happening, can you run make monitor on that port and dump me the logs

thanks you

mac-a-r0ni commented 4 years ago

It still does the crash. I noticed that smaller filesized roms will exit, but large ones do the crash. (pokemon silver, gold, dragon warrior 3). 2600 games will not load at all for me. Is there a guide on how to get the logs? If I run make, it's just going to tell me it can't find a monitor makefile. I'm on OSX, but can use Windows to get logs if needed.

32teeth commented 4 years ago

@jloco

Okay. Here's 2 things you can do

  1. Flash updated Odroid Go Firmware
  2. Flash the Launcher directly to the Odroid (You will lose the Odroid Go interface, but you can always put it back later)

For Either Option

OS X Instructions

Assumption: You have git command line installed You can check by running git --version in your terminal If nothing, install git client

Homebrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Git

brew install git

Get RetroESP32

Get a coffee and sit back

cd ~/Desktop
git clone -b Software --single-branch git@github.com:retro-esp32/RetroESP32.git --recursive
cd RetroESP32
git submodule update --init --recursive
git submodule foreach git pull origin master
chmod -R 777 Scripts
cd Scripts
./branches
./replace
source helpers/paths

Odroid Go Firmware

Update the root firmware

cd ~/Desktop/RetroESP32/Odroid/odroid-go-firmware
make menuconfig

In the config window, navigate to Serial flasher config Select the Default Serial Port Enter /dev/cu.SLAB_USBtoUART Exit the config window and save

make -j8

The above will dump you a command that looks like this (DON'T COPY THIS ONE), copy the command it give you

python ~/Desktop/RetroESP32/Tools/esp-idf/components/esptool_py/esptool/esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 0xd000 ~/Desktop/RetroESP32/Odroid/odroid-go-firmware/build/ota_data_initial.bin 0x1000 ~/Desktop/RetroESP32/Odroid/odroid-go-firmware/build/bootloader/bootloader.bin 0xf000 ~/Desktop/RetroESP32/Odroid/odroid-go-firmware/build/phy_init_data.bin 0x10000 ~/Desktop/RetroESP32/Odroid/odroid-go-firmware/build/odroid-go-firmware.bin 0x8000 ~/Desktop/RetroESP32/Odroid/odroid-go-firmware/build/partitions.bin

Sit back, your Odroid will now be flashed with new root firmware

Reflash the Retro ESP32 firmware from the selection menu

mac-a-r0ni commented 4 years ago

For future reference, the brew git client will not download any data because of authentication errors. Using the official Mac github client I was able to pull the branches and through much labor, get it to build the RetroESP32 firmware on my box. The odroid-go-firmware, however, keeps deleting the makefiles and becomes unable to be built. Each script clears my terminal after use so I can't check the errors along the way either. The go already has the 20081001 revision firmware on it, so I'll assume that isn't the issue. I did, however, flash the RetroESP32 firmware I was able to build and it acts the same.

Are there changes in the latest git being the reason you wanted me to build it? As it's easily flashable without all the trouble of setting up a dev environment to make it first. go-play or any other firmwares do not exhibit this behavior either. I'll keep chugging at this, but using git on osx is a nightmare so far. ;)

32teeth commented 4 years ago

I tested, and it seems some Pokemon Games exhibit this behavior (might be memory) If you are locked in a game, you can hold menu for 5 seconds to escape

As per the console clearing, you can always scroll up

Have you checked this instructions? https://github.com/retro-esp32/RetroESP32/tree/Software#ota

Lastly, if all else fails, try to run ./installer from scripts folder

32teeth commented 4 years ago

Okay, heres the next trial for you

Take the attached zip file and unzip in /Firmware/Bins in the repo directory bins.zip

Run ./ota Answer N to all questions

mac-a-r0ni commented 4 years ago

After flashing it still acts the same. It does exit to menu on those gbc games if I hold the menu button like you said previously, so that is useful. Still 2600 games won't launch. I know the sd is fat32 but could there be permissions issues with those files? (i'm off to work for the next several hours so I won't be able to respond)

Cralex commented 4 years ago

I’m also having this problem on the volume GUI update on OdroidGo. When connected over serial, getting stuck while trying to exit a GBC game gives me this output:

abort() was called at PC 0x400e5b49 on core 0

Backtrace: 0x4008f4ef:0x3ffc3ad0 0x4008f7bd:0x3ffc3af0 0x400e5b49:0x3ffc3b10 0x0

Entering gdb stub now.
$T0b#e6

32teeth commented 4 years ago

Please refer to latest release also resolving #34

Cralex commented 4 years ago

I made sure to update to the latest releases, and the issue remains. I went through all 50 of the Gameboy Color games I have on my OdroidGo. Of those games, the following freeze the system when you press the menu button:

Dragon warrior III Dragon Warrior Monsters 2 (Patched version with all monsters) Gameboy Wars 2 (Translated to English) Harvest Moon 2 Legend of Zelda Link’s Awakening Rexux (Hack of LA DX) Mario Tennis Pokémon Perfect Crystal (Hack of crystal) Pokémon Prism Debug 0.94.0235 Pokémon Puzzle Challenge Pokémon Yellow (Patched with Gen 2 sprites) Pokémon Brown Pokémon Trading Card Game Pokémon Trading Card Game 2 (Translated to English) Survival Kids Wario Land 2 Wario Land 3

32teeth commented 4 years ago

Thanks for the list. Check Latest Release

Tested Roms