commit
3cc865208f
119 changed files with 45884 additions and 4326 deletions
|
@ -1,3 +1,4 @@
|
|||
pico-8 # Metapackage, doesn't need to update
|
||||
np2kai # Last major commit before hiatus is broken.
|
||||
vice-sa # Doesn't support updating with the script.
|
||||
dolphin-sa # Wayland patch is now broken upstream
|
||||
|
@ -10,3 +11,4 @@ mupen64plus-sa-ui-console #Causes segfaults
|
|||
nanoboyadvance-sa #SDL version removed after this commit
|
||||
freechaf-lr #build issue, revisit.
|
||||
pcsx_rearmed-lr #pins version as new releases have artifacting issues.
|
||||
kronos-sa #using the release version of kronos had better results.
|
||||
|
|
10
config/emulators/macintosh.conf
Normal file
10
config/emulators/macintosh.conf
Normal file
|
@ -0,0 +1,10 @@
|
|||
SYSTEM_NAME="macintosh"
|
||||
SYSTEM_FULLNAME="Macintosh"
|
||||
SYSTEM_MANUFACTURER="Apple"
|
||||
SYSTEM_RELEASE="1984"
|
||||
SYSTEM_HARDWARE="computer"
|
||||
SYSTEM_PATH="/storage/roms/mac"
|
||||
SYSTEM_EXTENSION=".dsk .img .hfv .cmd .zip"
|
||||
SYSTEM_COMMAND="/usr/bin/runemu.sh %ROM% -P%SYSTEM% --core=%CORE% --emulator=%EMULATOR% --controllers=\"%CONTROLLERSCONFIG%\""
|
||||
SYSTEM_PLATFORM="macintosh"
|
||||
SYSTEM_THEME="macintosh"
|
10
config/emulators/st-v.conf
Normal file
10
config/emulators/st-v.conf
Normal file
|
@ -0,0 +1,10 @@
|
|||
SYSTEM_NAME="st-v"
|
||||
SYSTEM_FULLNAME="ST-V"
|
||||
SYSTEM_MANUFACTURER="Sega"
|
||||
SYSTEM_RELEASE="1995"
|
||||
SYSTEM_HARDWARE="arcade"
|
||||
SYSTEM_PATH="/storage/roms/st-v"
|
||||
SYSTEM_EXTENSION=".zip .ZIP"
|
||||
SYSTEM_COMMAND="/usr/bin/runemu.sh %ROM% -P%SYSTEM% --core=%CORE% --emulator=%EMULATOR% --controllers=\"%CONTROLLERSCONFIG%\""
|
||||
SYSTEM_PLATFORM="st-v"
|
||||
SYSTEM_THEME="st-v"
|
|
@ -13,6 +13,7 @@ This document describes all available systems emulators and cores available for
|
|||
| System|Screenshots (imageviewer)|System|`screenshots`|.jpg .jpeg .png .bmp .psd .tga .gif .hdr .pic .ppm .pgm .mkv .pdf .mp4 .avi||
|
||||
| System|Tools (tools)|System|`modules`|.sh||
|
||||
|Amstrad|CPC (amstradcpc)|1984|`amstradcpc`|.dsk .sna .tap .cdt .kcr .voc .m3u .zip .7z|**retroarch:** crocods (default)<br>**retroarch:** cap32<br>|
|
||||
|Apple|Macintosh (macintosh)|1984|`mac`|.dsk .img .hfv .cmd .zip|**retroarch:** minivmac (default)<br>|
|
||||
|Arcade|Arcade (arcade)|1984|`arcade`|.zip .7z|**retroarch:** mame2003_plus (default)<br>**retroarch:** mame2000<br>**retroarch:** mame2010<br>**retroarch:** mame2015<br>**retroarch:** fbneo<br>**retroarch:** fbalpha2012<br>**retroarch:** fbalpha2019<br>**retroarch:** mame<br>|
|
||||
|Arcade|Daphne (daphne)|1996|`daphne`|.daphne .singe|**hypseus-singe:** hypseus-singe (default)<br>**retroarch:** daphne<br>|
|
||||
|Arcade|Final Burn Neo (fbn)|1986|`fbneo`|.7z .zip|**retroarch:** fbneo (default)<br>**retroarch:** mame2003_plus<br>**retroarch:** mame2010<br>**retroarch:** mame2015<br>**retroarch:** mame<br>**retroarch:** fbalpha2012<br>**retroarch:** fbalpha2019<br>|
|
||||
|
@ -98,10 +99,11 @@ This document describes all available systems emulators and cores available for
|
|||
|Sega|Mega Drive (megadrive)|1990|`megadrive`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)<br>**retroarch:** genesis_plus_gx_wide<br>**retroarch:** picodrive<br>|
|
||||
|Sega|Mega Drive (megadrive-japan)|1988|`megadrive-japan`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)<br>**retroarch:** genesis_plus_gx_wide<br>**retroarch:** picodrive<br>|
|
||||
|Sega|Naomi (naomi)|1998|`naomi`|.lst .bin .dat .zip .7z|**retroarch:** flycast2021<br>**retroarch:** flycast (default)<br>**flycast:** flycast-sa<br>|
|
||||
|Sega|Saturn (saturn)|1994|`saturn`|.cue .chd .iso|**retroarch:** yabasanshiro (default)<br>**retroarch:** beetle_saturn<br>|
|
||||
|Sega|Saturn (saturn)|1994|`saturn`|.cue .chd .iso|**kronos:** kronos-sa (default)<br>**retroarch:** yabasanshiro (default)<br>**retroarch:** beetle_saturn<br>|
|
||||
|Sega|Sega 32X (sega32x)|1994|`sega32x`|.32x .smd .bin .md .zip .7z|**retroarch:** picodrive (default)<br>|
|
||||
|Sega|Sega CD (segacd)|1991|`segacd`|.chd .cue .iso .m3u|**retroarch:** genesis_plus_gx (default)<br>**retroarch:** picodrive<br>|
|
||||
|Sega|SG-1000 (sg-1000)|1983|`sg-1000`|.bin .sg .zip .7z|**retroarch:** gearsystem (default)<br>**retroarch:** genesis_plus_gx<br>**retroarch:** picodrive<br>|
|
||||
|Sega|ST-V (st-v)|1995|`st-v`|.zip .ZIP|**retroarch:** beetle_saturn (default)<br>|
|
||||
|Sharp|X1 (x1)|1982|`x1`|.dx1 .2d .2hd .tfd .d88d .hdm .xdf .dup .tap .cmd .zip .7z|**retroarch:** x1 (default)<br>|
|
||||
|Sharp|x68000 (x68000)|1987|`x68000`|.dim .img .d88d .hdm .dup .2hd .xdf .hdf .cmd .m3u .zip .7z|**retroarch:** px68k (default)<br>|
|
||||
|Sinclair|ZX Spectrum (zxspectrum)|1982|`zxspectrum`|.tzx .tap .z80 .rzx .scl .trd .dsk .zip .7z|**retroarch:** fuse<br>|
|
||||
|
|
|
@ -13,6 +13,7 @@ This document describes all available systems emulators and cores available for
|
|||
| System|Screenshots (imageviewer)|System|`screenshots`|.jpg .jpeg .png .bmp .psd .tga .gif .hdr .pic .ppm .pgm .mkv .pdf .mp4 .avi||
|
||||
| System|Tools (tools)|System|`modules`|.sh||
|
||||
|Amstrad|CPC (amstradcpc)|1984|`amstradcpc`|.dsk .sna .tap .cdt .kcr .voc .m3u .zip .7z|**retroarch:** crocods (default)<br>**retroarch:** cap32<br>|
|
||||
|Apple|Macintosh (macintosh)|1984|`mac`|.dsk .img .hfv .cmd .zip|**retroarch:** minivmac (default)<br>|
|
||||
|Arcade|Arcade (arcade)|1984|`arcade`|.zip .7z|**retroarch:** mame2003_plus (default)<br>**retroarch:** mame2000<br>**retroarch:** mame2010<br>**retroarch:** mame2015<br>**retroarch:** fbneo<br>**retroarch:** fbalpha2012<br>**retroarch:** fbalpha2019<br>|
|
||||
|Arcade|Daphne (daphne)|1996|`daphne`|.daphne .singe|**hypseus-singe:** hypseus-singe (default)<br>**retroarch:** daphne<br>|
|
||||
|Arcade|Final Burn Neo (fbn)|1986|`fbneo`|.7z .zip|**retroarch:** fbneo (default)<br>**retroarch:** mame2003_plus<br>**retroarch:** mame2010<br>**retroarch:** mame2015<br>**retroarch:** mame<br>**retroarch:** fbalpha2012<br>**retroarch:** fbalpha2019<br>|
|
||||
|
@ -96,6 +97,7 @@ This document describes all available systems emulators and cores available for
|
|||
|Sega|Sega 32X (sega32x)|1994|`sega32x`|.32x .smd .bin .md .zip .7z|**retroarch:** picodrive (default)<br>|
|
||||
|Sega|Sega CD (segacd)|1991|`segacd`|.chd .cue .iso .m3u|**retroarch:** genesis_plus_gx (default)<br>**retroarch:** picodrive<br>|
|
||||
|Sega|SG-1000 (sg-1000)|1983|`sg-1000`|.bin .sg .zip .7z|**retroarch:** gearsystem (default)<br>**retroarch:** genesis_plus_gx<br>**retroarch:** picodrive<br>|
|
||||
|Sega|ST-V (st-v)|1995|`st-v`|.zip .ZIP||
|
||||
|Sharp|X1 (x1)|1982|`x1`|.dx1 .2d .2hd .tfd .d88d .hdm .xdf .dup .tap .cmd .zip .7z|**retroarch:** x1 (default)<br>|
|
||||
|Sharp|x68000 (x68000)|1987|`x68000`|.dim .img .d88d .hdm .dup .2hd .xdf .hdf .cmd .m3u .zip .7z|**retroarch:** px68k (default)<br>|
|
||||
|Sinclair|ZX Spectrum (zxspectrum)|1982|`zxspectrum`|.tzx .tap .z80 .rzx .scl .trd .dsk .zip .7z|**retroarch:** fuse<br>|
|
||||
|
@ -105,7 +107,7 @@ This document describes all available systems emulators and cores available for
|
|||
|SNK|Neo Geo CD (neocd)|1994|`neocd`|.cue .iso .chd|**retroarch:** neocd (default)<br>**retroarch:** fbneo<br>|
|
||||
|SNK|Neo Geo Pocket (ngp)|1998|`ngp`|.ngc .ngp .zip .7z|**retroarch:** beetle_ngp (default)<br>**retroarch:** race<br>|
|
||||
|SNK|Neo Geo Pocket Color (ngpc)|1999|`ngpc`|.ngc .zip .7z|**retroarch:** beetle_ngp (default)<br>**retroarch:** race<br>|
|
||||
|Sony|PlayStation (psx)|1994|`psx`|.bin .cue .img .mdf .pbp .toc .cbn .m3u .ccd .chd .iso|**retroarch:** pcsx_rearmed32 (default)<br>**retroarch:** pcsx_rearmed<br>**duckstation:** duckstation-sa<br>**retroarch:** duckstation<br>**retroarch:** swanstation<br>|
|
||||
|Sony|PlayStation (psx)|1994|`psx`|.bin .cue .img .mdf .pbp .toc .cbn .m3u .ccd .chd .iso|**retroarch:** pcsx_rearmed32 (default)<br>**retroarch:** pcsx_rearmed<br>**retroarch:** duckstation<br>**retroarch:** swanstation<br>|
|
||||
|Sony|PlayStation Portable (psp)|2004|`psp`|.iso .cso .pbp .chd|**ppsspp:** ppsspp-sa (default)<br>|
|
||||
|Sony|PSP Minis (pspminis)|2004|`pspminis`|.iso .cso .pbp|**ppsspp:** ppsspp-sa (default)<br>**retroarch:** ppsspp<br>|
|
||||
|Sun Microsystems|J2ME (j2me)|2002|`j2me`|.jar|**retroarch:** freej2me (default)<br>|
|
||||
|
|
|
@ -13,6 +13,7 @@ This document describes all available systems emulators and cores available for
|
|||
| System|Screenshots (imageviewer)|System|`screenshots`|.jpg .jpeg .png .bmp .psd .tga .gif .hdr .pic .ppm .pgm .mkv .pdf .mp4 .avi||
|
||||
| System|Tools (tools)|System|`modules`|.sh||
|
||||
|Amstrad|CPC (amstradcpc)|1984|`amstradcpc`|.dsk .sna .tap .cdt .kcr .voc .m3u .zip .7z|**retroarch:** crocods (default)<br>**retroarch:** cap32<br>|
|
||||
|Apple|Macintosh (macintosh)|1984|`mac`|.dsk .img .hfv .cmd .zip|**retroarch:** minivmac (default)<br>|
|
||||
|Arcade|Arcade (arcade)|1984|`arcade`|.zip .7z|**retroarch:** mame2003_plus (default)<br>**retroarch:** mame2000<br>**retroarch:** mame2010<br>**retroarch:** mame2015<br>**retroarch:** fbneo<br>**retroarch:** fbalpha2012<br>**retroarch:** fbalpha2019<br>**retroarch:** mame<br>|
|
||||
|Arcade|Daphne (daphne)|1996|`daphne`|.daphne .singe|**hypseus-singe:** hypseus-singe (default)<br>**retroarch:** daphne<br>|
|
||||
|Arcade|Final Burn Neo (fbn)|1986|`fbneo`|.7z .zip|**retroarch:** fbneo (default)<br>**retroarch:** mame2003_plus<br>**retroarch:** mame2010<br>**retroarch:** mame2015<br>**retroarch:** mame<br>**retroarch:** fbalpha2012<br>**retroarch:** fbalpha2019<br>|
|
||||
|
@ -24,10 +25,10 @@ This document describes all available systems emulators and cores available for
|
|||
|Atari|Atari 800 (atari800)|1979|`atari800`|.rom .xfd .atr .atx .cdm .cas .car .bin .a52 .xex .zip .7z|**retroarch:** atari800 (default)<br>|
|
||||
|Atari|Atari ST (atarist)|1985|`atarist`|.st .msa .stx .dim .ipf .m3u .zip .7z|**retroarch:** hatari (default)<br>**hatarisa:** hatarisa<br>|
|
||||
|Atari|Jaguar (atarijaguar)|1993|`atarijaguar`|.j64 .jag .rom .abs .cof .bin .prg|**retroarch:** virtualjaguar (default)<br>|
|
||||
|Atari|Lynx (atarilynx)|1989|`atarilynx`|.lnx .o .zip .7z|**retroarch:** handy (default)<br>**retroarch:** beetle_lynx<br>|
|
||||
|Atari|Lynx (atarilynx)|1989|`atarilynx`|.lnx .o .zip .7z|**retroarch:** handy (default)<br>**retroarch:** beetle_lynx<br>**mednafen:** lynx<br>|
|
||||
|Bandai|SuFami Turbo (sufami)|1996|`sufami`|.st .zip .7z|**retroarch:** snes9x (default)<br>|
|
||||
|Bandai|Wonderswan (wonderswan)|1999|`wonderswan`|.ws .zip .7z|**retroarch:** beetle_wswan (default)<br>|
|
||||
|Bandai|Wonderswan Color (wonderswancolor)|2000|`wonderswancolor`|.wsc .zip .7z|**retroarch:** beetle_wswan (default)<br>|
|
||||
|Bandai|Wonderswan (wonderswan)|1999|`wonderswan`|.ws .zip .7z|**retroarch:** beetle_wswan (default)<br>**mednafen:** wswan<br>|
|
||||
|Bandai|Wonderswan Color (wonderswancolor)|2000|`wonderswancolor`|.wsc .zip .7z|**retroarch:** beetle_wswan (default)<br>**mednafen:** wswan<br>|
|
||||
|belogic|Uzebox (uzebox)|2008|`uzebox`|.uze|**retroarch:** uzem (default)<br>|
|
||||
|Capcom|PlaySystem 1 (cps1)|1988|`cps1`|.zip .7z|**retroarch:** fbneo (default)<br>**retroarch:** mame2003_plus<br>**retroarch:** mame2010<br>**retroarch:** fbalpha2012<br>**retroarch:** mba_mini<br>**AdvanceMame:** AdvanceMame<br>|
|
||||
|Capcom|PlaySystem 2 (cps2)|1993|`cps2`|.zip .7z|**retroarch:** fbneo (default)<br>**retroarch:** mame2003_plus<br>**retroarch:** mame2010<br>**retroarch:** fbalpha2012<br>**retroarch:** mba_mini<br>**AdvanceMame:** AdvanceMame<br>|
|
||||
|
@ -50,54 +51,55 @@ This document describes all available systems emulators and cores available for
|
|||
|Microsoft|MS-DOS (pc)|1981|`pc`|.com .bat .exe .dosz|**retroarch:** dosbox_pure<br>**retroarch:** dosbox_svn<br>|
|
||||
|Microsoft|MSX (msx)|1983|`msx`|.dsk .mx1 .mx2 .rom .zip .7z .m3u|**retroarch:** bluemsx (default)<br>**retroarch:** fmsx<br>|
|
||||
|Microsoft|MSX 2 (msx2)|1988|`msx2`|.dsk .mx1 .mx2 .rom .zip .7z .m3u|**retroarch:** bluemsx (default)<br>**retroarch:** fmsx<br>|
|
||||
|NEC|PC Engine (pcengine)|1987|`pcengine`|.pce .bin .zip .7z|**retroarch:** beetle_pce_fast (default)<br>**retroarch:** beetle_pce<br>**retroarch:** beetle_supergrafx<br>|
|
||||
|NEC|PC Engine CD (pcenginecd)|1988|`pcenginecd`|.cue .ccd .chd .toc .m3u|**retroarch:** beetle_pce_fast (default)<br>**retroarch:** beetle_pce<br>**retroarch:** beetle_supergrafx<br>|
|
||||
|NEC|PC Engine (pcengine)|1987|`pcengine`|.pce .bin .zip .7z|**retroarch:** beetle_pce_fast (default)<br>**retroarch:** beetle_pce<br>**retroarch:** beetle_supergrafx<br>**mednafen:** pce<br>**mednafen:** pce_fast<br>|
|
||||
|NEC|PC Engine CD (pcenginecd)|1988|`pcenginecd`|.cue .ccd .chd .toc .m3u|**retroarch:** beetle_pce_fast (default)<br>**retroarch:** beetle_pce<br>**retroarch:** beetle_supergrafx<br>**mednafen:** pce<br>**mednafen:** pce_fast<br>|
|
||||
|NEC|PC-8800 (pc-8800)|1981|`pc88`|.d88 .m3u|**retroarch:** quasi88 (default)<br>|
|
||||
|NEC|PC-9800 (pc-9800)|1983|`pc98`|.d98 .zip .fdi .fdd .2hd .tfd .d88d .hdm .xdf .dup .hdi .thd .nhd .hdd .hdn|**retroarch:** np2kai (default)<br>|
|
||||
|NEC|PC-FX (pcfx)|1994|`pcfx`|.chd .cue .ccd .toc|**retroarch:** beetle_pcfx (default)<br>|
|
||||
|NEC|SuperGrafx (supergrafx)|1989|`sgfx`|.pce .sgx .cue .ccd .chd .zip .7z|**retroarch:** beetle_supergrafx<br>**retroarch:** beetle_pce<br>|
|
||||
|NEC|TurboGrafx-16 (tg16)|1989|`tg16`|.pce .bin .zip .7z|**retroarch:** beetle_pce_fast (default)<br>**retroarch:** beetle_pce<br>**retroarch:** beetle_supergrafx<br>|
|
||||
|NEC|TurboGrafx-CD (tg16cd)|1989|`tg16cd`|.cue .ccd .chd .toc .m3u|**retroarch:** beetle_pce_fast (default)<br>**retroarch:** beetle_pce<br>**retroarch:** beetle_supergrafx<br>|
|
||||
|NEC|PC-FX (pcfx)|1994|`pcfx`|.chd .cue .ccd .toc|**retroarch:** beetle_pcfx (default)<br>**mednafen:** pcfx<br>|
|
||||
|NEC|SuperGrafx (supergrafx)|1989|`sgfx`|.pce .sgx .cue .ccd .chd .zip .7z|**retroarch:** beetle_supergrafx<br>**retroarch:** beetle_pce<br>**mednafen:** pce<br>**mednafen:** pce_fast<br>|
|
||||
|NEC|TurboGrafx-16 (tg16)|1989|`tg16`|.pce .bin .zip .7z|**retroarch:** beetle_pce_fast (default)<br>**retroarch:** beetle_pce<br>**retroarch:** beetle_supergrafx<br>**mednafen:** pce<br>**mednafen:** pce_fast<br>|
|
||||
|NEC|TurboGrafx-CD (tg16cd)|1989|`tg16cd`|.cue .ccd .chd .toc .m3u|**retroarch:** beetle_pce_fast (default)<br>**retroarch:** beetle_pce<br>**retroarch:** beetle_supergrafx<br>**mednafen:** pce<br>**mednafen:** pce_fast<br>|
|
||||
|Nesbox|TIC-80 (tic-80)|2017|`tic-80`|.tic|**retroarch:** tic80 (default)<br>|
|
||||
|Nintendo|Famicom (famicom)|1983|`famicom`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)<br>**retroarch:** fceumm<br>**retroarch:** quicknes<br>**retroarch:** mesen<br>|
|
||||
|Nintendo|Famicom Disk System (fds)|1986|`fds`|.fds .zip .7z|**retroarch:** nestopia (default)<br>**retroarch:** fceumm<br>**retroarch:** quicknes<br>|
|
||||
|Nintendo|Famicom (famicom)|1983|`famicom`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)<br>**retroarch:** fceumm<br>**retroarch:** quicknes<br>**retroarch:** mesen<br>**mednafen:** nes<br>|
|
||||
|Nintendo|Famicom Disk System (fds)|1986|`fds`|.fds .zip .7z|**retroarch:** nestopia (default)<br>**retroarch:** fceumm<br>**retroarch:** quicknes<br>**mednafen:** nes<br>|
|
||||
|Nintendo|Game & Watch (gameandwatch)|1980|`gameandwatch`|.mgw .zip .7z|**retroarch:** gw<br>|
|
||||
|Nintendo|Game Boy (gb)|1989|`gb`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)<br>**retroarch:** sameboy<br>**retroarch:** gearboy<br>**retroarch:** tgbdual<br>**retroarch:** mgba<br>**retroarch:** vbam<br>|
|
||||
|Nintendo|Game Boy (Hacks) (gbh)|1989|`gbh`|.gb .zip .7z|**retroarch:** gambatte (default)<br>**retroarch:** sameboy<br>**retroarch:** gearboy<br>**retroarch:** tgbdual<br>**retroarch:** mgba<br>**retroarch:** vbam<br>|
|
||||
|Nintendo|Game Boy Advance (gba)|2001|`gba`|.gba .zip .7z|**retroarch:** mgba (default)<br>**retroarch:** gbsp<br>**retroarch:** vbam<br>**retroarch:** vba_next<br>**retroarch:** beetle_gba<br>**retroarch:** gpsp<br>**nanoboyadvance:** nanoboyadvance-sa<br>|
|
||||
|Nintendo|Game Boy Advance (Hacks) (gbah)|2001|`gbah`|.gba .zip .7z|**retroarch:** mgba (default)<br>**retroarch:** gbsp<br>**retroarch:** vbam<br>**retroarch:** vba_next<br>**retroarch:** beetle_gba<br>|
|
||||
|Nintendo|Game Boy Color (gbc)|1998|`gbc`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)<br>**retroarch:** sameboy<br>**retroarch:** gearboy<br>**retroarch:** tgbdual<br>**retroarch:** mgba<br>**retroarch:** vbam<br>|
|
||||
|Nintendo|Game Boy Color (Hacks) (gbch)|1998|`gbch`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)<br>**retroarch:** sameboy<br>**retroarch:** gearboy<br>**retroarch:** tgbdual<br>**retroarch:** mgba<br>**retroarch:** vbam<br>|
|
||||
|Nintendo|Game Boy (gb)|1989|`gb`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)<br>**retroarch:** sameboy<br>**retroarch:** gearboy<br>**retroarch:** tgbdual<br>**retroarch:** mgba<br>**retroarch:** vbam<br>**mednafen:** gb<br>|
|
||||
|Nintendo|Game Boy (Hacks) (gbh)|1989|`gbh`|.gb .zip .7z|**retroarch:** gambatte (default)<br>**retroarch:** sameboy<br>**retroarch:** gearboy<br>**retroarch:** tgbdual<br>**retroarch:** mgba<br>**retroarch:** vbam<br>**mednafen:** gb<br>|
|
||||
|Nintendo|Game Boy Advance (gba)|2001|`gba`|.gba .zip .7z|**retroarch:** mgba (default)<br>**retroarch:** gbsp<br>**retroarch:** vbam<br>**retroarch:** vba_next<br>**retroarch:** beetle_gba<br>**retroarch:** gpsp<br>**nanoboyadvance:** nanoboyadvance-sa<br>**mednafen:** gba<br>|
|
||||
|Nintendo|Game Boy Advance (Hacks) (gbah)|2001|`gbah`|.gba .zip .7z|**retroarch:** mgba (default)<br>**retroarch:** gbsp<br>**retroarch:** vbam<br>**retroarch:** vba_next<br>**retroarch:** beetle_gba<br>**mednafen:** gba<br>|
|
||||
|Nintendo|Game Boy Color (gbc)|1998|`gbc`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)<br>**retroarch:** sameboy<br>**retroarch:** gearboy<br>**retroarch:** tgbdual<br>**retroarch:** mgba<br>**retroarch:** vbam<br>**mednafen:** gb<br>|
|
||||
|Nintendo|Game Boy Color (Hacks) (gbch)|1998|`gbch`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)<br>**retroarch:** sameboy<br>**retroarch:** gearboy<br>**retroarch:** tgbdual<br>**retroarch:** mgba<br>**retroarch:** vbam<br>**mednafen:** gb<br>|
|
||||
|Nintendo|GameCube (gamecube)|2001|`gamecube`|.gcm .iso .gcz .ciso .wbfs .rvz .dol|**dolphin:** dolphin-sa-gc (default)<br>**retroarch:** dolphin<br>|
|
||||
|Nintendo|MSU-1 (snesmsu1)|2012|`snesmsu1`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)<br>**retroarch:** beetle_supafaust<br>|
|
||||
|Nintendo|NES (Hacks) (nesh)|1985|`nesh`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)<br>**retroarch:** fceumm<br>**retroarch:** quicknes<br>**retroarch:** mesen<br>|
|
||||
|Nintendo|MSU-1 (snesmsu1)|2012|`snesmsu1`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)<br>**retroarch:** beetle_supafaust<br>**mednafen:** snes_faust<br>|
|
||||
|Nintendo|NES (Hacks) (nesh)|1985|`nesh`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)<br>**retroarch:** fceumm<br>**retroarch:** quicknes<br>**retroarch:** mesen<br>**mednafen:** nesh<br>|
|
||||
|Nintendo|Nintendo 64 (n64)|1996|`n64`|.z64 .n64 .v64 .zip .7z|**retroarch:** mupen64plus_next (default)<br>**retroarch:** mupen64plus<br>**retroarch:** parallel_n64<br>**mupen64plus:** mupen64plus-sa<br>|
|
||||
|Nintendo|Nintendo DS (nds)|2005|`nds`|.nds .zip .7z|**drastic:** drastic-sa (default)<br>**retroarch:** melonds<br>**melonds:** melonds-sa<br>**retroarch:** desmume<br>|
|
||||
|Nintendo|Nintendo Entertainment System (nes)|1985|`nes`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)<br>**retroarch:** fceumm<br>**retroarch:** quicknes<br>**retroarch:** mesen<br>|
|
||||
|Nintendo|Nintendo Entertainment System (nes)|1985|`nes`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)<br>**retroarch:** fceumm<br>**retroarch:** quicknes<br>**retroarch:** mesen<br>**mednafen:** nes<br>|
|
||||
|Nintendo|Pokémon Mini (pokemini)|2001|`pokemini`|.min .zip .7z|**retroarch:** pokemini (default)<br>|
|
||||
|Nintendo|Satellaview (satellaview)|1995|`satellaview`|.smc .fig .bs .sfc .bsx .swc .zip .7z|**retroarch:** snes9x (default)<br>**retroarch:** snes9x2010<br>**retroarch:** snes9x2002<br>**retroarch:** snes9x2005_plus<br>|
|
||||
|Nintendo|Super Famicom (sfc)|1990|`sfc`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)<br>**retroarch:** snes9x2010<br>**retroarch:** snes9x2002<br>**retroarch:** snes9x2005_plus<br>**retroarch:** beetle_supafaust<br>**retroarch:** bsnes<br>**retroarch:** bsnes_mercury_performance<br>**retroarch:** bsnes_hd_beta<br>|
|
||||
|Nintendo|Super Nintendo (Hacks) (snesh)|1991|`snesh`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)<br>**retroarch:** snes9x2010<br>**retroarch:** snes9x2002<br>**retroarch:** snes9x2005_plus<br>**retroarch:** beetle_supafaust<br>**retroarch:** bsnes<br>**retroarch:** bsnes_mercury_performance<br>**retroarch:** bsnes_hd_beta<br>|
|
||||
|Nintendo|Super Nintendo (snes)|1991|`snes`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)<br>**retroarch:** snes9x2010<br>**retroarch:** snes9x2002<br>**retroarch:** snes9x2005_plus<br>**retroarch:** beetle_supafaust<br>**retroarch:** bsnes<br>**retroarch:** bsnes_mercury_performance<br>**retroarch:** bsnes_hd_beta<br>|
|
||||
|Nintendo|Virtual Boy (virtualboy)|1995|`virtualboy`|.vb .zip .7z|**retroarch:** beetle_vb (default)<br>|
|
||||
|Nintendo|Super Famicom (sfc)|1990|`sfc`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)<br>**retroarch:** snes9x2010<br>**retroarch:** snes9x2002<br>**retroarch:** snes9x2005_plus<br>**retroarch:** beetle_supafaust<br>**retroarch:** bsnes<br>**retroarch:** bsnes_mercury_performance<br>**retroarch:** bsnes_hd_beta<br>**mednafen:** snes<br>**mednafen:** snes_faust<br>|
|
||||
|Nintendo|Super Nintendo (Hacks) (snesh)|1991|`snesh`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)<br>**retroarch:** snes9x2010<br>**retroarch:** snes9x2002<br>**retroarch:** snes9x2005_plus<br>**retroarch:** beetle_supafaust<br>**retroarch:** bsnes<br>**retroarch:** bsnes_mercury_performance<br>**retroarch:** bsnes_hd_beta<br>**mednafen:** snes<br>**mednafen:** snes_faust<br>|
|
||||
|Nintendo|Super Nintendo (snes)|1991|`snes`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)<br>**retroarch:** snes9x2010<br>**retroarch:** snes9x2002<br>**retroarch:** snes9x2005_plus<br>**retroarch:** beetle_supafaust<br>**retroarch:** bsnes<br>**retroarch:** bsnes_mercury_performance<br>**retroarch:** bsnes_hd_beta<br>**mednafen:** snes_faust<br>**mednafen:** snes<br>|
|
||||
|Nintendo|Virtual Boy (virtualboy)|1995|`virtualboy`|.vb .zip .7z|**retroarch:** beetle_vb (default)<br>**mednafen:** vb<br>|
|
||||
|Nintendo|Wii (wii)|2006|`wii`|.gcm .iso .gcz .ciso .wbfs .rvz .dol .wad|**dolphin:** dolphin-sa-wii (default)<br>**retroarch:** dolphin<br>|
|
||||
|Panasonic|3DO (3do)|1993|`3do`|.iso .bin .chd .cue|**retroarch:** opera (default)<br>|
|
||||
|Philips|VideoPac (videopac)|1978|`videopac`|.bin .zip .7z|**retroarch:** o2em (default)<br>|
|
||||
|Sammy|Atomiswave (atomiswave)|2003|`atomiswave`|.lst .bin .dat .zip .7z|**flycast:** flycast-sa<br>**retroarch:** flycast (default)<br>|
|
||||
|Sega|Dreamcast (dreamcast)|1998|`dreamcast`|.cdi .gdi .chd .m3u|**flycast:** flycast-sa<br>**retroarch:** flycast (default)<br>|
|
||||
|Sega|Game Gear (gamegear)|1990|`gamegear`|.bin .gg .zip .7z|**retroarch:** gearsystem (default)<br>**retroarch:** genesis_plus_gx<br>**retroarch:** picodrive<br>**retroarch:** smsplus<br>|
|
||||
|Sega|Game Gear (Hacks) (ggh)|1990|`gamegearh`|.bin .gg .zip .7z|**retroarch:** gearsystem (default)<br>**retroarch:** genesis_plus_gx<br>**retroarch:** picodrive<br>**retroarch:** smsplus<br>|
|
||||
|Sega|Genesis (genesis)|1989|`genesis`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)<br>**retroarch:** genesis_plus_gx_wide<br>**retroarch:** picodrive<br>|
|
||||
|Sega|Genesis (Hacks) (genh)|1989|`genh`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)<br>**retroarch:** genesis_plus_gx_wide<br>**retroarch:** picodrive<br>|
|
||||
|Sega|Master System (mastersystem)|1985|`mastersystem`|.bin .sms .zip .7z|**retroarch:** gearsystem (default)<br>**retroarch:** genesis_plus_gx<br>**retroarch:** picodrive<br>**retroarch:** smsplus<br>|
|
||||
|Sega|Game Gear (gamegear)|1990|`gamegear`|.bin .gg .zip .7z|**retroarch:** gearsystem (default)<br>**retroarch:** genesis_plus_gx<br>**retroarch:** picodrive<br>**retroarch:** smsplus<br>**mednafen:** gg<br>|
|
||||
|Sega|Game Gear (Hacks) (ggh)|1990|`gamegearh`|.bin .gg .zip .7z|**retroarch:** gearsystem (default)<br>**retroarch:** genesis_plus_gx<br>**retroarch:** picodrive<br>**retroarch:** smsplus<br>**mednafen:** gg<br>|
|
||||
|Sega|Genesis (genesis)|1989|`genesis`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)<br>**retroarch:** genesis_plus_gx_wide<br>**retroarch:** picodrive<br>**mednafen:** md<br>|
|
||||
|Sega|Genesis (Hacks) (genh)|1989|`genh`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)<br>**retroarch:** genesis_plus_gx_wide<br>**retroarch:** picodrive<br>**mednafen:** md<br>|
|
||||
|Sega|Master System (mastersystem)|1985|`mastersystem`|.bin .sms .zip .7z|**retroarch:** gearsystem (default)<br>**retroarch:** genesis_plus_gx<br>**retroarch:** picodrive<br>**retroarch:** smsplus<br>**mednafen:** sms<br>|
|
||||
|Sega|Mega CD (megacd)|1991|`megacd`|.chd .cue .iso .m3u|**retroarch:** genesis_plus_gx (default)<br>**retroarch:** picodrive<br>|
|
||||
|Sega|Mega Drive (megadrive)|1990|`megadrive`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)<br>**retroarch:** genesis_plus_gx_wide<br>**retroarch:** picodrive<br>|
|
||||
|Sega|Mega Drive (megadrive-japan)|1988|`megadrive-japan`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)<br>**retroarch:** genesis_plus_gx_wide<br>**retroarch:** picodrive<br>|
|
||||
|Sega|Mega Drive (megadrive)|1990|`megadrive`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)<br>**retroarch:** genesis_plus_gx_wide<br>**retroarch:** picodrive<br>**mednafen:** md<br>|
|
||||
|Sega|Mega Drive (megadrive-japan)|1988|`megadrive-japan`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)<br>**retroarch:** genesis_plus_gx_wide<br>**retroarch:** picodrive<br>**mednafen:** md<br>|
|
||||
|Sega|Naomi (naomi)|1998|`naomi`|.lst .bin .dat .zip .7z|**flycast:** flycast-sa<br>**retroarch:** flycast (default)<br>|
|
||||
|Sega|Saturn (saturn)|1994|`saturn`|.cue .chd .iso|**yabasanshiro:** yabasanshiro-sa (default)<br>**retroarch:** yabasanshiro<br>**retroarch:** beetle_saturn<br>|
|
||||
|Sega|Saturn (saturn)|1994|`saturn`|.cue .chd .iso|**yabasanshiro:** yabasanshiro-sa (default)<br>**retroarch:** yabasanshiro<br>**retroarch:** beetle_saturn<br>**mednafen:** ss<br>|
|
||||
|Sega|Sega 32X (sega32x)|1994|`sega32x`|.32x .smd .bin .md .zip .7z|**retroarch:** picodrive (default)<br>|
|
||||
|Sega|Sega CD (segacd)|1991|`segacd`|.chd .cue .iso .m3u|**retroarch:** genesis_plus_gx (default)<br>**retroarch:** picodrive<br>|
|
||||
|Sega|SG-1000 (sg-1000)|1983|`sg-1000`|.bin .sg .zip .7z|**retroarch:** gearsystem (default)<br>**retroarch:** genesis_plus_gx<br>**retroarch:** picodrive<br>|
|
||||
|Sega|ST-V (st-v)|1995|`st-v`|.zip .ZIP|**retroarch:** beetle_saturn (default)<br>**mednafen:** ss<br>|
|
||||
|Sharp|X1 (x1)|1982|`x1`|.dx1 .2d .2hd .tfd .d88d .hdm .xdf .dup .tap .cmd .zip .7z|**retroarch:** x1 (default)<br>|
|
||||
|Sharp|x68000 (x68000)|1987|`x68000`|.dim .img .d88d .hdm .dup .2hd .xdf .hdf .cmd .m3u .zip .7z|**retroarch:** px68k (default)<br>|
|
||||
|Sinclair|ZX Spectrum (zxspectrum)|1982|`zxspectrum`|.tzx .tap .z80 .rzx .scl .trd .dsk .zip .7z|**retroarch:** fuse<br>|
|
||||
|
@ -105,9 +107,9 @@ This document describes all available systems emulators and cores available for
|
|||
|Smith Engineering|Vectrex (vectrex)|1982|`vectrex`|.bin .gam .vec .zip .7z|**retroarch:** vecx (default)<br>|
|
||||
|SNK|Neo Geo (neogeo)|1990|`neogeo`|.7z .zip|**retroarch:** fbneo (default)<br>**retroarch:** mame2003_plus<br>**retroarch:** fbalpha2012<br>**retroarch:** fbalpha2019<br>**retroarch:** mame2010<br>**retroarch:** mame2015<br>**retroarch:** mame<br>|
|
||||
|SNK|Neo Geo CD (neocd)|1994|`neocd`|.cue .iso .chd|**retroarch:** neocd (default)<br>**retroarch:** fbneo<br>|
|
||||
|SNK|Neo Geo Pocket (ngp)|1998|`ngp`|.ngc .ngp .zip .7z|**retroarch:** beetle_ngp (default)<br>**retroarch:** race<br>|
|
||||
|SNK|Neo Geo Pocket Color (ngpc)|1999|`ngpc`|.ngc .zip .7z|**retroarch:** beetle_ngp (default)<br>**retroarch:** race<br>|
|
||||
|Sony|PlayStation (psx)|1994|`psx`|.bin .cue .img .mdf .pbp .toc .cbn .m3u .ccd .chd .iso|**retroarch:** pcsx_rearmed32 (default)<br>**retroarch:** pcsx_rearmed<br>**retroarch:** beetle_psx<br>**duckstation:** duckstation-sa<br>**retroarch:** duckstation<br>**retroarch:** swanstation<br>|
|
||||
|SNK|Neo Geo Pocket (ngp)|1998|`ngp`|.ngc .ngp .zip .7z|**retroarch:** beetle_ngp (default)<br>**retroarch:** race<br>**mednafen:** ngp<br>|
|
||||
|SNK|Neo Geo Pocket Color (ngpc)|1999|`ngpc`|.ngc .zip .7z|**retroarch:** beetle_ngp (default)<br>**retroarch:** race<br>**mednafen:** ngp<br>|
|
||||
|Sony|PlayStation (psx)|1994|`psx`|.bin .cue .img .mdf .pbp .toc .cbn .m3u .ccd .chd .iso|**retroarch:** pcsx_rearmed32 (default)<br>**retroarch:** pcsx_rearmed<br>**retroarch:** beetle_psx<br>**mednafen:** psx<br>**duckstation:** duckstation-sa<br>**retroarch:** duckstation<br>**retroarch:** swanstation<br>|
|
||||
|Sony|PlayStation 2 (ps2)|2000|`ps2`|.iso .mdf .nrg .bin .img .dump .gz .cso .chd|**aethersx2:** aethersx2-sa (default)<br>|
|
||||
|Sony|PlayStation Portable (psp)|2004|`psp`|.iso .cso .pbp .chd|**ppsspp:** ppsspp-sa (default)<br>|
|
||||
|Sony|PSP Minis (pspminis)|2004|`pspminis`|.iso .cso .pbp|**ppsspp:** ppsspp-sa (default)<br>**retroarch:** ppsspp<br>|
|
||||
|
|
|
@ -13,6 +13,7 @@ This document describes all available systems emulators and cores available for
|
|||
| System|Screenshots (imageviewer)|System|`screenshots`|.jpg .jpeg .png .bmp .psd .tga .gif .hdr .pic .ppm .pgm .mkv .pdf .mp4 .avi||
|
||||
| System|Tools (tools)|System|`modules`|.sh||
|
||||
|Amstrad|CPC (amstradcpc)|1984|`amstradcpc`|.dsk .sna .tap .cdt .kcr .voc .m3u .zip .7z|**retroarch:** crocods (default)<br>**retroarch:** cap32<br>|
|
||||
|Apple|Macintosh (macintosh)|1984|`mac`|.dsk .img .hfv .cmd .zip|**retroarch:** minivmac (default)<br>|
|
||||
|Arcade|Arcade (arcade)|1984|`arcade`|.zip .7z|**retroarch:** mame2003_plus (default)<br>**retroarch:** mame2000<br>**retroarch:** mame2010<br>**retroarch:** mame2015<br>**retroarch:** fbneo<br>**retroarch:** fbalpha2012<br>**retroarch:** fbalpha2019<br>|
|
||||
|Arcade|Daphne (daphne)|1996|`daphne`|.daphne .singe|**hypseus-singe:** hypseus-singe (default)<br>**retroarch:** daphne<br>|
|
||||
|Arcade|Final Burn Neo (fbn)|1986|`fbneo`|.7z .zip|**retroarch:** fbneo (default)<br>**retroarch:** mame2003_plus<br>**retroarch:** mame2010<br>**retroarch:** mame2015<br>**retroarch:** mame<br>**retroarch:** fbalpha2012<br>**retroarch:** fbalpha2019<br>|
|
||||
|
@ -96,6 +97,7 @@ This document describes all available systems emulators and cores available for
|
|||
|Sega|Sega 32X (sega32x)|1994|`sega32x`|.32x .smd .bin .md .zip .7z|**retroarch:** picodrive (default)<br>|
|
||||
|Sega|Sega CD (segacd)|1991|`segacd`|.chd .cue .iso .m3u|**retroarch:** genesis_plus_gx (default)<br>**retroarch:** picodrive<br>|
|
||||
|Sega|SG-1000 (sg-1000)|1983|`sg-1000`|.bin .sg .zip .7z|**retroarch:** gearsystem (default)<br>**retroarch:** genesis_plus_gx<br>**retroarch:** picodrive<br>|
|
||||
|Sega|ST-V (st-v)|1995|`st-v`|.zip .ZIP|**retroarch:** beetle_saturn (default)<br>|
|
||||
|Sharp|X1 (x1)|1982|`x1`|.dx1 .2d .2hd .tfd .d88d .hdm .xdf .dup .tap .cmd .zip .7z|**retroarch:** x1 (default)<br>|
|
||||
|Sharp|x68000 (x68000)|1987|`x68000`|.dim .img .d88d .hdm .dup .2hd .xdf .hdf .cmd .m3u .zip .7z|**retroarch:** px68k (default)<br>|
|
||||
|Sinclair|ZX Spectrum (zxspectrum)|1982|`zxspectrum`|.tzx .tap .z80 .rzx .scl .trd .dsk .zip .7z|**retroarch:** fuse<br>|
|
||||
|
|
|
@ -13,6 +13,7 @@ This document describes all available systems emulators and cores available for
|
|||
| System|Screenshots (imageviewer)|System|`screenshots`|.jpg .jpeg .png .bmp .psd .tga .gif .hdr .pic .ppm .pgm .mkv .pdf .mp4 .avi||
|
||||
| System|Tools (tools)|System|`modules`|.sh||
|
||||
|Amstrad|CPC (amstradcpc)|1984|`amstradcpc`|.dsk .sna .tap .cdt .kcr .voc .m3u .zip .7z|**retroarch:** crocods (default)<br>**retroarch:** cap32<br>|
|
||||
|Apple|Macintosh (macintosh)|1984|`mac`|.dsk .img .hfv .cmd .zip|**retroarch:** minivmac (default)<br>|
|
||||
|Arcade|Arcade (arcade)|1984|`arcade`|.zip .7z|**retroarch:** mame2003_plus (default)<br>**retroarch:** mame2000<br>**retroarch:** mame2010<br>**retroarch:** mame2015<br>**retroarch:** fbneo<br>**retroarch:** fbalpha2012<br>**retroarch:** fbalpha2019<br>|
|
||||
|Arcade|Daphne (daphne)|1996|`daphne`|.daphne .singe|**hypseus-singe:** hypseus-singe (default)<br>**retroarch:** daphne<br>|
|
||||
|Arcade|Final Burn Neo (fbn)|1986|`fbneo`|.7z .zip|**retroarch:** fbneo (default)<br>**retroarch:** mame2003_plus<br>**retroarch:** mame2010<br>**retroarch:** mame2015<br>**retroarch:** mame<br>**retroarch:** fbalpha2012<br>**retroarch:** fbalpha2019<br>|
|
||||
|
@ -96,6 +97,7 @@ This document describes all available systems emulators and cores available for
|
|||
|Sega|Sega 32X (sega32x)|1994|`sega32x`|.32x .smd .bin .md .zip .7z|**retroarch:** picodrive (default)<br>|
|
||||
|Sega|Sega CD (segacd)|1991|`segacd`|.chd .cue .iso .m3u|**retroarch:** genesis_plus_gx (default)<br>**retroarch:** picodrive<br>|
|
||||
|Sega|SG-1000 (sg-1000)|1983|`sg-1000`|.bin .sg .zip .7z|**retroarch:** gearsystem (default)<br>**retroarch:** genesis_plus_gx<br>**retroarch:** picodrive<br>|
|
||||
|Sega|ST-V (st-v)|1995|`st-v`|.zip .ZIP|**retroarch:** beetle_saturn (default)<br>|
|
||||
|Sharp|X1 (x1)|1982|`x1`|.dx1 .2d .2hd .tfd .d88d .hdm .xdf .dup .tap .cmd .zip .7z|**retroarch:** x1 (default)<br>|
|
||||
|Sharp|x68000 (x68000)|1987|`x68000`|.dim .img .d88d .hdm .dup .2hd .xdf .hdf .cmd .m3u .zip .7z|**retroarch:** px68k (default)<br>|
|
||||
|Sinclair|ZX Spectrum (zxspectrum)|1982|`zxspectrum`|.tzx .tap .z80 .rzx .scl .trd .dsk .zip .7z|**retroarch:** fuse<br>|
|
||||
|
|
|
@ -13,6 +13,7 @@ This document describes all available systems emulators and cores available for
|
|||
| System|Screenshots (imageviewer)|System|`screenshots`|.jpg .jpeg .png .bmp .psd .tga .gif .hdr .pic .ppm .pgm .mkv .pdf .mp4 .avi||
|
||||
| System|Tools (tools)|System|`modules`|.sh||
|
||||
|Amstrad|CPC (amstradcpc)|1984|`amstradcpc`|.dsk .sna .tap .cdt .kcr .voc .m3u .zip .7z|**retroarch:** crocods (default)<br>**retroarch:** cap32<br>|
|
||||
|Apple|Macintosh (macintosh)|1984|`mac`|.dsk .img .hfv .cmd .zip|**retroarch:** minivmac (default)<br>|
|
||||
|Arcade|Arcade (arcade)|1984|`arcade`|.zip .7z|**retroarch:** mame2003_plus (default)<br>**retroarch:** mame2000<br>**retroarch:** mame2010<br>**retroarch:** mame2015<br>**retroarch:** fbneo<br>**retroarch:** fbalpha2012<br>**retroarch:** fbalpha2019<br>**retroarch:** mame<br>|
|
||||
|Arcade|Daphne (daphne)|1996|`daphne`|.daphne .singe|**hypseus-singe:** hypseus-singe (default)<br>**retroarch:** daphne<br>|
|
||||
|Arcade|Final Burn Neo (fbn)|1986|`fbneo`|.7z .zip|**retroarch:** fbneo (default)<br>**retroarch:** mame2003_plus<br>**retroarch:** mame2010<br>**retroarch:** mame2015<br>**retroarch:** mame<br>**retroarch:** fbalpha2012<br>**retroarch:** fbalpha2019<br>|
|
||||
|
@ -98,6 +99,7 @@ This document describes all available systems emulators and cores available for
|
|||
|Sega|Sega 32X (sega32x)|1994|`sega32x`|.32x .smd .bin .md .zip .7z|**retroarch:** picodrive (default)<br>|
|
||||
|Sega|Sega CD (segacd)|1991|`segacd`|.chd .cue .iso .m3u|**retroarch:** genesis_plus_gx (default)<br>**retroarch:** picodrive<br>|
|
||||
|Sega|SG-1000 (sg-1000)|1983|`sg-1000`|.bin .sg .zip .7z|**retroarch:** gearsystem (default)<br>**retroarch:** genesis_plus_gx<br>**retroarch:** picodrive<br>|
|
||||
|Sega|ST-V (st-v)|1995|`st-v`|.zip .ZIP|**retroarch:** beetle_saturn (default)<br>|
|
||||
|Sharp|X1 (x1)|1982|`x1`|.dx1 .2d .2hd .tfd .d88d .hdm .xdf .dup .tap .cmd .zip .7z|**retroarch:** x1 (default)<br>|
|
||||
|Sharp|x68000 (x68000)|1987|`x68000`|.dim .img .d88d .hdm .dup .2hd .xdf .hdf .cmd .m3u .zip .7z|**retroarch:** px68k (default)<br>|
|
||||
|Sinclair|ZX Spectrum (zxspectrum)|1982|`zxspectrum`|.tzx .tap .z80 .rzx .scl .trd .dsk .zip .7z|**retroarch:** fuse<br>|
|
||||
|
|
|
@ -13,6 +13,7 @@ This document describes all available systems emulators and cores available for
|
|||
| System|Screenshots (imageviewer)|System|`screenshots`|.jpg .jpeg .png .bmp .psd .tga .gif .hdr .pic .ppm .pgm .mkv .pdf .mp4 .avi||
|
||||
| System|Tools (tools)|System|`modules`|.sh||
|
||||
|Amstrad|CPC (amstradcpc)|1984|`amstradcpc`|.dsk .sna .tap .cdt .kcr .voc .m3u .zip .7z|**retroarch:** crocods (default)<br>**retroarch:** cap32<br>|
|
||||
|Apple|Macintosh (macintosh)|1984|`mac`|.dsk .img .hfv .cmd .zip|**retroarch:** minivmac (default)<br>|
|
||||
|Arcade|Arcade (arcade)|1984|`arcade`|.zip .7z|**retroarch:** mame2003_plus (default)<br>**retroarch:** mame2000<br>**retroarch:** mame2010<br>**retroarch:** mame2015<br>**retroarch:** fbneo<br>**retroarch:** fbalpha2012<br>**retroarch:** fbalpha2019<br>**retroarch:** mame<br>|
|
||||
|Arcade|Daphne (daphne)|1996|`daphne`|.daphne .singe|**hypseus-singe:** hypseus-singe (default)<br>**retroarch:** daphne<br>|
|
||||
|Arcade|Final Burn Neo (fbn)|1986|`fbneo`|.7z .zip|**retroarch:** fbneo (default)<br>**retroarch:** mame2003_plus<br>**retroarch:** mame2010<br>**retroarch:** mame2015<br>**retroarch:** mame<br>**retroarch:** fbalpha2012<br>**retroarch:** fbalpha2019<br>|
|
||||
|
@ -99,6 +100,7 @@ This document describes all available systems emulators and cores available for
|
|||
|Sega|Sega 32X (sega32x)|1994|`sega32x`|.32x .smd .bin .md .zip .7z|**retroarch:** picodrive (default)<br>|
|
||||
|Sega|Sega CD (segacd)|1991|`segacd`|.chd .cue .iso .m3u|**retroarch:** genesis_plus_gx (default)<br>**retroarch:** picodrive<br>|
|
||||
|Sega|SG-1000 (sg-1000)|1983|`sg-1000`|.bin .sg .zip .7z|**retroarch:** gearsystem (default)<br>**retroarch:** genesis_plus_gx<br>**retroarch:** picodrive<br>|
|
||||
|Sega|ST-V (st-v)|1995|`st-v`|.zip .ZIP|**retroarch:** beetle_saturn (default)<br>|
|
||||
|Sharp|X1 (x1)|1982|`x1`|.dx1 .2d .2hd .tfd .d88d .hdm .xdf .dup .tap .cmd .zip .7z|**retroarch:** x1 (default)<br>|
|
||||
|Sharp|x68000 (x68000)|1987|`x68000`|.dim .img .d88d .hdm .dup .2hd .xdf .hdf .cmd .m3u .zip .7z|**retroarch:** px68k (default)<br>|
|
||||
|Sinclair|ZX Spectrum (zxspectrum)|1982|`zxspectrum`|.tzx .tap .z80 .rzx .scl .trd .dsk .zip .7z|**retroarch:** fuse<br>|
|
||||
|
|
|
@ -6,7 +6,7 @@ PKG_VERSION="f8adbe08805d9fe9171cb2e3078f383631d1331d"
|
|||
PKG_SITE="https://github.com/christianhaitian/PortMaster"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_ARCH="arm aarch64"
|
||||
PKG_DEPENDS_TARGET="toolchain gptokeyb gamecontrollerdb wget oga_controls"
|
||||
PKG_DEPENDS_TARGET="toolchain gptokeyb gamecontrollerdb wget oga_controls libegl"
|
||||
PKG_TOOLCHAIN="manual"
|
||||
PKG_LONGDESC="Portmaster - a simple tool that allows you to download various game ports"
|
||||
|
||||
|
@ -15,13 +15,6 @@ makeinstall_target() {
|
|||
mkdir -p ${INSTALL}/usr/config/PortMaster
|
||||
tar -xvf ${PKG_DIR}/sources/${PKG_NAME}.tar.gz -C ${INSTALL}/usr/config/PortMaster
|
||||
|
||||
case ${DEVICE} in
|
||||
S922X*)
|
||||
mkdir -p ${INSTALL}/usr/lib/egl
|
||||
tar -xvf ${PKG_DIR}/sources/libegl.tar.gz -C ${INSTALL}/usr/lib/egl
|
||||
;;
|
||||
esac
|
||||
|
||||
cp -rf ${PKG_DIR}/sources/PortMaster.sh ${INSTALL}/usr/config/PortMaster
|
||||
chmod +x ${INSTALL}/usr/config/PortMaster/PortMaster.sh
|
||||
|
||||
|
|
|
@ -16,6 +16,10 @@ PKG_AUTORECONF="no"
|
|||
|
||||
PKG_MAKE_OPTS_TARGET+=" -C bsnes target=libretro compiler=${TARGET_NAME}-g++"
|
||||
|
||||
pre_configure_target() {
|
||||
sed -i 's/\-O[23]/-Ofast/' ${PKG_BUILD}/bsnes/GNUmakefile
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p ${INSTALL}/usr/lib/libretro
|
||||
cp bsnes/out/bsnes_hd_beta_libretro.so ${INSTALL}/usr/lib/libretro/
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# Copyright (C) 2022-present - The JELOS Project (https://github.com/JustEnoughLinuxOS)
|
||||
|
||||
PKG_NAME="bsnes-lr"
|
||||
PKG_VERSION="e71eca1199d1359af53c806811dc3f05c64f8d91"
|
||||
PKG_VERSION="ef4df4e683e1e6a194fd5ae6c9af2dae62df3998"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_SITE="https://github.com/libretro/bsnes-libretro"
|
||||
PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz"
|
||||
|
@ -21,6 +21,10 @@ if [ "${OPENGLES_SUPPORT}" = yes ]; then
|
|||
PKG_DEPENDS_TARGET+=" ${OPENGLES}"
|
||||
fi
|
||||
|
||||
pre_configure_target() {
|
||||
sed -i 's/\-O[23]/-Ofast/' ${PKG_BUILD}/Makefile
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p ${INSTALL}/usr/lib/libretro
|
||||
cp bsnes_libretro.so ${INSTALL}/usr/lib/libretro/
|
||||
|
|
|
@ -13,6 +13,10 @@ PKG_IS_ADDON="no"
|
|||
PKG_TOOLCHAIN="make"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
pre_configure_target() {
|
||||
sed -i 's/\-O[23]/-Ofast/' ${PKG_BUILD}/Makefile
|
||||
}
|
||||
|
||||
pre_make_target() {
|
||||
PKG_MAKE_OPTS_TARGET+=" platform=${DEVICE}"
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="dosbox-pure-lr"
|
||||
PKG_VERSION="3793b9f291f37d99f662de0d3058c6b0ac1607fc"
|
||||
PKG_VERSION="a6ac7fdd94c9e8c8a7be8d9958174425a473ba06"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
|
||||
|
||||
PKG_NAME="fbneo-lr"
|
||||
PKG_VERSION="5fa9b68ab4fa5b318066ac95fd5060357ba35230"
|
||||
PKG_VERSION="6f65c17648bb98217d8ddcdc750505d4ac0916e5"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="Non-commercial"
|
||||
|
|
|
@ -35,7 +35,8 @@ else
|
|||
fi
|
||||
|
||||
pre_configure_target() {
|
||||
sed -i 's/"reicast"/"flycast"/g' ${PKG_BUILD}/shell/libretro/libretro_core_option_defines.h
|
||||
sed -i 's/"reicast"/"flycast"/g' ${PKG_BUILD}/shell/libretro/libretro_core_option_defines.h
|
||||
sed -i 's/\-O[23]/-Ofast/' ${PKG_BUILD}/CMakeLists.txt
|
||||
PKG_CMAKE_OPTS_TARGET="${PKG_CMAKE_OPTS_TARGET} \
|
||||
-Wno-dev -DLIBRETRO=ON \
|
||||
-DWITH_SYSTEM_ZLIB=ON \
|
||||
|
|
|
@ -41,6 +41,7 @@ fi
|
|||
|
||||
pre_configure_target() {
|
||||
sed -i 's/define CORE_OPTION_NAME "reicast"/define CORE_OPTION_NAME "flycast2021"/g' core/libretro/libretro_core_option_defines.h
|
||||
sed -i 's/\-O[23]/-Ofast/' ${PKG_BUILD}/Makefile
|
||||
PKG_MAKE_OPTS_TARGET="${PKG_MAKE_OPTS_TARGET} ARCH=${TARGET_ARCH} HAVE_OPENMP=1 GIT_VERSION=${PKG_VERSION:0:7} HAVE_LTCG=0"
|
||||
}
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="gearboy-lr"
|
||||
PKG_VERSION="06e9636c368c50fdde89cacce0e3539976ab9b7c"
|
||||
PKG_VERSION="49438e4f90de9203615aeba2a0ef6362fe8144d9"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="gearcoleco-lr"
|
||||
PKG_VERSION="cc7c19c776a12d149c2c935e2198ddad15f22f54"
|
||||
PKG_VERSION="6c67da0462061a9056cacdb633c6ab4fd8a650f7"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="gearsystem-lr"
|
||||
PKG_VERSION="c58a865a727e6f7b83123a1a261c13bcc1b0f0dc"
|
||||
PKG_VERSION="9fdc04d58f1c7176c4834f4569e2a6a00de56608"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv3"
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="libretro-database"
|
||||
PKG_VERSION="5e0fcac0bf043fe395e20b328a7f979c2a401e3c"
|
||||
PKG_VERSION="809a24e1b480945778f4bf55f8d24df3e33ca0a1"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="mame2003-plus-lr"
|
||||
PKG_VERSION="419021fc003bd00fee2ce896d3e802caa5d1274a"
|
||||
PKG_VERSION="79aee414b6f5ab70a6eb257f9273550423e11356"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="MAME"
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="mrboom-lr"
|
||||
PKG_VERSION="089b91d4dcf016d0595824d519707bed709178f2"
|
||||
PKG_VERSION="c10355e656b282f3dee8020ba17852a622a532e8"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv3"
|
||||
|
|
|
@ -57,6 +57,7 @@ pre_configure_target() {
|
|||
PKG_MAKE_OPTS_TARGET="GLES=0 GLES3=0"
|
||||
;;
|
||||
esac
|
||||
sed -i 's/\-O[23]/-Ofast/' ${PKG_BUILD}/Makefile
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
|
|
|
@ -25,6 +25,7 @@ fi
|
|||
|
||||
pre_configure_target() {
|
||||
sed -e "s|^GIT_VERSION ?.*$|GIT_VERSION := \" ${PKG_VERSION:0:7}\"|" -i Makefile
|
||||
sed -i 's/\-O[23]/-Ofast/' ${PKG_BUILD}/Makefile
|
||||
case ${DEVICE} in
|
||||
RK3*|S922X*)
|
||||
PKG_MAKE_OPTS_TARGET=" platform=${DEVICE}"
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="np2kai-lr"
|
||||
PKG_VERSION="6089943a80a45b6c18d765765f7f31d7a5c0d9c6"
|
||||
PKG_VERSION="9dbeaafa13e666cb7b87ffddb8bc4ad3343eb5cb"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="MIT"
|
||||
|
|
|
@ -13,6 +13,10 @@ PKG_SHORTDESC="ARM optimized PCSX fork"
|
|||
PKG_TOOLCHAIN="manual"
|
||||
PKG_PATCH_DIRS+="${TARGET_ARCH}/${DEVICE}"
|
||||
|
||||
pre_configure_target() {
|
||||
sed -i 's/\-O[23]/-Ofast/' ${PKG_BUILD}/Makefile
|
||||
}
|
||||
|
||||
make_target() {
|
||||
cd ${PKG_BUILD}
|
||||
make -f Makefile.libretro GIT_VERSION=${PKG_VERSION} platform=${DEVICE}
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="ppsspp-lr"
|
||||
PKG_VERSION="e93f9f64cc3979ff7d1dddc2fbec7ddc410da3dc"
|
||||
PKG_VERSION="a9d2ff29ea06c709c3cd077eeb720ce9efdc4f6f"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_SITE="https://github.com/hrydgard/ppsspp"
|
||||
PKG_URL="https://github.com/hrydgard/ppsspp.git"
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="slang-shaders"
|
||||
PKG_VERSION="e71fc162f62f3d21f6e80942e6075f31c37c0ead"
|
||||
PKG_VERSION="3c281372a31e7cc72fdbea699dc09047439386ce"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="stella-lr"
|
||||
PKG_VERSION="b7a89b3f5f86ae8f3d771ead86babe816e2dd806"
|
||||
PKG_VERSION="341c6d860cdb028f29caf8bb30e9acd3d8521ac1"
|
||||
PKG_REV="1"
|
||||
PKG_LICENSE="GPL2"
|
||||
PKG_SITE="https://github.com/stella-emu/stella"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
|
||||
|
||||
PKG_NAME="tic80-lr"
|
||||
PKG_VERSION="f740bff14921fe2120486c8a233094602032b996"
|
||||
PKG_VERSION="0937023babce9dd55eba5ada4b46c2f98b740324"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_SITE="https://github.com/nesbox/TIC-80"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
|
|
|
@ -45,12 +45,16 @@ if [ "${OPENGLES_SUPPORT}" = yes ]; then
|
|||
fi
|
||||
|
||||
pre_configure_target() {
|
||||
sed -i 's/\-O[23]/-Ofast -ffast-math/' ${PKG_BUILD}/yabause/src/libretro/Makefile
|
||||
case ${DEVICE} in
|
||||
RK3*|S922X*)
|
||||
PKG_MAKE_OPTS_TARGET+=" -C yabause/src/libretro platform=rockpro64 HAVE_NEON=0 FORCE_GLES=1"
|
||||
;;
|
||||
AMD64)
|
||||
PKG_MAKE_OPTS_TARGET+=" -C yabause/src/libretro FORCE_GLES=0 USE_X86_DRC=1 FASTMATH=1"
|
||||
;;
|
||||
*)
|
||||
PKG_MAKE_OPTS_TARGET+=" -C yabause/src/libretro"
|
||||
PKG_MAKE_OPTS_TARGET+=" -C yabause/src/libretro FORCE_GLES=1"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# Copyright (C) 2022-present - The JELOS Project (https://github.com/JustEnoughLinuxOS)
|
||||
|
||||
PKG_NAME="citra-sa"
|
||||
PKG_VERSION="a034c54f91495e6c987e3c3d221c7f7615d60a56"
|
||||
PKG_VERSION="2f4039858a082818b8fff60a7a89794c6259f146"
|
||||
PKG_LICENSE="MPLv2"
|
||||
PKG_SITE="https://github.com/JustEnoughLinuxOS/citra-canary"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
diff -rupN dolphin.orig/CMake/FindWaylandProtocols.cmake dolphin/CMake/FindWaylandProtocols.cmake
|
||||
--- dolphin.orig/CMake/FindWaylandProtocols.cmake 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ dolphin/CMake/FindWaylandProtocols.cmake 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/CMake/FindWaylandProtocols.cmake 2023-10-27 13:46:38.317333047 +0000
|
||||
@@ -0,0 +1,28 @@
|
||||
+# from https://github.com/glfw/glfw/blob/master/CMake/modules/FindWaylandProtocols.cmake
|
||||
+
|
||||
|
@ -32,7 +32,7 @@ diff -rupN dolphin.orig/CMake/FindWaylandProtocols.cmake dolphin/CMake/FindWayla
|
|||
+set(WAYLAND_PROTOCOLS_VERSION ${WaylandProtocols_VERSION})
|
||||
diff -rupN dolphin.orig/CMake/FindXKBCommon.cmake dolphin/CMake/FindXKBCommon.cmake
|
||||
--- dolphin.orig/CMake/FindXKBCommon.cmake 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ dolphin/CMake/FindXKBCommon.cmake 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/CMake/FindXKBCommon.cmake 2023-10-27 13:46:38.317333047 +0000
|
||||
@@ -0,0 +1,33 @@
|
||||
+# - Try to find XKBCommon
|
||||
+# Once done, this will define
|
||||
|
@ -69,7 +69,7 @@ diff -rupN dolphin.orig/CMake/FindXKBCommon.cmake dolphin/CMake/FindXKBCommon.cm
|
|||
+mark_as_advanced(XKBCOMMON_LIBRARY XKBCOMMON_INCLUDE_DIR)
|
||||
diff -rupN dolphin.orig/CMakeLists.txt dolphin/CMakeLists.txt
|
||||
--- dolphin.orig/CMakeLists.txt 2023-09-26 17:58:02.593990718 +0000
|
||||
+++ dolphin/CMakeLists.txt 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/CMakeLists.txt 2023-10-27 13:46:40.473383166 +0000
|
||||
@@ -47,6 +47,7 @@ set(DOLPHIN_DEFAULT_UPDATE_TRACK "" CACH
|
||||
|
||||
if(UNIX AND NOT APPLE AND NOT ANDROID)
|
||||
|
@ -98,7 +98,7 @@ diff -rupN dolphin.orig/CMakeLists.txt dolphin/CMakeLists.txt
|
|||
if(EGL_FOUND)
|
||||
diff -rupN dolphin.orig/Source/Core/Common/CMakeLists.txt dolphin/Source/Core/Common/CMakeLists.txt
|
||||
--- dolphin.orig/Source/Core/Common/CMakeLists.txt 2023-09-26 17:58:02.801995519 +0000
|
||||
+++ dolphin/Source/Core/Common/CMakeLists.txt 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/Common/CMakeLists.txt 2023-10-27 13:46:39.913370149 +0000
|
||||
@@ -253,11 +253,20 @@ if(ENABLE_EGL AND EGL_FOUND)
|
||||
GL/GLInterface/EGLAndroid.cpp
|
||||
GL/GLInterface/EGLAndroid.h
|
||||
|
@ -127,7 +127,7 @@ diff -rupN dolphin.orig/Source/Core/Common/CMakeLists.txt dolphin/Source/Core/Co
|
|||
target_link_libraries(common PUBLIC ${EGL_LIBRARIES})
|
||||
diff -rupN dolphin.orig/Source/Core/Common/GL/GLContext.cpp dolphin/Source/Core/Common/GL/GLContext.cpp
|
||||
--- dolphin.orig/Source/Core/Common/GL/GLContext.cpp 2023-09-26 17:58:02.801995519 +0000
|
||||
+++ dolphin/Source/Core/Common/GL/GLContext.cpp 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/Common/GL/GLContext.cpp 2023-10-27 13:46:39.913370149 +0000
|
||||
@@ -25,6 +25,9 @@
|
||||
#if defined(ANDROID)
|
||||
#include "Common/GL/GLInterface/EGLAndroid.h"
|
||||
|
@ -165,7 +165,7 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLContext.cpp dolphin/Source/Core/
|
|||
context = std::make_unique<GLContextEGL>();
|
||||
diff -rupN dolphin.orig/Source/Core/Common/GL/GLContext.h dolphin/Source/Core/Common/GL/GLContext.h
|
||||
--- dolphin.orig/Source/Core/Common/GL/GLContext.h 2023-09-26 17:58:02.801995519 +0000
|
||||
+++ dolphin/Source/Core/Common/GL/GLContext.h 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/Common/GL/GLContext.h 2023-10-27 13:46:39.913370149 +0000
|
||||
@@ -36,8 +36,8 @@ public:
|
||||
virtual bool MakeCurrent();
|
||||
virtual bool ClearCurrent();
|
||||
|
@ -179,7 +179,7 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLContext.h dolphin/Source/Core/Co
|
|||
virtual void SwapInterval(int interval);
|
||||
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/AGL.h dolphin/Source/Core/Common/GL/GLInterface/AGL.h
|
||||
--- dolphin.orig/Source/Core/Common/GL/GLInterface/AGL.h 2023-09-26 17:58:02.801995519 +0000
|
||||
+++ dolphin/Source/Core/Common/GL/GLInterface/AGL.h 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/Common/GL/GLInterface/AGL.h 2023-10-27 13:46:39.913370149 +0000
|
||||
@@ -27,6 +27,8 @@ public:
|
||||
|
||||
bool MakeCurrent() override;
|
||||
|
@ -191,7 +191,7 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/AGL.h dolphin/Source/C
|
|||
|
||||
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/AGL.mm dolphin/Source/Core/Common/GL/GLInterface/AGL.mm
|
||||
--- dolphin.orig/Source/Core/Common/GL/GLInterface/AGL.mm 2023-09-26 17:58:02.801995519 +0000
|
||||
+++ dolphin/Source/Core/Common/GL/GLInterface/AGL.mm 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/Common/GL/GLInterface/AGL.mm 2023-10-27 13:46:39.913370149 +0000
|
||||
@@ -144,7 +144,7 @@ bool GLContextAGL::ClearCurrent()
|
||||
return true;
|
||||
}
|
||||
|
@ -203,7 +203,7 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/AGL.mm dolphin/Source/
|
|||
return;
|
||||
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGL.cpp dolphin/Source/Core/Common/GL/GLInterface/EGL.cpp
|
||||
--- dolphin.orig/Source/Core/Common/GL/GLInterface/EGL.cpp 2023-09-26 17:58:02.805995611 +0000
|
||||
+++ dolphin/Source/Core/Common/GL/GLInterface/EGL.cpp 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/Common/GL/GLInterface/EGL.cpp 2023-10-27 13:46:39.913370149 +0000
|
||||
@@ -292,8 +292,8 @@ bool GLContextEGL::CreateWindowSurface()
|
||||
{
|
||||
if (!IsHeadless())
|
||||
|
@ -268,7 +268,7 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGL.cpp dolphin/Source
|
|||
+}
|
||||
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGL.h dolphin/Source/Core/Common/GL/GLInterface/EGL.h
|
||||
--- dolphin.orig/Source/Core/Common/GL/GLInterface/EGL.h 2023-09-26 17:58:02.805995611 +0000
|
||||
+++ dolphin/Source/Core/Common/GL/GLInterface/EGL.h 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/Common/GL/GLInterface/EGL.h 2023-10-27 13:46:39.913370149 +0000
|
||||
@@ -22,7 +22,8 @@ public:
|
||||
bool MakeCurrent() override;
|
||||
bool ClearCurrent() override;
|
||||
|
@ -294,7 +294,7 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGL.h dolphin/Source/C
|
|||
std::vector<int> m_attribs;
|
||||
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGLWayland.cpp dolphin/Source/Core/Common/GL/GLInterface/EGLWayland.cpp
|
||||
--- dolphin.orig/Source/Core/Common/GL/GLInterface/EGLWayland.cpp 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ dolphin/Source/Core/Common/GL/GLInterface/EGLWayland.cpp 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/Common/GL/GLInterface/EGLWayland.cpp 2023-10-27 13:46:39.913370149 +0000
|
||||
@@ -0,0 +1,36 @@
|
||||
+// Copyright 2019 Dolphin Emulator Project
|
||||
+// Licensed under GPLv2+
|
||||
|
@ -334,7 +334,7 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGLWayland.cpp dolphin
|
|||
+}
|
||||
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGLWayland.h dolphin/Source/Core/Common/GL/GLInterface/EGLWayland.h
|
||||
--- dolphin.orig/Source/Core/Common/GL/GLInterface/EGLWayland.h 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ dolphin/Source/Core/Common/GL/GLInterface/EGLWayland.h 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/Common/GL/GLInterface/EGLWayland.h 2023-10-27 13:46:39.913370149 +0000
|
||||
@@ -0,0 +1,19 @@
|
||||
+// Copyright 2019 Dolphin Emulator Project
|
||||
+// Licensed under GPLv2+
|
||||
|
@ -357,7 +357,7 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGLWayland.h dolphin/S
|
|||
+};
|
||||
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGLX11.cpp dolphin/Source/Core/Common/GL/GLInterface/EGLX11.cpp
|
||||
--- dolphin.orig/Source/Core/Common/GL/GLInterface/EGLX11.cpp 2023-09-26 17:58:02.805995611 +0000
|
||||
+++ dolphin/Source/Core/Common/GL/GLInterface/EGLX11.cpp 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/Common/GL/GLInterface/EGLX11.cpp 2023-10-27 13:46:39.913370149 +0000
|
||||
@@ -11,7 +11,7 @@ GLContextEGLX11::~GLContextEGLX11()
|
||||
m_render_window.reset();
|
||||
}
|
||||
|
@ -369,7 +369,7 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGLX11.cpp dolphin/Sou
|
|||
m_backbuffer_width = m_render_window->GetWidth();
|
||||
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGLX11.h dolphin/Source/Core/Common/GL/GLInterface/EGLX11.h
|
||||
--- dolphin.orig/Source/Core/Common/GL/GLInterface/EGLX11.h 2023-09-26 17:58:02.805995611 +0000
|
||||
+++ dolphin/Source/Core/Common/GL/GLInterface/EGLX11.h 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/Common/GL/GLInterface/EGLX11.h 2023-10-27 13:46:39.913370149 +0000
|
||||
@@ -13,7 +13,7 @@ class GLContextEGLX11 final : public GLC
|
||||
public:
|
||||
~GLContextEGLX11() override;
|
||||
|
@ -381,7 +381,7 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGLX11.h dolphin/Sourc
|
|||
EGLDisplay OpenEGLDisplay() override;
|
||||
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/GLX.cpp dolphin/Source/Core/Common/GL/GLInterface/GLX.cpp
|
||||
--- dolphin.orig/Source/Core/Common/GL/GLInterface/GLX.cpp 2023-09-26 17:58:02.805995611 +0000
|
||||
+++ dolphin/Source/Core/Common/GL/GLInterface/GLX.cpp 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/Common/GL/GLInterface/GLX.cpp 2023-10-27 13:46:39.913370149 +0000
|
||||
@@ -310,7 +310,7 @@ bool GLContextGLX::ClearCurrent()
|
||||
return glXMakeCurrent(m_display, None, nullptr);
|
||||
}
|
||||
|
@ -393,7 +393,7 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/GLX.cpp dolphin/Source
|
|||
m_backbuffer_width = m_render_window->GetWidth();
|
||||
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/GLX.h dolphin/Source/Core/Common/GL/GLInterface/GLX.h
|
||||
--- dolphin.orig/Source/Core/Common/GL/GLInterface/GLX.h 2023-09-26 17:58:02.805995611 +0000
|
||||
+++ dolphin/Source/Core/Common/GL/GLInterface/GLX.h 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/Common/GL/GLInterface/GLX.h 2023-10-27 13:46:39.913370149 +0000
|
||||
@@ -24,7 +24,7 @@ public:
|
||||
bool MakeCurrent() override;
|
||||
bool ClearCurrent() override;
|
||||
|
@ -405,7 +405,7 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/GLX.h dolphin/Source/C
|
|||
void Swap() override;
|
||||
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/WGL.cpp dolphin/Source/Core/Common/GL/GLInterface/WGL.cpp
|
||||
--- dolphin.orig/Source/Core/Common/GL/GLInterface/WGL.cpp 2023-09-26 17:58:02.805995611 +0000
|
||||
+++ dolphin/Source/Core/Common/GL/GLInterface/WGL.cpp 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/Common/GL/GLInterface/WGL.cpp 2023-10-27 13:46:39.913370149 +0000
|
||||
@@ -480,7 +480,7 @@ bool GLContextWGL::ClearCurrent()
|
||||
}
|
||||
|
||||
|
@ -417,7 +417,7 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/WGL.cpp dolphin/Source
|
|||
GetClientRect(m_window_handle, &rcWindow);
|
||||
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/WGL.h dolphin/Source/Core/Common/GL/GLInterface/WGL.h
|
||||
--- dolphin.orig/Source/Core/Common/GL/GLInterface/WGL.h 2023-09-26 17:58:02.805995611 +0000
|
||||
+++ dolphin/Source/Core/Common/GL/GLInterface/WGL.h 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/Common/GL/GLInterface/WGL.h 2023-10-27 13:46:39.913370149 +0000
|
||||
@@ -19,7 +19,7 @@ public:
|
||||
bool MakeCurrent() override;
|
||||
bool ClearCurrent() override;
|
||||
|
@ -429,7 +429,7 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/WGL.h dolphin/Source/C
|
|||
void SwapInterval(int interval) override;
|
||||
diff -rupN dolphin.orig/Source/Core/Common/WindowSystemInfo.h dolphin/Source/Core/Common/WindowSystemInfo.h
|
||||
--- dolphin.orig/Source/Core/Common/WindowSystemInfo.h 2023-09-26 17:58:02.805995611 +0000
|
||||
+++ dolphin/Source/Core/Common/WindowSystemInfo.h 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/Common/WindowSystemInfo.h 2023-10-27 13:46:39.937370706 +0000
|
||||
@@ -40,7 +40,11 @@ struct WindowSystemInfo
|
||||
// This is kept seperate as input may require a different handle to rendering, and
|
||||
// during video backend startup the surface pointer may change (MoltenVK).
|
||||
|
@ -443,9 +443,58 @@ diff -rupN dolphin.orig/Source/Core/Common/WindowSystemInfo.h dolphin/Source/Cor
|
|||
// Scale of the render surface. For hidpi systems, this will be >1.
|
||||
float render_surface_scale = 1.0f;
|
||||
};
|
||||
diff -rupN dolphin.orig/Source/Core/Core/BootManager.cpp dolphin/Source/Core/Core/BootManager.cpp
|
||||
--- dolphin.orig/Source/Core/Core/BootManager.cpp 2023-09-26 17:58:02.809995703 +0000
|
||||
+++ dolphin/Source/Core/Core/BootManager.cpp 2023-10-27 13:48:21.555727990 +0000
|
||||
@@ -64,6 +64,11 @@ bool BootCore(std::unique_ptr<BootParame
|
||||
if (!StartUp.SetPathsAndGameMetadata(*boot))
|
||||
return false;
|
||||
|
||||
+ if (std::holds_alternative<BootParameters::Disc>(boot->parameters))
|
||||
+ {
|
||||
+ StartUp.SetBaseSaveState(PathToFileName(std::get<BootParameters::Disc>(boot->parameters).path));
|
||||
+ }
|
||||
+
|
||||
// Movie settings
|
||||
if (Movie::IsPlayingInput() && Movie::IsConfigSaved())
|
||||
{
|
||||
diff -rupN dolphin.orig/Source/Core/Core/ConfigManager.cpp dolphin/Source/Core/Core/ConfigManager.cpp
|
||||
--- dolphin.orig/Source/Core/Core/ConfigManager.cpp 2023-09-26 17:58:02.809995703 +0000
|
||||
+++ dolphin/Source/Core/Core/ConfigManager.cpp 2023-10-27 13:48:21.555727990 +0000
|
||||
@@ -139,6 +139,10 @@ void SConfig::SetRunningGameMetadata(con
|
||||
SetRunningGameMetadata(game_id, "", 0, 0, DiscIO::Region::Unknown);
|
||||
}
|
||||
|
||||
+void SConfig::SetBaseSaveState(const std::string& base_save_state) {
|
||||
+ m_base_save_state = base_save_state;
|
||||
+}
|
||||
+
|
||||
void SConfig::SetRunningGameMetadata(const std::string& game_id, const std::string& gametdb_id,
|
||||
u64 title_id, u16 revision, DiscIO::Region region)
|
||||
{
|
||||
diff -rupN dolphin.orig/Source/Core/Core/ConfigManager.h dolphin/Source/Core/Core/ConfigManager.h
|
||||
--- dolphin.orig/Source/Core/Core/ConfigManager.h 2023-09-26 17:58:02.809995703 +0000
|
||||
+++ dolphin/Source/Core/Core/ConfigManager.h 2023-10-27 13:48:21.555727990 +0000
|
||||
@@ -56,6 +56,8 @@ struct SConfig
|
||||
// TODO: remove this as soon as the ticket view hack in IOS/ES/Views is dropped.
|
||||
bool m_disc_booted_from_game_list = false;
|
||||
|
||||
+ const std::string& GetBaseSaveState() const { return m_base_save_state; }
|
||||
+ void SetBaseSaveState(const std::string& base_save_state);
|
||||
const std::string& GetGameID() const { return m_game_id; }
|
||||
const std::string& GetGameTDBID() const { return m_gametdb_id; }
|
||||
const std::string& GetTitleName() const { return m_title_name; }
|
||||
@@ -109,6 +111,7 @@ private:
|
||||
|
||||
static SConfig* m_Instance;
|
||||
|
||||
+ std::string m_base_save_state;
|
||||
std::string m_game_id;
|
||||
std::string m_gametdb_id;
|
||||
std::string m_title_name;
|
||||
diff -rupN dolphin.orig/Source/Core/Core/Core.cpp dolphin/Source/Core/Core/Core.cpp
|
||||
--- dolphin.orig/Source/Core/Core/Core.cpp 2023-09-26 17:58:02.809995703 +0000
|
||||
+++ dolphin/Source/Core/Core/Core.cpp 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/Core/Core.cpp 2023-10-27 19:08:44.565345159 +0000
|
||||
@@ -474,6 +474,8 @@ static void EmuThread(std::unique_ptr<Bo
|
||||
// is relative to the render window, instead of the main window.
|
||||
ASSERT(g_controller_interface.IsInit());
|
||||
|
@ -457,7 +506,7 @@ diff -rupN dolphin.orig/Source/Core/Core/Core.cpp dolphin/Source/Core/Core/Core.
|
|||
Pad::LoadGBAConfig();
|
||||
diff -rupN dolphin.orig/Source/Core/Core/HW/GCPadEmu.cpp dolphin/Source/Core/Core/HW/GCPadEmu.cpp
|
||||
--- dolphin.orig/Source/Core/Core/HW/GCPadEmu.cpp 2023-09-26 17:58:02.817995888 +0000
|
||||
+++ dolphin/Source/Core/Core/HW/GCPadEmu.cpp 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/Core/HW/GCPadEmu.cpp 2023-10-27 13:46:40.045373218 +0000
|
||||
@@ -24,6 +24,7 @@ static const u16 button_bitmasks[] = {
|
||||
PAD_BUTTON_X,
|
||||
PAD_BUTTON_Y,
|
||||
|
@ -478,7 +527,7 @@ diff -rupN dolphin.orig/Source/Core/Core/HW/GCPadEmu.cpp dolphin/Source/Core/Cor
|
|||
MAIN_STICK_GROUP, _trans("Control Stick"), MAIN_STICK_GATE_RADIUS));
|
||||
diff -rupN dolphin.orig/Source/Core/Core/HW/GCPadEmu.h dolphin/Source/Core/Core/HW/GCPadEmu.h
|
||||
--- dolphin.orig/Source/Core/Core/HW/GCPadEmu.h 2023-09-26 17:58:02.817995888 +0000
|
||||
+++ dolphin/Source/Core/Core/HW/GCPadEmu.h 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/Core/HW/GCPadEmu.h 2023-10-27 13:46:40.045373218 +0000
|
||||
@@ -65,6 +65,7 @@ public:
|
||||
static constexpr const char* X_BUTTON = "X";
|
||||
static constexpr const char* Y_BUTTON = "Y";
|
||||
|
@ -487,9 +536,105 @@ diff -rupN dolphin.orig/Source/Core/Core/HW/GCPadEmu.h dolphin/Source/Core/Core/
|
|||
static constexpr const char* START_BUTTON = "Start";
|
||||
|
||||
// i18n: The left trigger button (labeled L on real controllers)
|
||||
diff -rupN dolphin.orig/Source/Core/Core/State.cpp dolphin/Source/Core/Core/State.cpp
|
||||
--- dolphin.orig/Source/Core/Core/State.cpp 2023-09-26 17:58:02.829996165 +0000
|
||||
+++ dolphin/Source/Core/Core/State.cpp 2023-10-27 19:10:09.907147486 +0000
|
||||
@@ -327,7 +327,10 @@ static std::string SystemTimeAsDoubleToS
|
||||
#endif
|
||||
}
|
||||
|
||||
-static std::string MakeStateFilename(int number);
|
||||
+static std::string MakeStateFilename(bool useId, int number);
|
||||
+static std::string MakeStateFilename_partdirectory(int number);
|
||||
+static std::string MakeStateFilename_partfileName(int number);
|
||||
+static std::string MakeStateFilename_partfileID(int number);
|
||||
|
||||
// read state timestamps
|
||||
static std::map<double, int> GetSavedStates()
|
||||
@@ -336,7 +339,7 @@ static std::map<double, int> GetSavedSta
|
||||
std::map<double, int> m;
|
||||
for (int i = 1; i <= (int)NUM_STATES; i++)
|
||||
{
|
||||
- std::string filename = MakeStateFilename(i);
|
||||
+ std::string filename = MakeStateFilename(true, i);
|
||||
if (File::Exists(filename))
|
||||
{
|
||||
if (ReadHeader(filename, header))
|
||||
@@ -536,7 +539,7 @@ bool ReadHeader(const std::string& filen
|
||||
|
||||
std::string GetInfoStringOfSlot(int slot, bool translate)
|
||||
{
|
||||
- std::string filename = MakeStateFilename(slot);
|
||||
+ std::string filename = MakeStateFilename(true, slot);
|
||||
if (!File::Exists(filename))
|
||||
return translate ? Common::GetStringT("Empty") : "Empty";
|
||||
|
||||
@@ -550,7 +553,7 @@ std::string GetInfoStringOfSlot(int slot
|
||||
u64 GetUnixTimeOfSlot(int slot)
|
||||
{
|
||||
State::StateHeader header;
|
||||
- if (!ReadHeader(MakeStateFilename(slot), header))
|
||||
+ if (!ReadHeader(MakeStateFilename(true, slot), header))
|
||||
return 0;
|
||||
|
||||
constexpr u64 MS_PER_SEC = 1000;
|
||||
@@ -751,20 +754,48 @@ void Shutdown()
|
||||
}
|
||||
}
|
||||
|
||||
-static std::string MakeStateFilename(int number)
|
||||
+static std::string MakeStateFilename(bool useId, int number)
|
||||
{
|
||||
- return fmt::format("{}{}.s{:02d}", File::GetUserPath(D_STATESAVES_IDX),
|
||||
- SConfig::GetInstance().GetGameID(), number);
|
||||
+ // if the useId flag is set : if the file with name exits, returns it, otherwise, if the file with id exists, returns it, otherwise, return the file with name
|
||||
+ // => priority with the file with name.
|
||||
+ // if the game is not loaded from a file (disk), use the gameId
|
||||
+ std::string filePartName = MakeStateFilename_partfileName(number);
|
||||
+ std::string fileWithName = fmt::format("{}{}", MakeStateFilename_partdirectory(number), filePartName);
|
||||
+ if (File::Exists(fileWithName) && filePartName != "")
|
||||
+ return fileWithName;
|
||||
+ std::string fileWithId = fmt::format("{}{}", MakeStateFilename_partdirectory(number), MakeStateFilename_partfileID(number));
|
||||
+ if (File::Exists(fileWithId) && useId)
|
||||
+ return fileWithId;
|
||||
+ if(filePartName == "") return fileWithId;
|
||||
+ return fileWithName;
|
||||
+}
|
||||
+
|
||||
+static std::string MakeStateFilename_partdirectory(int number)
|
||||
+{
|
||||
+ return File::GetUserPath(D_STATESAVES_IDX);
|
||||
+}
|
||||
+
|
||||
+static std::string MakeStateFilename_partfileID(int number)
|
||||
+{
|
||||
+ return fmt::format("{}.s{:02d}", SConfig::GetInstance().GetGameID(), number);
|
||||
+}
|
||||
+
|
||||
+static std::string MakeStateFilename_partfileName(int number)
|
||||
+{
|
||||
+ std::string basesavestate = SConfig::GetInstance().GetBaseSaveState();
|
||||
+ if(basesavestate == "") return "";
|
||||
+ return fmt::format("{}.s{:02d}", basesavestate, number);
|
||||
}
|
||||
|
||||
void Save(int slot, bool wait)
|
||||
{
|
||||
- SaveAs(MakeStateFilename(slot), wait);
|
||||
+ std::string savePath = MakeStateFilename(false, slot);
|
||||
+ SaveAs(savePath, wait);
|
||||
}
|
||||
|
||||
void Load(int slot)
|
||||
{
|
||||
- LoadAs(MakeStateFilename(slot));
|
||||
+ LoadAs(MakeStateFilename(true, slot));
|
||||
}
|
||||
|
||||
void LoadLastSaved(int i)
|
||||
diff -rupN dolphin.orig/Source/Core/DolphinLib.props dolphin/Source/Core/DolphinLib.props
|
||||
--- dolphin.orig/Source/Core/DolphinLib.props 2023-09-26 17:58:02.829996165 +0000
|
||||
+++ dolphin/Source/Core/DolphinLib.props 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/DolphinLib.props 2023-10-27 13:46:40.185376472 +0000
|
||||
@@ -1207,6 +1207,7 @@
|
||||
<ClCompile Include="VideoBackends\Vulkan\VKPerfQuery.cpp" />
|
||||
<ClCompile Include="VideoBackends\Vulkan\VKPipeline.cpp" />
|
||||
|
@ -500,7 +645,7 @@ diff -rupN dolphin.orig/Source/Core/DolphinLib.props dolphin/Source/Core/Dolphin
|
|||
<ClCompile Include="VideoBackends\Vulkan\VKSwapChain.cpp" />
|
||||
diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/CMakeLists.txt dolphin/Source/Core/DolphinNoGUI/CMakeLists.txt
|
||||
--- dolphin.orig/Source/Core/DolphinNoGUI/CMakeLists.txt 2023-09-26 17:58:02.833996257 +0000
|
||||
+++ dolphin/Source/Core/DolphinNoGUI/CMakeLists.txt 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/DolphinNoGUI/CMakeLists.txt 2023-10-27 13:46:40.157375820 +0000
|
||||
@@ -17,6 +17,22 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux"
|
||||
target_sources(dolphin-nogui PRIVATE PlatformFBDev.cpp)
|
||||
endif()
|
||||
|
@ -526,7 +671,7 @@ diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/CMakeLists.txt dolphin/Source/C
|
|||
target_link_libraries(dolphin-nogui
|
||||
diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/MainNoGUI.cpp dolphin/Source/Core/DolphinNoGUI/MainNoGUI.cpp
|
||||
--- dolphin.orig/Source/Core/DolphinNoGUI/MainNoGUI.cpp 2023-09-26 17:58:02.833996257 +0000
|
||||
+++ dolphin/Source/Core/DolphinNoGUI/MainNoGUI.cpp 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/DolphinNoGUI/MainNoGUI.cpp 2023-10-27 13:46:40.173376194 +0000
|
||||
@@ -155,6 +155,11 @@ static std::unique_ptr<Platform> GetPlat
|
||||
{
|
||||
std::string platform_name = static_cast<const char*>(options.get("platform"));
|
||||
|
@ -552,7 +697,7 @@ diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/MainNoGUI.cpp dolphin/Source/Co
|
|||
optparse::Values& options = CommandLineParse::ParseArguments(parser.get(), argc, argv);
|
||||
diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/Platform.h dolphin/Source/Core/DolphinNoGUI/Platform.h
|
||||
--- dolphin.orig/Source/Core/DolphinNoGUI/Platform.h 2023-09-26 17:58:02.833996257 +0000
|
||||
+++ dolphin/Source/Core/DolphinNoGUI/Platform.h 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/DolphinNoGUI/Platform.h 2023-10-27 13:46:40.185376472 +0000
|
||||
@@ -35,6 +35,10 @@ public:
|
||||
static std::unique_ptr<Platform> CreateX11Platform();
|
||||
#endif
|
||||
|
@ -566,7 +711,7 @@ diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/Platform.h dolphin/Source/Core/
|
|||
#endif
|
||||
diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/PlatformWayland.cpp dolphin/Source/Core/DolphinNoGUI/PlatformWayland.cpp
|
||||
--- dolphin.orig/Source/Core/DolphinNoGUI/PlatformWayland.cpp 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ dolphin/Source/Core/DolphinNoGUI/PlatformWayland.cpp 2023-09-26 18:27:27.334792936 +0000
|
||||
+++ dolphin/Source/Core/DolphinNoGUI/PlatformWayland.cpp 2023-10-27 13:46:40.185376472 +0000
|
||||
@@ -0,0 +1,364 @@
|
||||
+// Copyright 2018 Dolphin Emulator Project
|
||||
+// Licensed under GPLv2+
|
||||
|
@ -934,7 +1079,7 @@ diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/PlatformWayland.cpp dolphin/Sou
|
|||
+}
|
||||
diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/PlatformX11.cpp dolphin/Source/Core/DolphinNoGUI/PlatformX11.cpp
|
||||
--- dolphin.orig/Source/Core/DolphinNoGUI/PlatformX11.cpp 2023-09-26 17:58:02.833996257 +0000
|
||||
+++ dolphin/Source/Core/DolphinNoGUI/PlatformX11.cpp 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/DolphinNoGUI/PlatformX11.cpp 2023-10-27 13:46:40.185376472 +0000
|
||||
@@ -57,8 +57,8 @@ private:
|
||||
#endif
|
||||
int m_window_x = Config::Get(Config::MAIN_RENDER_WINDOW_XPOS);
|
||||
|
@ -981,7 +1126,7 @@ diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/PlatformX11.cpp dolphin/Source/
|
|||
}
|
||||
diff -rupN dolphin.orig/Source/Core/InputCommon/GCPadStatus.h dolphin/Source/Core/InputCommon/GCPadStatus.h
|
||||
--- dolphin.orig/Source/Core/InputCommon/GCPadStatus.h 2023-09-26 17:58:02.845996536 +0000
|
||||
+++ dolphin/Source/Core/InputCommon/GCPadStatus.h 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/InputCommon/GCPadStatus.h 2023-10-27 13:46:40.297379075 +0000
|
||||
@@ -26,6 +26,7 @@ enum PadButton
|
||||
PAD_BUTTON_X = 0x0400,
|
||||
PAD_BUTTON_Y = 0x0800,
|
||||
|
@ -992,7 +1137,7 @@ diff -rupN dolphin.orig/Source/Core/InputCommon/GCPadStatus.h dolphin/Source/Cor
|
|||
struct GCPadStatus
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/OGL/OGLRender.cpp dolphin/Source/Core/VideoBackends/OGL/OGLRender.cpp
|
||||
--- dolphin.orig/Source/Core/VideoBackends/OGL/OGLRender.cpp 2023-09-26 17:58:02.853996721 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/OGL/OGLRender.cpp 2023-09-26 21:41:39.568275473 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/OGL/OGLRender.cpp 2023-10-27 13:46:40.349380285 +0000
|
||||
@@ -471,11 +471,7 @@ Renderer::Renderer(std::unique_ptr<GLCon
|
||||
g_ogl_config.bSupportsDebug =
|
||||
GLExtensions::Supports("GL_KHR_debug") || GLExtensions::Supports("GL_ARB_debug_output");
|
||||
|
@ -1105,7 +1250,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/OGL/OGLRender.cpp dolphin/Sour
|
|||
m_system_framebuffer->UpdateDimensions(m_backbuffer_width, m_backbuffer_height);
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/OGL/OGLRender.h dolphin/Source/Core/VideoBackends/OGL/OGLRender.h
|
||||
--- dolphin.orig/Source/Core/VideoBackends/OGL/OGLRender.h 2023-09-26 17:58:02.853996721 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/OGL/OGLRender.h 2023-09-26 21:32:17.039048706 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/OGL/OGLRender.h 2023-10-27 13:46:40.345380190 +0000
|
||||
@@ -31,6 +31,14 @@ enum GlslVersion
|
||||
GlslEs310, // GLES 3.1
|
||||
GlslEs320, // GLES 3.2
|
||||
|
@ -1151,7 +1296,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/OGL/OGLRender.h dolphin/Source
|
|||
bool bSupportsAniso;
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/OGL/OGLTexture.cpp dolphin/Source/Core/VideoBackends/OGL/OGLTexture.cpp
|
||||
--- dolphin.orig/Source/Core/VideoBackends/OGL/OGLTexture.cpp 2023-09-26 17:58:02.853996721 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/OGL/OGLTexture.cpp 2023-09-26 21:34:37.398249032 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/OGL/OGLTexture.cpp 2023-10-27 13:46:40.345380190 +0000
|
||||
@@ -128,12 +128,18 @@ OGLTexture::OGLTexture(const TextureConf
|
||||
GLenum gl_internal_format = GetGLInternalFormatForTextureFormat(m_config.format, true);
|
||||
if (tex_config.IsMultisampled())
|
||||
|
@ -1174,7 +1319,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/OGL/OGLTexture.cpp dolphin/Sou
|
|||
{
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp dolphin/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
|
||||
--- dolphin.orig/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp 2023-09-26 17:58:02.853996721 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp 2023-09-26 21:37:11.705777665 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp 2023-10-27 13:46:40.341380098 +0000
|
||||
@@ -661,12 +661,13 @@ void ProgramShaderCache::CreateHeader()
|
||||
std::string SupportedESTextureBuffer;
|
||||
switch (g_ogl_config.SupportedESPointSize)
|
||||
|
@ -1235,7 +1380,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp dol
|
|||
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/Software/SWOGLWindow.cpp dolphin/Source/Core/VideoBackends/Software/SWOGLWindow.cpp
|
||||
--- dolphin.orig/Source/Core/VideoBackends/Software/SWOGLWindow.cpp 2023-09-26 17:58:02.853996721 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Software/SWOGLWindow.cpp 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Software/SWOGLWindow.cpp 2023-10-27 13:46:40.357380469 +0000
|
||||
@@ -32,6 +32,16 @@ bool SWOGLWindow::IsHeadless() const
|
||||
return m_gl_context->IsHeadless();
|
||||
}
|
||||
|
@ -1274,7 +1419,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Software/SWOGLWindow.cpp dolph
|
|||
GLsizei glHeight = (GLsizei)m_gl_context->GetBackBufferHeight();
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/Software/SWOGLWindow.h dolphin/Source/Core/VideoBackends/Software/SWOGLWindow.h
|
||||
--- dolphin.orig/Source/Core/VideoBackends/Software/SWOGLWindow.h 2023-09-26 17:58:02.853996721 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Software/SWOGLWindow.h 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Software/SWOGLWindow.h 2023-10-27 13:46:40.357380469 +0000
|
||||
@@ -20,6 +20,10 @@ public:
|
||||
GLContext* GetContext() const { return m_gl_context.get(); }
|
||||
bool IsHeadless() const;
|
||||
|
@ -1288,7 +1433,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Software/SWOGLWindow.h dolphin
|
|||
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/Software/SWRenderer.cpp dolphin/Source/Core/VideoBackends/Software/SWRenderer.cpp
|
||||
--- dolphin.orig/Source/Core/VideoBackends/Software/SWRenderer.cpp 2023-09-26 17:58:02.853996721 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Software/SWRenderer.cpp 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Software/SWRenderer.cpp 2023-10-27 13:46:40.357380469 +0000
|
||||
@@ -60,17 +60,17 @@ SWRenderer::CreateFramebuffer(AbstractTe
|
||||
static_cast<SWTexture*>(depth_attachment));
|
||||
}
|
||||
|
@ -1344,7 +1489,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Software/SWRenderer.cpp dolphi
|
|||
u32 value = 0;
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/Software/SWRenderer.h dolphin/Source/Core/VideoBackends/Software/SWRenderer.h
|
||||
--- dolphin.orig/Source/Core/VideoBackends/Software/SWRenderer.h 2023-09-26 17:58:02.853996721 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Software/SWRenderer.h 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Software/SWRenderer.h 2023-10-27 13:46:40.357380469 +0000
|
||||
@@ -29,7 +29,7 @@ public:
|
||||
std::unique_ptr<AbstractFramebuffer>
|
||||
CreateFramebuffer(AbstractTexture* color_attachment, AbstractTexture* depth_attachment) override;
|
||||
|
@ -1365,7 +1510,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Software/SWRenderer.h dolphin/
|
|||
} // namespace SW
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/CMakeLists.txt dolphin/Source/Core/VideoBackends/Vulkan/CMakeLists.txt
|
||||
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/CMakeLists.txt 2023-09-26 17:58:02.853996721 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/CMakeLists.txt 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/CMakeLists.txt 2023-10-27 13:46:40.357380469 +0000
|
||||
@@ -35,6 +35,8 @@ add_library(videovulkan
|
||||
VulkanContext.h
|
||||
VulkanLoader.cpp
|
||||
|
@ -1377,7 +1522,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/CMakeLists.txt dolphin/
|
|||
target_link_libraries(videovulkan
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp dolphin/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp
|
||||
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp 2023-09-26 17:58:02.853996721 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp 2023-10-27 13:46:40.357380469 +0000
|
||||
@@ -10,24 +10,24 @@
|
||||
#include "Common/MsgHandler.h"
|
||||
#include "Common/Thread.h"
|
||||
|
@ -1778,7 +1923,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cp
|
|||
} // namespace Vulkan
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/CommandBufferManager.h dolphin/Source/Core/VideoBackends/Vulkan/CommandBufferManager.h
|
||||
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/CommandBufferManager.h 2023-09-26 17:58:02.853996721 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/CommandBufferManager.h 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/CommandBufferManager.h 2023-10-27 13:46:40.357380469 +0000
|
||||
@@ -22,10 +22,12 @@
|
||||
|
||||
namespace Vulkan
|
||||
|
@ -1919,7 +2064,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/CommandBufferManager.h
|
|||
} // namespace Vulkan
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/Constants.h dolphin/Source/Core/VideoBackends/Vulkan/Constants.h
|
||||
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/Constants.h 2023-09-26 17:58:02.853996721 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/Constants.h 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/Constants.h 2023-10-27 13:46:40.357380469 +0000
|
||||
@@ -12,7 +12,7 @@
|
||||
namespace Vulkan
|
||||
{
|
||||
|
@ -1931,7 +2076,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/Constants.h dolphin/Sou
|
|||
constexpr size_t NUM_FRAMES_IN_FLIGHT = 2;
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/ObjectCache.cpp dolphin/Source/Core/VideoBackends/Vulkan/ObjectCache.cpp
|
||||
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/ObjectCache.cpp 2023-09-26 17:58:02.853996721 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/ObjectCache.cpp 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/ObjectCache.cpp 2023-10-27 13:46:40.357380469 +0000
|
||||
@@ -389,6 +389,8 @@ VkSampler ObjectCache::GetSampler(const
|
||||
VkRenderPass ObjectCache::GetRenderPass(VkFormat color_format, VkFormat depth_format,
|
||||
u32 multisamples, VkAttachmentLoadOp load_op)
|
||||
|
@ -1952,7 +2097,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/ObjectCache.cpp dolphin
|
|||
m_render_pass_cache.clear();
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/ObjectCache.h dolphin/Source/Core/VideoBackends/Vulkan/ObjectCache.h
|
||||
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/ObjectCache.h 2023-09-26 17:58:02.853996721 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/ObjectCache.h 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/ObjectCache.h 2023-10-27 13:46:40.357380469 +0000
|
||||
@@ -7,6 +7,7 @@
|
||||
#include <cstddef>
|
||||
#include <map>
|
||||
|
@ -1971,7 +2116,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/ObjectCache.h dolphin/S
|
|||
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/StagingBuffer.cpp dolphin/Source/Core/VideoBackends/Vulkan/StagingBuffer.cpp
|
||||
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/StagingBuffer.cpp 2023-09-26 17:58:02.853996721 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/StagingBuffer.cpp 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/StagingBuffer.cpp 2023-10-27 13:46:40.357380469 +0000
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
#include "Common/Assert.h"
|
||||
|
@ -1994,7 +2139,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/StagingBuffer.cpp dolph
|
|||
void StagingBuffer::BufferMemoryBarrier(VkCommandBuffer command_buffer, VkBuffer buffer,
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/StateTracker.cpp dolphin/Source/Core/VideoBackends/Vulkan/StateTracker.cpp
|
||||
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/StateTracker.cpp 2023-09-26 17:58:02.853996721 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/StateTracker.cpp 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/StateTracker.cpp 2023-10-27 13:46:40.369380750 +0000
|
||||
@@ -16,59 +16,93 @@
|
||||
|
||||
namespace Vulkan
|
||||
|
@ -2395,7 +2540,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/StateTracker.cpp dolphi
|
|||
&m_compute_descriptor_set, 1, &m_bindings.utility_ubo_offset);
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/StateTracker.h dolphin/Source/Core/VideoBackends/Vulkan/StateTracker.h
|
||||
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/StateTracker.h 2023-09-26 17:58:02.853996721 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/StateTracker.h 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/StateTracker.h 2023-10-27 13:46:40.369380750 +0000
|
||||
@@ -13,28 +13,24 @@
|
||||
|
||||
namespace Vulkan
|
||||
|
@ -2472,7 +2617,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/StateTracker.h dolphin/
|
|||
} // namespace Vulkan
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKBoundingBox.cpp dolphin/Source/Core/VideoBackends/Vulkan/VKBoundingBox.cpp
|
||||
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKBoundingBox.cpp 2023-09-26 17:58:02.853996721 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKBoundingBox.cpp 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKBoundingBox.cpp 2023-10-27 13:46:40.369380750 +0000
|
||||
@@ -12,6 +12,7 @@
|
||||
#include "VideoBackends/Vulkan/StagingBuffer.h"
|
||||
#include "VideoBackends/Vulkan/StateTracker.h"
|
||||
|
@ -2611,7 +2756,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKBoundingBox.cpp dolph
|
|||
bool VKBoundingBox::CreateGPUBuffer()
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKMain.cpp dolphin/Source/Core/VideoBackends/Vulkan/VKMain.cpp
|
||||
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKMain.cpp 2023-09-26 17:58:02.853996721 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKMain.cpp 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKMain.cpp 2023-10-27 13:46:40.369380750 +0000
|
||||
@@ -18,6 +18,7 @@
|
||||
#include "VideoBackends/Vulkan/VKVertexManager.h"
|
||||
#include "VideoBackends/Vulkan/VulkanContext.h"
|
||||
|
@ -2697,7 +2842,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKMain.cpp dolphin/Sour
|
|||
UnloadVulkanLibrary();
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKPerfQuery.cpp dolphin/Source/Core/VideoBackends/Vulkan/VKPerfQuery.cpp
|
||||
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKPerfQuery.cpp 2023-09-26 17:58:02.853996721 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKPerfQuery.cpp 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKPerfQuery.cpp 2023-10-27 13:46:40.369380750 +0000
|
||||
@@ -11,6 +11,7 @@
|
||||
#include "Common/Logging/Log.h"
|
||||
#include "Common/MsgHandler.h"
|
||||
|
@ -2818,7 +2963,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKPerfQuery.cpp dolphin
|
|||
}
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKRenderer.cpp dolphin/Source/Core/VideoBackends/Vulkan/VKRenderer.cpp
|
||||
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKRenderer.cpp 2023-09-26 17:58:02.853996721 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKRenderer.cpp 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKRenderer.cpp 2023-10-27 13:46:40.369380750 +0000
|
||||
@@ -31,6 +31,7 @@
|
||||
#include "VideoBackends/Vulkan/VKVertexFormat.h"
|
||||
#include "VideoBackends/Vulkan/VulkanContext.h"
|
||||
|
@ -3540,7 +3685,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKRenderer.cpp dolphin/
|
|||
} // namespace Vulkan
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKScheduler.cpp dolphin/Source/Core/VideoBackends/Vulkan/VKScheduler.cpp
|
||||
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKScheduler.cpp 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKScheduler.cpp 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKScheduler.cpp 2023-10-27 13:46:40.377380934 +0000
|
||||
@@ -0,0 +1,155 @@
|
||||
+// Copyright 2022 Dolphin Emulator Project
|
||||
+// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
@ -3699,7 +3844,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKScheduler.cpp dolphin
|
|||
+} // namespace Vulkan
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKScheduler.h dolphin/Source/Core/VideoBackends/Vulkan/VKScheduler.h
|
||||
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKScheduler.h 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKScheduler.h 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKScheduler.h 2023-10-27 13:46:40.377380934 +0000
|
||||
@@ -0,0 +1,160 @@
|
||||
+// Copyright 2022 Dolphin Emulator Project
|
||||
+// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
@ -3863,7 +4008,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKScheduler.h dolphin/S
|
|||
+} // namespace Vulkan
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKStreamBuffer.cpp dolphin/Source/Core/VideoBackends/Vulkan/VKStreamBuffer.cpp
|
||||
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKStreamBuffer.cpp 2023-09-26 17:58:02.853996721 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKStreamBuffer.cpp 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKStreamBuffer.cpp 2023-10-27 13:46:40.377380934 +0000
|
||||
@@ -12,6 +12,7 @@
|
||||
#include "Common/MsgHandler.h"
|
||||
|
||||
|
@ -3938,7 +4083,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKStreamBuffer.cpp dolp
|
|||
m_current_offset = new_offset;
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKSwapChain.cpp dolphin/Source/Core/VideoBackends/Vulkan/VKSwapChain.cpp
|
||||
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKSwapChain.cpp 2023-09-26 17:58:02.853996721 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKSwapChain.cpp 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKSwapChain.cpp 2023-10-27 13:46:40.377380934 +0000
|
||||
@@ -13,9 +13,9 @@
|
||||
|
||||
#include "VideoBackends/Vulkan/CommandBufferManager.h"
|
||||
|
@ -4104,7 +4249,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKSwapChain.cpp dolphin
|
|||
return false;
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKSwapChain.h dolphin/Source/Core/VideoBackends/Vulkan/VKSwapChain.h
|
||||
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKSwapChain.h 2023-09-26 17:58:02.853996721 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKSwapChain.h 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKSwapChain.h 2023-10-27 13:46:40.377380934 +0000
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#pragma once
|
||||
|
@ -4159,7 +4304,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKSwapChain.h dolphin/S
|
|||
u32 m_layers = 0;
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKTexture.cpp dolphin/Source/Core/VideoBackends/Vulkan/VKTexture.cpp
|
||||
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKTexture.cpp 2023-09-26 17:58:02.853996721 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKTexture.cpp 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKTexture.cpp 2023-10-27 13:46:40.377380934 +0000
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "VideoBackends/Vulkan/VKStreamBuffer.h"
|
||||
#include "VideoBackends/Vulkan/VulkanContext.h"
|
||||
|
@ -4668,7 +4813,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKTexture.cpp dolphin/S
|
|||
} // namespace Vulkan
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKTexture.h dolphin/Source/Core/VideoBackends/Vulkan/VKTexture.h
|
||||
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKTexture.h 2023-09-26 17:58:02.853996721 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKTexture.h 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKTexture.h 2023-10-27 13:46:40.377380934 +0000
|
||||
@@ -67,8 +67,8 @@ public:
|
||||
// irrelevant and will not be loaded.
|
||||
void OverrideImageLayout(VkImageLayout new_layout);
|
||||
|
@ -4682,7 +4827,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKTexture.h dolphin/Sou
|
|||
bool CreateView(VkImageViewType type);
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp dolphin/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp
|
||||
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp 2023-09-26 17:58:02.853996721 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp 2023-10-27 13:46:40.377380934 +0000
|
||||
@@ -15,6 +15,7 @@
|
||||
#include "VideoBackends/Vulkan/CommandBufferManager.h"
|
||||
#include "VideoBackends/Vulkan/StateTracker.h"
|
||||
|
@ -4878,7 +5023,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp dol
|
|||
} // namespace Vulkan
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp dolphin/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp
|
||||
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp 2023-09-26 17:58:02.853996721 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp 2023-10-27 13:46:40.377380934 +0000
|
||||
@@ -274,6 +274,13 @@ bool VulkanContext::SelectInstanceExtens
|
||||
return false;
|
||||
}
|
||||
|
@ -4895,7 +5040,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp dolph
|
|||
!AddExtension(VK_KHR_ANDROID_SURFACE_EXTENSION_NAME, true))
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VulkanEntryPoints.inl dolphin/Source/Core/VideoBackends/Vulkan/VulkanEntryPoints.inl
|
||||
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VulkanEntryPoints.inl 2023-09-26 17:58:02.853996721 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/VulkanEntryPoints.inl 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/VulkanEntryPoints.inl 2023-10-27 13:46:40.377380934 +0000
|
||||
@@ -49,6 +49,11 @@ VULKAN_INSTANCE_ENTRY_POINT(vkCreateXlib
|
||||
VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceXlibPresentationSupportKHR, false)
|
||||
#endif
|
||||
|
@ -4910,7 +5055,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VulkanEntryPoints.inl d
|
|||
#endif
|
||||
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VulkanLoader.h dolphin/Source/Core/VideoBackends/Vulkan/VulkanLoader.h
|
||||
--- dolphin.orig/Source/Core/VideoBackends/Vulkan/VulkanLoader.h 2023-09-26 17:58:02.853996721 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/VulkanLoader.h 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoBackends/Vulkan/VulkanLoader.h 2023-10-27 13:46:40.377380934 +0000
|
||||
@@ -13,6 +13,10 @@
|
||||
#define VK_USE_PLATFORM_XLIB_KHR
|
||||
#endif
|
||||
|
@ -4924,7 +5069,7 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/VulkanLoader.h dolphin/
|
|||
#endif
|
||||
diff -rupN dolphin.orig/Source/Core/VideoCommon/FramebufferManager.cpp dolphin/Source/Core/VideoCommon/FramebufferManager.cpp
|
||||
--- dolphin.orig/Source/Core/VideoCommon/FramebufferManager.cpp 2023-09-26 17:58:02.857996813 +0000
|
||||
+++ dolphin/Source/Core/VideoCommon/FramebufferManager.cpp 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoCommon/FramebufferManager.cpp 2023-10-27 13:46:40.429382144 +0000
|
||||
@@ -630,7 +630,7 @@ void FramebufferManager::DestroyReadback
|
||||
|
||||
bool FramebufferManager::CreateReadbackFramebuffer()
|
||||
|
@ -4963,7 +5108,7 @@ diff -rupN dolphin.orig/Source/Core/VideoCommon/FramebufferManager.cpp dolphin/S
|
|||
}
|
||||
diff -rupN dolphin.orig/Source/Core/VideoCommon/RenderBase.cpp dolphin/Source/Core/VideoCommon/RenderBase.cpp
|
||||
--- dolphin.orig/Source/Core/VideoCommon/RenderBase.cpp 2023-09-26 17:58:02.857996813 +0000
|
||||
+++ dolphin/Source/Core/VideoCommon/RenderBase.cpp 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoCommon/RenderBase.cpp 2023-10-27 13:46:40.429382144 +0000
|
||||
@@ -364,19 +364,24 @@ void Renderer::RenderToXFB(u32 xfbAddr,
|
||||
return;
|
||||
}
|
||||
|
@ -5027,7 +5172,7 @@ diff -rupN dolphin.orig/Source/Core/VideoCommon/RenderBase.cpp dolphin/Source/Co
|
|||
|
||||
diff -rupN dolphin.orig/Source/Core/VideoCommon/RenderBase.h dolphin/Source/Core/VideoCommon/RenderBase.h
|
||||
--- dolphin.orig/Source/Core/VideoCommon/RenderBase.h 2023-09-26 17:58:02.857996813 +0000
|
||||
+++ dolphin/Source/Core/VideoCommon/RenderBase.h 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoCommon/RenderBase.h 2023-10-27 13:46:40.429382144 +0000
|
||||
@@ -193,7 +193,8 @@ public:
|
||||
std::tuple<MathUtil::Rectangle<int>, MathUtil::Rectangle<int>>
|
||||
ConvertStereoRectangle(const MathUtil::Rectangle<int>& rc) const;
|
||||
|
@ -5070,7 +5215,7 @@ diff -rupN dolphin.orig/Source/Core/VideoCommon/RenderBase.h dolphin/Source/Core
|
|||
int m_last_window_request_width = 0;
|
||||
diff -rupN dolphin.orig/Source/Core/VideoCommon/TextureCacheBase.cpp dolphin/Source/Core/VideoCommon/TextureCacheBase.cpp
|
||||
--- dolphin.orig/Source/Core/VideoCommon/TextureCacheBase.cpp 2023-09-26 17:58:02.857996813 +0000
|
||||
+++ dolphin/Source/Core/VideoCommon/TextureCacheBase.cpp 2023-09-26 18:02:22.836042087 +0000
|
||||
+++ dolphin/Source/Core/VideoCommon/TextureCacheBase.cpp 2023-10-27 13:46:40.429382144 +0000
|
||||
@@ -1046,7 +1046,7 @@ static void SetSamplerState(u32 index, f
|
||||
// that have arbitrary contents, eg. are used for fog effects where the
|
||||
// distance they kick in at is important to preserve at any resolution.
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# Copyright (C) 2022-present - The JELOS Project (https://github.com/JustEnoughLinuxOS)
|
||||
|
||||
PKG_NAME="flycast-sa"
|
||||
PKG_VERSION="35b7be39053a7564026417c33a4b956fe23e2608"
|
||||
PKG_VERSION="8fb3def2d5cdd6adea00171ed720afb390cafd78"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_SITE="https://github.com/flyinghead/flycast"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
|
@ -30,8 +30,9 @@ else
|
|||
fi
|
||||
|
||||
pre_configure_target() {
|
||||
export CXXFLAGS="${CXXFLAGS} -Wno-error=array-bounds"
|
||||
PKG_CMAKE_OPTS_TARGET+=" -DUSE_OPENMP=ON"
|
||||
export CXXFLAGS="${CXXFLAGS} -Wno-error=array-bounds"
|
||||
PKG_CMAKE_OPTS_TARGET+=" -DUSE_OPENMP=ON"
|
||||
sed -i 's/\-O[23]/-Ofast/' ${PKG_BUILD}/CMakeLists.txt
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# Copyright (C) 2018-present 5schatten (https://github.com/5schatten)
|
||||
|
||||
PKG_NAME="hatarisa"
|
||||
PKG_VERSION="e8317e263b3d6e221210fa4c843a0a13195c6e32"
|
||||
PKG_VERSION="5cf9518e7a07a3b35f8fc953725930810f035c4e"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/hatari/hatari"
|
||||
PKG_URL="https://github.com/hatari/hatari/archive/${PKG_VERSION}.tar.gz"
|
||||
|
|
145
packages/emulators/standalone/kronos-sa/config/kronos.ini
Normal file
145
packages/emulators/standalone/kronos-sa/config/kronos.ini
Normal file
|
@ -0,0 +1,145 @@
|
|||
[1.0]
|
||||
Advanced\68kCore=3
|
||||
Advanced\SH2Interpreter=0
|
||||
Cartridge\ModemIP=127.0.0.1
|
||||
Cartridge\ModemPort=1337
|
||||
Cartridge\Path\32MbitDram=
|
||||
Cartridge\STVGame=0
|
||||
Cartridge\Type=7
|
||||
Debug\Addr2Line=
|
||||
General\Bios=
|
||||
General\BiosSettings=
|
||||
General\CdRom=2
|
||||
General\CdRomISO=
|
||||
General\ClockSync=true
|
||||
General\EnableEmulatedBios=false
|
||||
General\EnableMultiThreading=true
|
||||
General\EnableVSync=true
|
||||
General\FixedBaseTime=1998-01-01T12:00:00
|
||||
General\Geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\x14\0\0\a\x7f\0\0\x4K\0\0\0\0\0\0\0\x14\0\0\a\x7f\0\0\x4K\0\0\0\0\0\0\0\0\a\x80\0\0\0\0\0\0\0\x14\0\0\a\x7f\0\0\x4K)
|
||||
General\NumThreads=4
|
||||
General\SH2Cache=false
|
||||
General\SaveStates=/storage/.config/kronos/
|
||||
General\ScreenshotsDirectory=/storage/screenshots
|
||||
General\ScreenshotsFormat=bmp
|
||||
General\ShowFPS=false
|
||||
General\SystemLanguageID=0
|
||||
General\Translation=
|
||||
General\Version=2.5.0
|
||||
Input\GunMouseSensitivity=100
|
||||
Input\PerCore=3
|
||||
Input\Port\1\Id\1\Controller\2\Key\0=2097168
|
||||
Input\Port\1\Id\1\Controller\2\Key\1=2097184
|
||||
Input\Port\1\Id\1\Controller\2\Key\10=3
|
||||
Input\Port\1\Id\1\Controller\2\Key\11=4
|
||||
Input\Port\1\Id\1\Controller\2\Key\12=1114114
|
||||
Input\Port\1\Id\1\Controller\2\Key\2=2097216
|
||||
Input\Port\1\Id\1\Controller\2\Key\3=2097280
|
||||
Input\Port\1\Id\1\Controller\2\Key\4=6
|
||||
Input\Port\1\Id\1\Controller\2\Key\5=5
|
||||
Input\Port\1\Id\1\Controller\2\Key\6=8
|
||||
Input\Port\1\Id\1\Controller\2\Key\7=1
|
||||
Input\Port\1\Id\1\Controller\2\Key\8=2
|
||||
Input\Port\1\Id\1\Controller\2\Key\9=1114117
|
||||
Input\Port\1\Id\1\Type=2
|
||||
Memory\ExtendMemory=true
|
||||
Memory\Path=/storage/.config/kronos/bkram.bin
|
||||
MpegROM\Path=
|
||||
Recents\ISOs=
|
||||
STV\Region=E
|
||||
Shortcuts\%26Backup%20Manager...=Alt+B
|
||||
Shortcuts\%26Cheats%20List...=Alt+L
|
||||
Shortcuts\%26Debug=
|
||||
Shortcuts\%26Emulation=
|
||||
Shortcuts\%26File=
|
||||
Shortcuts\%26Fullscreen=Alt+Return
|
||||
Shortcuts\%26Help=
|
||||
Shortcuts\%26Layer=
|
||||
Shortcuts\%26Log=Ctrl+L
|
||||
Shortcuts\%26Master%20SH2=
|
||||
Shortcuts\%26Pause=F2
|
||||
Shortcuts\%26Quit=Ctrl+Q
|
||||
Shortcuts\%26Reset=F3
|
||||
Shortcuts\%26Settings...=Ctrl+S
|
||||
Shortcuts\%26Slave%20SH2=
|
||||
Shortcuts\%26Tools=
|
||||
Shortcuts\%26Transfer=Ctrl+T
|
||||
Shortcuts\%26Vertical%20synchronization=F4
|
||||
Shortcuts\%26View=
|
||||
Shortcuts\0%20...%20=Alt+0
|
||||
Shortcuts\1%20...%20=Alt+1
|
||||
Shortcuts\2%20...%20=Alt+2
|
||||
Shortcuts\3%20...%20=Alt+3
|
||||
Shortcuts\4%20...%20=Alt+4
|
||||
Shortcuts\5%20...%20=Alt+5
|
||||
Shortcuts\6%20...%20=Alt+6
|
||||
Shortcuts\7%20...%20=Alt+7
|
||||
Shortcuts\8%20...%20=Alt+8
|
||||
Shortcuts\9%20...%20=Alt+9
|
||||
Shortcuts\Cheat%20%26Search...=Alt+S
|
||||
Shortcuts\Eject\Load%20ISO...=Ctrl+I
|
||||
Shortcuts\F%26PS=F12
|
||||
Shortcuts\From%20File...=F5
|
||||
Shortcuts\L%26oad%20State=
|
||||
Shortcuts\Load0=Alt+0
|
||||
Shortcuts\Load1=Alt+1
|
||||
Shortcuts\Load2=Alt+2
|
||||
Shortcuts\Load3=Alt+3
|
||||
Shortcuts\Load4=Alt+4
|
||||
Shortcuts\Load5=Alt+5
|
||||
Shortcuts\Load6=Alt+6
|
||||
Shortcuts\Load7=Alt+7
|
||||
Shortcuts\Load8=Alt+8
|
||||
Shortcuts\Load9=Alt+9
|
||||
Shortcuts\Log=
|
||||
Shortcuts\M%2668K=
|
||||
Shortcuts\Memory%20%26Editor=
|
||||
Shortcuts\Memory%20Transfer=
|
||||
Shortcuts\NBG0=2
|
||||
Shortcuts\NBG1=3
|
||||
Shortcuts\NBG2=4
|
||||
Shortcuts\NBG3=5
|
||||
Shortcuts\Open%20%26CD%20Rom...=Ctrl+C
|
||||
Shortcuts\R%26un=F1
|
||||
Shortcuts\RBG0=6
|
||||
Shortcuts\RBG1=7
|
||||
Shortcuts\S%26CSP=
|
||||
Shortcuts\S%26ave%20State=
|
||||
Shortcuts\SCU-%26DSP=
|
||||
Shortcuts\Save0=Ctrl+0
|
||||
Shortcuts\Save1=Ctrl+1
|
||||
Shortcuts\Save2=Ctrl+2
|
||||
Shortcuts\Save3=Ctrl+3
|
||||
Shortcuts\Save4=Ctrl+4
|
||||
Shortcuts\Save5=Ctrl+5
|
||||
Shortcuts\Save6=Ctrl+6
|
||||
Shortcuts\Save7=Ctrl+7
|
||||
Shortcuts\Save8=Ctrl+8
|
||||
Shortcuts\Save9=Ctrl+9
|
||||
Shortcuts\Sc%26reenshot=Ctrl+P
|
||||
Shortcuts\Sound...=
|
||||
Shortcuts\Start=
|
||||
Shortcuts\Stop=
|
||||
Shortcuts\To%20File...=F9
|
||||
Shortcuts\VDP%261=
|
||||
Shortcuts\VDP%262=
|
||||
Shortcuts\Vdp1=1
|
||||
Shortcuts\Video%20Driver=
|
||||
Shortcuts\toolBar=
|
||||
Sound\SoundCore=4
|
||||
Sound\Volume=100
|
||||
Video\AspectRatio=0
|
||||
Video\BandingMode=0
|
||||
Video\Fullscreen=true
|
||||
Video\MeshMode=0
|
||||
Video\OSDCore=3
|
||||
Video\VideoCore=1
|
||||
Video\Wireframe=0
|
||||
Video\compute_shader_mode=1
|
||||
Video\filter_type=0
|
||||
Video\polygon_generation_mode=2
|
||||
Video\resolution_mode=1
|
||||
Video\upscale_type=0
|
||||
View\Menubar=2
|
||||
View\Toolbar=2
|
||||
autostart=true
|
44
packages/emulators/standalone/kronos-sa/package.mk
Normal file
44
packages/emulators/standalone/kronos-sa/package.mk
Normal file
|
@ -0,0 +1,44 @@
|
|||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
|
||||
|
||||
PKG_NAME="kronos-sa"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_SITE="https://github.com/FCare/Kronos"
|
||||
PKG_ARCH="x86_64"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
PKG_VERSION="8e0eade"
|
||||
PKG_GIT_CLONE_BRANCH="extui-align"
|
||||
PKG_DEPENDS_TARGET="toolchain SDL2 boost openal-soft zlib qt5 egl-wayland"
|
||||
PKG_LONGDESC="Kronos is a Sega Saturn emulator forked from yabause."
|
||||
PKG_TOOLCHAIN="cmake-make"
|
||||
GET_HANDLER_SUPPORT="git"
|
||||
PKG_PATCH_DIRS+="${DEVICE}"
|
||||
|
||||
PKG_CMAKE_OPTS_TARGET="${PKG_BUILD}/yabause "
|
||||
|
||||
if [ "${OPENGL_SUPPORT}" = yes ]; then
|
||||
PKG_DEPENDS_TARGET+=" ${OPENGL} libglvnd glfw"
|
||||
fi
|
||||
|
||||
pre_configure_target() {
|
||||
|
||||
sed -i 's/\-O[23]/-Ofast/' ${PKG_BUILD}/yabause/src/CMakeLists.txt
|
||||
|
||||
PKG_CMAKE_OPTS_TARGET="${PKG_BUILD}/yabause "
|
||||
|
||||
if [ "${OPENGL_SUPPORT}" = yes ]; then
|
||||
PKG_CMAKE_OPTS_TARGET+=" -DYAB_WANT_OPENGL=ON"
|
||||
fi
|
||||
|
||||
PKG_CMAKE_OPTS_TARGET+=" -DCMAKE_BUILD_TYPE=Release \
|
||||
-DYAB_USE_QT5=ON"
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p ${INSTALL}/usr/bin
|
||||
cp -a ${PKG_BUILD}/src/port/qt/kronos ${INSTALL}/usr/bin/kronos
|
||||
cp -a ${PKG_DIR}/scripts/start_kronos.sh ${INSTALL}/usr/bin
|
||||
chmod 0755 ${INSTALL}/usr/bin/start_kronos.sh
|
||||
mkdir -p ${INSTALL}/usr/config/kronos/qt
|
||||
cp ${PKG_DIR}/config/kronos.ini ${INSTALL}/usr/config/kronos/qt
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/yabause/src/CMakeLists.txt b/yabause/src/CMakeLists.txt
|
||||
index 6a088226..efa2d8de 100755
|
||||
--- a/yabause/src/CMakeLists.txt
|
||||
+++ b/yabause/src/CMakeLists.txt
|
||||
@@ -388,7 +388,7 @@ if (YAB_WANT_OPENGL AND (YAB_RGB STREQUAL ""))
|
||||
|
||||
if (OPENGL_SUPPORTED)
|
||||
add_definitions(-DHAVE_LIBGL=1)
|
||||
- set(KRONOS_LIBRARIES ${KRONOS_LIBRARIES} ${OPENGL_CURRENT_LIBRARIES})
|
||||
+ set(KRONOS_LIBRARIES ${KRONOS_LIBRARIES} ${OPENGL_CURRENT_LIBRARIES} -lglfw -lGLU -lGL -lGLEW)
|
||||
|
||||
include_directories(./ ./tools/nanovg)
|
||||
set(kronos_SOURCES ${kronos_SOURCES}
|
119
packages/emulators/standalone/kronos-sa/scripts/start_kronos.sh
Normal file
119
packages/emulators/standalone/kronos-sa/scripts/start_kronos.sh
Normal file
|
@ -0,0 +1,119 @@
|
|||
#!/bin/bash
|
||||
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
|
||||
|
||||
# Source predefined functions and variables
|
||||
. /etc/profile
|
||||
jslisten set "-9 kronos"
|
||||
|
||||
ROM_DIR="/storage/roms/saturn/kronos"
|
||||
CONFIG_DIR="/storage/.config/kronos/qt"
|
||||
SOURCE_DIR="/usr/config/kronos/qt"
|
||||
BIOS_BACKUP="/storage/roms/bios/kronos"
|
||||
|
||||
if [ ! -d "${ROM_DIR}" ]
|
||||
then
|
||||
mkdir -p "${ROM_DIR}"
|
||||
fi
|
||||
|
||||
if [ ! -d "${BIOS_BACKUP}" ]
|
||||
then
|
||||
mkdir -p "${BIOS_BACKUP}"
|
||||
fi
|
||||
|
||||
if [ ! -d "${CONFIG_DIR}" ]
|
||||
then
|
||||
mkdir -p "${CONFIG_DIR}"
|
||||
fi
|
||||
|
||||
if [ ! -e "${CONFIG_DIR}/kronos.ini" ]
|
||||
then
|
||||
cp -f ${SOURCE_DIR}/kronos.ini ${CONFIG_DIR}
|
||||
fi
|
||||
|
||||
BIOS=""
|
||||
GAME=$(echo "${1}"| sed "s#^/.*/##")
|
||||
USE_BIOS=$(get_setting use_hlebios saturn "${GAME}")
|
||||
if [ ! "${USE_BIOS}" = 1 ]
|
||||
then
|
||||
USE_BIOS=$(get_setting use_hlebios saturn)
|
||||
fi
|
||||
|
||||
USE_SKIP=$(get_setting use_autoskip saturn "${GAME}")
|
||||
if [ "$USE_SKIP" = 1 ]
|
||||
then
|
||||
AUTOSKIP="-autoframeskip 1"
|
||||
fi
|
||||
|
||||
VIDEO_DRIVER=$(get_setting video_driver saturn "${GAME}")
|
||||
case ${VIDEO_DRIVER} in
|
||||
opengl)
|
||||
sed -i 's~Video\\VideoCore=.*$~Video\\VideoCore=1~g' ${CONFIG_DIR}/kronos.ini
|
||||
;;
|
||||
*)
|
||||
#Software
|
||||
sed -i 's~Video\\VideoCore=.*$~Video\\VideoCore=2~g' ${CONFIG_DIR}/kronos.ini
|
||||
;;
|
||||
esac
|
||||
|
||||
AUDIO_DRIVER=$(get_setting audio_driver saturn "${GAME}")
|
||||
case ${AUDIO_DRIVER} in
|
||||
openal)
|
||||
sed -i 's~Sound\\SoundCore=.*$~Sound\\SoundCore=4~g' ${CONFIG_DIR}/kronos.ini
|
||||
;;
|
||||
*)
|
||||
#SDL
|
||||
sed -i 's~Sound\\SoundCore=.*$~Sound\\SoundCore=1~g' ${CONFIG_DIR}/kronos.ini
|
||||
;;
|
||||
esac
|
||||
|
||||
SHOW_FPS=$(get_setting show_fps saturn "${GAME}")
|
||||
case ${SHOW_FPS} in
|
||||
1)
|
||||
sed -i 's~General\\ShowFPS=.*$~General\\ShowFPS=true~g' ${CONFIG_DIR}/kronos.ini
|
||||
;;
|
||||
*)
|
||||
sed -i 's~General\\ShowFPS=.*$~General\\ShowFPS=false~g' ${CONFIG_DIR}/kronos.ini
|
||||
;;
|
||||
esac
|
||||
|
||||
USE_VSYNC=$(get_setting use_vsync saturn "${GAME}")
|
||||
case ${USE_VSYNC} in
|
||||
1)
|
||||
sed -i 's~General\\EnableVSync=.*$~General\\EnableVSync=true~g' ${CONFIG_DIR}/kronos.ini
|
||||
;;
|
||||
*)
|
||||
sed -i 's~General\\EnableVSync=.*$~General\\EnableVSync=false~g' ${CONFIG_DIR}/kronos.ini
|
||||
;;
|
||||
esac
|
||||
|
||||
COMPUTE_SHADER=$(get_setting gpu_rgb saturn "${GAME}")
|
||||
Video\compute_shader_mode
|
||||
case ${COMPUTE_SHADER} in
|
||||
1)
|
||||
#gpu
|
||||
sed -i 's~Video\\compute_shader_mode=.*$~Video\\compute_shader_mode=1~g' ${CONFIG_DIR}/kronos.ini
|
||||
;;
|
||||
*)
|
||||
#cpu
|
||||
sed -i 's~Video\\compute_shader_mode=.*$~Video\\compute_shader_mode=1~g' ${CONFIG_DIR}/kronos.ini
|
||||
;;
|
||||
esac
|
||||
|
||||
TESSELLATION=$(get_setting tessellation saturn "${GAME}")
|
||||
case ${TESSELLATION} in
|
||||
gpu)
|
||||
sed -i 's~Video\\polygon_generation_mode=.*$~Video\\polygon_generation_mode=2~g' ${CONFIG_DIR}/kronos.ini
|
||||
;;
|
||||
*)
|
||||
#cpu
|
||||
sed -i 's~Video\\polygon_generation_mode=.*$~Video\\polygon_generation_mode=1~g' ${CONFIG_DIR}/kronos.ini
|
||||
;;
|
||||
esac
|
||||
|
||||
#Get the number of active threads
|
||||
ACTIVE_THREADS=$(grep processor /proc/cpuinfo | wc -l)
|
||||
sed -i 's~General\\NumThreads=.*$~General\\NumThreads='${ACTIVE_THREADS}'~g' ${CONFIG_DIR}/kronos.ini
|
||||
|
||||
kronos -a -f -i "${1}" ${BIOS} ${AUTOSKIP} >>/var/log/exec.log 2>&1 ||:
|
22387
packages/emulators/standalone/mednafen/config/AMD64/mednafen.cfg
Normal file
22387
packages/emulators/standalone/mednafen/config/AMD64/mednafen.cfg
Normal file
File diff suppressed because it is too large
Load diff
17652
packages/emulators/standalone/mednafen/config/common/mednafen.cfg
Normal file
17652
packages/emulators/standalone/mednafen/config/common/mednafen.cfg
Normal file
File diff suppressed because it is too large
Load diff
60
packages/emulators/standalone/mednafen/package.mk
Normal file
60
packages/emulators/standalone/mednafen/package.mk
Normal file
|
@ -0,0 +1,60 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2023-present asoderq/sydarn2 (https://github.com/asoderq)
|
||||
|
||||
PKG_NAME="mednafen"
|
||||
PKG_VERSION="1.31.0-UNSTABLE"
|
||||
PKG_LICENSE="mixed"
|
||||
PKG_SITE="https://mednafen.github.io/"
|
||||
PKG_URL="${PKG_SITE}/releases/files/${PKG_NAME}-${PKG_VERSION}.tar.xz"
|
||||
PKG_DEPENDS_TARGET="toolchain SDL2 libegl"
|
||||
PKG_TOOLCHAIN="configure"
|
||||
|
||||
pre_configure_target() {
|
||||
|
||||
# unsupported modules
|
||||
DISABLED_MODULES+=" --disable-apple2 \
|
||||
--disable-sasplay \
|
||||
--disable-ssfplay"
|
||||
|
||||
case ${DEVICE} in
|
||||
RK3326)
|
||||
DISABLED_MODULES+=" --disable-snes \
|
||||
--disable-ss \
|
||||
--disable-psx"
|
||||
;;
|
||||
RK356*)
|
||||
DISABLED_MODULES+=" --disable-ss \
|
||||
--disable-psx"
|
||||
;;
|
||||
esac
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="${DISABLED_MODULES}"
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p ${INSTALL}/usr/bin
|
||||
cp -rf ${PKG_BUILD}/.${TARGET_NAME}/src/mednafen ${INSTALL}/usr/bin
|
||||
cp -rf ${PKG_DIR}/scripts/* ${INSTALL}/usr/bin
|
||||
|
||||
chmod +x ${INSTALL}/usr/bin/start_mednafen.sh
|
||||
|
||||
mkdir -p ${INSTALL}/usr/config/${PKG_NAME}
|
||||
if [ -d ${PKG_DIR}/config/${DEVICE} ]; then
|
||||
cp ${PKG_DIR}/config/${DEVICE}/* ${INSTALL}/usr/config/${PKG_NAME}
|
||||
else
|
||||
cp ${PKG_DIR}/config/common/* ${INSTALL}/usr/config/${PKG_NAME}
|
||||
fi
|
||||
}
|
||||
|
||||
post_install() {
|
||||
case ${DEVICE} in
|
||||
S922X)
|
||||
LIBEGL="export SDL_VIDEO_GL_DRIVER=\/usr\/lib\/egl\/libGL.so.1 SDL_VIDEO_EGL_DRIVER=\/usr\/lib\/egl\/libEGL.so.1"
|
||||
;;
|
||||
*)
|
||||
LIBEGL=""
|
||||
;;
|
||||
esac
|
||||
sed -e "s/@LIBEGL@/${LIBEGL}/g" \
|
||||
-i ${INSTALL}/usr/bin/start_mednafen.sh
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
From 92b2e4a6ff5569dbb21b3791434413154acc3284 Mon Sep 17 00:00:00 2001
|
||||
From: "asoderq/sydarn(2)" <soder.alexander@gmail.com>
|
||||
Date: Tue, 19 Sep 2023 20:48:38 +0200
|
||||
Subject: [PATCH 1/1] list joysticks
|
||||
|
||||
---
|
||||
src/drivers/main.cpp | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/src/drivers/main.cpp b/src/drivers/main.cpp
|
||||
index a6f7db2..e69e4c4 100644
|
||||
--- a/src/drivers/main.cpp
|
||||
+++ b/src/drivers/main.cpp
|
||||
@@ -1980,6 +1980,13 @@ __attribute__((force_align_arg_pointer)) // Not sure what's going on to cause th
|
||||
#endif
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
+ if(argc == 2) {
|
||||
+ const char* ljoy = "--list-joysticks";
|
||||
+ size_t size = ljoy < argv[1] ? strlen(ljoy) : strlen(argv[1]);
|
||||
+ if(!strncmp(ljoy, argv[1], size))
|
||||
+ JoystickManager::Init();
|
||||
+ return 0;
|
||||
+ }
|
||||
// SuppressErrorPopups must be set very early.
|
||||
{
|
||||
char* mnp = getenv("MEDNAFEN_NOPOPUPS");
|
||||
--
|
||||
2.39.2
|
179
packages/emulators/standalone/mednafen/scripts/start_mednafen.sh
Normal file
179
packages/emulators/standalone/mednafen/scripts/start_mednafen.sh
Normal file
|
@ -0,0 +1,179 @@
|
|||
#!/bin/bash
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2022-present asoderq (https://github.com/asoderq)
|
||||
|
||||
. /etc/profile
|
||||
|
||||
export MEDNAFEN_HOME=/storage/.config/mednafen
|
||||
MEDNAFEN_CONFIG=/usr/config/mednafen/mednafen.cfg
|
||||
|
||||
#Emulation Station Features
|
||||
GAME=$(echo "${1}"| sed "s#^/.*/##")
|
||||
CORE=$(echo "${2}"| sed "s#^/.*/##")
|
||||
PLATFORM=$(echo "${3}"| sed "s#^/.*/##")
|
||||
STRETCH=$(get_setting stretch "${PLATFORM}" "${GAME}")
|
||||
SHADER=$(get_setting shader "${PLATFORM}" "${GAME}")
|
||||
|
||||
#Set the cores to use
|
||||
CORES=$(get_setting "cores" "${PLATFORM}" "${GAME}")
|
||||
if [ "${CORES}" = "little" ]
|
||||
then
|
||||
EMUPERF="${SLOW_CORES}"
|
||||
elif [ "${CORES}" = "big" ]
|
||||
then
|
||||
EMUPERF="${FAST_CORES}"
|
||||
else
|
||||
### All..
|
||||
unset EMUPERF
|
||||
fi
|
||||
|
||||
# delete current config
|
||||
rm $MEDNAFEN_HOME/mednafen.cfg
|
||||
# Generate controller config
|
||||
# Set controller sdl guid
|
||||
GUID1="$(mednafen --list-joysticks | grep ID | awk 'NR==1 {print $2}')"
|
||||
sed -e "s/@GUID1@/${GUID1}/g" ${MEDNAFEN_CONFIG} >> $MEDNAFEN_HOME/mednafen.cfg
|
||||
|
||||
# Buttons mapping
|
||||
for CONTROL in DEVICE_BTN_SOUTH DEVICE_BTN_EAST DEVICE_BTN_NORTH \
|
||||
DEVICE_BTN_WEST DEVICE_BTN_TL DEVICE_BTN_TR \
|
||||
DEVICE_BTN_TL2 DEVICE_BTN_TR2 DEVICE_BTN_SELECT \
|
||||
DEVICE_BTN_START DEVICE_BTN_MODE DEVICE_BTN_THUMBL \
|
||||
DEVICE_BTN_THUMBR DEVICE_BTN_DPAD_UP DEVICE_BTN_DPAD_DOWN \
|
||||
DEVICE_BTN_DPAD_LEFT DEVICE_BTN_DPAD_RIGHT
|
||||
do
|
||||
sed -i -e "s/@${CONTROL}@/button_${!CONTROL}/g" $MEDNAFEN_HOME/mednafen.cfg
|
||||
done
|
||||
|
||||
#Set Save folder
|
||||
sed -i -e "s/@PLATFORM@/${PLATFORM}/g" $MEDNAFEN_HOME/mednafen.cfg
|
||||
|
||||
# Get command line switches
|
||||
FEATURES_CMDLINE=""
|
||||
if [[ "${CORE}" =~ pce[_fast] ]]
|
||||
then
|
||||
if [ "$(get_setting nospritelimit ${PLATFORM} "${GAME}")" = "1" ]
|
||||
then
|
||||
FEATURES_CMDLINE+=" -${CORE}.nospritelimit 1"
|
||||
else
|
||||
FEATURES_CMDLINE+=" -${CORE}.nospritelimit 0"
|
||||
fi
|
||||
if [ "$(get_setting forcesgx ${PLATFORM} "${GAME}")" = "1" ]
|
||||
then
|
||||
FEATURES_CMDLINE+=" -${CORE}.forcesgx 1"
|
||||
else
|
||||
FEATURES_CMDLINE+=" -${CORE}.forcesgx 0"
|
||||
fi
|
||||
if [ "${CORE}" = pce_fast ]
|
||||
then
|
||||
OCM=$(get_setting ocmultiplier ${PLATFORM} "${GAME}")
|
||||
if [ ${OCM} > 1 ]
|
||||
then
|
||||
FEATURES_CMDLINE+=" -${CORE}.ocmultiplier ${OCM}"
|
||||
else
|
||||
FEATURES_CMDLINE+=" -${CORE}.ocmultiplier 1"
|
||||
fi
|
||||
CDS=$(get_setting cdspeed ${PLATFORM} "${GAME}")
|
||||
if [ ${CDS} > 1 ]
|
||||
then
|
||||
FEATURES_CMDLINE+=" -${CORE}.cdspeed ${CDS}"
|
||||
else
|
||||
FEATURES_CMDLINE+=" -${CORE}.cdspeed 1"
|
||||
fi
|
||||
fi
|
||||
elif [ "${CORE}" = "gb" ]
|
||||
then
|
||||
ST=$(get_setting system_type "${PLATFORM}" "${GAME}")
|
||||
if [[ "${ST}" =~ auto|dmg|cgb|agb ]]
|
||||
then
|
||||
FEATURES_CMDLINE+=" -${CORE}.system_type ${ST}"
|
||||
else
|
||||
FEATURES_CMDLINE+=" -${CORE}.system_type auto"
|
||||
fi
|
||||
elif [ "${CORE}" = "gba" ]
|
||||
then
|
||||
if [ $(get_setting tblur "${PLATFORM}" "${GAME}") = "1" ]
|
||||
then
|
||||
FEATURES_CMDLINE+=" -${CORE}.tblur 1"
|
||||
else
|
||||
FEATURES_CMDLINE+=" -${CORE}.tblur 0"
|
||||
fi
|
||||
elif [ "${CORE}" = "nes" ]
|
||||
then
|
||||
if [ $(get_setting clipsides "${PLATFORM}" "${GAME}") = "1" ]
|
||||
then
|
||||
FEATURES_CMDLINE+=" -${CORE}.clipsides 1"
|
||||
else
|
||||
FEATURES_CMDLINE+=" -${CORE}.clipsides 0"
|
||||
fi
|
||||
if [ $(get_setting no8lim "${PLATFORM}" "${GAME}") = "1" ]
|
||||
then
|
||||
FEATURES_CMDLINE+=" -${CORE}.no8lim 1"
|
||||
else
|
||||
FEATURES_CMDLINE+=" -${CORE}.no8lim 0"
|
||||
fi
|
||||
elif [ "${CORE}" = "vb" ]
|
||||
then
|
||||
CE=$(get_setting cpu_emulation "${PLATFORM}" "${GAME}")
|
||||
if [[ "${CE}" =~ fast|accurate ]]
|
||||
then
|
||||
FEATURES_CMDLINE+=" -${CORE}.cpu_emulation ${CE}"
|
||||
else
|
||||
FEATURES_CMDLINE+=" -${CORE}.cpu_emulation fast"
|
||||
fi
|
||||
DM=$(get_setting 3dmode "${PLATFORM}" "${GAME}")
|
||||
if [[ "${DM}" =~ anaglyph|cscope|sidebyside|vli|hli|left|right] ]]
|
||||
then
|
||||
FEATURES_CMDLINE+=" -${CORE}.3dmode ${CE}"
|
||||
fi
|
||||
elif [ "${CORE}" = "pcfx" ]
|
||||
then
|
||||
CE=$(get_setting cpu_emulation "${PLATFORM}" "${GAME}")
|
||||
if [[ "${CE}" =~ auto|fast|accurate ]]
|
||||
then
|
||||
FEATURES_CMDLINE+=" -${CORE}.cpu_emulation ${CE}"
|
||||
else
|
||||
FEATURES_CMDLINE+=" -${CORE}.cpu_emulation auto"
|
||||
fi
|
||||
CS=$(get_setting cdspeed "${PLATFORM}" "${GAME}")
|
||||
if [ CS > 2]
|
||||
then
|
||||
FEATURES_CMDLINE+=" -${CORE}.cdspeed ${CS}"
|
||||
else
|
||||
FEATURES_CMDLINE+=" -${CORE}.cdspeed 2"
|
||||
fi
|
||||
elif [ "${CORE}" = "ss" ]
|
||||
then
|
||||
IP1=$(get_setting input.port1 "${PLATFORM}" "${GAME}")
|
||||
if [[ "${IP1}" =~ gamepad|3dpad|gun ]]
|
||||
then
|
||||
FEATURES_CMDLINE+=" -${CORE}.input.port1 ${IP1}"
|
||||
else
|
||||
FEATURES_CMDLINE+=" -${CORE}.input.port1 gamepad"
|
||||
fi
|
||||
IP13DMODE=$(get_setting input.port1.3dpad.mode.defpos "${PLATFORM}" "${GAME}")
|
||||
if [[ "${IP13DMODE}" =~ digital|analog ]]
|
||||
then
|
||||
FEATURES_CMDLINE+=" -${CORE}.input.port1.3dpad.mode.defpos ${IP13DMODE}"
|
||||
else
|
||||
FEATURES_CMDLINE+=" -${CORE}.input.port1.3dpad.mode.defpos analog"
|
||||
fi
|
||||
CART=$(get_setting cart "${PLATFORM}" "${GAME}")
|
||||
if [[ "${CART}" =~ auto|none|backup|extram1|extram4|cs1ram16 ]]
|
||||
then
|
||||
FEATURES_CMDLINE+=" -${CORE}.cart ${CART}"
|
||||
else
|
||||
FEATURES_CMDLINE+=" -${CORE}.cart auto"
|
||||
fi
|
||||
CARTAD=$(get_setting cart.auto_default "${PLATFORM}" "${GAME}")
|
||||
if [[ "${CARTAD}" =~ none|backup|extram1|extram4|cs1ram16 ]]
|
||||
then
|
||||
FEATURES_CMDLINE+=" -${CORE}.cart.auto_default ${CARTAD}"
|
||||
else
|
||||
FEATURES_CMDLINE+=" -${CORE}.cart.auto_default none"
|
||||
fi
|
||||
fi
|
||||
|
||||
#Run mednafen
|
||||
@LIBEGL@
|
||||
${EMUPERF} /usr/bin/mednafen -force_module ${CORE} -${CORE}.stretch ${STRETCH:="aspect"} -${CORE}.shader ${SHADER:="ipsharper"} ${FEATURES_CMDLINE} "${1}"
|
|
@ -45,6 +45,9 @@ make_target() {
|
|||
export CROSS_COMPILE="${TARGET_PREFIX}"
|
||||
|
||||
export APIDIR=$(get_build_dir mupen64plus-sa-core)/src/api
|
||||
|
||||
sed -i 's/\-O[23]/-Ofast/' ${PKG_BUILD}/projects/unix/Makefile
|
||||
|
||||
make -C projects/unix clean
|
||||
make -C projects/unix all ${PKG_MAKE_OPTS_TARGET}
|
||||
cp ${PKG_BUILD}/projects/unix/mupen64plus-audio-sdl.so ${PKG_BUILD}/projects/unix/mupen64plus-audio-sdl-base.so
|
||||
|
|
|
@ -40,6 +40,8 @@ make_target() {
|
|||
export SDL_LDLIBS="-lSDL2_net -lSDL2"
|
||||
export CROSS_COMPILE="${TARGET_PREFIX}"
|
||||
|
||||
sed -i 's/\-O[23]/-Ofast/' ${PKG_BUILD}/projects/unix/Makefile
|
||||
|
||||
make -C projects/unix clean
|
||||
make -C projects/unix all ${PKG_MAKE_OPTS_TARGET}
|
||||
}
|
||||
|
|
|
@ -45,6 +45,9 @@ make_target() {
|
|||
export CROSS_COMPILE="${TARGET_PREFIX}"
|
||||
|
||||
export APIDIR=$(get_build_dir mupen64plus-sa-core)/src/api
|
||||
|
||||
sed -i 's/\-O[23]/-Ofast/' ${PKG_BUILD}/projects/unix/Makefile
|
||||
|
||||
make -C projects/unix clean
|
||||
make -C projects/unix all ${PKG_MAKE_OPTS_TARGET}
|
||||
cp ${PKG_BUILD}/projects/unix/mupen64plus-input-sdl.so ${PKG_BUILD}/projects/unix/mupen64plus-input-sdl-base.so
|
||||
|
|
|
@ -53,6 +53,8 @@ make_target() {
|
|||
export SDL_LDLIBS="-lSDL2_net -lSDL2"
|
||||
export CROSS_COMPILE="${TARGET_PREFIX}"
|
||||
|
||||
sed -i 's/\-O[23]/-Ofast/' ${PKG_BUILD}/projects/unix/Makefile
|
||||
|
||||
make -C projects/unix clean
|
||||
make -C projects/unix all ${PKG_MAKE_OPTS_TARGET}
|
||||
cp ${PKG_BUILD}/projects/unix/mupen64plus-rsp-cxd4${SUFFIX}.so ${PKG_BUILD}/projects/unix/mupen64plus-rsp-cxd4-base.so
|
||||
|
|
|
@ -45,6 +45,8 @@ make_target() {
|
|||
export SDL_LDLIBS="-lSDL2_net -lSDL2"
|
||||
export CROSS_COMPILE="${TARGET_PREFIX}"
|
||||
|
||||
sed -i 's/\-O[23]/-Ofast/' ${PKG_BUILD}/projects/unix/Makefile
|
||||
|
||||
make -C projects/unix clean
|
||||
make -C projects/unix all ${PKG_MAKE_OPTS_TARGET}
|
||||
cp ${PKG_BUILD}/projects/unix/mupen64plus-rsp-hle.so ${PKG_BUILD}/projects/unix/mupen64plus-rsp-hle-base.so
|
||||
|
|
|
@ -41,6 +41,8 @@ make_target() {
|
|||
export SDL_LDLIBS="-lSDL2_net -lSDL2"
|
||||
export CROSS_COMPILE="${TARGET_PREFIX}"
|
||||
|
||||
sed -i 's/\-O[23]/-Ofast/' ${PKG_BUILD}/projects/unix/Makefile
|
||||
|
||||
make -C projects/unix clean
|
||||
make -C projects/unix all ${PKG_MAKE_OPTS_TARGET}
|
||||
cp ${PKG_BUILD}/projects/unix/mupen64plus ${PKG_BUILD}/projects/unix/mupen64plus-base
|
||||
|
|
|
@ -45,6 +45,8 @@ make_target() {
|
|||
export SDL_LDLIBS="-lSDL2_net -lSDL2"
|
||||
export CROSS_COMPILE="${TARGET_PREFIX}"
|
||||
|
||||
sed -i 's/\-O[23]/-Ofast/' ${PKG_BUILD}/projects/unix/Makefile
|
||||
|
||||
make -C projects/unix clean
|
||||
make -C projects/unix all ${PKG_MAKE_OPTS_TARGET}
|
||||
cp ${PKG_BUILD}/projects/unix/mupen64plus-video-glide64mk2.so ${PKG_BUILD}/projects/unix/mupen64plus-video-glide64mk2-base.so
|
||||
|
|
|
@ -51,6 +51,8 @@ make_target() {
|
|||
export SDL_LDLIBS="-lSDL2_net -lSDL2"
|
||||
export CROSS_COMPILE="${TARGET_PREFIX}"
|
||||
|
||||
sed -i 's/\-O[23]/-Ofast/' ${PKG_BUILD}/src/CMakeLists.txt
|
||||
|
||||
./src/getRevision.sh
|
||||
cmake ${PKG_MAKE_OPTS_TARGET} -DAPIDIR=${APIDIR} -DMUPENPLUSAPI=On -DGLIDEN64_BUILD_TYPE=Release -DCMAKE_C_COMPILER="${CC}" -DCMAKE_CXX_COMPILER="${CXX}" -DCMAKE_C_FLAGS="${CFLAGS}" -DCMAKE_CXX_FLAGS="${CXXFLAGS} -pthread" -S src -B projects/cmake
|
||||
make clean -C projects/cmake
|
||||
|
|
|
@ -45,6 +45,8 @@ make_target() {
|
|||
export SDL_LDLIBS="-lSDL2_net -lSDL2"
|
||||
export CROSS_COMPILE="${TARGET_PREFIX}"
|
||||
|
||||
sed -i 's/\-O[23]/-Ofast/' ${PKG_BUILD}/projects/unix/Makefile
|
||||
|
||||
make -C projects/unix clean
|
||||
make -C projects/unix all ${PKG_MAKE_OPTS_TARGET}
|
||||
cp ${PKG_BUILD}/projects/unix/mupen64plus-video-rice.so ${PKG_BUILD}/projects/unix/mupen64plus-video-rice-base.so
|
||||
|
|
|
@ -7,7 +7,7 @@ PKG_REV="1"
|
|||
PKG_ARCH="any"
|
||||
PKG_SITE="https://github.com/hrydgard/ppsspp"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
PKG_VERSION="e93f9f64cc3979ff7d1dddc2fbec7ddc410da3dc"
|
||||
PKG_VERSION="a9d2ff29ea06c709c3cd077eeb720ce9efdc4f6f"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_DEPENDS_TARGET="toolchain ffmpeg libzip SDL2 zlib zip"
|
||||
PKG_SHORTDESC="PPSSPPDL"
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
|
||||
|
||||
PKG_NAME="retroarch"
|
||||
PKG_VERSION="b53bce6877642b66739c82cee6c6af8d0a09ac1c"
|
||||
PKG_VERSION="54805a182789cb5a76516884aebedfa3c6bf7e9f"
|
||||
PKG_SITE="https://github.com/libretro/RetroArch"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
PKG_LICENSE="GPLv3"
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# Copyright (C) 2022-present - The JELOS Project (https://github.com/JustEnoughLinuxOS)
|
||||
|
||||
PKG_NAME="rpcs3-sa"
|
||||
PKG_VERSION="7081b89e976ad7f931c926022bd93ddd9778347c"
|
||||
PKG_VERSION="ed75bab7b284a9cb62b7308097108e4caef9a0b3"
|
||||
PKG_ARCH="x86_64"
|
||||
PKG_LICENSE="GPL-2.0-or-later"
|
||||
PKG_SITE="https://rpcs3.net"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# Copyright (C) 2022-present - The JELOS Project (https://github.com/JustEnoughLinuxOS)
|
||||
|
||||
PKG_NAME="vita3k-sa"
|
||||
PKG_VERSION="44d8c5da9cc6bed0b670099f4d131296ff8acf25"
|
||||
PKG_VERSION="564417b3b6a31296a2a09912c249a0145376e3c8"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_SITE="https://github.com/Vita3K/Vita3K"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
|
|
|
@ -2,7 +2,7 @@ diff --git a/vita3k/renderer/src/vulkan/context.cpp b/vita3k/renderer/src/vulkan
|
|||
index cbe8ff0acb..2d8d618e7d 100644
|
||||
--- a/vita3k/renderer/src/vulkan/context.cpp
|
||||
+++ b/vita3k/renderer/src/vulkan/context.cpp
|
||||
@@ -242,21 +242,21 @@ void VKContext::start_render_pass(bool create_descriptor_set) {
|
||||
@@ -247,21 +247,21 @@ void VKContext::start_render_pass(bool create_descriptor_set) {
|
||||
if (!is_recording)
|
||||
start_recording();
|
||||
|
||||
|
@ -12,7 +12,7 @@ index cbe8ff0acb..2d8d618e7d 100644
|
|||
.framebuffer = current_framebuffer
|
||||
};
|
||||
|
||||
if (render_target->has_macroblock_sync) {
|
||||
if (render_target->has_macroblock_sync && !ignore_macroblock) {
|
||||
// set the render area to the correct macroblock
|
||||
- curr_renderpass_info.renderArea = {
|
||||
+ curr_renderpass_info.renderArea = vk::Rect2D{
|
||||
|
|
|
@ -19,34 +19,20 @@ diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt
|
|||
index d4dcfc94..4cb3e1ee 100644
|
||||
--- a/external/CMakeLists.txt
|
||||
+++ b/external/CMakeLists.txt
|
||||
@@ -369,11 +369,33 @@ target_compile_definitions(tracy PUBLIC $<$<CONFIG:Debug,RelWithDebInfo>:TRACY_E
|
||||
@@ -344,11 +344,20 @@ target_compile_definitions(tracy PUBLIC $<$<CONFIG:Debug,RelWithDebInfo>:TRACY_E
|
||||
#
|
||||
# target_compile_definitions(tracy PUBLIC TRACY_ENABLE)
|
||||
|
||||
# Use XDG desktop portals on Linux
|
||||
-# Use XDG desktop portals on Linux
|
||||
-set(NFD_PORTAL ON)
|
||||
+#set(NFD_PORTAL ON)
|
||||
|
||||
# nativefiledialog-extended
|
||||
-add_subdirectory(nativefiledialog-extended)
|
||||
+#add_subdirectory(nativefiledialog-extended)
|
||||
|
||||
# Create alias to prevent the need of multiple changes in case the target name changes
|
||||
-add_library(NFDe::NFDe ALIAS nfd)
|
||||
-set_property(TARGET nfd PROPERTY FOLDER externals)
|
||||
+#add_library(NFDe::NFDe ALIAS nfd)
|
||||
+#set_property(TARGET nfd PROPERTY FOLDER externals)
|
||||
+
|
||||
+# Create alias to prevent the need of multiple changes in case the target name changes
|
||||
+# Batocera - bring back nativefiledialog
|
||||
+if(WIN32)
|
||||
+ add_library(nativefiledialog STATIC nativefiledialog-cmake/src/nfd_win.cpp nativefiledialog-cmake/src/nfd_common.c)
|
||||
+ target_include_directories(nativefiledialog PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/nativefiledialog-cmake/src/include")
|
||||
+elseif(APPLE)
|
||||
+ add_library(nativefiledialog STATIC nativefiledialog-cmake/src/nfd_cocoa.m nativefiledialog-cmake/src/nfd_common.c)
|
||||
+ target_include_directories(nativefiledialog PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/nativefiledialog-cmake/src/include")
|
||||
+elseif(UNIX)
|
||||
+if(UNIX)
|
||||
+ find_package(PkgConfig REQUIRED)
|
||||
+ pkg_check_modules(GTK3 REQUIRED gtk+-3.0)
|
||||
+
|
||||
|
||||
-# nativefiledialog-extended
|
||||
-add_subdirectory(nativefiledialog-extended)
|
||||
+ include_directories(${GTK3_INCLUDE_DIRS})
|
||||
+ link_directories(${GTK3_LIBRARY_DIRS})
|
||||
+
|
||||
|
@ -57,7 +43,9 @@ index d4dcfc94..4cb3e1ee 100644
|
|||
+ target_link_libraries(nativefiledialog ${GTK3_LIBRARIES})
|
||||
+endif()
|
||||
+set_property(TARGET nativefiledialog PROPERTY FOLDER externals)
|
||||
\ No newline at end of file
|
||||
|
||||
-# Create alias to prevent the need of multiple changes in case the target name changes
|
||||
-add_library(NFDe::NFDe ALIAS nfd)
|
||||
diff --git a/vita3k/CMakeLists.txt b/vita3k/CMakeLists.txt
|
||||
index e1b27dfd..25d8f88b 100644
|
||||
--- a/vita3k/CMakeLists.txt
|
||||
|
@ -95,27 +83,22 @@ index ef7de553..811ee661 100644
|
|||
|
||||
target_include_directories(gui PUBLIC include ${CMAKE_SOURCE_DIR}/vita3k)
|
||||
target_link_libraries(gui PUBLIC app compat config dialog emuenv https ime imgui glutil lang regmgr np)
|
||||
-target_link_libraries(gui PRIVATE audio ctrl kernel miniz psvpfsparser pugixml::pugixml stb renderer packages sdl2 vkutil host::dialog)
|
||||
+target_link_libraries(gui PRIVATE audio ctrl kernel miniz psvpfsparser pugixml::pugixml stb renderer packages sdl2 vkutil nativefiledialog)
|
||||
-target_link_libraries(gui PRIVATE audio ctrl kernel miniz psvpfsparser pugixml::pugixml stb renderer packages sdl2 touch vkutil host::dialog)
|
||||
+target_link_libraries(gui PRIVATE audio ctrl kernel miniz psvpfsparser pugixml::pugixml stb renderer packages sdl2 touch vkutil nativefiledialog)
|
||||
target_link_libraries(gui PUBLIC tracy)
|
||||
diff --git a/vita3k/gui/src/archive_install_dialog.cpp b/vita3k/gui/src/archive_install_dialog.cpp
|
||||
index 67832991..5d724637 100644
|
||||
--- a/vita3k/gui/src/archive_install_dialog.cpp
|
||||
+++ b/vita3k/gui/src/archive_install_dialog.cpp
|
||||
@@ -19,11 +19,12 @@
|
||||
@@ -19,7 +19,7 @@
|
||||
#include "private.h"
|
||||
|
||||
#include <gui/functions.h>
|
||||
-#include <host/dialog/filesystem.hpp>
|
||||
+#include <nfd.h>
|
||||
#include <packages/sfo.h>
|
||||
|
||||
#include <util/string_utils.h>
|
||||
|
||||
+#include <nfd.h>
|
||||
+
|
||||
#include <thread>
|
||||
|
||||
namespace gui {
|
||||
@@ -32,7 +33,7 @@ static bool delete_archive_file;
|
||||
static std::string state, type, title;
|
||||
static std::map<fs::path, std::vector<ContentInfo>> contents_archives;
|
||||
|
@ -196,10 +179,10 @@ index 1b7208e6..f29150f7 100644
|
|||
|
||||
static void get_firmware_version(EmuEnvState &emuenv) {
|
||||
fs::ifstream versionFile(emuenv.pref_path + L"/PUP_DEC/PUP/version.txt");
|
||||
@@ -50,7 +50,7 @@ void draw_firmware_install_dialog(GuiState &gui, EmuEnvState &emuenv) {
|
||||
auto firmware_installation = lang["firmware_installation"].c_str();
|
||||
auto common = emuenv.common_dialog.lang.common;
|
||||
@@ -46,7 +46,7 @@ static void get_firmware_version(EmuEnvState &emuenv) {
|
||||
}
|
||||
|
||||
void draw_firmware_install_dialog(GuiState &gui, EmuEnvState &emuenv) {
|
||||
- host::dialog::filesystem::Result result = host::dialog::filesystem::Result::CANCEL;
|
||||
+ nfdresult_t result = NFD_CANCEL;
|
||||
|
||||
|
@ -283,7 +266,7 @@ diff --git a/vita3k/gui/src/license_install_dialog.cpp b/vita3k/gui/src/license_
|
|||
index beabedb8..7eb910a5 100644
|
||||
--- a/vita3k/gui/src/license_install_dialog.cpp
|
||||
+++ b/vita3k/gui/src/license_install_dialog.cpp
|
||||
@@ -17,15 +17,16 @@
|
||||
@@ -17,15 +17,15 @@
|
||||
|
||||
#include "private.h"
|
||||
|
||||
|
@ -291,47 +274,46 @@ index beabedb8..7eb910a5 100644
|
|||
#include <misc/cpp/imgui_stdlib.h>
|
||||
#include <packages/functions.h>
|
||||
#include <util/string_utils.h>
|
||||
|
||||
+#include <nfd.h>
|
||||
+
|
||||
|
||||
namespace gui {
|
||||
|
||||
static std::string state, title, zRIF;
|
||||
-std::filesystem::path work_path = "";
|
||||
+nfdchar_t *work_path;
|
||||
static bool delete_work_file;
|
||||
-std::filesystem::path license_path = "";
|
||||
+nfdchar_t *license_path;
|
||||
static bool delete_license_file;
|
||||
|
||||
void draw_license_install_dialog(GuiState &gui, EmuEnvState &emuenv) {
|
||||
@@ -66,10 +67,10 @@ void draw_license_install_dialog(GuiState &gui, EmuEnvState &emuenv) {
|
||||
@@ -67,10 +67,10 @@ void draw_license_install_dialog(GuiState &gui, EmuEnvState &emuenv) {
|
||||
if (ImGui::Button(common["cancel"].c_str(), BUTTON_SIZE))
|
||||
gui.file_menu.license_install_dialog = false;
|
||||
} else if (state == "work") {
|
||||
} else if (state == "license") {
|
||||
- host::dialog::filesystem::Result result = host::dialog::filesystem::Result::CANCEL;
|
||||
- result = host::dialog::filesystem::open_file(work_path, { { "PlayStation Vita software license file", { "bin", "rif" } } });
|
||||
- result = host::dialog::filesystem::open_file(license_path, { { "PlayStation Vita software license file", { "bin", "rif" } } });
|
||||
- if (result == host::dialog::filesystem::Result::SUCCESS) {
|
||||
- if (copy_license(emuenv, fs::path(work_path.wstring())))
|
||||
- if (copy_license(emuenv, fs::path(license_path.wstring())))
|
||||
+ nfdresult_t result = NFD_CANCEL;
|
||||
+ result = NFD_OpenDialog("bin,rif", nullptr, &work_path);
|
||||
+ result = NFD_OpenDialog("bin,rif", nullptr, &license_path);
|
||||
+ if (result == NFD_OKAY) {
|
||||
+ if (copy_license(emuenv, work_path))
|
||||
+ if (copy_license(emuenv, license_path))
|
||||
state = "success";
|
||||
else
|
||||
state = "fail";
|
||||
@@ -106,12 +106,12 @@ void draw_license_install_dialog(GuiState &gui, EmuEnvState &emuenv) {
|
||||
@@ -105,12 +105,12 @@ void draw_license_install_dialog(GuiState &gui, EmuEnvState &emuenv) {
|
||||
ImGui::Spacing();
|
||||
ImGui::Separator();
|
||||
ImGui::Spacing();
|
||||
- if (work_path != "")
|
||||
+ if (work_path)
|
||||
ImGui::Checkbox(lang["delete_bin_rif"].c_str(), &delete_work_file);
|
||||
- if (license_path != "")
|
||||
+ if (license_path)
|
||||
ImGui::Checkbox(license["delete_bin_rif"].c_str(), &delete_license_file);
|
||||
ImGui::SetCursorPos(ImVec2(POS_BUTTON, ImGui::GetWindowSize().y - BUTTON_SIZE.y - (20.f * SCALE.y)));
|
||||
if (ImGui::Button(common["ok"].c_str(), BUTTON_SIZE)) {
|
||||
if (delete_work_file) {
|
||||
- fs::remove(fs::path(work_path.wstring()));
|
||||
+ fs::remove(fs::path(string_utils::utf_to_wide(std::string(work_path))));
|
||||
delete_work_file = false;
|
||||
if (delete_license_file) {
|
||||
- fs::remove(fs::path(license_path.wstring()));
|
||||
+ fs::remove(fs::path(string_utils::utf_to_wide(std::string(license_path))));
|
||||
delete_license_file = false;
|
||||
}
|
||||
work_path = nullptr;
|
||||
license_path = nullptr;
|
||||
diff --git a/vita3k/gui/src/pkg_install_dialog.cpp b/vita3k/gui/src/pkg_install_dialog.cpp
|
||||
index 75c11214..46fcf6f8 100644
|
||||
--- a/vita3k/gui/src/pkg_install_dialog.cpp
|
||||
|
@ -344,22 +326,22 @@ index 75c11214..46fcf6f8 100644
|
|||
#include <misc/cpp/imgui_stdlib.h>
|
||||
#include <packages/functions.h>
|
||||
#include <packages/pkg.h>
|
||||
@@ -27,18 +26,19 @@
|
||||
@@ -25,19 +25,18 @@
|
||||
#include <rif2zrif.h>
|
||||
#include <util/log.h>
|
||||
#include <util/string_utils.h>
|
||||
|
||||
-
|
||||
+#include <nfd.h>
|
||||
+
|
||||
#include <thread>
|
||||
|
||||
namespace gui {
|
||||
|
||||
-static std::filesystem::path pkg_path = "";
|
||||
-static std::filesystem::path work_path = "";
|
||||
+static nfdchar_t *pkg_path, *work_path;
|
||||
-static std::filesystem::path license_path = "";
|
||||
+static nfdchar_t *pkg_path, *license_path;
|
||||
static std::string state, title, zRIF;
|
||||
static bool draw_file_dialog = true;
|
||||
static bool delete_pkg_file, delete_work_file;
|
||||
static bool delete_pkg_file, delete_license_file;
|
||||
|
||||
void draw_pkg_install_dialog(GuiState &gui, EmuEnvState &emuenv) {
|
||||
- host::dialog::filesystem::Result result = host::dialog::filesystem::Result::CANCEL;
|
||||
|
@ -387,16 +369,16 @@ index 75c11214..46fcf6f8 100644
|
|||
gui.file_menu.pkg_install_dialog = false;
|
||||
draw_file_dialog = true;
|
||||
}
|
||||
@@ -98,9 +98,9 @@ void draw_pkg_install_dialog(GuiState &gui, EmuEnvState &emuenv) {
|
||||
@@ -97,9 +96,9 @@ void draw_pkg_install_dialog(GuiState &gui, EmuEnvState &emuenv) {
|
||||
draw_file_dialog = true;
|
||||
}
|
||||
} else if (state == "work") {
|
||||
- result = host::dialog::filesystem::open_file(work_path, { { "PlayStation Vita software license file", { "bin" } } });
|
||||
} else if (state == "license") {
|
||||
- result = host::dialog::filesystem::open_file(license_path, { { "PlayStation Vita software license file", { "bin", "rif" } } });
|
||||
- if (result == host::dialog::filesystem::Result::SUCCESS) {
|
||||
- fs::ifstream binfile(work_path.wstring(), std::ios::in | std::ios::binary | std::ios::ate);
|
||||
+ result = NFD_OpenDialog("bin", nullptr, &work_path);
|
||||
- fs::ifstream binfile(license_path.wstring(), std::ios::in | std::ios::binary | std::ios::ate);
|
||||
+ result = NFD_OpenDialog("bin,rif", nullptr, &license_path);
|
||||
+ if (result == NFD_OKAY) {
|
||||
+ fs::ifstream binfile(string_utils::utf_to_wide(std::string(work_path)), std::ios::in | std::ios::binary | std::ios::ate);
|
||||
+ fs::ifstream binfile(string_utils::utf_to_wide(std::string(license_path)), std::ios::in | std::ios::binary | std::ios::ate);
|
||||
zRIF = rif2zrif(binfile);
|
||||
state = "install";
|
||||
} else
|
||||
|
@ -409,13 +391,13 @@ index 75c11214..46fcf6f8 100644
|
|||
std::lock_guard<std::mutex> lock(install_mutex);
|
||||
state = "success";
|
||||
} else {
|
||||
@@ -144,17 +144,17 @@ void draw_pkg_install_dialog(GuiState &gui, EmuEnvState &emuenv) {
|
||||
@@ -143,17 +142,17 @@ void draw_pkg_install_dialog(GuiState &gui, EmuEnvState &emuenv) {
|
||||
ImGui::Separator();
|
||||
ImGui::Spacing();
|
||||
ImGui::Checkbox(lang["delete_pkg"].c_str(), &delete_pkg_file);
|
||||
- if (work_path != "")
|
||||
+ if (work_path)
|
||||
ImGui::Checkbox(lang["delete_work"].c_str(), &delete_work_file);
|
||||
- if (license_path != "")
|
||||
+ if (license_path)
|
||||
ImGui::Checkbox(lang["delete_bin_rif"].c_str(), &delete_license_file);
|
||||
ImGui::Spacing();
|
||||
ImGui::SetCursorPos(ImVec2(POS_BUTTON, ImGui::GetWindowSize().y - BUTTON_SIZE.y - (20.f * SCALE.y)));
|
||||
if (ImGui::Button(common["ok"].c_str(), BUTTON_SIZE)) {
|
||||
|
@ -424,20 +406,20 @@ index 75c11214..46fcf6f8 100644
|
|||
+ fs::remove(fs::path(string_utils::utf_to_wide(std::string(pkg_path))));
|
||||
delete_pkg_file = false;
|
||||
}
|
||||
if (delete_work_file) {
|
||||
- fs::remove(fs::path(work_path.wstring()));
|
||||
if (delete_license_file) {
|
||||
- fs::remove(fs::path(license_path.wstring()));
|
||||
+ fs::remove(fs::path(string_utils::utf_to_wide(std::string(pkg_path))));
|
||||
delete_work_file = false;
|
||||
delete_license_file = false;
|
||||
}
|
||||
if ((emuenv.app_info.app_category.find("gd") != std::string::npos) || (emuenv.app_info.app_category.find("gp") != std::string::npos)) {
|
||||
@@ -162,8 +162,8 @@ void draw_pkg_install_dialog(GuiState &gui, EmuEnvState &emuenv) {
|
||||
@@ -160,8 +160,8 @@ void draw_pkg_install_dialog(GuiState &gui, EmuEnvState &emuenv) {
|
||||
save_apps_cache(gui, emuenv);
|
||||
}
|
||||
update_notice_info(gui, emuenv, "content");
|
||||
- pkg_path = "";
|
||||
- work_path = "";
|
||||
- license_path = "";
|
||||
+ pkg_path = nullptr;
|
||||
+ work_path = nullptr;
|
||||
+ license_path = nullptr;
|
||||
gui.file_menu.pkg_install_dialog = false;
|
||||
draw_file_dialog = true;
|
||||
state.clear();
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# Copyright (C) 2022-present - The JELOS Project (https://github.com/JustEnoughLinuxOS)
|
||||
|
||||
PKG_NAME="xemu-sa"
|
||||
PKG_VERSION="v0.7.113"
|
||||
PKG_VERSION="v0.7.116"
|
||||
PKG_ARCH="x86_64"
|
||||
PKG_LICENSE="GPLv3"
|
||||
PKG_SITE="https://github.com/xemu-project/xemu"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# Copyright (C) 2022-present - The JELOS Project (https://github.com/JustEnoughLinuxOS)
|
||||
|
||||
PKG_NAME="yuzu-sa"
|
||||
PKG_VERSION="249db0a59bb4aadb031f270ed79044f91defb98d"
|
||||
PKG_VERSION="6eb3a583cbbb55ebe6dd2409f5f53aef02cff561"
|
||||
PKG_ARCH="x86_64"
|
||||
PKG_LICENSE="GPLv3"
|
||||
PKG_SITE="https://github.com/yuzu-emu/yuzu"
|
||||
|
|
|
@ -97,6 +97,10 @@ ln -sf /storage/roms/bios/yuzu/keys /storage/.config/yuzu/keys
|
|||
then
|
||||
sed -i '/^aspect_ratio=/c\aspect_ratio=3' /storage/.config/yuzu/qt-config.ini
|
||||
fi
|
||||
if [ "$ASPECT" = "4" ]
|
||||
then
|
||||
sed -i '/^aspect_ratio=/c\aspect_ratio=4' /storage/.config/yuzu/qt-config.ini
|
||||
fi
|
||||
|
||||
#GPU Accuracy
|
||||
sed -i '/^gpu_accuracy\\default=/c\gpu_accuracy\\default=false' /storage/.config/yuzu/qt-config.ini
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# Copyright (C) 2022-present - The JELOS Project (https://github.com/JustEnoughLinuxOS)
|
||||
|
||||
PKG_NAME="control-gen"
|
||||
PKG_VERSION="95cb4d4f28e1743c6a7f3c0266049f68b2134b60"
|
||||
PKG_VERSION="47234c710a073ff02fe1a99e1b6dff912259ac32"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
|
||||
|
||||
PKG_NAME="gamecontrollerdb"
|
||||
PKG_VERSION="6f3c4edcb5a2e2ed090ca8af40d2c0f00dcd77f6"
|
||||
PKG_VERSION="eb831f75abb5c796fb2f2843c3e055d2b8cba29b"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_DEPENDS_TARGET="toolchain SDL2"
|
||||
|
|
18
packages/graphics/egl-wayland/package.mk
Normal file
18
packages/graphics/egl-wayland/package.mk
Normal file
|
@ -0,0 +1,18 @@
|
|||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
|
||||
|
||||
PKG_NAME="egl-wayland"
|
||||
PKG_VERSION="1.1.13"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_SITE="https://github.com/NVIDIA/egl-wayland"
|
||||
PKG_URL=${PKG_SITE}/archive/refs/tags/${PKG_VERSION}.tar.gz
|
||||
PKG_DEPENDS_TARGET="toolchain eglexternalplatform"
|
||||
PKG_LONGDESC="Wayland EGL External Platform library."
|
||||
|
||||
configure_package() {
|
||||
if [ "${DISPLAYSERVER}" = "wl" ]
|
||||
then
|
||||
PKG_DEPENDS_TARGET+=" wayland"
|
||||
fi
|
||||
}
|
||||
|
17
packages/graphics/eglexternalplatform/package.mk
Normal file
17
packages/graphics/eglexternalplatform/package.mk
Normal file
|
@ -0,0 +1,17 @@
|
|||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
|
||||
|
||||
PKG_NAME="eglexternalplatform"
|
||||
PKG_VERSION="1.1"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_SITE="https://github.com/NVIDIA/${PKG_NAME}"
|
||||
PKG_URL=${PKG_SITE}/archive/refs/tags/${PKG_VERSION}.tar.gz
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_LONGDESC="Wayland EGL External Platform library."
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p ${SYSROOT_PREFIX}/usr/{include,lib/pkgconfig}
|
||||
cp -rf ${PKG_BUILD}/interface/* ${SYSROOT_PREFIX}/usr/include
|
||||
cp -rf ${PKG_BUILD}/eglexternalplatform.pc ${SYSROOT_PREFIX}/usr/lib/pkgconfig
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2022-present - The JELOS Project (https://github.com/JustEnoughLinuxOS)
|
||||
# Copyright (C) 2022-present BrooksyTech (https://github.com/brooksytech)
|
||||
|
||||
PKG_NAME="glfw"
|
||||
PKG_VERSION="3eaf125"
|
||||
|
@ -15,8 +15,7 @@ pre_configure_target() {
|
|||
PKG_CMAKE_OPTS_TARGET+=" -DBUILD_SHARED_LIBS=ON \
|
||||
-DGLFW_BUILD_DOCS=OFF \
|
||||
-DGLFW_BUILD_EXAMPLES=OFF \
|
||||
-DGLFW_BUILD_TESTS=OFF \
|
||||
-DGLFW_INSTALL=OFF"
|
||||
-DGLFW_BUILD_TESTS=OFF"
|
||||
}
|
||||
|
||||
if [ "${DISPLAYSERVER}" = "x11" ]; then
|
||||
|
@ -34,9 +33,3 @@ post_unpack() {
|
|||
sed -i "s|\${WAYLAND_CLIENT_PKGDATADIR}|${TOOLCHAIN}/share/wayland|" ${PKG_BUILD}/src/CMakeLists.txt
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p ${INSTALL}/usr/lib/
|
||||
cp ${PKG_BUILD}/.${TARGET_NAME}/src/libglfw* ${INSTALL}/usr/lib/
|
||||
cp -rf ${PKG_BUILD}/include/* ${SYSROOT_PREFIX}/usr/include
|
||||
}
|
||||
|
||||
|
|
16
packages/graphics/libegl/package.mk
Normal file
16
packages/graphics/libegl/package.mk
Normal file
|
@ -0,0 +1,16 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2022-present - The JELOS Project (https://github.com/JustEnoughLinuxOS)
|
||||
|
||||
PKG_NAME="libegl"
|
||||
PKG_VERSION="1.0"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_ARCH="arm aarch64"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_TOOLCHAIN="manual"
|
||||
PKG_LONGDESC="Libraries needed to run OpenGL applications on devices that dont have native OpenGL support."
|
||||
|
||||
makeinstall_target() {
|
||||
export STRIP=true
|
||||
mkdir -p ${INSTALL}/usr/lib/egl
|
||||
tar -xvf ${PKG_DIR}/sources/libegl.tar.gz -C ${INSTALL}/usr/lib/egl
|
||||
}
|
BIN
packages/graphics/libegl/sources/libegl.tar.gz
Executable file
BIN
packages/graphics/libegl/sources/libegl.tar.gz
Executable file
Binary file not shown.
|
@ -2,7 +2,7 @@
|
|||
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="libglvnd"
|
||||
PKG_VERSION="1.6.0"
|
||||
PKG_VERSION="1.7.0"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/NVIDIA/libglvnd"
|
||||
PKG_URL="https://github.com/NVIDIA/libglvnd/archive/v${PKG_VERSION}.tar.gz"
|
||||
|
@ -17,16 +17,16 @@ configure_package() {
|
|||
}
|
||||
|
||||
pre_configure_target(){
|
||||
if [ ! "${OPENGL}" = "no" ]
|
||||
if [ "${OPENGL_SUPPORT}" = "yes" ]
|
||||
then
|
||||
PKG_MESON_OPTS_TARGET+=" -Degl=true -Dheaders=true"
|
||||
PKG_MESON_OPTS_TARGET+=" -Degl=true -Dglx=enabled -Dheaders=true"
|
||||
fi
|
||||
|
||||
if [ ! "${OPENGLES_SUPPORT}" = "no" ]
|
||||
if [ "${OPENGLES_SUPPORT}" = "yes" ]
|
||||
then
|
||||
PKG_MESON_OPTS_TARGET+=" -Dgles1=true -Dgles2=true -Dheaders=true"
|
||||
else
|
||||
PKG_MESON_OPTS_TARGET+=" -Dgles2=false"
|
||||
PKG_MESON_OPTS_TARGET+=" -Dgles1=false -Dgles2=false"
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
|
@ -51,7 +51,7 @@ if [ "${DISPLAYSERVER}" = "x11" ]; then
|
|||
export X11_INCLUDES=
|
||||
PKG_MESON_OPTS_TARGET+=" -Dplatforms=x11 -Ddri3=enabled -Dglx=dri -Dglvnd=true"
|
||||
elif [ "${DISPLAYSERVER}" = "wl" ]; then
|
||||
PKG_DEPENDS_TARGET+=" wayland wayland-protocols libglvnd glfw"
|
||||
PKG_DEPENDS_TARGET+=" wayland wayland-protocols libglvnd glfw egl-wayland"
|
||||
PKG_MESON_OPTS_TARGET+=" -Dplatforms=wayland,x11 -Ddri3=enabled -Dglx=dri -Dglvnd=true"
|
||||
PKG_DEPENDS_TARGET+=" xorgproto libXext libXdamage libXfixes libXxf86vm libxcb libX11 libxshmfence libXrandr libglvnd"
|
||||
export X11_INCLUDES=
|
||||
|
|
|
@ -10,20 +10,29 @@ case "$1" in
|
|||
"pause")
|
||||
sendkey "p"
|
||||
;;
|
||||
"skip5s")
|
||||
sendkey "RIGHT"
|
||||
"changeaudio")
|
||||
sendkey "#"
|
||||
;;
|
||||
"changesub")
|
||||
sendkey "j"
|
||||
;;
|
||||
"showosd")
|
||||
sendkey "O"
|
||||
;;
|
||||
"back5s")
|
||||
sendkey "LEFT"
|
||||
;;
|
||||
"skip60s")
|
||||
sendkey "UP"
|
||||
"skip5s")
|
||||
sendkey "RIGHT"
|
||||
;;
|
||||
"back60s")
|
||||
sendkey "DOWN"
|
||||
;;
|
||||
"skip60s")
|
||||
sendkey "UP"
|
||||
;;
|
||||
"quit")
|
||||
sendkey "q"
|
||||
sendkey "Q"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
|
|
@ -55,6 +55,8 @@ performance
|
|||
if [[ $EMULATOR = "retroarch" ]]; then
|
||||
EMU="${CORE}_libretro"
|
||||
RETROARCH="yes"
|
||||
elif [[ $EMULATOR = "mednafen" ]]; then
|
||||
EMU="mednafen"
|
||||
else
|
||||
EMU="${CORE}"
|
||||
fi
|
||||
|
@ -250,7 +252,11 @@ bluetooth disable
|
|||
jslisten stop
|
||||
|
||||
### Per emulator/core configurations
|
||||
if [ -z ${RETROARCH} ]
|
||||
if [[ $EMULATOR = "mednafen" ]]; then
|
||||
jslisten set "-9 mednafen"
|
||||
RUNTHIS='${TBASH} /usr/bin/start_mednafen.sh "${ROMNAME}" "${CORE}" "${PLATFORM}"'
|
||||
|
||||
elif [ -z ${RETROARCH} ]
|
||||
then
|
||||
$VERBOSE && log $0 "Configuring for a non-libretro emulator"
|
||||
case ${PLATFORM} in
|
||||
|
|
|
@ -758,14 +758,20 @@ function set_runahead() {
|
|||
local RUNAHEAD="$(game_setting runahead)"
|
||||
local HAS_RUNAHEAD="$(match ${PLATFORM} ${NO_RUNAHEAD[@]})"
|
||||
case ${HAS_RUNAHEAD} in
|
||||
0|false|none)
|
||||
1)
|
||||
add_setting "none" "run_ahead_enabled" "false"
|
||||
add_setting "none" "run_ahead_frames" "1"
|
||||
add_setting "none" "run_ahead_frames" "0"
|
||||
;;
|
||||
*)
|
||||
add_setting "none" "run_ahead_enabled" "true"
|
||||
add_setting "none" "run_ahead_frames" "${RUNAHEAD}"
|
||||
add_setting "secondinstance" "run_ahead_secondary_instance"
|
||||
if [ "${RUNAHEAD}" -gt 0 ]
|
||||
then
|
||||
add_setting "none" "run_ahead_enabled" "true"
|
||||
add_setting "none" "run_ahead_frames" "${RUNAHEAD}"
|
||||
add_setting "secondinstance" "run_ahead_secondary_instance"
|
||||
else
|
||||
add_setting "none" "run_ahead_enabled" "false"
|
||||
add_setting "none" "run_ahead_frames" "0"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
|
|
@ -20,5 +20,5 @@ case ${ASPECT} in
|
|||
;;
|
||||
esac
|
||||
|
||||
/usr/bin/mpv --fullscreen --geometry=${RES} --hwdec=auto --input-ipc-server=/tmp/mpvsocket "${1}"
|
||||
/usr/bin/mpv --fullscreen --geometry=${RES} --hwdec=auto-safe --input-ipc-server=/tmp/mpvsocket "${1}"
|
||||
exit 0
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
options esp8089 esp_reset_gpio=105
|
34
packages/kernel/linux-drivers/esp8089/package.mk
Normal file
34
packages/kernel/linux-drivers/esp8089/package.mk
Normal file
|
@ -0,0 +1,34 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
|
||||
|
||||
PKG_NAME="esp8089"
|
||||
PKG_VERSION="1.9.20230804"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/al177/esp8089"
|
||||
PKG_URL="https://github.com/al177/esp8089/archive/refs/tags/1.9.20230804.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain linux"
|
||||
PKG_NEED_UNPACK="${LINUX_DEPENDS}"
|
||||
PKG_LONGDESC="ESP8089 Wifi Driver"
|
||||
PKG_IS_KERNEL_PKG="yes"
|
||||
PKG_TOOLCHAIN="make"
|
||||
|
||||
pre_make_target() {
|
||||
unset LDFLAGS
|
||||
}
|
||||
|
||||
make_target() {
|
||||
make V=1 \
|
||||
ARCH=${TARGET_KERNEL_ARCH} \
|
||||
KSRC=$(kernel_path) \
|
||||
CROSS_COMPILE=${TARGET_KERNEL_PREFIX} \
|
||||
TARGET=$(kernel_version) \
|
||||
KERNEL_MODULES=$(get_build_dir linux)/.install_pkg/$(get_full_module_dir) \
|
||||
KBUILD=$(get_build_dir linux)
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p ${INSTALL}/$(get_full_module_dir)/${PKG_NAME}
|
||||
cp *.ko ${INSTALL}/$(get_full_module_dir)/${PKG_NAME}
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
--- a/sdio_sif_esp.c 2023-08-04 15:04:02.000000000 -0600
|
||||
+++ b/sdio_sif_esp.c 2023-10-27 12:08:08.302695270 -0600
|
||||
@@ -50,6 +50,24 @@
|
||||
//unsigned int esp_msg_level = 0;
|
||||
unsigned int esp_msg_level = ESP_DBG_ERROR | ESP_SHOW;
|
||||
|
||||
+/* HdG: Note:
|
||||
+ * 1) MMC_HAS_FORCE_DETECT_CHANGE is a hack which is set by my sunxi-wip
|
||||
+ * tree. FIXME replace with a version check once mmc_force_detect_change()
|
||||
+ * is added to the mainline kernel.
|
||||
+ * 2) This version does NOT implement keep_power, the dts must mark the
|
||||
+ * regulators as regulator-always-on and not use mmc-pwrseq for this stub
|
||||
+ * to work.
|
||||
+ */
|
||||
+#ifndef MMC_HAS_FORCE_DETECT_CHANGE
|
||||
+void mmc_force_detect_change(struct mmc_host *host, unsigned long delay,
|
||||
+ bool keep_power)
|
||||
+{
|
||||
+ host->caps &= ~MMC_CAP_NONREMOVABLE;
|
||||
+ host->caps |= MMC_CAP_NEEDS_POLL;
|
||||
+ mmc_detect_change(host, delay);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
static struct semaphore esp_powerup_sem;
|
||||
|
||||
static enum esp_sdio_state sif_sdio_state;
|
||||
@@ -500,6 +518,7 @@
|
||||
int err = 0;
|
||||
struct esp_pub *epub;
|
||||
struct esp_sdio_ctrl *sctrl;
|
||||
+ struct mmc_host *host = func->card->host;
|
||||
|
||||
esp_dbg(ESP_DBG_TRACE,
|
||||
"sdio_func_num: 0x%X, vendor id: 0x%X, dev id: 0x%X, block size: 0x%X/0x%X\n",
|
||||
@@ -609,6 +628,10 @@
|
||||
if(sif_sdio_state == ESP_SDIO_STATE_FIRST_INIT){
|
||||
esp_dbg(ESP_DBG_ERROR, "first normal exit\n");
|
||||
sif_sdio_state = ESP_SDIO_STATE_FIRST_NORMAL_EXIT;
|
||||
+
|
||||
+ /* Rescan the esp8089 after loading the initial firmware */
|
||||
+ mmc_force_detect_change(host, msecs_to_jiffies(100), true);
|
||||
+
|
||||
up(&esp_powerup_sem);
|
||||
}
|
||||
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
PKG_NAME="linux"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_VERSION="6.5.8"
|
||||
PKG_VERSION="6.5.9"
|
||||
PKG_URL="https://www.kernel.org/pub/linux/kernel/v6.x/${PKG_NAME}-${PKG_VERSION}.tar.xz"
|
||||
PKG_SITE="http://www.kernel.org"
|
||||
PKG_DEPENDS_HOST="ccache:host rsync:host openssl:host"
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
dwc2
|
||||
mt7921e mt7921_common mt76_connac_lib mt76
|
||||
esp8089
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
|
||||
|
||||
PKG_NAME="es-theme-art-book-next"
|
||||
PKG_VERSION="b9979c32d9ba25a31b28e9ff159e8397ca0b307a"
|
||||
PKG_VERSION="1bbd47382bef153512f66772a37ef38f04d9cef3"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="CUSTOM"
|
||||
PKG_SITE="https://github.com/anthonycaccese/art-book-next-jelos"
|
||||
|
|
|
@ -9,13 +9,16 @@
|
|||
### For a list of available buttons, cat /etc/profile.d/01-deviceconfig
|
||||
###
|
||||
|
||||
BTN_PAUSE=${DEVICE_BTN_START}
|
||||
BTN_PAUSE=${DEVICE_BTN_SOUTH}
|
||||
BTN_CHANGEAUDIO=${DEVICE_BTN_EAST}
|
||||
BTN_CHANGESUB=${DEVICE_BTN_WEST}
|
||||
BTN_SHOWOSD=${DEVICE_BTN_NORTH}
|
||||
BTN_BACK5S=${DEVICE_BTN_DPAD_LEFT}
|
||||
BTN_SKIP5S=${DEVICE_BTN_DPAD_RIGHT}
|
||||
BTN_BACK60S=${DEVICE_BTN_DPAD_DOWN}
|
||||
BTN_SKIP60S=${DEVICE_BTN_DPAD_UP}
|
||||
BTN_QUIT_HOTKEY=${DEVICE_BTN_SELECT}
|
||||
BTN_QUIT_SELECT=${DEVICE_BTN_START}
|
||||
BTN_SKIP5S=${DEVICE_BTN_TR}
|
||||
BTN_BACK5S=${DEVICE_BTN_TL}
|
||||
BTN_SKIP60S=${DEVICE_BTN_TR2}
|
||||
BTN_BACK60S=${DEVICE_BTN_TL2}
|
||||
BTN_KILL_HOTKEY=${DEVICE_BTN_TL}
|
||||
BTN_KILL_SELECTA=${DEVICE_BTN_SELECT}
|
||||
BTN_KILL_SELECTB=${DEVICE_BTN_START}
|
||||
BTN_KILL_SELECTB=${DEVICE_BTN_START}
|
|
@ -28,27 +28,39 @@ jslisten() {
|
|||
program="/usr/bin/manage_mpv.sh pause"
|
||||
button1=${BTN_PAUSE}
|
||||
|
||||
[Exit]
|
||||
program="/usr/bin/manage_mpv.sh quit"
|
||||
button1=${BTN_QUIT_HOTKEY}
|
||||
button2=${BTN_QUIT_SELECT}
|
||||
[ChangeAudio]
|
||||
program="/usr/bin/manage_mpv.sh changeaudio"
|
||||
button1=${BTN_CHANGEAUDIO}
|
||||
|
||||
[Skip5s]
|
||||
program="/usr/bin/manage_mpv.sh skip5s"
|
||||
button1=${BTN_SKIP5S}
|
||||
[ChangeSub]
|
||||
program="/usr/bin/manage_mpv.sh changesub"
|
||||
button1=${BTN_CHANGESUB}
|
||||
|
||||
[ShowOSD]
|
||||
program="/usr/bin/manage_mpv.sh showosd"
|
||||
button1=${BTN_SHOWOSD}
|
||||
|
||||
[Back5s]
|
||||
program="/usr/bin/manage_mpv.sh back5s"
|
||||
button1=${BTN_BACK5S}
|
||||
|
||||
[Skip60s]
|
||||
program="/usr/bin/manage_mpv.sh skip60s"
|
||||
button1=${BTN_SKIP60S}
|
||||
[Skip5s]
|
||||
program="/usr/bin/manage_mpv.sh skip5s"
|
||||
button1=${BTN_SKIP5S}
|
||||
|
||||
[Back60s]
|
||||
program="/usr/bin/manage_mpv.sh back60s"
|
||||
button1=${BTN_BACK60S}
|
||||
|
||||
[Skip60s]
|
||||
program="/usr/bin/manage_mpv.sh skip60s"
|
||||
button1=${BTN_SKIP60S}
|
||||
|
||||
[Exit]
|
||||
program="/usr/bin/manage_mpv.sh quit"
|
||||
button1=${BTN_QUIT_HOTKEY}
|
||||
button2=${BTN_QUIT_SELECT}
|
||||
|
||||
EOF
|
||||
fi
|
||||
|
||||
|
|
|
@ -1,5 +1,171 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<features>
|
||||
<emulator name="mednafen">
|
||||
<features>
|
||||
<feature name="autosave">
|
||||
<choice name="0"/>
|
||||
<choice name="1"/>
|
||||
</feature>
|
||||
<feature name="shader">
|
||||
<choice name="none"/>
|
||||
<choice name="autoip"/>
|
||||
<choice name="autoipsharper"/>
|
||||
<choice name="scale2x"/>
|
||||
<choice name="sabr"/>
|
||||
<choice name="ipsharper"/>
|
||||
<choice name="ipxnoty"/>
|
||||
<choice name="ipynotx"/>
|
||||
<choice name="ipxnotysharper"/>
|
||||
<choice name="ipynotxsharper"/>
|
||||
<choice name="goat"/>
|
||||
</feature>
|
||||
<feature name="stretch">
|
||||
<choice name="0"/>
|
||||
<choice name="full"/>
|
||||
<choice name="aspect"/>
|
||||
<choice name="aspect_int"/>
|
||||
</feature>
|
||||
</features>
|
||||
<cores>
|
||||
<core name="lynx"/>
|
||||
<core name="gb">
|
||||
<features>
|
||||
<feature name="system_type">
|
||||
<choice name="auto"/>
|
||||
<choice name="dmg"/>
|
||||
<choice name="cgb"/>
|
||||
<choice name="agb"/>
|
||||
</feature>
|
||||
</features>
|
||||
</core>
|
||||
<core name="gba">
|
||||
<features>
|
||||
<feature name="tblur">
|
||||
<choice name="0"/>
|
||||
<choice name="1"/>
|
||||
</feature>
|
||||
</features>
|
||||
</core>
|
||||
<core name="ngp"/>
|
||||
<core name="nes">
|
||||
<features>
|
||||
<feature name="clipsides">
|
||||
<choice name="0"/>
|
||||
<choice name="1"/>
|
||||
</feature>
|
||||
<feature name="no8lim">
|
||||
<choice name="0"/>
|
||||
<choice name="1"/>
|
||||
</feature>
|
||||
</features>
|
||||
</core>
|
||||
<core name="pce">
|
||||
<features>
|
||||
<feature name="forcesgx">
|
||||
<choice name="0"/>
|
||||
<choice name="1"/>
|
||||
</feature>
|
||||
<feature name="nospritelimit">
|
||||
<choice name="0"/>
|
||||
<choice name="1"/>
|
||||
</feature>
|
||||
</features>
|
||||
</core>
|
||||
<core name="pce_fast">
|
||||
<features>
|
||||
<feature name="forcesgx">
|
||||
<choice name="0"/>
|
||||
<choice name="1"/>
|
||||
</feature>
|
||||
<feature name="nospritelimit">
|
||||
<choice name="0"/>
|
||||
<choice name="1"/>
|
||||
</feature>
|
||||
<feature name="ocmultiplier">
|
||||
<choice name="1"/>
|
||||
<choice name="2"/>
|
||||
<choice name="3"/>
|
||||
<choice name="4"/>
|
||||
</feature>
|
||||
<feature name="cdspeed">
|
||||
<choice name="1"/>
|
||||
<choice name="2"/>
|
||||
<choice name="4"/>
|
||||
<choice name="6"/>
|
||||
<choice name="8"/>
|
||||
<choice name="10"/>
|
||||
</feature>
|
||||
</features>
|
||||
</core>
|
||||
<core name="pcfx">
|
||||
<features>
|
||||
<feature name="cpu_emulation">
|
||||
<choice name="fast"/>
|
||||
<choice name="accurate"/>
|
||||
<choice name="auto"/>
|
||||
</feature>
|
||||
<feature name="cdspeed">
|
||||
<choice name="2"/>
|
||||
<choice name="4"/>
|
||||
<choice name="6"/>
|
||||
<choice name="8"/>
|
||||
<choice name="10"/>
|
||||
</feature>
|
||||
</features>
|
||||
</core>
|
||||
<core name="gg"/>
|
||||
<core name="md"/>
|
||||
<core name="sms"/>
|
||||
<core name="snes"/>
|
||||
<core name="snes_faust"/>
|
||||
<core name="ss">
|
||||
<features>
|
||||
<feature name="input.port1">
|
||||
<choice name="gamepad"/>
|
||||
<choice name="3dpad"/>
|
||||
<choice name="gun"/>
|
||||
</feature>
|
||||
<feature name="input.port1.3dpad.mode.defpos">
|
||||
<choice name="digital"/>
|
||||
<choice name="analog"/>
|
||||
</feature>
|
||||
<feature name="cart">
|
||||
<choice name="auto"/>
|
||||
<choice name="none"/>
|
||||
<choice name="backup"/>
|
||||
<choice name="extram1"/>
|
||||
<choice name="extram4"/>
|
||||
<choice name="cs1ram16"/>
|
||||
</feature>
|
||||
<feature name="cart.auto_default">
|
||||
<choice name="none"/>
|
||||
<choice name="backup"/>
|
||||
<choice name="extram1"/>
|
||||
<choice name="extram4"/>
|
||||
<choice name="cs1ram16"/>
|
||||
</feature>
|
||||
</features>
|
||||
</core>
|
||||
<core name="vb">
|
||||
<features>
|
||||
<feature name="cpu_emulation">
|
||||
<choice name="fast"/>
|
||||
<choice name="accurate"/>
|
||||
</feature>
|
||||
<feature name="3dmode">
|
||||
<choice name="anaglyph"/>
|
||||
<choice name="cscope"/>
|
||||
<choice name="sidebyside"/>
|
||||
<choice name="vli"/>
|
||||
<choice name="hli"/>
|
||||
<choice name="left"/>
|
||||
<choice name="right"/>
|
||||
</feature>
|
||||
</features>
|
||||
</core>
|
||||
<core name="wsswan"/>
|
||||
</cores>
|
||||
</emulator>
|
||||
<emulator name="mupen64plus">
|
||||
<cores>
|
||||
<core name="mupen64plus-sa">
|
||||
|
@ -56,6 +222,46 @@
|
|||
</core>
|
||||
</cores>
|
||||
</emulator>
|
||||
<emulator name="kronos">
|
||||
<cores>
|
||||
<core name="kronos-sa">
|
||||
<features>
|
||||
<feature name="video driver">
|
||||
<choice name="opengl" value="opengl"/>
|
||||
<choice name="software" value="software"/>
|
||||
</feature>
|
||||
<feature name="gpu rgb">
|
||||
<choice name="yes" value="1"/>
|
||||
<choice name="no" value="0"/>
|
||||
</feature>
|
||||
<feature name="tessellation">
|
||||
<choice name="gpu" value="gpu"/>
|
||||
<choice name="cpu" value="cpu"/>
|
||||
</feature>
|
||||
<feature name="audio driver">
|
||||
<choice name="openal" value="openal"/>
|
||||
<choice name="sdl" value="sdl"/>
|
||||
</feature>
|
||||
<feature name="show fps">
|
||||
<choice name="yes" value="1"/>
|
||||
<choice name="no" value="0"/>
|
||||
</feature>
|
||||
<feature name="use vsync">
|
||||
<choice name="yes" value="1"/>
|
||||
<choice name="no" value="0"/>
|
||||
</feature>
|
||||
<feature name="use hlebios">
|
||||
<choice name="yes" value="1"/>
|
||||
<choice name="no" value="0"/>
|
||||
</feature>
|
||||
<feature name="use autoskip">
|
||||
<choice name="yes" value="1"/>
|
||||
<choice name="no" value="0"/>
|
||||
</feature>
|
||||
</features>
|
||||
</core>
|
||||
</cores>
|
||||
</emulator>
|
||||
<emulator name="ppsspp">
|
||||
<cores>
|
||||
<core name="ppsspp-sa">
|
||||
|
@ -356,8 +562,9 @@
|
|||
<feature name="aspect ratio">
|
||||
<choice name="16/9" value="0"/>
|
||||
<choice name="4/3" value="1"/>
|
||||
<choice name="21:9" value="2"/>
|
||||
<choice name="stretch" value="3"/>
|
||||
<choice name="21/9" value="2"/>
|
||||
<choice name="16/10" value="3"/>
|
||||
<choice name="stretch" value="4"/>
|
||||
</feature>
|
||||
<feature name="gpu accuracy">
|
||||
<choice name="low" value="0"/>
|
||||
|
|
|
@ -25,16 +25,16 @@ LIBRETRO_CORES="81-lr a5200-lr arduous-lr atari800-lr beetle-gba-lr beetle-lynx-
|
|||
nxengine-lr o2em-lr opera-lr parallel-n64-lr pcsx_rearmed-lr picodrive-lr pokemini-lr potator-lr \
|
||||
prosystem-lr ppsspp-lr puae-lr puae2021-lr px68k-lr quasi88-lr quicknes-lr race-lr reminiscence-lr \
|
||||
sameboy-lr sameduck-lr scummvm-lr smsplus-gx-lr snes9x-lr snes9x2002-lr snes9x2005_plus-lr snes9x2010-lr \
|
||||
stella-lr stella-2014-lr swanstation-lr tic80-lr tgbdual-lr uzem-lr vba-next-lr \
|
||||
stella-lr stella-2014-lr swanstation-lr tic80-lr tgbdual-lr uzem-lr vba-next-lr minivmac-lr \
|
||||
vbam-lr vecx-lr vice-lr yabasanshiro-lr virtualjaguar-lr xmil-lr xrick-lr"
|
||||
|
||||
### Emulators or cores for specific devices
|
||||
case "${DEVICE}" in
|
||||
AMD64)
|
||||
[ "${ENABLE_32BIT}" == "true" ] && EMUS_32BIT="lutris-wine"
|
||||
PKG_EMUS+=" amiberry cemu-sa citra-sa dolphin-sa duckstation-sa melonds-sa minivmacsa mupen64plus-sa \
|
||||
PKG_EMUS+=" amiberry cemu-sa citra-sa dolphin-sa duckstation-sa melonds-sa minivmacsa mupen64plus-sa kronos-sa \
|
||||
nanoboyadvance-sa pcsx2-sa primehack rpcs3-sa ryujinx-sa scummvmsa vita3k-sa xemu-sa yuzu-sa"
|
||||
LIBRETRO_CORES+=" beetle-psx-lr bsnes-hd-lr citra-lr desmume-lr dolphin-lr flycast-lr lrps2-lr mame-lr minivmac-lr \
|
||||
LIBRETRO_CORES+=" beetle-psx-lr bsnes-hd-lr citra-lr desmume-lr dolphin-lr flycast-lr lrps2-lr mame-lr \
|
||||
play-lr"
|
||||
;;
|
||||
RK358*)
|
||||
|
@ -47,7 +47,7 @@ case "${DEVICE}" in
|
|||
RK3399)
|
||||
[ "${ENABLE_32BIT}" == "true" ] && EMUS_32BIT="box86 desmume-lr gpsp-lr pcsx_rearmed-lr"
|
||||
PKG_EMUS+=" amiberry aethersx2-sa dolphin-sa drastic-sa duckstation-sa melonds-sa mupen64plus-sa box64 scummvmsa \
|
||||
yabasanshiro-sa portmaster nanoboyadvance-sa"
|
||||
yabasanshiro-sa portmaster nanoboyadvance-sa mednafen"
|
||||
LIBRETRO_CORES+=" uae4arm beetle-psx-lr bsnes-hd-lr dolphin-lr flycast-lr mame-lr pcsx_rearmed-lr"
|
||||
PKG_RETROARCH+=" retropie-shaders"
|
||||
;;
|
||||
|
@ -357,12 +357,22 @@ makeinstall_target() {
|
|||
add_emu_core famicom retroarch fceumm false
|
||||
add_emu_core famicom retroarch quicknes false
|
||||
add_emu_core famicom retroarch mesen false
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core famicom mednafen nes false
|
||||
;;
|
||||
esac
|
||||
add_es_system famicom
|
||||
|
||||
### Nintendo Famicom Disk System
|
||||
add_emu_core fds retroarch nestopia true
|
||||
add_emu_core fds retroarch fceumm false
|
||||
add_emu_core fds retroarch quicknes false
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core fds mednafen nes false
|
||||
;;
|
||||
esac
|
||||
add_es_system fds
|
||||
|
||||
### Final Burn Neo
|
||||
|
@ -379,6 +389,10 @@ makeinstall_target() {
|
|||
add_emu_core idtech retroarch idtech
|
||||
add_es_system idtech
|
||||
|
||||
### Apple Macintosh Plus
|
||||
add_emu_core macintosh retroarch minivmac true
|
||||
add_es_system macintosh
|
||||
|
||||
### Nintendo Game and Watch
|
||||
add_emu_core gameandwatch retroarch gw
|
||||
add_es_system gameandwatch
|
||||
|
@ -390,6 +404,11 @@ makeinstall_target() {
|
|||
add_emu_core gb retroarch tgbdual false
|
||||
add_emu_core gb retroarch mgba false
|
||||
add_emu_core gb retroarch vbam false
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core gb mednafen gb false
|
||||
;;
|
||||
esac
|
||||
add_es_system gb
|
||||
|
||||
### Nintendo GameBoy Hacks
|
||||
|
@ -399,6 +418,11 @@ makeinstall_target() {
|
|||
add_emu_core gbh retroarch tgbdual false
|
||||
add_emu_core gbh retroarch mgba false
|
||||
add_emu_core gbh retroarch vbam false
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core gbh mednafen gb false
|
||||
;;
|
||||
esac
|
||||
add_es_system gbh
|
||||
|
||||
### Nintendo GameBoy Advance
|
||||
|
@ -419,6 +443,11 @@ makeinstall_target() {
|
|||
add_emu_core gba nanoboyadvance nanoboyadvance-sa false
|
||||
;;
|
||||
esac
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core gba mednafen gba false
|
||||
;;
|
||||
esac
|
||||
add_es_system gba
|
||||
|
||||
### Nintendo GameBoy Advance Hacks
|
||||
|
@ -427,6 +456,11 @@ makeinstall_target() {
|
|||
add_emu_core gbah retroarch vbam false
|
||||
add_emu_core gbah retroarch vba_next false
|
||||
add_emu_core gbah retroarch beetle_gba false
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core gbah mednafen gba false
|
||||
;;
|
||||
esac
|
||||
add_es_system gbah
|
||||
|
||||
### Nintendo GameBoy Color
|
||||
|
@ -436,6 +470,11 @@ makeinstall_target() {
|
|||
add_emu_core gbc retroarch tgbdual false
|
||||
add_emu_core gbc retroarch mgba false
|
||||
add_emu_core gbc retroarch vbam false
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core gbc mednafen gb false
|
||||
;;
|
||||
esac
|
||||
add_es_system gbc
|
||||
|
||||
### Nintendo GameBoy Color Hacks
|
||||
|
@ -445,6 +484,11 @@ makeinstall_target() {
|
|||
add_emu_core gbch retroarch tgbdual false
|
||||
add_emu_core gbch retroarch mgba false
|
||||
add_emu_core gbch retroarch vbam false
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core gbch mednafen gb false
|
||||
;;
|
||||
esac
|
||||
add_es_system gbch
|
||||
|
||||
### Nintendo GameCube
|
||||
|
@ -501,6 +545,11 @@ makeinstall_target() {
|
|||
add_emu_core gamegear retroarch genesis_plus_gx false
|
||||
add_emu_core gamegear retroarch picodrive false
|
||||
add_emu_core gamegear retroarch smsplus false
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core gamegear mednafen gg false
|
||||
;;
|
||||
esac
|
||||
add_es_system gamegear
|
||||
|
||||
### Sega GameGear Hacks
|
||||
|
@ -508,6 +557,11 @@ makeinstall_target() {
|
|||
add_emu_core ggh retroarch genesis_plus_gx false
|
||||
add_emu_core ggh retroarch picodrive false
|
||||
add_emu_core ggh retroarch smsplus false
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core ggh mednafen gg false
|
||||
;;
|
||||
esac
|
||||
add_es_system ggh
|
||||
|
||||
### Intellivision
|
||||
|
@ -525,6 +579,11 @@ makeinstall_target() {
|
|||
### Atari Lynx
|
||||
add_emu_core atarilynx retroarch handy true
|
||||
add_emu_core atarilynx retroarch beetle_lynx false
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core atarilynx mednafen lynx false
|
||||
;;
|
||||
esac
|
||||
add_es_system atarilynx
|
||||
|
||||
### Infocom Z-Machine
|
||||
|
@ -545,6 +604,11 @@ makeinstall_target() {
|
|||
add_emu_core megadrive-japan retroarch genesis_plus_gx true
|
||||
add_emu_core megadrive-japan retroarch genesis_plus_gx_wide false
|
||||
add_emu_core megadrive-japan retroarch picodrive
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core megadrive-japan mednafen md false
|
||||
;;
|
||||
esac
|
||||
add_es_system megadrive-japan
|
||||
|
||||
### Microsoft MS-DOS
|
||||
|
@ -555,6 +619,11 @@ makeinstall_target() {
|
|||
### Nintendo MSU-1
|
||||
add_emu_core snesmsu1 retroarch snes9x true
|
||||
add_emu_core snesmsu1 retroarch beetle_supafaust false
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core snesmsu1 mednafen snes_faust false
|
||||
;;
|
||||
esac
|
||||
add_es_system snesmsu1
|
||||
|
||||
### Microsoft MSX
|
||||
|
@ -610,11 +679,21 @@ makeinstall_target() {
|
|||
### SNK NeoGeo Pocket
|
||||
add_emu_core ngp retroarch beetle_ngp true
|
||||
add_emu_core ngp retroarch race false
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core ngp mednafen ngp false
|
||||
;;
|
||||
esac
|
||||
add_es_system ngp
|
||||
|
||||
### SNK NeoGeo Pocket Color
|
||||
add_emu_core ngpc retroarch beetle_ngp true
|
||||
add_emu_core ngpc retroarch race false
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core ngpc mednafen ngp false
|
||||
;;
|
||||
esac
|
||||
add_es_system ngpc
|
||||
|
||||
### Nintendo 64
|
||||
|
@ -660,6 +739,11 @@ makeinstall_target() {
|
|||
add_emu_core nes retroarch fceumm false
|
||||
add_emu_core nes retroarch quicknes false
|
||||
add_emu_core nes retroarch mesen false
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core nes mednafen nes false
|
||||
;;
|
||||
esac
|
||||
add_es_system nes
|
||||
|
||||
### Nintendo NES Hacks
|
||||
|
@ -667,6 +751,11 @@ makeinstall_target() {
|
|||
add_emu_core nesh retroarch fceumm false
|
||||
add_emu_core nesh retroarch quicknes false
|
||||
add_emu_core nesh retroarch mesen false
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core nesh mednafen nesh false
|
||||
;;
|
||||
esac
|
||||
add_es_system nesh
|
||||
|
||||
### Magnavox Odyssey
|
||||
|
@ -689,16 +778,33 @@ makeinstall_target() {
|
|||
add_emu_core pcengine retroarch beetle_pce_fast true
|
||||
add_emu_core pcengine retroarch beetle_pce false
|
||||
add_emu_core pcengine retroarch beetle_supergrafx false
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core pcengine mednafen pce false
|
||||
add_emu_core pcengine mednafen pce_fast false
|
||||
;;
|
||||
esac
|
||||
add_es_system pcengine
|
||||
|
||||
### NEC PC Engine CD
|
||||
add_emu_core pcenginecd retroarch beetle_pce_fast true
|
||||
add_emu_core pcenginecd retroarch beetle_pce false
|
||||
add_emu_core pcenginecd retroarch beetle_supergrafx false
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core pcenginecd mednafen pce false
|
||||
add_emu_core pcenginecd mednafen pce_fast false
|
||||
;;
|
||||
esac
|
||||
add_es_system pcenginecd
|
||||
|
||||
### NEC PC-FX
|
||||
add_emu_core pcfx retroarch beetle_pcfx true
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core pcfx mednafen pcfx false
|
||||
;;
|
||||
esac
|
||||
add_es_system pcfx
|
||||
|
||||
### Lexaloffle PICO-8
|
||||
|
@ -717,17 +823,28 @@ makeinstall_target() {
|
|||
add_emu_core psx retroarch beetle_psx false
|
||||
add_emu_core psx duckstation duckstation-sa false
|
||||
;;
|
||||
RK3399|RK3588)
|
||||
RK3588)
|
||||
add_emu_core psx retroarch pcsx_rearmed32 true
|
||||
add_emu_core psx retroarch pcsx_rearmed false
|
||||
add_emu_core psx retroarch beetle_psx false
|
||||
add_emu_core psx duckstation duckstation-sa false
|
||||
;;
|
||||
RK3326|RK3566*)
|
||||
RK3399)
|
||||
add_emu_core psx retroarch pcsx_rearmed32 true
|
||||
add_emu_core psx retroarch pcsx_rearmed false
|
||||
add_emu_core psx retroarch beetle_psx false
|
||||
add_emu_core psx mednafen psx false
|
||||
add_emu_core psx duckstation duckstation-sa false
|
||||
;;
|
||||
RK3566*)
|
||||
add_emu_core psx retroarch pcsx_rearmed32 true
|
||||
add_emu_core psx retroarch pcsx_rearmed false
|
||||
add_emu_core psx duckstation duckstation-sa false
|
||||
;;
|
||||
RK3326)
|
||||
add_emu_core psx retroarch pcsx_rearmed32 true
|
||||
add_emu_core psx retroarch pcsx_rearmed false
|
||||
;;
|
||||
esac
|
||||
add_emu_core psx retroarch duckstation false
|
||||
add_emu_core psx retroarch swanstation false
|
||||
|
@ -815,12 +932,22 @@ makeinstall_target() {
|
|||
add_emu_core genesis retroarch genesis_plus_gx true
|
||||
add_emu_core genesis retroarch genesis_plus_gx_wide false
|
||||
add_emu_core genesis retroarch picodrive false
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core genesis mednafen md false
|
||||
;;
|
||||
esac
|
||||
add_es_system genesis
|
||||
|
||||
### Sega Genesis Hacks
|
||||
add_emu_core genh retroarch genesis_plus_gx true
|
||||
add_emu_core genh retroarch genesis_plus_gx_wide false
|
||||
add_emu_core genh retroarch picodrive false
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core genh mednafen md false
|
||||
;;
|
||||
esac
|
||||
add_es_system genh
|
||||
|
||||
### Sega MasterSystem
|
||||
|
@ -828,12 +955,22 @@ makeinstall_target() {
|
|||
add_emu_core mastersystem retroarch genesis_plus_gx false
|
||||
add_emu_core mastersystem retroarch picodrive false
|
||||
add_emu_core mastersystem retroarch smsplus false
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core mastersystem mednafen sms false
|
||||
;;
|
||||
esac
|
||||
add_es_system mastersystem
|
||||
|
||||
### Sega MegaDrive
|
||||
add_emu_core megadrive retroarch genesis_plus_gx true
|
||||
add_emu_core megadrive retroarch genesis_plus_gx_wide false
|
||||
add_emu_core megadrive retroarch picodrive false
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core megadrive mednafen md false
|
||||
;;
|
||||
esac
|
||||
add_es_system megadrive
|
||||
|
||||
### Welback Holdings Mega Duck
|
||||
|
@ -847,12 +984,30 @@ makeinstall_target() {
|
|||
add_emu_core saturn retroarch yabasanshiro false
|
||||
;;
|
||||
x86_64)
|
||||
add_emu_core saturn kronos kronos-sa true
|
||||
add_emu_core saturn retroarch yabasanshiro true
|
||||
;;
|
||||
esac
|
||||
add_emu_core saturn retroarch beetle_saturn false
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core saturn mednafen ss false
|
||||
;;
|
||||
esac
|
||||
add_es_system saturn
|
||||
|
||||
### Sega ST-V
|
||||
case ${DEVICE} in
|
||||
AMD64|S922X*|RK35*)
|
||||
add_emu_core st-v retroarch beetle_saturn true
|
||||
;;
|
||||
RK3399)
|
||||
add_emu_core st-v retroarch beetle_saturn true
|
||||
add_emu_core st-v mednafen ss false
|
||||
;;
|
||||
esac
|
||||
add_es_system st-v
|
||||
|
||||
### Sega SG-1000
|
||||
add_emu_core sg-1000 retroarch gearsystem true
|
||||
add_emu_core sg-1000 retroarch genesis_plus_gx false
|
||||
|
@ -883,6 +1038,12 @@ makeinstall_target() {
|
|||
### NEC Super Grafx
|
||||
add_emu_core supergrafx retroarch beetle_supergrafx
|
||||
add_emu_core supergrafx retroarch beetle_pce
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core supergrafx mednafen pce false
|
||||
add_emu_core supergrafx mednafen pce_fast false
|
||||
;;
|
||||
esac
|
||||
add_es_system supergrafx
|
||||
|
||||
### Nintendo SNES
|
||||
|
@ -894,6 +1055,12 @@ makeinstall_target() {
|
|||
add_emu_core snes retroarch bsnes false
|
||||
add_emu_core snes retroarch bsnes_mercury_performance false
|
||||
add_emu_core snes retroarch bsnes_hd_beta false
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core snes mednafen snes_faust false
|
||||
add_emu_core snes mednafen snes false
|
||||
;;
|
||||
esac
|
||||
add_es_system snes
|
||||
|
||||
### Nintendo SNES Hacks
|
||||
|
@ -905,6 +1072,12 @@ makeinstall_target() {
|
|||
add_emu_core snesh retroarch bsnes false
|
||||
add_emu_core snesh retroarch bsnes_mercury_performance false
|
||||
add_emu_core snesh retroarch bsnes_hd_beta false
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core snesh mednafen snes false
|
||||
add_emu_core snesh mednafen snes_faust false
|
||||
;;
|
||||
esac
|
||||
add_es_system snesh
|
||||
|
||||
### Nintendo Super Famicom
|
||||
|
@ -916,6 +1089,12 @@ makeinstall_target() {
|
|||
add_emu_core sfc retroarch bsnes false
|
||||
add_emu_core sfc retroarch bsnes_mercury_performance false
|
||||
add_emu_core sfc retroarch bsnes_hd_beta false
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core sfc mednafen snes false
|
||||
add_emu_core sfc mednafen snes_faust false
|
||||
;;
|
||||
esac
|
||||
add_es_system sfc
|
||||
|
||||
### Nintendo Stellaview
|
||||
|
@ -941,12 +1120,24 @@ makeinstall_target() {
|
|||
add_emu_core tg16 retroarch beetle_pce_fast true
|
||||
add_emu_core tg16 retroarch beetle_pce false
|
||||
add_emu_core tg16 retroarch beetle_supergrafx false
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core tg16 mednafen pce false
|
||||
add_emu_core tg16 mednafen pce_fast false
|
||||
;;
|
||||
esac
|
||||
add_es_system tg16
|
||||
|
||||
### NEC TurboGrafx CD
|
||||
add_emu_core tg16cd retroarch beetle_pce_fast true
|
||||
add_emu_core tg16cd retroarch beetle_pce false
|
||||
add_emu_core tg16cd retroarch beetle_supergrafx false
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core tg16cd mednafen pce false
|
||||
add_emu_core tg16cd mednafen pce_fast false
|
||||
;;
|
||||
esac
|
||||
add_es_system tg16cd
|
||||
|
||||
### Belogic Uzebox
|
||||
|
@ -963,14 +1154,29 @@ makeinstall_target() {
|
|||
|
||||
### Nintendo VirtualBoy
|
||||
add_emu_core virtualboy retroarch beetle_vb true
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core virtualboy mednafen vb false
|
||||
;;
|
||||
esac
|
||||
add_es_system virtualboy
|
||||
|
||||
### Bandai Wonderswan
|
||||
add_emu_core wonderswan retroarch beetle_wswan true
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core wonderswan mednafen wswan false
|
||||
;;
|
||||
esac
|
||||
add_es_system wonderswan
|
||||
|
||||
### Bandai Wonderswan Color
|
||||
add_emu_core wonderswancolor retroarch beetle_wswan true
|
||||
case ${DEVICE} in
|
||||
RK3399)
|
||||
add_emu_core wonderswancolor mednafen wswan false
|
||||
;;
|
||||
esac
|
||||
add_es_system wonderswancolor
|
||||
|
||||
### Sharp x68000
|
||||
|
|
|
@ -4147,7 +4147,7 @@ CONFIG_DRM_KMS_HELPER=y
|
|||
# CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set
|
||||
CONFIG_DRM_DEBUG_MODESET_LOCK=y
|
||||
CONFIG_DRM_FBDEV_EMULATION=y
|
||||
CONFIG_DRM_FBDEV_OVERALLOC=100
|
||||
CONFIG_DRM_FBDEV_OVERALLOC=200
|
||||
# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set
|
||||
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
|
||||
CONFIG_DRM_DISPLAY_HELPER=y
|
||||
|
|
|
@ -65,3 +65,7 @@
|
|||
|
||||
# debug tty path
|
||||
DEBUG_TTY="/dev/ttyS2"
|
||||
|
||||
# build with entware installer
|
||||
ENTWARE_SUPPORT="yes"
|
||||
ENTWARE_ARCH="aarch64-k3.10"
|
||||
|
|
|
@ -18,7 +18,7 @@ PKG_PATCH_DIRS+="${DEVICE}"
|
|||
|
||||
case ${DEVICE} in
|
||||
S922X*)
|
||||
PKG_VERSION="6.1.59"
|
||||
PKG_VERSION="6.1.60"
|
||||
PKG_URL="https://www.kernel.org/pub/linux/kernel/v6.x/${PKG_NAME}-${PKG_VERSION}.tar.xz"
|
||||
;;
|
||||
esac
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
--- a/arch/arm64/boot/dts/amlogic/Makefile
|
||||
+++ b/arch/arm64/boot/dts/amlogic/Makefile
|
||||
@@ -1,71 +1,5 @@
|
||||
diff -rupN linux.orig/arch/arm64/boot/dts/amlogic/Makefile linux/arch/arm64/boot/dts/amlogic/Makefile
|
||||
--- linux.orig/arch/arm64/boot/dts/amlogic/Makefile 2023-09-12 12:02:56.937601871 +0000
|
||||
+++ linux/arch/arm64/boot/dts/amlogic/Makefile 2023-09-12 12:03:27.490291628 +0000
|
||||
@@ -1,69 +1,5 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
-dtb-$(CONFIG_ARCH_MESON) += meson-a1-ad401.dtb
|
||||
-dtb-$(CONFIG_ARCH_MESON) += meson-axg-jethome-jethub-j100.dtb
|
||||
|
@ -15,10 +16,9 @@
|
|||
-dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gsking-x.dtb
|
||||
-dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking-pro.dtb
|
||||
-dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-go-ultra.dtb
|
||||
+dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-go-ultra.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2-plus.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-powkiddy-rgb10-max-3.dtb
|
||||
-dtb-$(CONFIG_ARCH_MESON) += meson-g12b-s922x-khadas-vim3.dtb
|
||||
-dtb-$(CONFIG_ARCH_MESON) += meson-g12b-ugoos-am6.dtb
|
||||
-dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-kii-pro.dtb
|
||||
|
@ -72,3 +72,4 @@
|
|||
-dtb-$(CONFIG_ARCH_MESON) += meson-sm1-sei610.dtb
|
||||
-dtb-$(CONFIG_ARCH_MESON) += meson-sm1-x96-air-gbit.dtb
|
||||
-dtb-$(CONFIG_ARCH_MESON) += meson-sm1-x96-air.dtb
|
||||
+dtb-$(CONFIG_ARCH_MESON) += meson-g12b-powkiddy-rgb10-max-3.dtb
|
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,999 @@
|
|||
diff -rupN linux.orig/arch/arm64/boot/dts/amlogic/meson-g12b-powkiddy-rgb10-max-3.dts linux/arch/arm64/boot/dts/amlogic/meson-g12b-powkiddy-rgb10-max-3.dts
|
||||
--- linux.orig/arch/arm64/boot/dts/amlogic/meson-g12b-powkiddy-rgb10-max-3.dts 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ linux/arch/arm64/boot/dts/amlogic/meson-g12b-powkiddy-rgb10-max-3.dts 2023-09-12 12:04:13.567330573 +0000
|
||||
@@ -0,0 +1,995 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (c) 2022 Neil Armstrong <narmstrong@kernel.org>
|
||||
+ * Copyright (C) 2022-present - The JELOS Project (https://github.com/JustEnoughLinuxOS)
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "meson-g12b-a311d.dtsi"
|
||||
+#include <dt-bindings/input/input.h>
|
||||
+#include <dt-bindings/leds/common.h>
|
||||
+#include <dt-bindings/gpio/meson-g12a-gpio.h>
|
||||
+#include <dt-bindings/sound/meson-g12a-toacodec.h>
|
||||
+#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "powkiddy,rgb10-max-3", "amlogic,s922x", "amlogic,g12b";
|
||||
+ model = "Powkiddy RGB10 MAX 3";
|
||||
+
|
||||
+ aliases {
|
||||
+ serial0 = &uart_AO;
|
||||
+ rtc0 = &vrtc;
|
||||
+ mmc0 = &sd_emmc_c;
|
||||
+ mmc1 = &sd_emmc_b;
|
||||
+ };
|
||||
+
|
||||
+ panel_backlight: backlight {
|
||||
+ compatible = "pwm-backlight";
|
||||
+ pwms = <&pwm_ef 1 40000 0>;
|
||||
+ brightness-levels = <0 255>;
|
||||
+ num-interpolated-steps = <255>;
|
||||
+ default-brightness-level = <255>;
|
||||
+ };
|
||||
+
|
||||
+ bat: battery {
|
||||
+ compatible = "simple-battery";
|
||||
+ voltage-max-design-microvolt = <4200000>;
|
||||
+ voltage-min-design-microvolt = <3500000>;
|
||||
+ charge-full-design-microamp-hours = <4000000>;
|
||||
+ charge-term-current-microamp = <200000>;
|
||||
+ constant-charge-current-max-microamp = <1500000>;
|
||||
+ constant-charge-voltage-max-microvolt = <4200000>;
|
||||
+ factory-internal-resistance-micro-ohms = <180000>;
|
||||
+
|
||||
+
|
||||
+ ocv-capacity-celsius = <20>;
|
||||
+ ocv-capacity-table-0 = <4146950 100>, <4001920 95>, <3967900 90>, <3919950 85>,
|
||||
+ <3888450 80>, <3861850 75>, <3831540 70>, <3799130 65>,
|
||||
+ <3768190 60>, <3745650 55>, <3726610 50>, <3711630 45>,
|
||||
+ <3696720 40>, <3685660 35>, <3674950 30>, <3663050 25>,
|
||||
+ <3649470 20>, <3635260 15>, <3616920 10>, <3592440 5>,
|
||||
+ <3574170 0>;
|
||||
+ };
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = "serial0:115200n8";
|
||||
+ };
|
||||
+
|
||||
+ codec_clk: codec-clk {
|
||||
+ compatible = "fixed-clock";
|
||||
+ clock-frequency = <12288000>;
|
||||
+ clock-output-names = "codec_clk";
|
||||
+ #clock-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ gpio_keys: volume-keys {
|
||||
+ compatible = "gpio-keys-polled";
|
||||
+ poll-interval = <5>;
|
||||
+ autorepeat;
|
||||
+
|
||||
+ volume-up-button {
|
||||
+ label = "VOLUME-UP";
|
||||
+ linux,code = <KEY_VOLUMEUP>;
|
||||
+ gpios = <&gpio GPIOX_8 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+ volume-down-button {
|
||||
+ label = "VOLUME-DOWN";
|
||||
+ linux,code = <KEY_VOLUMEDOWN>;
|
||||
+ gpios = <&gpio GPIOX_9 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ joypad: gou_joypad {
|
||||
+ compatible = "odroidgou-joypad";
|
||||
+ poll-interval = <10>;
|
||||
+ pinctrl-0 = <&keypad_gpio_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ status = "okay";
|
||||
+
|
||||
+ joypad-name = "GO-Ultra Gamepad";
|
||||
+ //joypad-vendor = <0x045e>;
|
||||
+ joypad-product = <0x1000>;
|
||||
+ joypad-revision = <0x0100>;
|
||||
+
|
||||
+ /* Analog sticks */
|
||||
+
|
||||
+ io-channels = <&saradc 0>, <&saradc 1>, <&saradc 2>, <&saradc 3>;
|
||||
+ io-channel-names = "key-RY", "key-RX", "key-LY", "key-LX";
|
||||
+ button-adc-scale = <4>;
|
||||
+ button-adc-deadzone = <400>;
|
||||
+ button-adc-fuzz = <64>;
|
||||
+ button-adc-flat = <32>;
|
||||
+ abs_x-p-tuning = <350>;
|
||||
+ abs_x-n-tuning = <350>;
|
||||
+ abs_y-p-tuning = <350>;
|
||||
+ abs_y-n-tuning = <350>;
|
||||
+ abs_rx-p-tuning = <350>;
|
||||
+ abs_rx-n-tuning = <350>;
|
||||
+ abs_ry-p-tuning = <350>;
|
||||
+ abs_ry-n-tuning = <350>;
|
||||
+
|
||||
+ /* Buttons */
|
||||
+ sw1 {
|
||||
+ gpios = <&gpio GPIOX_0 GPIO_ACTIVE_LOW>;
|
||||
+ label = "GPIO DPAD-UP";
|
||||
+ linux,code = <BTN_DPAD_UP>; // 0x220
|
||||
+ };
|
||||
+ sw2 {
|
||||
+ gpios = <&gpio GPIOX_1 GPIO_ACTIVE_LOW>;
|
||||
+ label = "GPIO DPAD-DOWN";
|
||||
+ linux,code = <BTN_DPAD_DOWN>; // 0x221
|
||||
+ };
|
||||
+ sw3 {
|
||||
+ gpios = <&gpio GPIOX_2 GPIO_ACTIVE_LOW>;
|
||||
+ label = "GPIO DPAD-LEFT";
|
||||
+ linux,code = <BTN_DPAD_LEFT>; // 0x222
|
||||
+ };
|
||||
+ sw4 {
|
||||
+ gpios = <&gpio GPIOX_3 GPIO_ACTIVE_LOW>;
|
||||
+ label = "GPIO DPAD-RIGHT";
|
||||
+ linux,code = <BTN_DPAD_RIGHT>; // 0x223
|
||||
+ };
|
||||
+ sw5 {
|
||||
+ gpios = <&gpio GPIOX_4 GPIO_ACTIVE_LOW>;
|
||||
+ label = "GPIO BTN-A";
|
||||
+ linux,code = <BTN_EAST>; // 0x131
|
||||
+ };
|
||||
+ sw6 {
|
||||
+ gpios = <&gpio GPIOX_5 GPIO_ACTIVE_LOW>;
|
||||
+ label = "GPIO BTN-B";
|
||||
+ linux,code = <BTN_SOUTH>; // 0x130
|
||||
+ };
|
||||
+ sw7 {
|
||||
+ gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
|
||||
+ label = "GPIO BTN-Y";
|
||||
+ linux,code = <BTN_WEST>; // 0x134
|
||||
+ };
|
||||
+ sw8 {
|
||||
+ gpios = <&gpio GPIOX_7 GPIO_ACTIVE_LOW>;
|
||||
+ label = "GPIO BTN-X";
|
||||
+ linux,code = <BTN_NORTH>; // 0x133
|
||||
+ };
|
||||
+ sw11 {
|
||||
+ gpios = <&gpio GPIOX_10 GPIO_ACTIVE_LOW>;
|
||||
+ label = "GPIO F2";
|
||||
+ linux,code = <BTN_TRIGGER_HAPPY2>; // 0x2c2
|
||||
+ };
|
||||
+ sw12 {
|
||||
+ gpios = <&gpio GPIOX_17 GPIO_ACTIVE_LOW>;
|
||||
+ label = "GPIO F3";
|
||||
+ linux,code = <BTN_TRIGGER_HAPPY3>; // 0x2c3
|
||||
+ };
|
||||
+ sw13 {
|
||||
+ gpios = <&gpio GPIOX_16 GPIO_ACTIVE_LOW>;
|
||||
+ label = "GPIO F4";
|
||||
+ linux,code = <BTN_TRIGGER_HAPPY4>; // 0x2c4
|
||||
+ };
|
||||
+ sw14 {
|
||||
+ gpios = <&gpio GPIOX_11 GPIO_ACTIVE_LOW>;
|
||||
+ label = "GPIO F5";
|
||||
+ linux,code = <BTN_TRIGGER_HAPPY5>; // 0x13c
|
||||
+ };
|
||||
+ sw15 {
|
||||
+ gpios = <&gpio GPIOX_14 GPIO_ACTIVE_LOW>;
|
||||
+ label = "GPIO TOP-LEFT";
|
||||
+ linux,code = <BTN_TL>; // 0x02
|
||||
+ };
|
||||
+ sw16 {
|
||||
+ gpios = <&gpio GPIOX_15 GPIO_ACTIVE_LOW>;
|
||||
+ label = "GPIO TOP-RIGHT";
|
||||
+ linux,code = <BTN_TR>; // 0x05
|
||||
+ };
|
||||
+ sw17 {
|
||||
+ gpios = <&gpio GPIOX_13 GPIO_ACTIVE_LOW>;
|
||||
+ label = "GPIO F6";
|
||||
+ linux,code = <BTN_TRIGGER_HAPPY6>;
|
||||
+ };
|
||||
+ sw18 {
|
||||
+ gpios = <&gpio GPIOX_12 GPIO_ACTIVE_LOW>;
|
||||
+ label = "GPIO F1";
|
||||
+ linux,code = <BTN_TRIGGER_HAPPY1>;
|
||||
+ };
|
||||
+ sw19 {
|
||||
+ gpios = <&gpio GPIOX_18 GPIO_ACTIVE_LOW>;
|
||||
+ label = "GPIO TOP-RIGHT2";
|
||||
+ linux,code = <BTN_TR2>;
|
||||
+ };
|
||||
+ sw20 {
|
||||
+ gpios = <&gpio GPIOX_19 GPIO_ACTIVE_LOW>;
|
||||
+ label = "GPIO TOP-LEFT2";
|
||||
+ linux,code = <BTN_TL2>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ memory@0 {
|
||||
+ device_type = "memory";
|
||||
+ reg = <0x0 0x0 0x0 0x40000000>;
|
||||
+ };
|
||||
+
|
||||
+ emmc_pwrseq: emmc-pwrseq {
|
||||
+ compatible = "mmc-pwrseq-emmc";
|
||||
+ reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+
|
||||
+ led-blue {
|
||||
+ color = <LED_COLOR_ID_BLUE>;
|
||||
+ function = LED_FUNCTION_STATUS;
|
||||
+ gpios = <&gpio_ao GPIOAO_11 GPIO_ACTIVE_HIGH>;
|
||||
+ linux,default-trigger = "none";
|
||||
+ };
|
||||
+
|
||||
+ led-red {
|
||||
+ color = <LED_COLOR_ID_RED>;
|
||||
+ function = LED_FUNCTION_STATUS;
|
||||
+ gpios = <&gpio_ao GPIOAO_6 GPIO_ACTIVE_HIGH>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ poweroff {
|
||||
+ compatible = "hardkernel,odroid-go-ultra-poweroff";
|
||||
+ hardkernel,rk817-pmic = <&rk817>;
|
||||
+ hardkernel,rk818-pmic = <&rk818>;
|
||||
+ };
|
||||
+
|
||||
+ vdd_sys: regulator-vdd_sys {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "VDD_SYS";
|
||||
+ regulator-min-microvolt = <3800000>;
|
||||
+ regulator-max-microvolt = <3800000>;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ sound {
|
||||
+ compatible = "amlogic,axg-sound-card";
|
||||
+ model = "RGB10-MAX3";
|
||||
+ audio-aux-devs = <&tdmout_b>;
|
||||
+ audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1",
|
||||
+ "TDM_B Playback", "TDMOUT_B OUT";
|
||||
+
|
||||
+ assigned-clocks = <&clkc CLKID_MPLL2>,
|
||||
+ <&clkc CLKID_MPLL0>,
|
||||
+ <&clkc CLKID_MPLL1>;
|
||||
+ assigned-clock-parents = <0>, <0>, <0>;
|
||||
+ assigned-clock-rates = <294912000>,
|
||||
+ <270950400>,
|
||||
+ <393216000>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ dai-link-0 {
|
||||
+ sound-dai = <&frddr_a>;
|
||||
+ };
|
||||
+
|
||||
+ dai-link-1 {
|
||||
+ sound-dai = <&frddr_b>;
|
||||
+ };
|
||||
+
|
||||
+ dai-link-2 {
|
||||
+ sound-dai = <&frddr_c>;
|
||||
+ };
|
||||
+
|
||||
+ dai-link-3 {
|
||||
+ sound-dai = <&toddr_a>;
|
||||
+ };
|
||||
+
|
||||
+ dai-link-4 {
|
||||
+ sound-dai = <&toddr_b>;
|
||||
+ };
|
||||
+
|
||||
+ dai-link-5 {
|
||||
+ sound-dai = <&toddr_c>;
|
||||
+ };
|
||||
+
|
||||
+ /* 8ch hdmi interface */
|
||||
+ dai-link-6 {
|
||||
+ sound-dai = <&tdmif_b>;
|
||||
+ dai-format = "i2s";
|
||||
+ dai-tdm-slot-tx-mask-0 = <1 1>;
|
||||
+ dai-tdm-slot-tx-mask-1 = <1 1>;
|
||||
+ mclk-fs = <256>;
|
||||
+
|
||||
+ codec-0 {
|
||||
+ sound-dai = <&rk817>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&arb {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&cpu0 {
|
||||
+ cpu-supply = <&vddcpu_b>;
|
||||
+ operating-points-v2 = <&cpu_opp_table_0>;
|
||||
+ clocks = <&clkc CLKID_CPU_CLK>;
|
||||
+ clock-latency = <50000>;
|
||||
+};
|
||||
+
|
||||
+&cpu1 {
|
||||
+ cpu-supply = <&vddcpu_b>;
|
||||
+ operating-points-v2 = <&cpu_opp_table_0>;
|
||||
+ clocks = <&clkc CLKID_CPU_CLK>;
|
||||
+ clock-latency = <50000>;
|
||||
+};
|
||||
+
|
||||
+&cpu100 {
|
||||
+ cpu-supply = <&vddcpu_a>;
|
||||
+ operating-points-v2 = <&cpub_opp_table_1>;
|
||||
+ clocks = <&clkc CLKID_CPUB_CLK>;
|
||||
+ clock-latency = <50000>;
|
||||
+};
|
||||
+
|
||||
+&cpu101 {
|
||||
+ cpu-supply = <&vddcpu_a>;
|
||||
+ operating-points-v2 = <&cpub_opp_table_1>;
|
||||
+ clocks = <&clkc CLKID_CPUB_CLK>;
|
||||
+ clock-latency = <50000>;
|
||||
+};
|
||||
+
|
||||
+&cpu102 {
|
||||
+ cpu-supply = <&vddcpu_a>;
|
||||
+ operating-points-v2 = <&cpub_opp_table_1>;
|
||||
+ clocks = <&clkc CLKID_CPUB_CLK>;
|
||||
+ clock-latency = <50000>;
|
||||
+};
|
||||
+
|
||||
+&cpu103 {
|
||||
+ cpu-supply = <&vddcpu_a>;
|
||||
+ operating-points-v2 = <&cpub_opp_table_1>;
|
||||
+ clocks = <&clkc CLKID_CPUB_CLK>;
|
||||
+ clock-latency = <50000>;
|
||||
+};
|
||||
+
|
||||
+/* RK817 only supports 12.5mV steps, round up the values */
|
||||
+&cpu_opp_table_0 {
|
||||
+ opp-667000000 {
|
||||
+ opp-microvolt = <731250>;
|
||||
+ };
|
||||
+ opp-1000000000 {
|
||||
+ opp-microvolt = <760000>;
|
||||
+ };
|
||||
+ opp-1200000000 {
|
||||
+ opp-microvolt = <780000>;
|
||||
+ };
|
||||
+ opp-1398000000 {
|
||||
+ opp-microvolt = <800000>;
|
||||
+ };
|
||||
+ opp-1512000000 {
|
||||
+ opp-microvolt = <860000>;
|
||||
+ };
|
||||
+ opp-1608000000 {
|
||||
+ opp-microvolt = <900000>;
|
||||
+ };
|
||||
+ opp-1704000000 {
|
||||
+ opp-microvolt = <950000>;
|
||||
+ };
|
||||
+ opp-1800000000 {
|
||||
+ opp-microvolt = <1000000>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+/* RK818 only supports 12.5mV steps, round up the values */
|
||||
+&cpub_opp_table_1 {
|
||||
+ opp-667000000 {
|
||||
+ opp-microvolt = <750000>;
|
||||
+ };
|
||||
+ opp-1000000000 {
|
||||
+ opp-microvolt = <775000>;
|
||||
+ };
|
||||
+ opp-1200000000 {
|
||||
+ opp-microvolt = <775000>;
|
||||
+ };
|
||||
+ opp-1398000000 {
|
||||
+ opp-microvolt = <800000>;
|
||||
+ };
|
||||
+ opp-1512000000 {
|
||||
+ opp-microvolt = <825000>;
|
||||
+ };
|
||||
+ opp-1608000000 {
|
||||
+ opp-microvolt = <862500>;
|
||||
+ };
|
||||
+ opp-1704000000 {
|
||||
+ opp-microvolt = <900000>;
|
||||
+ };
|
||||
+ opp-1800000000 {
|
||||
+ opp-microvolt = <987500>;
|
||||
+ };
|
||||
+ opp-1908000000 {
|
||||
+ opp-microvolt = <1025000>;
|
||||
+ };
|
||||
+ opp-2016000000 {
|
||||
+ opp-hz = /bits/ 64 <2016000000>;
|
||||
+ opp-microvolt = <1025000>;
|
||||
+ };
|
||||
+ opp-2100000000 {
|
||||
+ opp-hz = /bits/ 64 <2100000000>;
|
||||
+ opp-microvolt = <1025000>;
|
||||
+ };
|
||||
+ opp-2208000000 {
|
||||
+ opp-hz = /bits/ 64 <2208000000>;
|
||||
+ opp-microvolt = <1050000>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&i2c_AO {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&i2c_ao_sck_pins>, <&i2c_ao_sda_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+
|
||||
+ rk818: pmic@1c {
|
||||
+ compatible = "rockchip,rk818";
|
||||
+ reg = <0x1c>;
|
||||
+ interrupt-parent = <&gpio_intc>;
|
||||
+ interrupts = <7 IRQ_TYPE_LEVEL_LOW>; /* GPIOAO_7 */
|
||||
+ rockchip,system-power-controller;
|
||||
+ clock-output-names = "rk808-clkout1", "rk808-clkout2";
|
||||
+
|
||||
+ vcc1-supply = <&vdd_sys>;
|
||||
+ vcc2-supply = <&vdd_sys>;
|
||||
+ vcc3-supply = <&vdd_sys>;
|
||||
+ vcc4-supply = <&vdd_sys>;
|
||||
+ vcc6-supply = <&vdd_sys>;
|
||||
+ vcc7-supply = <&vcc_2v3>;
|
||||
+ vcc8-supply = <&vcc_2v3>;
|
||||
+ vcc9-supply = <&vddao_3v3>;
|
||||
+ boost-supply = <&vdd_sys>;
|
||||
+ switch-supply = <&vdd_sys>;
|
||||
+
|
||||
+ regulators {
|
||||
+ vddcpu_a: DCDC_REG1 {
|
||||
+ regulator-name = "vddcpu_a";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <750000>;
|
||||
+ regulator-max-microvolt = <1050000>;
|
||||
+ regulator-ramp-delay = <6001>;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <750000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vdd_ee: DCDC_REG2 {
|
||||
+ regulator-name = "vdd_ee";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <875000>;
|
||||
+ regulator-max-microvolt = <900000>;
|
||||
+ regulator-ramp-delay = <6001>;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <875000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vddq_1v1: DCDC_REG3 {
|
||||
+ regulator-name = "vddq_1v1";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vddao_3v3: DCDC_REG4 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <3000000>;
|
||||
+ regulator-max-microvolt = <3000000>;
|
||||
+ regulator-name = "vddao_3v3";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <3000000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ hp_5v: DCDC_BOOST {
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-name = "hp_5v";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ LDO_REG1 {
|
||||
+ regulator-boot-off;
|
||||
+ regulator-name = "rk818_LDO1";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ LDO_REG2 {
|
||||
+ regulator-boot-off;
|
||||
+ regulator-name = "rk818_LDO2";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ LDO_REG3 {
|
||||
+ regulator-boot-off;
|
||||
+ regulator-name = "rk818_LDO3";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ LDO_REG4 {
|
||||
+ regulator-boot-off;
|
||||
+ regulator-name = "rk818_LDO4";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vddio_ao1v8: LDO_REG5 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "vddio_ao1v8";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <1800000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ LDO_REG6 {
|
||||
+ regulator-boot-off;
|
||||
+ regulator-name = "rk818_LDO6";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vddq_1v8: LDO_REG7 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "vddq_1v8";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <1800000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ LDO_REG8 {
|
||||
+ regulator-boot-off;
|
||||
+ regulator-name = "rk818_LDO8";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vddio_c: LDO_REG9 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vddio_c";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <3300000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc_sd: SWITCH_REG {
|
||||
+ regulator-name = "vcc_sd";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ rk818_otg_switch: OTG_SWITCH {
|
||||
+ regulator-name = "otg_switch";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ battery {
|
||||
+ compatible = "rockchip,rk818-battery";
|
||||
+
|
||||
+ ocv_table = <
|
||||
+ 3470 3599 3671 3701 3728 3746 3762
|
||||
+ 3772 3781 3792 3816 3836 3866 3910
|
||||
+ 3942 3971 4002 4050 4088 4132 4200>;
|
||||
+ design_capacity = <4000>;
|
||||
+ design_qmax = <4100>;
|
||||
+ bat_res = <180>;
|
||||
+ max_input_current = <2000>;
|
||||
+ max_chrg_current = <1500>;
|
||||
+ max_chrg_voltage = <4250>;
|
||||
+ sleep_enter_current = <300>;
|
||||
+ sleep_exit_current = <300>;
|
||||
+ power_off_thresd = <3450>;
|
||||
+ zero_algorithm_vol = <3700>;
|
||||
+ fb_temperature = <105>;
|
||||
+ sample_res = <10>;
|
||||
+ max_soc_offset = <60>;
|
||||
+ energy_mode = <0>;
|
||||
+ monitor_sec = <5>;
|
||||
+ virtual_power = <0>;
|
||||
+ power_dc2otg = <0>;
|
||||
+ otg5v_suspend_enable = <0>;
|
||||
+ };
|
||||
+
|
||||
+ charger {
|
||||
+ compatible = "rockchip,rk818-charger";
|
||||
+ monitored-battery = <&bat>;
|
||||
+ };
|
||||
+
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&i2c3 {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+
|
||||
+ rk817: pmic@20 {
|
||||
+ compatible = "rockchip,rk817";
|
||||
+ reg = <0x20>;
|
||||
+ status = "okay";
|
||||
+ interrupt-parent = <&gpio_intc>;
|
||||
+ interrupts = <5 IRQ_TYPE_LEVEL_LOW>; /* GPIOAO_5 */
|
||||
+ wakeup-source;
|
||||
+
|
||||
+ vcc1-supply = <&vdd_sys>;
|
||||
+ vcc2-supply = <&vdd_sys>;
|
||||
+ vcc3-supply = <&vdd_sys>;
|
||||
+ vcc4-supply = <&vdd_sys>;
|
||||
+ vcc5-supply = <&vdd_sys>;
|
||||
+ vcc6-supply = <&vdd_sys>;
|
||||
+ vcc7-supply = <&vdd_sys>;
|
||||
+ vcc8-supply = <&vdd_sys>;
|
||||
+ vcc9-supply = <&rk817_boost>;
|
||||
+
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ clocks = <&codec_clk>;
|
||||
+ clock-names = "mclk";
|
||||
+
|
||||
+ regulators {
|
||||
+ DCDC_REG1 {
|
||||
+ regulator-boot-off;
|
||||
+ regulator-name = "rk817_BUCK1";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vddcpu_b: DCDC_REG2 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <725000>;
|
||||
+ regulator-max-microvolt = <1050000>;
|
||||
+ regulator-ramp-delay = <6001>;
|
||||
+ regulator-initial-mode = <0x2>;
|
||||
+ regulator-name = "vddcpu_b";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <1000000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc_2v3: DCDC_REG3 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <2300000>;
|
||||
+ regulator-max-microvolt = <2400000>;
|
||||
+ regulator-initial-mode = <0x2>;
|
||||
+ regulator-name = "vcc_2v3";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ DCDC_REG4 {
|
||||
+ regulator-boot-off;
|
||||
+ regulator-name = "rk817_BUCK4";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ LDO_REG1 {
|
||||
+ regulator-boot-off;
|
||||
+ regulator-name = "rk817_LDO1";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ LDO_REG2 {
|
||||
+ regulator-boot-off;
|
||||
+ regulator-name = "rk817_LDO2";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ LDO_REG3 {
|
||||
+ regulator-boot-off;
|
||||
+ regulator-name = "rk817_LDO3";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ LDO_REG4 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vdd_codec";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ LDO_REG5 {
|
||||
+ regulator-boot-off;
|
||||
+ regulator-name = "rk817_LDO5";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ LDO_REG6 {
|
||||
+ regulator-boot-off;
|
||||
+ regulator-name = "rk817_LDO6";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ LDO_REG7 {
|
||||
+ regulator-boot-off;
|
||||
+ regulator-name = "rk817_LDO7";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc_lcd: LDO_REG8 {
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3000000>;
|
||||
+ regulator-max-microvolt = <3000000>;
|
||||
+ regulator-name = "vcc_lcd";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ LDO_REG9 {
|
||||
+ regulator-boot-off;
|
||||
+ regulator-name = "rk817_LDO9";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ rk817_boost: BOOST {
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5400000>;
|
||||
+ regulator-name = "rk817_boost";
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ usb_host: OTG_SWITCH {
|
||||
+ regulator-name = "usb_host";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ rk817_codec: codec {
|
||||
+ rockchip,mic-in-differential;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&clkc_audio {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+ð_phy {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&frddr_a {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&frddr_b {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&frddr_c {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&toddr_a {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&toddr_b {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&toddr_c {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mipi_dsi {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ assigned-clocks = <&clkc CLKID_GP0_PLL>,
|
||||
+ <&clkc CLKID_MIPI_DSI_PXCLK_SEL>,
|
||||
+ <&clkc CLKID_MIPI_DSI_PXCLK>,
|
||||
+ <&clkc CLKID_CTS_ENCL_SEL>,
|
||||
+ <&clkc CLKID_VCLK2_SEL>;
|
||||
+ assigned-clock-parents = <0>,
|
||||
+ <&clkc CLKID_GP0_PLL>,
|
||||
+ <0>,
|
||||
+ <&clkc CLKID_VCLK2_DIV1>,
|
||||
+ <&clkc CLKID_GP0_PLL>;
|
||||
+ assigned-clock-rates = <344976000>,
|
||||
+ <0>,
|
||||
+ <344976000>,
|
||||
+ <0>,
|
||||
+ <0>;
|
||||
+
|
||||
+ panel@0 {
|
||||
+ compatible = "elida,kd50t048a", "sitronix,st7701";
|
||||
+ reset-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_HIGH>;
|
||||
+ IOVCC-supply = <&vcc_lcd>;
|
||||
+ VCC-supply = <&vcc_lcd>;
|
||||
+ backlight = <&panel_backlight>;
|
||||
+ rotation = <270>;
|
||||
+ reg = <0>;
|
||||
+
|
||||
+ port {
|
||||
+ mipi_in_panel: endpoint {
|
||||
+ remote-endpoint = <&mipi_out_panel>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mipi_analog_dphy {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mipi_dphy {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mipi_dsi_panel_port {
|
||||
+ mipi_out_panel: endpoint {
|
||||
+ remote-endpoint = <&mipi_in_panel>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&periphs_pinctrl {
|
||||
+ keypad_gpio_pins: keypad-gpio {
|
||||
+ mux {
|
||||
+ groups = "GPIOX_0", "GPIOX_1", "GPIOX_2", "GPIOX_3",
|
||||
+ "GPIOX_4", "GPIOX_5", "GPIOX_6", "GPIOX_7",
|
||||
+ "GPIOX_8", "GPIOX_9", "GPIOX_10", "GPIOX_11",
|
||||
+ "GPIOX_12", "GPIOX_13", "GPIOX_14", "GPIOX_15",
|
||||
+ "GPIOX_16", "GPIOX_17", "GPIOX_18", "GPIOX_19";
|
||||
+ function = "gpio_periphs";
|
||||
+ bias-pull-up;
|
||||
+ output-disable;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&pwm_ef {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&pwm_f_h_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+};
|
||||
+
|
||||
+&saradc {
|
||||
+ status = "okay";
|
||||
+ vref-supply = <&vddio_ao1v8>;
|
||||
+};
|
||||
+
|
||||
+/* SD card */
|
||||
+&sd_emmc_b {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&sdcard_c_pins>;
|
||||
+ pinctrl-1 = <&sdcard_clk_gate_c_pins>;
|
||||
+ pinctrl-names = "default", "clk-gate";
|
||||
+
|
||||
+ bus-width = <4>;
|
||||
+ cap-sd-highspeed;
|
||||
+ max-frequency = <50000000>;
|
||||
+ disable-wp;
|
||||
+
|
||||
+ cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>;
|
||||
+ vmmc-supply = <&vcc_sd>;
|
||||
+ vqmmc-supply = <&vddio_c>;
|
||||
+
|
||||
+};
|
||||
+
|
||||
+/* eMMC */
|
||||
+&sd_emmc_c {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>;
|
||||
+ pinctrl-1 = <&emmc_clk_gate_pins>;
|
||||
+ pinctrl-names = "default", "clk-gate";
|
||||
+
|
||||
+ bus-width = <8>;
|
||||
+ cap-mmc-highspeed;
|
||||
+ mmc-ddr-1_8v;
|
||||
+ mmc-hs200-1_8v;
|
||||
+ max-frequency = <200000000>;
|
||||
+ disable-wp;
|
||||
+
|
||||
+ mmc-pwrseq = <&emmc_pwrseq>;
|
||||
+ vmmc-supply = <&vcc_sd>;
|
||||
+ vqmmc-supply = <&vddio_ao1v8>;
|
||||
+};
|
||||
+
|
||||
+
|
||||
+&tdmif_b {
|
||||
+ pinctrl-0 = <&mclk0_a_pins>, <&tdm_b_fs_pins>, <&tdm_b_sclk_pins>,
|
||||
+ <&tdm_b_dout0_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ status = "okay";
|
||||
+
|
||||
+ assigned-clocks = <&clkc_audio AUD_CLKID_TDM_MCLK_PAD0>,
|
||||
+ <&clkc_audio AUD_CLKID_TDM_SCLK_PAD1>,
|
||||
+ <&clkc_audio AUD_CLKID_TDM_LRCLK_PAD1>;
|
||||
+ assigned-clock-parents = <&clkc_audio AUD_CLKID_MST_B_MCLK>,
|
||||
+ <&clkc_audio AUD_CLKID_MST_B_SCLK>,
|
||||
+ <&clkc_audio AUD_CLKID_MST_B_LRCLK>;
|
||||
+ assigned-clock-rates = <0>, <0>, <0>;
|
||||
+};
|
||||
+
|
||||
+&tdmout_b {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&uart_AO {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&uart_ao_a_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+};
|
||||
+
|
||||
+&usb {
|
||||
+ status = "okay";
|
||||
+ dr_mode = "peripheral";
|
||||
+};
|
||||
+
|
||||
+&usb2_phy0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb2_phy1 {
|
||||
+ status = "okay";
|
||||
+ phy-supply = <&usb_host>;
|
||||
+};
|
|
@ -0,0 +1,40 @@
|
|||
diff -rupN linux.orig/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi linux/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
|
||||
--- linux.orig/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi 2023-09-12 12:02:56.937601871 +0000
|
||||
+++ linux/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi 2023-09-12 12:03:27.490291628 +0000
|
||||
@@ -2394,14 +2391,20 @@
|
||||
};
|
||||
|
||||
mali: gpu@ffe40000 {
|
||||
- compatible = "amlogic,meson-g12a-mali", "arm,mali-bifrost";
|
||||
- reg = <0x0 0xffe40000 0x0 0x40000>;
|
||||
+ compatible = "arm,mali-midgard";
|
||||
+ reg = <0x0 0xffe40000 0x0 0x40000>,
|
||||
+ <0 0xFFD01000 0 0x01000>,
|
||||
+ <0 0xFF800000 0 0x01000>,
|
||||
+ <0 0xFF63c000 0 0x01000>,
|
||||
+ <0 0xFFD01000 0 0x01000>;
|
||||
+
|
||||
interrupt-parent = <&gic>;
|
||||
- interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
|
||||
- <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
|
||||
- interrupt-names = "job", "mmu", "gpu";
|
||||
+ <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-names = "GPU", "MMU", "JOB";
|
||||
clocks = <&clkc CLKID_MALI>;
|
||||
+ clock-names = "clk_mali";
|
||||
resets = <&reset RESET_DVALIN_CAPB3>, <&reset RESET_DVALIN>;
|
||||
operating-points-v2 = <&gpu_opp_table>;
|
||||
#cooling-cells = <2>;
|
||||
diff -rupN linux.orig/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi linux/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi
|
||||
--- linux.orig/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi 2023-09-12 12:02:56.937601871 +0000
|
||||
+++ linux/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi 2023-09-12 12:03:27.490291628 +0000
|
||||
@@ -137,5 +139,6 @@
|
||||
};
|
||||
|
||||
&mali {
|
||||
- dma-coherent;
|
||||
+ system-coherency = <0>;
|
||||
+ power_policy = "always_on";
|
||||
};
|
|
@ -0,0 +1,11 @@
|
|||
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
|
||||
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
|
||||
@@ -45,7 +45,7 @@
|
||||
led-blue {
|
||||
label = "n2:blue";
|
||||
gpios = <&gpio_ao GPIOAO_11 GPIO_ACTIVE_HIGH>;
|
||||
- linux,default-trigger = "heartbeat";
|
||||
+ linux,default-trigger = "none";
|
||||
};
|
||||
};
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
diff -rupN linux.orig/drivers/gpu/drm/drm_panel_orientation_quirks.c linux/drivers/gpu/drm/drm_panel_orientation_quirks.c
|
||||
--- linux.orig/drivers/gpu/drm/drm_panel_orientation_quirks.c 2023-09-12 12:02:57.953624819 +0000
|
||||
+++ linux/drivers/gpu/drm/drm_panel_orientation_quirks.c 2023-09-12 12:03:27.490291628 +0000
|
||||
@@ -477,7 +477,7 @@ EXPORT_SYMBOL(drm_get_panel_orientation_
|
||||
/* There are no quirks for non x86 devices yet */
|
||||
int drm_get_panel_orientation_quirk(int width, int height)
|
||||
{
|
||||
- return DRM_MODE_PANEL_ORIENTATION_UNKNOWN;
|
||||
+ return DRM_MODE_PANEL_ORIENTATION_LEFT_UP;
|
||||
}
|
||||
EXPORT_SYMBOL(drm_get_panel_orientation_quirk);
|
||||
|
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,210 @@
|
|||
diff -rupN linux.orig/drivers/power/reset/Kconfig linux/drivers/power/reset/Kconfig
|
||||
--- linux.orig/drivers/power/reset/Kconfig 2023-09-12 12:02:58.741642619 +0000
|
||||
+++ linux/drivers/power/reset/Kconfig 2023-09-12 12:03:27.490291628 +0000
|
||||
@@ -141,6 +141,13 @@ config POWER_RESET_OCELOT_RESET
|
||||
help
|
||||
This driver supports restart for Microsemi Ocelot SoC and similar.
|
||||
|
||||
+config POWER_RESET_ODROID_GO_ULTRA_POWEROFF
|
||||
+ bool "Odroid Go Ultra power-off driver"
|
||||
+ depends on ARCH_MESON || COMPILE_TEST
|
||||
+ depends on I2C=y && OF
|
||||
+ help
|
||||
+ This driver supports Power off for Odroid Go Ultra device.
|
||||
+
|
||||
config POWER_RESET_OXNAS
|
||||
bool "OXNAS SoC restart driver"
|
||||
depends on ARCH_OXNAS
|
||||
diff -rupN linux.orig/drivers/power/reset/Makefile linux/drivers/power/reset/Makefile
|
||||
--- linux.orig/drivers/power/reset/Makefile 2023-09-12 12:02:58.741642619 +0000
|
||||
+++ linux/drivers/power/reset/Makefile 2023-09-12 12:03:27.490291628 +0000
|
||||
@@ -17,6 +17,7 @@ obj-$(CONFIG_POWER_RESET_MT6323) += mt63
|
||||
obj-$(CONFIG_POWER_RESET_OXNAS) += oxnas-restart.o
|
||||
obj-$(CONFIG_POWER_RESET_QCOM_PON) += qcom-pon.o
|
||||
obj-$(CONFIG_POWER_RESET_OCELOT_RESET) += ocelot-reset.o
|
||||
+obj-$(CONFIG_POWER_RESET_ODROID_GO_ULTRA_POWEROFF) += odroid-go-ultra-poweroff.o
|
||||
obj-$(CONFIG_POWER_RESET_PIIX4_POWEROFF) += piix4-poweroff.o
|
||||
obj-$(CONFIG_POWER_RESET_LTC2952) += ltc2952-poweroff.o
|
||||
obj-$(CONFIG_POWER_RESET_QNAP) += qnap-poweroff.o
|
||||
diff -rupN linux.orig/drivers/power/reset/odroid-go-ultra-poweroff.c linux/drivers/power/reset/odroid-go-ultra-poweroff.c
|
||||
--- linux.orig/drivers/power/reset/odroid-go-ultra-poweroff.c 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ linux/drivers/power/reset/odroid-go-ultra-poweroff.c 2023-09-12 12:03:27.490291628 +0000
|
||||
@@ -0,0 +1,177 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0+
|
||||
+/*
|
||||
+ * Copyright (c) 2023 Neil Armstrong <neil.armstrong@linaro.org>
|
||||
+ */
|
||||
+#include <linux/kernel.h>
|
||||
+#include <linux/init.h>
|
||||
+#include <linux/of_platform.h>
|
||||
+#include <linux/mfd/rk808.h>
|
||||
+#include <linux/regmap.h>
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/reboot.h>
|
||||
+#include <linux/i2c.h>
|
||||
+
|
||||
+/*
|
||||
+ * The Odroid Go Ultra has 2 PMICs:
|
||||
+ * - RK818 (manages the battery and USB-C power supply)
|
||||
+ * - RK817
|
||||
+ * Both PMICs feeds power to the S922X SoC, so they must be powered-off in sequence.
|
||||
+ * Vendor does power-off the RK817 first, then the RK818 so here we follow this sequence.
|
||||
+ */
|
||||
+
|
||||
+struct odroid_go_ultra_poweroff_data {
|
||||
+ struct device *dev;
|
||||
+ struct device *rk817;
|
||||
+ struct device *rk818;
|
||||
+};
|
||||
+
|
||||
+static int odroid_go_ultra_poweroff_prepare(struct sys_off_data *data)
|
||||
+{
|
||||
+ struct odroid_go_ultra_poweroff_data *poweroff_data = data->cb_data;
|
||||
+ struct regmap *rk817, *rk818;
|
||||
+ int ret;
|
||||
+
|
||||
+ /* RK817 Regmap */
|
||||
+ rk817 = dev_get_regmap(poweroff_data->rk817, NULL);
|
||||
+ if (!rk817) {
|
||||
+ dev_err(poweroff_data->dev, "failed to get rk817 regmap\n");
|
||||
+ return notifier_from_errno(-EINVAL);
|
||||
+ }
|
||||
+
|
||||
+ /* RK818 Regmap */
|
||||
+ rk818 = dev_get_regmap(poweroff_data->rk818, NULL);
|
||||
+ if (!rk818) {
|
||||
+ dev_err(poweroff_data->dev, "failed to get rk818 regmap\n");
|
||||
+ return notifier_from_errno(-EINVAL);
|
||||
+ }
|
||||
+
|
||||
+ dev_info(poweroff_data->dev, "Setting PMICs for power off");
|
||||
+
|
||||
+ /* RK817 */
|
||||
+ ret = regmap_update_bits(rk817, RK817_SYS_CFG(3), DEV_OFF, DEV_OFF);
|
||||
+ if (ret) {
|
||||
+ dev_err(poweroff_data->dev, "failed to poweroff rk817\n");
|
||||
+ return notifier_from_errno(ret);
|
||||
+ }
|
||||
+
|
||||
+ /* RK818 */
|
||||
+ ret = regmap_update_bits(rk818, RK818_DEVCTRL_REG, DEV_OFF, DEV_OFF);
|
||||
+ if (ret) {
|
||||
+ dev_err(poweroff_data->dev, "failed to poweroff rk818\n");
|
||||
+ return notifier_from_errno(ret);
|
||||
+ }
|
||||
+
|
||||
+ return NOTIFY_OK;
|
||||
+}
|
||||
+
|
||||
+static void odroid_go_ultra_poweroff_put_pmic_device(void *data)
|
||||
+{
|
||||
+ struct device *dev = data;
|
||||
+
|
||||
+ put_device(dev);
|
||||
+}
|
||||
+
|
||||
+static int odroid_go_ultra_poweroff_get_pmic_device(struct device *dev, const char *compatible,
|
||||
+ struct device **pmic)
|
||||
+{
|
||||
+ struct device_node *pmic_node;
|
||||
+ struct i2c_client *pmic_client;
|
||||
+
|
||||
+ pmic_node = of_find_compatible_node(NULL, NULL, compatible);
|
||||
+ if (!pmic_node)
|
||||
+ return -ENODEV;
|
||||
+
|
||||
+ pmic_client = of_find_i2c_device_by_node(pmic_node);
|
||||
+ of_node_put(pmic_node);
|
||||
+ if (!pmic_client)
|
||||
+ return -EPROBE_DEFER;
|
||||
+
|
||||
+ *pmic = &pmic_client->dev;
|
||||
+
|
||||
+ return devm_add_action_or_reset(dev, odroid_go_ultra_poweroff_put_pmic_device, *pmic);
|
||||
+}
|
||||
+
|
||||
+static int odroid_go_ultra_poweroff_probe(struct platform_device *pdev)
|
||||
+{
|
||||
+ struct odroid_go_ultra_poweroff_data *poweroff_data;
|
||||
+ int ret;
|
||||
+
|
||||
+ poweroff_data = devm_kzalloc(&pdev->dev, sizeof(*poweroff_data), GFP_KERNEL);
|
||||
+ if (!poweroff_data)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ dev_set_drvdata(&pdev->dev, poweroff_data);
|
||||
+
|
||||
+ /* RK818 PMIC Device */
|
||||
+ ret = odroid_go_ultra_poweroff_get_pmic_device(&pdev->dev, "rockchip,rk818",
|
||||
+ &poweroff_data->rk818);
|
||||
+ if (ret)
|
||||
+ return dev_err_probe(&pdev->dev, ret, "failed to get rk818 mfd data\n");
|
||||
+
|
||||
+ /* RK817 PMIC Device */
|
||||
+ ret = odroid_go_ultra_poweroff_get_pmic_device(&pdev->dev, "rockchip,rk817",
|
||||
+ &poweroff_data->rk817);
|
||||
+ if (ret)
|
||||
+ return dev_err_probe(&pdev->dev, ret, "failed to get rk817 mfd data\n");
|
||||
+
|
||||
+ /* Register as SYS_OFF_MODE_POWER_OFF_PREPARE because regmap_update_bits may sleep */
|
||||
+ ret = devm_register_sys_off_handler(&pdev->dev,
|
||||
+ SYS_OFF_MODE_POWER_OFF_PREPARE,
|
||||
+ SYS_OFF_PRIO_DEFAULT,
|
||||
+ odroid_go_ultra_poweroff_prepare,
|
||||
+ poweroff_data);
|
||||
+ if (ret)
|
||||
+ return dev_err_probe(&pdev->dev, ret, "failed to register sys-off handler\n");
|
||||
+
|
||||
+ dev_info(&pdev->dev, "Registered Power-Off handler\n");
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+static struct platform_device *pdev;
|
||||
+
|
||||
+static struct platform_driver odroid_go_ultra_poweroff_driver = {
|
||||
+ .driver = {
|
||||
+ .name = "odroid-go-ultra-poweroff",
|
||||
+ },
|
||||
+ .probe = odroid_go_ultra_poweroff_probe,
|
||||
+};
|
||||
+
|
||||
+static int __init odroid_go_ultra_poweroff_init(void)
|
||||
+{
|
||||
+ int ret;
|
||||
+
|
||||
+ /* Only create when running on the Odroid Go Ultra device */
|
||||
+ if (!of_device_is_compatible(of_root, "hardkernel,odroid-go-ultra"))
|
||||
+ return -ENODEV;
|
||||
+
|
||||
+ ret = platform_driver_register(&odroid_go_ultra_poweroff_driver);
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ pdev = platform_device_register_resndata(NULL, "odroid-go-ultra-poweroff", -1,
|
||||
+ NULL, 0, NULL, 0);
|
||||
+
|
||||
+ if (IS_ERR(pdev)) {
|
||||
+ platform_driver_unregister(&odroid_go_ultra_poweroff_driver);
|
||||
+ return PTR_ERR(pdev);
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static void __exit odroid_go_ultra_poweroff_exit(void)
|
||||
+{
|
||||
+ /* Only delete when running on the Odroid Go Ultra device */
|
||||
+ if (!of_device_is_compatible(of_root, "hardkernel,odroid-go-ultra"))
|
||||
+ return;
|
||||
+
|
||||
+ platform_device_unregister(pdev);
|
||||
+ platform_driver_unregister(&odroid_go_ultra_poweroff_driver);
|
||||
+}
|
||||
+
|
||||
+module_init(odroid_go_ultra_poweroff_init);
|
||||
+module_exit(odroid_go_ultra_poweroff_exit);
|
||||
+
|
||||
+MODULE_AUTHOR("Neil Armstrong <neil.armstrong@linaro.org>");
|
||||
+MODULE_DESCRIPTION("Odroid Go Ultra poweroff driver");
|
||||
+MODULE_LICENSE("GPL");
|
||||
|
|
@ -0,0 +1,402 @@
|
|||
diff -rupN linux.orig/drivers/input/Kconfig linux/drivers/input/Kconfig
|
||||
--- linux.orig/drivers/input/Kconfig 2023-09-12 12:02:58.173629790 +0000
|
||||
+++ linux/drivers/input/Kconfig 2023-09-12 12:03:27.490291628 +0000
|
||||
@@ -51,6 +51,19 @@ config INPUT_FF_MEMLESS
|
||||
To compile this driver as a module, choose M here: the
|
||||
module will be called ff-memless.
|
||||
|
||||
+config INPUT_POLLDEV
|
||||
+ tristate "Polled input device skeleton"
|
||||
+ help
|
||||
+ Say Y here if you are using a driver for an input
|
||||
+ device that periodically polls hardware state. This
|
||||
+ option is only useful for out-of-tree drivers since
|
||||
+ in-tree drivers select it automatically.
|
||||
+
|
||||
+ If unsure, say N.
|
||||
+
|
||||
+ To compile this driver as a module, choose M here: the
|
||||
+ module will be called input-polldev.
|
||||
+
|
||||
config INPUT_SPARSEKMAP
|
||||
tristate "Sparse keymap support library"
|
||||
help
|
||||
|
||||
diff -rupN linux.orig/drivers/input/Makefile linux/drivers/input/Makefile
|
||||
--- linux.orig/drivers/input/Makefile 2023-09-12 12:02:58.173629790 +0000
|
||||
+++ linux/drivers/input/Makefile 2023-09-12 12:03:27.490291628 +0000
|
||||
@@ -10,6 +10,7 @@ input-core-y := input.o input-compat.o i
|
||||
input-core-y += touchscreen.o
|
||||
|
||||
obj-$(CONFIG_INPUT_FF_MEMLESS) += ff-memless.o
|
||||
+obj-$(CONFIG_INPUT_POLLDEV) += input-polldev.o
|
||||
obj-$(CONFIG_INPUT_SPARSEKMAP) += sparse-keymap.o
|
||||
obj-$(CONFIG_INPUT_MATRIXKMAP) += matrix-keymap.o
|
||||
obj-$(CONFIG_INPUT_VIVALDIFMAP) += vivaldi-fmap.o
|
||||
diff -rupN linux.orig/drivers/input/input-polldev.c linux/drivers/input/input-polldev.c
|
||||
--- linux.orig/drivers/input/input-polldev.c 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ linux/drivers/input/input-polldev.c 2023-09-12 12:03:27.490291628 +0000
|
||||
@@ -0,0 +1,362 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0-only
|
||||
+/*
|
||||
+ * Generic implementation of a polled input device
|
||||
+
|
||||
+ * Copyright (c) 2007 Dmitry Torokhov
|
||||
+ */
|
||||
+
|
||||
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
||||
+
|
||||
+#include <linux/jiffies.h>
|
||||
+#include <linux/slab.h>
|
||||
+#include <linux/mutex.h>
|
||||
+#include <linux/workqueue.h>
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/input-polldev.h>
|
||||
+
|
||||
+MODULE_AUTHOR("Dmitry Torokhov <dtor@mail.ru>");
|
||||
+MODULE_DESCRIPTION("Generic implementation of a polled input device");
|
||||
+MODULE_LICENSE("GPL v2");
|
||||
+
|
||||
+static void input_polldev_queue_work(struct input_polled_dev *dev)
|
||||
+{
|
||||
+ unsigned long delay;
|
||||
+
|
||||
+ delay = msecs_to_jiffies(dev->poll_interval);
|
||||
+ if (delay >= HZ)
|
||||
+ delay = round_jiffies_relative(delay);
|
||||
+
|
||||
+ queue_delayed_work(system_freezable_wq, &dev->work, delay);
|
||||
+}
|
||||
+
|
||||
+static void input_polled_device_work(struct work_struct *work)
|
||||
+{
|
||||
+ struct input_polled_dev *dev =
|
||||
+ container_of(work, struct input_polled_dev, work.work);
|
||||
+
|
||||
+ dev->poll(dev);
|
||||
+ input_polldev_queue_work(dev);
|
||||
+}
|
||||
+
|
||||
+static int input_open_polled_device(struct input_dev *input)
|
||||
+{
|
||||
+ struct input_polled_dev *dev = input_get_drvdata(input);
|
||||
+
|
||||
+ if (dev->open)
|
||||
+ dev->open(dev);
|
||||
+
|
||||
+ /* Only start polling if polling is enabled */
|
||||
+ if (dev->poll_interval > 0) {
|
||||
+ dev->poll(dev);
|
||||
+ input_polldev_queue_work(dev);
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static void input_close_polled_device(struct input_dev *input)
|
||||
+{
|
||||
+ struct input_polled_dev *dev = input_get_drvdata(input);
|
||||
+
|
||||
+ cancel_delayed_work_sync(&dev->work);
|
||||
+
|
||||
+ if (dev->close)
|
||||
+ dev->close(dev);
|
||||
+}
|
||||
+
|
||||
+/* SYSFS interface */
|
||||
+
|
||||
+static ssize_t input_polldev_get_poll(struct device *dev,
|
||||
+ struct device_attribute *attr, char *buf)
|
||||
+{
|
||||
+ struct input_polled_dev *polldev = dev_get_drvdata(dev);
|
||||
+
|
||||
+ return sprintf(buf, "%d\n", polldev->poll_interval);
|
||||
+}
|
||||
+
|
||||
+static ssize_t input_polldev_set_poll(struct device *dev,
|
||||
+ struct device_attribute *attr, const char *buf,
|
||||
+ size_t count)
|
||||
+{
|
||||
+ struct input_polled_dev *polldev = dev_get_drvdata(dev);
|
||||
+ struct input_dev *input = polldev->input;
|
||||
+ unsigned int interval;
|
||||
+ int err;
|
||||
+
|
||||
+ err = kstrtouint(buf, 0, &interval);
|
||||
+ if (err)
|
||||
+ return err;
|
||||
+
|
||||
+ if (interval < polldev->poll_interval_min)
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ if (interval > polldev->poll_interval_max)
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ mutex_lock(&input->mutex);
|
||||
+
|
||||
+ polldev->poll_interval = interval;
|
||||
+
|
||||
+ if (input->users) {
|
||||
+ cancel_delayed_work_sync(&polldev->work);
|
||||
+ if (polldev->poll_interval > 0)
|
||||
+ input_polldev_queue_work(polldev);
|
||||
+ }
|
||||
+
|
||||
+ mutex_unlock(&input->mutex);
|
||||
+
|
||||
+ return count;
|
||||
+}
|
||||
+
|
||||
+static DEVICE_ATTR(poll, S_IRUGO | S_IWUSR, input_polldev_get_poll,
|
||||
+ input_polldev_set_poll);
|
||||
+
|
||||
+
|
||||
+static ssize_t input_polldev_get_max(struct device *dev,
|
||||
+ struct device_attribute *attr, char *buf)
|
||||
+{
|
||||
+ struct input_polled_dev *polldev = dev_get_drvdata(dev);
|
||||
+
|
||||
+ return sprintf(buf, "%d\n", polldev->poll_interval_max);
|
||||
+}
|
||||
+
|
||||
+static DEVICE_ATTR(max, S_IRUGO, input_polldev_get_max, NULL);
|
||||
+
|
||||
+static ssize_t input_polldev_get_min(struct device *dev,
|
||||
+ struct device_attribute *attr, char *buf)
|
||||
+{
|
||||
+ struct input_polled_dev *polldev = dev_get_drvdata(dev);
|
||||
+
|
||||
+ return sprintf(buf, "%d\n", polldev->poll_interval_min);
|
||||
+}
|
||||
+
|
||||
+static DEVICE_ATTR(min, S_IRUGO, input_polldev_get_min, NULL);
|
||||
+
|
||||
+static struct attribute *sysfs_attrs[] = {
|
||||
+ &dev_attr_poll.attr,
|
||||
+ &dev_attr_max.attr,
|
||||
+ &dev_attr_min.attr,
|
||||
+ NULL
|
||||
+};
|
||||
+
|
||||
+static struct attribute_group input_polldev_attribute_group = {
|
||||
+ .attrs = sysfs_attrs
|
||||
+};
|
||||
+
|
||||
+static const struct attribute_group *input_polldev_attribute_groups[] = {
|
||||
+ &input_polldev_attribute_group,
|
||||
+ NULL
|
||||
+};
|
||||
+
|
||||
+/**
|
||||
+ * input_allocate_polled_device - allocate memory for polled device
|
||||
+ *
|
||||
+ * The function allocates memory for a polled device and also
|
||||
+ * for an input device associated with this polled device.
|
||||
+ */
|
||||
+struct input_polled_dev *input_allocate_polled_device(void)
|
||||
+{
|
||||
+ struct input_polled_dev *dev;
|
||||
+
|
||||
+ dev = kzalloc(sizeof(struct input_polled_dev), GFP_KERNEL);
|
||||
+ if (!dev)
|
||||
+ return NULL;
|
||||
+
|
||||
+ dev->input = input_allocate_device();
|
||||
+ if (!dev->input) {
|
||||
+ kfree(dev);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ return dev;
|
||||
+}
|
||||
+EXPORT_SYMBOL(input_allocate_polled_device);
|
||||
+
|
||||
+struct input_polled_devres {
|
||||
+ struct input_polled_dev *polldev;
|
||||
+};
|
||||
+
|
||||
+static int devm_input_polldev_match(struct device *dev, void *res, void *data)
|
||||
+{
|
||||
+ struct input_polled_devres *devres = res;
|
||||
+
|
||||
+ return devres->polldev == data;
|
||||
+}
|
||||
+
|
||||
+static void devm_input_polldev_release(struct device *dev, void *res)
|
||||
+{
|
||||
+ struct input_polled_devres *devres = res;
|
||||
+ struct input_polled_dev *polldev = devres->polldev;
|
||||
+
|
||||
+ dev_dbg(dev, "%s: dropping reference/freeing %s\n",
|
||||
+ __func__, dev_name(&polldev->input->dev));
|
||||
+
|
||||
+ input_put_device(polldev->input);
|
||||
+ kfree(polldev);
|
||||
+}
|
||||
+
|
||||
+static void devm_input_polldev_unregister(struct device *dev, void *res)
|
||||
+{
|
||||
+ struct input_polled_devres *devres = res;
|
||||
+ struct input_polled_dev *polldev = devres->polldev;
|
||||
+
|
||||
+ dev_dbg(dev, "%s: unregistering device %s\n",
|
||||
+ __func__, dev_name(&polldev->input->dev));
|
||||
+ input_unregister_device(polldev->input);
|
||||
+
|
||||
+ /*
|
||||
+ * Note that we are still holding extra reference to the input
|
||||
+ * device so it will stick around until devm_input_polldev_release()
|
||||
+ * is called.
|
||||
+ */
|
||||
+}
|
||||
+
|
||||
+/**
|
||||
+ * devm_input_allocate_polled_device - allocate managed polled device
|
||||
+ * @dev: device owning the polled device being created
|
||||
+ *
|
||||
+ * Returns prepared &struct input_polled_dev or %NULL.
|
||||
+ *
|
||||
+ * Managed polled input devices do not need to be explicitly unregistered
|
||||
+ * or freed as it will be done automatically when owner device unbinds
|
||||
+ * from * its driver (or binding fails). Once such managed polled device
|
||||
+ * is allocated, it is ready to be set up and registered in the same
|
||||
+ * fashion as regular polled input devices (using
|
||||
+ * input_register_polled_device() function).
|
||||
+ *
|
||||
+ * If you want to manually unregister and free such managed polled devices,
|
||||
+ * it can be still done by calling input_unregister_polled_device() and
|
||||
+ * input_free_polled_device(), although it is rarely needed.
|
||||
+ *
|
||||
+ * NOTE: the owner device is set up as parent of input device and users
|
||||
+ * should not override it.
|
||||
+ */
|
||||
+struct input_polled_dev *devm_input_allocate_polled_device(struct device *dev)
|
||||
+{
|
||||
+ struct input_polled_dev *polldev;
|
||||
+ struct input_polled_devres *devres;
|
||||
+
|
||||
+ devres = devres_alloc(devm_input_polldev_release, sizeof(*devres),
|
||||
+ GFP_KERNEL);
|
||||
+ if (!devres)
|
||||
+ return NULL;
|
||||
+
|
||||
+ polldev = input_allocate_polled_device();
|
||||
+ if (!polldev) {
|
||||
+ devres_free(devres);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ polldev->input->dev.parent = dev;
|
||||
+ polldev->devres_managed = true;
|
||||
+
|
||||
+ devres->polldev = polldev;
|
||||
+ devres_add(dev, devres);
|
||||
+
|
||||
+ return polldev;
|
||||
+}
|
||||
+EXPORT_SYMBOL(devm_input_allocate_polled_device);
|
||||
+
|
||||
+/**
|
||||
+ * input_free_polled_device - free memory allocated for polled device
|
||||
+ * @dev: device to free
|
||||
+ *
|
||||
+ * The function frees memory allocated for polling device and drops
|
||||
+ * reference to the associated input device.
|
||||
+ */
|
||||
+void input_free_polled_device(struct input_polled_dev *dev)
|
||||
+{
|
||||
+ if (dev) {
|
||||
+ if (dev->devres_managed)
|
||||
+ WARN_ON(devres_destroy(dev->input->dev.parent,
|
||||
+ devm_input_polldev_release,
|
||||
+ devm_input_polldev_match,
|
||||
+ dev));
|
||||
+ input_put_device(dev->input);
|
||||
+ kfree(dev);
|
||||
+ }
|
||||
+}
|
||||
+EXPORT_SYMBOL(input_free_polled_device);
|
||||
+
|
||||
+/**
|
||||
+ * input_register_polled_device - register polled device
|
||||
+ * @dev: device to register
|
||||
+ *
|
||||
+ * The function registers previously initialized polled input device
|
||||
+ * with input layer. The device should be allocated with call to
|
||||
+ * input_allocate_polled_device(). Callers should also set up poll()
|
||||
+ * method and set up capabilities (id, name, phys, bits) of the
|
||||
+ * corresponding input_dev structure.
|
||||
+ */
|
||||
+int input_register_polled_device(struct input_polled_dev *dev)
|
||||
+{
|
||||
+ struct input_polled_devres *devres = NULL;
|
||||
+ struct input_dev *input = dev->input;
|
||||
+ int error;
|
||||
+
|
||||
+ if (dev->devres_managed) {
|
||||
+ devres = devres_alloc(devm_input_polldev_unregister,
|
||||
+ sizeof(*devres), GFP_KERNEL);
|
||||
+ if (!devres)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ devres->polldev = dev;
|
||||
+ }
|
||||
+
|
||||
+ input_set_drvdata(input, dev);
|
||||
+ INIT_DELAYED_WORK(&dev->work, input_polled_device_work);
|
||||
+
|
||||
+ if (!dev->poll_interval)
|
||||
+ dev->poll_interval = 500;
|
||||
+ if (!dev->poll_interval_max)
|
||||
+ dev->poll_interval_max = dev->poll_interval;
|
||||
+
|
||||
+ input->open = input_open_polled_device;
|
||||
+ input->close = input_close_polled_device;
|
||||
+
|
||||
+ input->dev.groups = input_polldev_attribute_groups;
|
||||
+
|
||||
+ error = input_register_device(input);
|
||||
+ if (error) {
|
||||
+ devres_free(devres);
|
||||
+ return error;
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * Take extra reference to the underlying input device so
|
||||
+ * that it survives call to input_unregister_polled_device()
|
||||
+ * and is deleted only after input_free_polled_device()
|
||||
+ * has been invoked. This is needed to ease task of freeing
|
||||
+ * sparse keymaps.
|
||||
+ */
|
||||
+ input_get_device(input);
|
||||
+
|
||||
+ if (dev->devres_managed) {
|
||||
+ dev_dbg(input->dev.parent, "%s: registering %s with devres.\n",
|
||||
+ __func__, dev_name(&input->dev));
|
||||
+ devres_add(input->dev.parent, devres);
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+EXPORT_SYMBOL(input_register_polled_device);
|
||||
+
|
||||
+/**
|
||||
+ * input_unregister_polled_device - unregister polled device
|
||||
+ * @dev: device to unregister
|
||||
+ *
|
||||
+ * The function unregisters previously registered polled input
|
||||
+ * device from input layer. Polling is stopped and device is
|
||||
+ * ready to be freed with call to input_free_polled_device().
|
||||
+ */
|
||||
+void input_unregister_polled_device(struct input_polled_dev *dev)
|
||||
+{
|
||||
+ if (dev->devres_managed)
|
||||
+ WARN_ON(devres_destroy(dev->input->dev.parent,
|
||||
+ devm_input_polldev_unregister,
|
||||
+ devm_input_polldev_match,
|
||||
+ dev));
|
||||
+
|
||||
+ input_unregister_device(dev->input);
|
||||
+}
|
||||
+EXPORT_SYMBOL(input_unregister_polled_device);
|
||||
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue