ZIP support for Odroid-Go Advance (EmulationStation). Is it possible?

Game ROMs compatibility, performance and new cores
Post Reply
User avatar
maxmoon
Posts: 22
Joined: Mon May 02, 2022 3:32 am
languages_spoken: english
ODROIDs: Odroid-Go Advance
Has thanked: 15 times
Been thanked: 0
Contact:

ZIP support for Odroid-Go Advance (EmulationStation). Is it possible?

Post by maxmoon »

Currently I am trying out the official operating system V2.2 to play my favorite games.

The first thing what didn't work out of the box was, that none of my games have been recognized. After checking the es_system.cfg I've seen that there are no zip file extensions defined. So I've changed it and all my games appear. But I couldn't start it... it kept crashing. So I used ssh to log into my Odroid-Go Advance and check the command, which is used to start SNES games and copied and modified it to start my favorite game:

Code: Select all

retrorun -s ~ -d /opt/libretro/snes9x /opt/libretro/snes9x/snes9x_libretro.so /roms/snes/my_favorite_snes_game.zip
It shows following error in terminal:
librga:RGA_GET_VERSION:4.00,4.000000
ctx=0x55b9e64e70,ctx->rgaFd=3
Rga built version:version:+2017-09-28 10:12:42
opt_save='/home/odroid', opt_systemdir='/opt/libretro/snes9x', opt_aspect=0.000000
remaining_args=2
non-option ARGV-elements: /opt/libretro/snes9x/snes9x_libretro.so /roms/snes/Super Mario World (Europe).zip
RETRO_ENVIRONMENT_SET_CORE_OPTIONS_INTL
OPTION: key=snes9x_region, value=auto
OPTION: key=snes9x_aspect, value=4:3
OPTION: key=snes9x_overscan, value=enabled
OPTION: key=snes9x_gfx_hires, value=enabled
OPTION: key=snes9x_hires_blend, value=disabled
OPTION: key=snes9x_blargg, value=disabled
OPTION: key=snes9x_audio_interpolation, value=gaussian
OPTION: key=snes9x_up_down_allowed, value=disabled
OPTION: key=snes9x_overclock_superfx, value=100%
OPTION: key=snes9x_overclock_cycles, value=disabled
OPTION: key=snes9x_reduce_sprite_flicker, value=disabled
OPTION: key=snes9x_randomize_memory, value=disabled
OPTION: key=snes9x_block_invalid_vram_access, value=enabled
OPTION: key=snes9x_echo_buffer_hack, value=disabled
OPTION: key=snes9x_show_lightgun_settings, value=disabled
OPTION: key=snes9x_lightgun_mode, value=Lightgun
OPTION: key=snes9x_superscope_reverse_buttons, value=disabled
OPTION: key=snes9x_superscope_crosshair, value=2
OPTION: key=snes9x_superscope_color, value=White
OPTION: key=snes9x_justifier1_crosshair, value=4
OPTION: key=snes9x_justifier1_color, value=Blue
OPTION: key=snes9x_justifier2_crosshair, value=4
OPTION: key=snes9x_justifier2_color, value=Pink
OPTION: key=snes9x_rifle_crosshair, value=2
OPTION: key=snes9x_rifle_color, value=White
OPTION: key=snes9x_show_advanced_av_settings, value=disabled
OPTION: key=snes9x_layer_1, value=enabled
OPTION: key=snes9x_layer_2, value=enabled
OPTION: key=snes9x_layer_3, value=enabled
OPTION: key=snes9x_layer_4, value=enabled
OPTION: key=snes9x_layer_5, value=enabled
OPTION: key=snes9x_gfx_clip, value=enabled
OPTION: key=snes9x_gfx_transp, value=enabled
OPTION: key=snes9x_sndchan_1, value=enabled
OPTION: key=snes9x_sndchan_2, value=enabled
OPTION: key=snes9x_sndchan_3, value=enabled
OPTION: key=snes9x_sndchan_4, value=enabled
OPTION: key=snes9x_sndchan_5, value=enabled
OPTION: key=snes9x_sndchan_6, value=enabled
OPTION: key=snes9x_sndchan_7, value=enabled
OPTION: key=snes9x_sndchan_8, value=enabled
CONTROLLER: id=0, desc=None
CONTROLLER: id=2, desc=SNES Mouse
Core loaded
core_load: library_name='Snes9x'
GET_VAR: snes9x_hires_blend
ENV_VAR (default): snes9x_hires_blend=disabled
GET_VAR: snes9x_overclock_superfx
ENV_VAR (default): snes9x_overclock_superfx=100%
GET_VAR: snes9x_up_down_allowed
ENV_VAR (default): snes9x_up_down_allowed=disabled
GET_VAR: snes9x_sndchan_1
ENV_VAR (default): snes9x_sndchan_1=enabled
GET_VAR: snes9x_sndchan_2
ENV_VAR (default): snes9x_sndchan_2=enabled
GET_VAR: snes9x_sndchan_3
ENV_VAR (default): snes9x_sndchan_3=enabled
GET_VAR: snes9x_sndchan_4
ENV_VAR (default): snes9x_sndchan_4=enabled
GET_VAR: snes9x_sndchan_5
ENV_VAR (default): snes9x_sndchan_5=enabled
GET_VAR: snes9x_sndchan_6
ENV_VAR (default): snes9x_sndchan_6=enabled
GET_VAR: snes9x_sndchan_7
ENV_VAR (default): snes9x_sndchan_7=enabled
GET_VAR: snes9x_sndchan_8
ENV_VAR (default): snes9x_sndchan_8=enabled
GET_VAR: snes9x_layer_1
ENV_VAR (default): snes9x_layer_1=enabled
GET_VAR: snes9x_layer_2
ENV_VAR (default): snes9x_layer_2=enabled
GET_VAR: snes9x_layer_3
ENV_VAR (default): snes9x_layer_3=enabled
GET_VAR: snes9x_layer_4
ENV_VAR (default): snes9x_layer_4=enabled
GET_VAR: snes9x_layer_5
ENV_VAR (default): snes9x_layer_5=enabled
GET_VAR: snes9x_gfx_clip
ENV_VAR (default): snes9x_gfx_clip=enabled
GET_VAR: snes9x_gfx_transp
ENV_VAR (default): snes9x_gfx_transp=enabled
GET_VAR: snes9x_gfx_hires
ENV_VAR (default): snes9x_gfx_hires=enabled
GET_VAR: snes9x_audio_interpolation
ENV_VAR (default): snes9x_audio_interpolation=gaussian
GET_VAR: snes9x_overclock_cycles
ENV_VAR (default): snes9x_overclock_cycles=disabled
GET_VAR: snes9x_reduce_sprite_flicker
ENV_VAR (default): snes9x_reduce_sprite_flicker=disabled
GET_VAR: snes9x_randomize_memory
ENV_VAR (default): snes9x_randomize_memory=disabled
GET_VAR: snes9x_overscan
ENV_VAR (default): snes9x_overscan=enabled
GET_VAR: snes9x_aspect
ENV_VAR (default): snes9x_aspect=4:3
GET_VAR: snes9x_region
ENV_VAR (default): snes9x_region=auto
GET_VAR: snes9x_lightgun_mode
ENV_VAR (default): snes9x_lightgun_mode=Lightgun
GET_VAR: snes9x_superscope_reverse_buttons
ENV_VAR (default): snes9x_superscope_reverse_buttons=disabled
GET_VAR: snes9x_superscope_crosshair
ENV_VAR (default): snes9x_superscope_crosshair=2
GET_VAR: snes9x_superscope_color
ENV_VAR (default): snes9x_superscope_color=White
GET_VAR: snes9x_justifier1_crosshair
ENV_VAR (default): snes9x_justifier1_crosshair=4
GET_VAR: snes9x_justifier1_color
ENV_VAR (default): snes9x_justifier1_color=Blue
GET_VAR: snes9x_justifier2_crosshair
ENV_VAR (default): snes9x_justifier2_crosshair=4
GET_VAR: snes9x_justifier2_color
ENV_VAR (default): snes9x_justifier2_color=Pink
GET_VAR: snes9x_rifle_crosshair
ENV_VAR (default): snes9x_rifle_crosshair=2
GET_VAR: snes9x_rifle_color
ENV_VAR (default): snes9x_rifle_color=White
GET_VAR: snes9x_block_invalid_vram_access
ENV_VAR (default): snes9x_block_invalid_vram_access=enabled
GET_VAR: snes9x_echo_buffer_hack
ENV_VAR (default): snes9x_echo_buffer_hack=disabled
GET_VAR: snes9x_blargg
ENV_VAR (default): snes9x_blargg=disabled
GET_VAR: snes9x_show_lightgun_settings
ENV_VAR (default): snes9x_show_lightgun_settings=disabled
GET_VAR: snes9x_show_advanced_av_settings
ENV_VAR (default): snes9x_show_advanced_av_settings=disabled
Map_HiROMMap
[inf] "__|______|__@_s_{T____" [bad checksum] HiROM, Corrupt, ROM, NTSC, SRAM:Corrupt, ID:____, CRC32:3CAF8ED2
RETRO_ENVIRONMENT_SET_PIXEL_FORMAT: fmt=0x2
video_configure: base_width=256, base_height=224, max_width=604, max_height=478, aspect_ratio=1.333333
could not find encoder!
Segmentation fault
I tried to install unzip and zip via ssh:

Code: Select all

sudo apt-get install zip unzip
But it still didn't work.

What am I missing here? Because all of my zip roms work on all other platforms.

Thanks a lot for your help.
My blog: utopify.org

crashoverride
Posts: 5660
Joined: Tue Dec 30, 2014 8:42 pm
languages_spoken: english
ODROIDs: C1
Has thanked: 0
Been thanked: 537 times
Contact:

Re: ZIP support for Odroid-Go Advance (EmulationStation). Is it possible?

Post by crashoverride »

maxmoon wrote:
Tue May 10, 2022 5:21 am
[inf] "__|______|__@_s_{T____" [bad checksum] HiROM, Corrupt, ROM, NTSC, SRAM:Corrupt, ID:____, CRC32:3CAF8ED2
Not all libretro cores accept compressed (.zip) content. Un-compress the ROM to use it. Note that other platforms that use RetroArch will transparently decompress a file. RetroRun does not because this causes flash memory like SD cards to wear out faster.
maxmoon wrote:
Tue May 10, 2022 5:21 am
video_configure: base_width=256, base_height=224, max_width=604, max_height=478, aspect_ratio=1.333333
could not find encoder!
Segmentation fault
To start an emulator from the command line, you must first stop EmulationStation so the display is available for use.

Code: Select all

sudo service emulationstation stop
maxmoon wrote:
Tue May 10, 2022 5:21 am
I tried to install unzip and zip via ssh:
The standard Ubuntu repository packages should be available. You should post the error message to help determine the cause of failure.
These users thanked the author crashoverride for the post:
maxmoon (Tue May 10, 2022 4:28 pm)

User avatar
maxmoon
Posts: 22
Joined: Mon May 02, 2022 3:32 am
languages_spoken: english
ODROIDs: Odroid-Go Advance
Has thanked: 15 times
Been thanked: 0
Contact:

Re: ZIP support for Odroid-Go Advance (EmulationStation). Is it possible?

Post by maxmoon »

crashoverride wrote:
Tue May 10, 2022 12:22 pm
RetroRun does not because this causes flash memory like SD cards to wear out faster.
This is a pretty good reason to unpack all roms on the sd card. I somehow thought it will unpack it temporarily in RAM and not on the sd card. For sustainability I will stop trying to get zipped roms to run.
crashoverride wrote:
Tue May 10, 2022 12:22 pm
To start an emulator from the command line, you must first stop EmulationStation so the display is available for use.

Code: Select all

sudo service emulationstation stop
This is actually a very useful command, because I tried to start the n64 emulator from command line and the emulator and emulationstation fought for the screen, which was a mess.

Thanks a lot for your help :)
My blog: utopify.org

crashoverride
Posts: 5660
Joined: Tue Dec 30, 2014 8:42 pm
languages_spoken: english
ODROIDs: C1
Has thanked: 0
Been thanked: 537 times
Contact:

Re: ZIP support for Odroid-Go Advance (EmulationStation). Is it possible?

Post by crashoverride »

maxmoon wrote:
Tue May 10, 2022 4:19 pm
I somehow thought it will unpack it temporarily in RAM and not on the sd card.
This can only be done for some cores. Emulators that use CD-ROMs (PSP, PS1, DreamCast, SegaCD, etc) require a file. There is not enough RAM (1GB) to hold a fully decompressed ISO and run the system without a swap file which would also increase flash writes.

User avatar
maxmoon
Posts: 22
Joined: Mon May 02, 2022 3:32 am
languages_spoken: english
ODROIDs: Odroid-Go Advance
Has thanked: 15 times
Been thanked: 0
Contact:

Re: ZIP support for Odroid-Go Advance (EmulationStation). Is it possible?

Post by maxmoon »

crashoverride wrote:
Wed May 11, 2022 5:24 am
maxmoon wrote:
Tue May 10, 2022 4:19 pm
I somehow thought it will unpack it temporarily in RAM and not on the sd card.
This can only be done for some cores. Emulators that use CD-ROMs (PSP, PS1, DreamCast, SegaCD, etc) require a file.
Is there a way to figure out which cores support the unpacking in RAM? I play SNES, Gameboy and NES games most of the time, which are really small games (~<2mb). And are there really emulators for the newer consoles (like PSX), which support zipped roms, too, because it sounds insane to unpack a whole CD or even DVD on a disk before playing a game (every time).

OFFTOPIC: I might change the os again, because I am not satisfied with the official operating system. I figured out how to activate hibernate on short power press, but if I come back to play again, the sound will be set to 100% and the network is gone. I don't care about network, but the full volume is pretty annoying and I only can fix it by going back to the settings and setting it by hand (every time), because I haven't figured out the key combination to set the volume (if there is any).
My blog: utopify.org

crashoverride
Posts: 5660
Joined: Tue Dec 30, 2014 8:42 pm
languages_spoken: english
ODROIDs: C1
Has thanked: 0
Been thanked: 537 times
Contact:

Re: ZIP support for Odroid-Go Advance (EmulationStation). Is it possible?

Post by crashoverride »

maxmoon wrote:
Thu May 12, 2022 2:58 am
Is there a way to figure out which cores support the unpacking in RAM?
A core will specify "need_fullpath" if it does not support an image in RAM:
https://github.com/OtherCrashOverride/r ... #L492-L497

The issue becomes more complex when decompressing an archive. A .zip file may contain multiple files. These files may be in any order and have any file names. This means that additional logic to select the correct file from a .zip needs to also be added.

The reference image (official image) was meant to showcase the hardware. It was designed to be simple to get started with. It was expected that advanced users would select a popular 3rd party image that better suited their needs. Since no 3rd party images existed when the GO-Advance launched, the reference image was provided.
These users thanked the author crashoverride for the post:
maxmoon (Thu May 12, 2022 4:20 pm)

Post Reply

Return to “Game emulations”

Who is online

Users browsing this forum: No registered users and 1 guest