How to emulate X68K in Recalbox
-
Hello
I tried to compile in raspbian with SDL2
it's work with gamepad but It's slow.
emulator use gfx and X11 and theses things are not in recalbox.For a developper it will be easy not for me
- compile with SDL2 without GFX and X11 but with OpenGLESv2
- Modify keyboard/joystick file
-
Great news, now expect a developer to manifest. Thanks for the work and dedication @acris
come on? @Substring @voljega
-
@azvarel no time to spend on that for now
-
@Substring need not be now, but enter the development list
I was excited about this
-
-
-
What I find funny is how A computer from 1987 with a Motorola 68000 CPU 10 MHz, 1MB RAM and no hard drive or of 1993 Motorola 68030 CPU 25 MHz, 4MB RAM and hard drive, do not have an efficient emulation in rpi.
I had a Classic XBOX which has a 733 MHz x86 Intel Celeron / Pentium III Custom Hybrid rendering and perfectly emulates through the x68000x emulator all the games, the only emulation that was to be desired was CPS3 which for me the rpi3 caters very well.
Would not be able to make a port of this emulator for the recalbox, since they are both "linux" or am I talking screwed up?
@voljega, @acris, @Substring is there any basis for this?
-
@azvarel depends if ypur emulator had JIT, or DYNAREC, or such code that is cpu dependant and really improves speed
-
did you try this port https://github.com/libretro/px68k-libretro
it's not too slow on pi3 ,at least setting 1/2 frame instead Full frame make it pretty usable. -
Oh no, I try px68k emulator standalone
-
@acris try to see
-
@rtype and @azvarel
I am not a developer and The team is not available, it is at the HFS convention for 3 days but
I try to compile this core on raspbianmkdir libretro cd libretro sudo git clone https://github.com/libretro/px68k-libretro cd px68k-libretro make -f Makefile.libretro
@rtype it's right ? c'est juste ? ou bien il faut des paramètres comment SDL2=1 ou RPI3 ?
mkdir /recalbox/share/roms/px68k mkdir /recalbox/share/bios/keropi
excecute :
killall emulationstation /usr/bin/retroarch -L /usr/lib/libretro/px68k_libretro.so --config /recalbox/share/system/configs/retroarch/retroarchcustom.cfg /recalbox/share/roms/px68k/R-Type.dim
I have a red screen and my keyboard has not F12. lol
It's a problem of compilation core.I think it^s
make -f Makefile.libretro plateform=rpi3
WIP - it' s theory, a developper need to control.
config BR2_PACKAGE_LIBRETRO_PX68K bool "libretro-px68k" depends on BR2_PACKAGE_RETROARCH depends on BR2_INSTALL_LIBSTDCPP help A libretro sharp x68000 emulator core for ARM. http://www.libretro.com comment "LIBRETRO_PX68K needs a toolchain w/ C++" depends on !BR2_INSTALL_LIBSTDCPP
- Create Package mk
################################################################################ # # PX68K # ################################################################################ LIBRETRO_PX68K_VERSION = 1e4cefcf8a34478874de3009de7ab9e45701fd43 LIBRETRO_PX68K_SITE = $(call github,libretro,px68k,$(LIBRETRO_PX68K_VERSION)) define LIBRETRO_PX68K_BUILD_CMDS CFLAGS="$(TARGET_CFLAGS)" CXXFLAGS="$(TARGET_CXXFLAGS)" $(MAKE) CXX="$(TARGET_CXX)" CC="$(TARGET_CC)" -C $(@D) -f makefile.libretro platform="$(LIBRETRO_BOARD)" endef define LIBRETRO_PX68K_INSTALL_TARGET_CMDS $(INSTALL) -D $(@D)/px68k_libretro.so \ $(TARGET_DIR)/usr/lib/libretro/px68k_libretro.so endef $(eval $(generic-package))
es_system.cfg
<system> <fullname>Sharp x68000</fullname> <name>px68k_libretro</name> <path>/recalbox/share/roms/sharpx68000</path> <extension>.dim .DIM .zip . ZIP .img .IMG .d88 .D88 .88d .88D .hdm .HDM .dup .DUP .2hd .2HD .xdf .XDF .hdf .HDF .cmd .CMD</extension> <command>python /usr/lib/python2.7/site-packages/configgen/emulatorlauncher.pyc %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -emulator %EMULATOR% -core %CORE% -ratio %RATIO%</command> <platform>px68k</platform> <theme>sharpx68000</theme> <emulators> <emulator name="libretro"> <cores> <core>px68k</core> </cores> </emulator> </emulators> </system> <system>
- Create theme
require graphic guy (use inkscape)
-
sharpx6800 folder
- theme.xml
- custom.xml
- DATA
- logo.svg
- game.svg
- console.svg
-
add to configgen
emulators["px68k"] = Emulator(name='px68k', emulator='libretro', core='px68k')
- readme.txt /lisez-moi.txt
### RECALBOX SHARP X68000 #### Bios require : "/recalbox/share/bios/keropi/iplrom.dat" "/recalbox/share/bios/keropi/cgrom.dat" HUMAN302.XDF required for change memory. To Acces menu you need to plug keyboard : F12 Put your sharp x68000 roms into the directory Roms files must have dim .DIM .zip . ZIP .img .IMG .d88 .D88 .88d .88D .hdm .HDM .dup .DUP .2hd .2HD .xdf .XDF .hdf .HDF .cmd .CMD extensions
-
@acris said in How to emulate X68K in Recalbox:
il faut des paramètres comment SDL2=1 ou R
normalement depuis raspian pas besoin de paramètre.
moi je cross-compile depuis mon hôte linux pour compiler plus rapidement (
make -f Makefile.libretro plaform=crosspi).Sinon l’émulateur est bien celui de hissorii avec le backport du cpu de yabause issu du fork de kenyahiro. Je ne suis donc pas l'auteur mais j'ai juste fait un portage pour libretro en mixant les 2 .
j'ai enlevé toute les références a SDL et X11 dans ce port .
Le portage est au stade bêta , donc des erreurs/bugs sont a prévoir.Sinon ce n'est pas une version spécifique ARM , il fonctionne aussi sous linux et windows .
A noter cependant qu'il existe une version spécifique pour ARM utilisant le cpu asm ARM cyclone (celui de picodrive)
https://github.com/chiorex/px68k/tree/speedup qui doit être plus rapide pour les cpu ARM. -
@rtype
j'ai trouvé ton archive sur libretro et testé ton core sur recalbox et ça fonctionne. Mais ma propre compile sur raspbian n'a pas fonctionné. Je recommencerai à l'occasion.
Penses tu qu'une version arm serait mieux pour le raspberry ?
comment arrives tu à changer la ram alloué au jeu ? j'ai pas réussi. -
@acris pour la ram il faut booter avec une disquette HumanX style HUMAN302.XDF , et lancer switch.x puis changer la mémoire (4mo est une valeur safe ).
https://www.youtube.com/watch?v=XlRQLcqueas
pour la version cyclone , je n'ai pas testé.
-
@rtype
merci je vais voir pour modifier ça semblerait être mieux pour les jeux.
tu as essayé en overlockant ton rpi3 pour voir si c'etait mieux au niveau fps ?
en tout cas, ta version libretro est meilleur que la version standalone que j'ai testé sous raspbian. -
Wow, I can not wait to see this working perfectly.
@rtype, how would the situation of multi-disc games work? Putting all disks inside a zip file?
-
@azvarel no only 2 floppy are supported you have to swap disk using F12 menu. you can launch a cmd file (text file contening cmd like "px68k /ici/disk1.dim /ici/disk2.dim" and then it will load the 2 disk , but no more than 2.
the other way is to load an HDF file (only sasi hdd no scsi hds support)
that restriction imposed by actual px68K core -
@rtype there is a possibility that instead of doing the cmd files, put the files inside a zip file? and when reading the zip file it identify the amount of floppy disk and load the game?
I know it must be very chaotic programming this way, but much easier when it comes to putting the games to work, without having too much work for those who really want to play.
In relation to F12, is it mandatory for me to have a keyboard, or is there a virtual keyboard?
-
@azvarel no vkbd for now .
for the zip it not possible as it handle directly from retroarch, i dont know how recalbox works but don't forget it's a libretro core .
edit: for F12 i suppose that it can be bind to a joy button