The RPI2JAMMA_Change_res mystery - Heaven4All/RPI2JAMMA_JUST4FUN GitHub Wiki

Where are the source codes ?

Despite of my searches, i was not able to find the sources of RPI2JAMMA_Change_res into dot img. This file is located into /opt/RPI2JAMMA/ directory .

I think it was compiled for performances purpose. But this is not really simple to understand his role if we can't access the sources.

This is not necessary to disassemble or decompile the binary to get information. Well known to the world of hackers (small hackers ^^), i can use "strings" on a linux terminal.

This is part of the output :

/lib/ld-linux-armhf.so.3

libm.so.6

_ITM_deregisterTMCloneTable

__gmon_start__

_Jv_RegisterClasses

_ITM_registerTMCloneTable

roundf

libc.so.6

......

......

GLIBC_2.4

/opt/RPI2JAMMA/

usage: %s [options]

where options are:

-game <game name as written in modeline list>

-modeline_list <file containing all modeline>

-tate_reversed_list <file containing list of reversed tate games>

-run15khz (to force RPI2NUC running in 15khz)

-game

-modeline_list

-tate_reversed_list

-run15khz

/boot/config.txt

>/dev/null

%s %f

(c) aje_fr

GCC: (Raspbian 6.3.0-18+rpi1+deb9u1) 6.3.0 20170516

aeabi

......

......

RPI2JAMMA_Change_res.c

usage

check_strtol

CSWTCH.23

program_name

crtstuff.c

__JCR_LIST__

deregister_tm_clones

......

......

We can see the "--help" output and interesting information :

  • binary compiled on Raspbian 6.3.0
  • linked to GLIBC 2.4
  • (c) aje_fr (sorry ^^)
  • using crtstuff.c <-- this file is part of libgcc with some functions like deregister_tm_clones (there in strings output)

What is the role of this bin ?

This binary is called, for example, by one of the dot sh : amiberry.sh .

Amiberry is an Amiga emulator for Raspberry.

Command line is the following one : /opt/RPI2JAMMA/RPI2JAMMA_Change_res -game none -modeline_list /opt/RPI2JAMMA/configs/modeline.txt

but modeline.txt is empty . but -game is set to "none" , so i suppose this is normal .

So . It seems that this binary is used to set a custom mode line (perhaps i'll wrote something about this, another day, another wiki page) and apply it without rebooting.

Modified version of snes9x2010 ?

Walking thru directories, and with my favorite hacking tool (u guessed, strings ^^) , i have found others files with a reference to this curious binary (RPI2JAMMA_Change_res).

In this way, snes9x2010 has been modified and it seems that is calling RPI2JAMMA_Change_res directly (so dirty xD)

strings command output is the following one executed on snes9x2010_libretro.so.rpi3 (and .rpi2) :

/opt/RPI2JAMMA/RPI2JAMMA_Change_res

/media/usb/Config_RPI2XXXXX/RPI2NUC_video.txt

RPI2XXX_Change_res

Once again, that's impossible to find the source codes of this file :/ This habit is not compliant at all with GPL Licences and, concerning snes9x2010, usage is forbidden for commercial purpose .

So what this guy is doin' ?