niabi i'm trying to update libreelect to 18 (link below), it does update but doesnt start the system after... It is updatable in this way (putting the tar from only the libreelec may overwrite the entire system, but didn't come with other way to do id..)?
Posts by djoni_w
-
-
I am very interested in this scrip, care to send it to me ? or is it somehwere online?
I'll put it online as sun as possible (sorry for the delay on this answer, didn't return to the forum sinse than), it reads the inputs with evdev and rewrite the retroarch config file to match the controllers detected, will try to paste here (but probably the code will look something odd..):
Python
Display Moreimport evdev import time from evdev import InputDevice, categorize, ecodes from asyncore import file_dispatcher, loop import string from select import select import zipfile import os import subprocess import sys def shellquote(s): return "'" + s.replace("'", "'\\''") + "'" jogo = sys.argv[1] arq1 = open('/storage/.config/reicast/base_emu.cfg','r') inicio = arq1.read() arq1.close() i = 0 e = 0 devices = [evdev.InputDevice(fn) for fn in evdev.list_devices()] for device in reversed(devices): entrada = device.phys if(entrada[0:3]=='usb'): i = i+1 if(i<3): e = e+1 print(device.fn[-1]) inicio = inicio.replace('idctrl'+str(i),device.fn[-1]) inicio = inicio.replace('mapjoystick'+str(i),device.name+'.cfg') inicio = inicio.replace('numofplayers',str(e)) inicio = inicio.replace('evdev_mapping_2 = /storage/.config/reicast/mapjoystick2','') inicio = inicio.replace('idctrl2','-1') arq2 = open('/storage/.config/reicast/emu.cfg','w'); arq2.write(inicio) arq2.close() comando = '/usr/bin/reicast '+shellquote(str(jogo)) subprocess.call(comando,shell=True)
-----------------------------------------------
The base_emu.cfg
Code
Display More[audio] backend = auto disable = 0 [config] Debug.SerialConsoleEnabled = 0 Dreamcast.Broadcast = 4 Dreamcast.Cable = 3 Dreamcast.RTC = 1543276812 Dreamcast.Region = 3 Dynarec.Enabled = 1 Dynarec.idleskip = 1 Dynarec.unstable-opt = 0 aica.LimitFPS = 1 aica.NoBatch = 0 aica.NoSound = 0 bios.UseReios = 0 pvr.MaxThreads = 3 pvr.Subdivide = 0 pvr.SynchronousRendering = 0 pvr.rend = 0 rend.UseMipmaps = 1 rend.WideScreen = 0 ta.skip = 0 [input] evdev_device_id_1 = idctrl1 evdev_device_id_2 = idctrl2 evdev_device_id_3 = -1 evdev_device_id_4 = -1 evdev_mapping_1 = /storage/.config/reicast/mapjoystick1 evdev_mapping_2 = /storage/.config/reicast/mapjoystick2 joystick_device_id = -1 [players] nb = numofplayers [reios] ElfFile = [testing] ta.HashCheckFile = ta.HashLogFile = [validate] OpenGlChecks = 0
---------------------------------------------------------------
The game path + name must be passed as argument 1, and the controllers must be prev configured, done the following (and like all the rest, a uggly written) script to map, this must be acessed by shell
--------------------------------------------------------------
Python
Display Moreimport string import evdev import time from evdev import InputDevice, categorize, ecodes from select import select i = 0 entrada = 'not' devices = [evdev.InputDevice(fn) for fn in evdev.list_devices()] for device in devices: entrada = device.phys if(entrada[0:3]=='usb'): i = i+1 entrada = device.name guardar = entrada dev = InputDevice(device.fn) print('Controle detectado: '+entrada) listed = [] e=0 print('Pressione A (botao abaixo)') while e==0: r,w,x = select([dev], [], []) for event in dev.read(): if(event.type in [01,03]): if(event.code not in listed): listed.append(event.code) botA = event.code print(event.code) e = 1 e = 0 print('Pressione B (botao direito)') while e==0: r,w,x = select([dev], [], []) for event in dev.read(): if(event.type in [01,03]): if(event.code not in listed): listed.append(event.code) botB = event.code print(event.code) e = 1 e=0 print('Pressione X (botao esquerdo)') while e==0: r,w,x = select([dev], [], []) for event in dev.read(): if(event.type in [01,03]): if(event.code not in listed): listed.append(event.code) print(event.code) botX = event.code e = 1 e=0 print('Pressione Y (botao acima)') while e==0: r,w,x = select([dev], [], []) for event in dev.read(): if(event.type in [01,03]): if(event.code not in listed): listed.append(event.code) print(event.code) botY = event.code e = 1 e=0 print('Pressione DPAD UP') while e==0: r,w,x = select([dev], [], []) for event in dev.read(): if(event.type in [01,03]): if(event.code not in listed): listed.append(event.code) print(event.code) axDY = event.code e = 1 e=0 print('Pressione DPAD LEFT') while e==0: r,w,x = select([dev], [], []) for event in dev.read(): if(event.type in [01,03]): if(event.code not in listed): listed.append(event.code) print(event.code) axDX = event.code e = 1 e=0 print('Pressione START') while e==0: r,w,x = select([dev], [], []) for event in dev.read(): if(event.type in [01,03]): if(event.code not in listed): listed.append(event.code) print(event.code) botSTART = event.code e = 1 e=0 print('Pressione SELECT (sair do emulador)') while e==0: r,w,x = select([dev], [], []) for event in dev.read(): if(event.type in [01,03]): if(event.code not in listed): listed.append(event.code) print(event.code) botSELECT = event.code e = 1 e=0 print('Pressione L1') while e==0: r,w,x = select([dev], [], []) for event in dev.read(): if(event.type in [01,03]): if(event.code not in listed): listed.append(event.code) print(event.code) botL1 = event.code e = 1 e=0 print('Pressione R1') while e==0: r,w,x = select([dev], [], []) for event in dev.read(): if(event.type in [01,03]): if(event.code not in listed): listed.append(event.code) print(event.code) botR1 = event.code e = 1 e=0 axANY = 'axANY' axANX = 'axANX' print('Deseja configurar o analogico? Pressione A para Nao ou B para SIM') while e==0: r,w,x = select([dev], [], []) for event in dev.read(): if(event.type in [01]): if(event.code == botA): e = 1 if(event.code == botB): print('Mova o analogico para a esquerda'); f = 0 while f==0: r,w,x = select([dev], [], []) for event in dev.read(): if(event.type in [03]): if(event.code not in listed): listed.append(event.code) print(event.code) axANX = event.code f = 1 print('Mova o analogico para cima'); f = 0 while f==0: r,w,x = select([dev], [], []) for event in dev.read(): if(event.type in [03]): if(event.code not in listed): listed.append(event.code) print(event.code) axANY = event.code f = 1 e=1 arq = open('/storage/.config/reicast/base_config_ctrl.cfg','r') config = arq.read() arq.close() config = config.replace('botL1',str(botL1)) config = config.replace('axDY',str(axDY)) config = config.replace('botR1',str(botR1)) config = config = config.replace('axDX',str(axDX)) config = config.replace('nomectrl',str(guardar)) config = config.replace('botSELECT',str(botSELECT)) config = config.replace('botB',str(botB)) config = config.replace('botA',str(botA)) config = config.replace('botX',str(botX)) config = config.replace('botSTART',str(botSTART)) config = config.replace('botY',str(botY)) config = config.replace('axANY',str(axANY)) config = config.replace('axANX',str(axANX)) config = config.replace('axis_x = axANX','') config = config.replace('axis_y = axANY','') arq = open('/storage/.config/reicast/'+str(guardar)+'.cfg','w') arq.write(config) arq.close() print('Configurado com sucesso')
---------------------------------------------------------------------------
The base_config_ctrl.cfg:
-----------------------------------------------------------------------
Code
Display More[compat] btn_trigger_left = botL1 axis_dpad1_y = axDY btn_trigger_right = botR1 axis_dpad1_x = axDX [emulator] mapping_name = nomectrl btn_escape = botSELECT [dreamcast] btn_b = botB btn_a = botA btn_x = botX btn_start = botSTART btn_y = botY axis_y = axANY axis_x = axANX
--------------------------------------------------------
The text written in shell is in portuguese, but is understandable (this word exists?) by reading the code itself...
All the files are in /storage/.config/reicast/, as well as the controllers config files..
The indentation (those are python scripts) where lost here, will try to post id in github..
-
Kupo91 did you tried to convert your psx multidisc games to PBP with PSX2PSP? This allows to join multidisc (up to 5 discs) games in one file, playable on any psx emulator....
Hi,
how can I find out which version of Sx05RE I've installed?
I once have downloaded MXQ Project but only copied the Retroarch folder because I liked the possibility to run RA out of my Kodi addon menu. However the MXQ Project is from last year and I don't know how to update my Retroarch files. Kodi shows me that the current version is 7.0.2-J08. Whatever this means. Does anybody know how to update my Retroarch files to the latest Retroarch files from Sx05RE v1.8.6? There is a bug which makes it impossible to play multidisk games in pcsx_rearmed and maybe it works better in the latest version. I hope so because I already asked for help in libretro forum, on github and reddit but nobody cares. I'm running out of ideas. All the good RPGs are multidisk games and I can't play none of them
Help me please
-
Achieved how to change the reset script by uncompressing, editing and recompressing, still can't compile...
-
niabi I'm using the SX05RE in a95x boxes, realy great work! Runs DreamCast games better than Recalbox in a Raspberry pi 3 board (it very impressed me), allow keyboards and much more, but I'm trying to compile a version of the system with minimal changes (the reset script and to test if i figure out how to translate emulationstation to other languages mainly), but every time I try to compile some error hapens, a hash check, a file not found or something... What I'm doing wrong?
Using ubuntu 18.04 LTS and a notebook with 4GB of RAM I followed those steps:
sudo apt update && sudo apt upgrade
sudo apt install gcc make git gcc-multilib lib32stdc++6
sudo dpkg-reconfigure dash (select no, to install bash as the default)
git clone GitHub - shantigilbert/Sx05RE: 'Just enough OS' for Kodi. Sx05 Retro Edition, an emulation build based on LibreELEC for S905, S805 Devices. Sx05RE
cd Sx05RE// here I change the reset script on usr/bin, but also tried without changing nothing
make image PROJECT=S905 ARCH=arm DISTRO=Sx05REAlso tried to first download all stuff with the tools/download-tool, same result (not exactly, apears that isn't always the same point that fails, but is the same kind of error, files not found mosty), aný hint or something?
Other thing, i've figure out a way to detect and autoconfigure the controllers for DreamCast - so if you have more than one controller with a config (also made a script to create those configs files) the system detects and changes the emu.cfg to correspond to the correct controllers, and a script to make a .UAE for amiga games (works fine, but only tested ECS games) that allows to run a amiga game from emulationstation and get all floppys loaded, way simpler than the CHDs that load faster, but also is simpler to add games this way - put the adf (or ziped adf) games in the amiga directory, when select the ADF the script search for other games corresponding to other floppies (based on disk N of N in the name to work), then create a temp.uae and loads it on the emulator, not need to creating all uae files one by one..
Looking fowards for help, sorry for the poor english and again, great work on this!