Merge branch 'dev' into dev
This commit is contained in:
commit
0478c2ca2f
158 changed files with 3124 additions and 1008 deletions
35
README.md
35
README.md
|
@ -1,11 +1,17 @@
|
|||
# JELOS - Just enough Linux Operating System
|
||||
<img src="https://raw.githubusercontent.com/JustEnoughLinuxOS/distribution/dev/distributions/JELOS/logos/jelos-logo.png" width=192> [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy)
|
||||
#
|
||||
Just Enough Linux Operating System (JELOS) is a simple Linux distribution for ARM based devices that specializes in handhelds. My goal is to build an operating system that has the features and capabilities that I need, and to have fun building it.
|
||||
|
||||
## Features
|
||||
* Supports the Anbernic RG552 handheld.
|
||||
* A 64bit Operating System.
|
||||
* Supports FAT32, ExFAT, and EXT4 file systems.
|
||||
* Filesystem compatibility with Android
|
||||
* Filesystem compatibility with Android.
|
||||
* Utilizes the whole SDCARD for EXT4 storage.
|
||||
* Supports FAT32, ExFAT, and EXT4 file systems on the second card.
|
||||
* Provides overclock and cooling profiles.
|
||||
* Supports 2.4GHz and 5GHz 802.11 A/B/G/N/AC WIFI.
|
||||
* Includes RetroArch, a variety of cores, Stand Alone Emulators, as well as PortMaster.
|
||||
* Supports the Anbernic RG552 handheld.
|
||||
* Maintained by a small but growing community of contributors.
|
||||
|
||||
## Licenses
|
||||
JELOS is a Linux distribution that is made up of many open-source components. Components are provided under their respective licenses. This distribution includes components licensed for non-commercial use only.
|
||||
|
@ -43,18 +49,19 @@ limitations under the License.
|
|||
* Write the image to an SDCARD using an imaging tool. Common imaging tools include [Balena Etcher](https://www.balena.io/etcher/), [Raspberry Pi Imager](https://www.raspberrypi.com/software/), and [Win32 Disk Imager](https://sourceforge.net/projects/win32diskimager/). If you're skilled with the command line, dd works fine too.
|
||||
|
||||
## Upgrading
|
||||
* Download and install the update online via the System Settings menu.
|
||||
* Download the latest [version of JELOS](https://github.com/JustEnoughLinuxOS/distribution/releases) (.tar or .img.gz) for your device.
|
||||
* Copy the update to your device over the network or to the sdcard's update folder.
|
||||
* Reboot the device, and the update will begin automatically.
|
||||
|
||||
## Network Access
|
||||
* The username for ssh and samba access is "root". The root password is generated during every boot, it can be found in the Network Settings menu.
|
||||
* The username for ssh and samba access is "root". The root password is generated during every boot, it can be found in the System Settings menu.
|
||||
|
||||
## RetroArch Hotkeys
|
||||
* Hotkey Enable: Select (Hold)
|
||||
* Exit: Start (Press Twice)
|
||||
* Menu: Y
|
||||
* Show/Hide FPS: X
|
||||
* Menu: X
|
||||
* Show/Hide FPS: Y
|
||||
* Save State: R1
|
||||
* Load State: L1
|
||||
* Rewind: L2
|
||||
|
@ -64,21 +71,21 @@ limitations under the License.
|
|||
Like any Linux distribution, this project is not the work of one person. It is the work of many persons all over the world who have developed the open source bits without which this project could not exist. Special thanks to 351ELEC, EmuELEC, CoreELEC, LibreELEC, Anbernic, and developers across the ARM handheld community.
|
||||
|
||||
## Frequently Asked Questions
|
||||
* Does JELOS offer any support?
|
||||
* No. JELOS is something that I develop for fun, it is provided as-is. If you require a distribution with support, I recommend you choose a community supported distribution instead.
|
||||
* Does JELOS offer any formal support?
|
||||
* No. JELOS is something that we develop for fun, it is provided as-is. There are a variety of avenues to seek community help, but this is a tinkerer's distribution so you may need to get your hands dirty to solve your problems.
|
||||
* Do you plan to add additional ports, software, or emulators?
|
||||
* I add things to JELOS as I have an itch to scratch. The community has updated PortMaster to work with JELOS.
|
||||
* I add things to JELOS as I have an itch to scratch, as does the community of contributors. If you would like to add something to JELOS, pull requests are welcomed.
|
||||
* What about N64, Dreamcast, Saturn, Jaguar, PSP, etc on the 552?
|
||||
* Those platforms perform best in Android on the 552, and I have no interest in them. I recommend that you use Android instead for those.
|
||||
* Which emulators and game engines are supported by JELOS?
|
||||
* [See JELOS emulators and game engines](https://github.com/JustEnoughLinuxOS/distribution/blob/gh-pages/JELOS%20emulators%20and%20game%20engines.md)
|
||||
* Will you support my device?
|
||||
* If you send me a device and source code, I'll consider it.
|
||||
* I'm using brand-y microSD and after flashing it partitions, reboots, and hangs.
|
||||
* When this happens the indicator is a short vibration like it's restarting normally but the power LED does not turn on. Press reset, and it will continue normally.
|
||||
* How can I disable root password rotation?
|
||||
* SSH to the handheld and run the following commands.
|
||||
* ```set_setting rotate.root.password 0```
|
||||
* ```passwd root```
|
||||
* ```smbpasswd root```
|
||||
* Password rotation can be disabled in the System Settings menu. Once committed the root password may be edited in the same menu.
|
||||
* To set the root password over ssh and keep it in sync with EmulationStation, use ```setrootpass mynewpassword```.
|
||||
* Alternatively, copy your ssh key with ssh-copy-id, and leave rotation enabled.
|
||||
* ```ssh-copy-id root@jelos```
|
||||
* I want to add games to SD Card 1 and see them in my EmulationStation games list.
|
||||
|
|
BIN
distributions/JELOS/logos/jelos-logo.png
Normal file
BIN
distributions/JELOS/logos/jelos-logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 25 KiB |
|
@ -73,7 +73,7 @@
|
|||
# for a list of additional drivers see packages/linux-drivers
|
||||
# Space separated list is supported,
|
||||
# e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
|
||||
ADDITIONAL_DRIVERS="RTL8821CU"
|
||||
ADDITIONAL_DRIVERS="RTL8821CU RTL8812AU RTL8821AU RTL8812BU"
|
||||
|
||||
# build and install bluetooth support (yes / no)
|
||||
BLUETOOTH_SUPPORT="yes"
|
||||
|
|
|
@ -50,7 +50,9 @@ makeinstall_target() {
|
|||
--with-date_time \
|
||||
--with-filesystem \
|
||||
--with-iostreams \
|
||||
--with-program_options \
|
||||
--with-python \
|
||||
--with-locale \
|
||||
--with-random \
|
||||
--with-regex -sICU_PATH="${SYSROOT_PREFIX}/usr" \
|
||||
--with-serialization \
|
||||
|
|
11
packages/devel/libao/package.mk
Normal file
11
packages/devel/libao/package.mk
Normal file
|
@ -0,0 +1,11 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2022-present Fewtarius
|
||||
|
||||
PKG_NAME="libao"
|
||||
PKG_VERSION="cafce902"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://gitlab.xiph.org/xiph/libao"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_LONGDESC="Audio output portability library."
|
||||
PKG_TOOLCHAIN="autotools"
|
|
@ -2,7 +2,7 @@
|
|||
# Copyright (C) 2019-present Shanti Gilbert (https://github.com/shantigilbert)
|
||||
|
||||
PKG_NAME="PPSSPPSDL"
|
||||
PKG_VERSION="47ff758af11369f1dc602ec39cc710f33ac44bc3"
|
||||
PKG_VERSION="97bc7a1ae3b3a87bff211bd3ece33e9c3012725a"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
# Copyright (C) 2018-present 5schatten (https://github.com/5schatten)
|
||||
|
||||
PKG_NAME="hatarisa"
|
||||
PKG_VERSION="f95b4fbc760371dbb60a16128408eb51260d3846"
|
||||
PKG_SHA256="d6e8a04be1e9f9b0188461487177a9306c759a2d16c1a5d54e751cfa14f20c13"
|
||||
PKG_VERSION="c895a8b5f0f5637bc0ed8e7f17633823558953bd"
|
||||
PKG_SHA256="a765713166dce3ce9275a88846190009f00bf88e2de22ff4735c12187e842a4f"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/hatari/hatari"
|
||||
PKG_URL="https://github.com/hatari/hatari/archive/$PKG_VERSION.tar.gz"
|
||||
|
|
|
@ -54,13 +54,13 @@ EnableDebugger = False
|
|||
# Save state slot (0-9) to use when saving/loading the emulator state
|
||||
CurrentStateSlot = 0
|
||||
# Path to directory where screenshots are saved. If this is blank, the default value of ${UserDataPath}/screenshot will be used
|
||||
ScreenshotPath = "/storage/roms/n64"
|
||||
ScreenshotPath = "/storage/roms/screenshots"
|
||||
# Path to directory where emulator save states (snapshots) are saved. If this is blank, the default value of ${UserDataPath}/save will be used
|
||||
SaveStatePath = "/storage/roms/n64"
|
||||
# Path to directory where SRAM/EEPROM data (in-game saves) are stored. If this is blank, the default value of ${UserDataPath}/save will be used
|
||||
SaveSRAMPath = "/storage/roms/n64"
|
||||
# Path to a directory to search when looking for shared data files
|
||||
SharedDataPath = "/storage/roms/gamedata/mupen64plussa"
|
||||
SharedDataPath = "/storage/.config/game/configs/mupen64plussa"
|
||||
# Force number of cycles per emulated instruction
|
||||
CountPerOp = 0
|
||||
# Randomize PI/SI Interrupt Timing
|
||||
|
@ -110,23 +110,23 @@ Kbd Mapping Frame Advance = 47
|
|||
# SDL keysym for pressing the game shark button
|
||||
Kbd Mapping Gameshark = 103
|
||||
# Joystick event string for stopping the emulator
|
||||
Joy Mapping Stop = "J0B12/B13"
|
||||
Joy Mapping Stop = "J0B8/B9"
|
||||
# Joystick event string for switching between fullscreen/windowed modes
|
||||
Joy Mapping Fullscreen = ""
|
||||
# Joystick event string for saving the emulator state
|
||||
Joy Mapping Save State = "J0B12/B5"
|
||||
Joy Mapping Save State = "J0B8/B5"
|
||||
# Joystick event string for loading the emulator state
|
||||
Joy Mapping Load State = "J0B12/B4"
|
||||
Joy Mapping Load State = "J0B8/B4"
|
||||
# Joystick event string for advancing the save state slot
|
||||
Joy Mapping Increment Slot = ""
|
||||
# Joystick event string for resetting the emulator
|
||||
Joy Mapping Reset = ""
|
||||
Joy Mapping Reset = "J0B8/B0"
|
||||
# Joystick event string for slowing down the emulator
|
||||
Joy Mapping Speed Down = ""
|
||||
# Joystick event string for speeding up the emulator
|
||||
Joy Mapping Speed Up = ""
|
||||
# Joystick event string for taking a screenshot
|
||||
Joy Mapping Screenshot = ""
|
||||
Joy Mapping Screenshot = "J0B8/B3"
|
||||
# Joystick event string for pausing the emulator
|
||||
Joy Mapping Pause = "J0B12/B1"
|
||||
# Joystick event string for muting/unmuting the sound
|
||||
|
@ -140,7 +140,7 @@ Joy Mapping Fast Forward = ""
|
|||
# Joystick event string for advancing by one frame when paused
|
||||
Joy Mapping Frame Advance = ""
|
||||
# Joystick event string for pressing the game shark button
|
||||
Joy Mapping Gameshark = ""
|
||||
Joy Mapping Gameshark = "J0B8/B2"
|
||||
# SDL keysym for save slot 0
|
||||
Kbd Mapping Slot 0 = 48
|
||||
# SDL keysym for save slot 1
|
||||
|
@ -172,7 +172,7 @@ mode = 2
|
|||
# Specifies which joystick is bound to this controller: -1=No joystick, 0 or more= SDL Joystick number
|
||||
device = 0
|
||||
# SDL joystick name (or Keyboard)
|
||||
name = "GO-Super Gamepad"
|
||||
name = "retrogame_joypad"
|
||||
# Specifies whether this controller is 'plugged in' to the simulated N64
|
||||
plugged = True
|
||||
# Specifies which type of expansion pak is in the controller: 1=None, 2=Mem pak, 4=Transfer pak, 5=Rumble pak
|
||||
|
@ -186,25 +186,25 @@ AnalogDeadzone = "0,0"
|
|||
# An absolute value of the SDL joystick axis >= AnalogPeak will saturate the N64 controller axis value (at 80). For X, Y axes. For each axis, this must be greater than the corresponding AnalogDeadzone value
|
||||
AnalogPeak = "32768,32768"
|
||||
# Digital button configuration mappings
|
||||
DPad R = "button(11)"
|
||||
DPad L = "button(10)"
|
||||
DPad D = "button(9)"
|
||||
DPad U = "button(8)"
|
||||
Start = "button(13)"
|
||||
Z Trig = "button(15)"
|
||||
B Button = "button(3)"
|
||||
A Button = "button(0)"
|
||||
C Button R = "button(7)"
|
||||
C Button L = "button(2)"
|
||||
C Button D = "button(1)"
|
||||
C Button U = "button(6)"
|
||||
R Trig = "button(5)"
|
||||
L Trig = "button(4)"
|
||||
Mempak switch = ""
|
||||
Rumblepak switch = ""
|
||||
DPad R = button(16)
|
||||
DPad L = button(15)
|
||||
DPad D = button(14)
|
||||
DPad U = button(13)
|
||||
Start = button(9)
|
||||
Z Trig = button(5)
|
||||
B Button = button(3)
|
||||
A Button = button(0)
|
||||
C Button R = axis(2+)
|
||||
C Button L = axis(2-)
|
||||
C Button D = axis(3+)
|
||||
C Button U = axis(3-)
|
||||
R Trig = button(7)
|
||||
L Trig = button(4)
|
||||
Mempak switch =
|
||||
Rumblepak switch =
|
||||
# Analog axis configuration mappings
|
||||
X Axis = "axis(0-,0+)"
|
||||
Y Axis = "axis(1-,1+)"
|
||||
X Axis = axis(0-,0+)
|
||||
Y Axis = axis(1-,1+)
|
||||
|
||||
|
||||
[Input-SDL-Control2]
|
||||
|
@ -627,4 +627,3 @@ ForcePolygonOffset = False
|
|||
PolygonOffsetFactor = 0.000000
|
||||
# Is multiplied by an implementation-specific value to create a constant depth offset
|
||||
PolygonOffsetUnits = 0.000000
|
||||
|
||||
|
|
109
packages/games/emulators/mupen64plussa/mupen64plussa-core/m64p.sh
Executable file → Normal file
109
packages/games/emulators/mupen64plussa/mupen64plussa-core/m64p.sh
Executable file → Normal file
|
@ -1,23 +1,114 @@
|
|||
#!/bin/bash
|
||||
|
||||
if [[ ! -f "/storage/roms/gamedata/mupen64plussa/InputAutoCfg.ini" ]]; then
|
||||
mkdir -p /storage/roms/gamedata/mupen64plussa
|
||||
cp /usr/local/share/mupen64plus/InputAutoCfg.ini /storage/roms/gamedata/mupen64plussa/
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2021-present 351ELEC (https://github.com/351ELEC)
|
||||
# Copyright (C) 2022-present BrooksyTech (https://github.com/brooksytech)
|
||||
|
||||
. /etc/profile
|
||||
|
||||
echo 'starting mupen64plus stand alone emulator...'
|
||||
|
||||
CORE="$1"
|
||||
ROM="${2##*/}"
|
||||
PLATFORM="n64"
|
||||
SHARE="/usr/local/share/mupen64plus"
|
||||
INPUTCFGBASE="$SHARE/InputAutoCfg.ini"
|
||||
CONF="/storage/.config/system/configs/system.cfg"
|
||||
M64PCONF="/storage/.config/game/configs/mupen64plussa/mupen64plus.cfg"
|
||||
TMP="/tmp/mupen64plussa"
|
||||
GAMEDATA="/storage/.config/game/configs/mupen64plussa"
|
||||
|
||||
rm -rf $TMP
|
||||
mkdir -p $TMP
|
||||
|
||||
function get_setting() {
|
||||
#We look for the setting on the ROM first, if not found we search for platform and lastly we search globally
|
||||
PAT="s|^${PLATFORM}\[\"${ROM}\"\].*${1}=\(.*\)|\1|p"
|
||||
EES=$(sed -n "${PAT}" "${CONF}" | head -1)
|
||||
|
||||
if [ -z "${EES}" ]; then
|
||||
PAT="s|^${PLATFORM}[\.-]${1}=\(.*\)|\1|p"
|
||||
EES=$(sed -n "${PAT}" "${CONF}" | head -1)
|
||||
fi
|
||||
|
||||
if [ -z "${EES}" ]; then
|
||||
PAT="s|^global[\.-].*${1}=\(.*\)|\1|p"
|
||||
EES=$(sed -n "${PAT}" "${CONF}" | head -1)
|
||||
fi
|
||||
|
||||
[ -z "${EES}" ] && EES="false"
|
||||
}
|
||||
|
||||
if [[ ! -f "$GAMEDATA/custominput.ini" ]]; then
|
||||
mkdir -p $GAMEDATA
|
||||
cp $SHARE/default.ini $GAMEDATA/custominput.ini
|
||||
fi
|
||||
|
||||
if [[ ! -f "/storage/.config/mupen64plussa/mupen64plus.cfg" ]]; then
|
||||
mkdir -p /storage/.config/mupen64plussa
|
||||
cp /usr/local/share/mupen64plus/mupen64plus.cfg /storage/.config/mupen64plussa/
|
||||
if [[ ! -f "$M64PCONF" ]]; then
|
||||
mkdir -p /storage/.config/game/configs/mupen64plussa
|
||||
cp $SHARE/mupen64plus.cfg $M64PCONF
|
||||
fi
|
||||
|
||||
cp $M64PCONF $TMP
|
||||
|
||||
RESOLUTION=$(batocera-resolution "currentResolution")
|
||||
echo ${RESOLUTION}
|
||||
RESA=${RESOLUTION%x*}
|
||||
RESB=${RESOLUTION#*x}
|
||||
SCREENWIDTH=$((RESA>=RESB ? RESA : RESB))
|
||||
echo ${SCREENWIDTH}
|
||||
SCREENHEIGHT=$((RESA<RESB ? RESA : RESB))
|
||||
echo ${SCREENHEIGHT}
|
||||
|
||||
SET_PARAMS="--set Core[SharedDataPath]=$TMP --set Video-Rice[ResolutionWidth]=$SCREENWIDTH"
|
||||
|
||||
# Game Aspect Ratio
|
||||
# Get configuration from system.cfg
|
||||
get_setting "game_aspect_ratio"
|
||||
echo ${EES}
|
||||
if [ "${EES}" == "fullscreen" ]; then
|
||||
# TODO: Set aspect ratio to fullscreen
|
||||
SET_PARAMS="$SET_PARAMS --set Video-General[ScreenWidth]=$SCREENWIDTH --set Video-General[ScreenHeight]=$SCREENHEIGHT --set Video-Glide64mk2[aspect]=2"
|
||||
else
|
||||
# TODO: Set aspect ratio to 4:3
|
||||
GAMEWIDTH=$(((SCREENHEIGHT * 4) / 3))
|
||||
SET_PARAMS="$SET_PARAMS --set Video-General[ScreenWidth]=$GAMEWIDTH --set Video-General[ScreenHeight]=$SCREENHEIGHT"
|
||||
fi
|
||||
|
||||
# Game Aspect Ratio
|
||||
# Get configuration from system.cfg
|
||||
get_setting "input_configuration"
|
||||
echo ${EES}
|
||||
if [ "${EES}" == "zlswap" ]; then
|
||||
#cat $INPUTCFGBASE <(echo) $SHARE/zlswap.ini > $TMP/InputAutoCfg.ini
|
||||
cp $SHARE/zlswap.ini $TMP/InputAutoCfg.ini
|
||||
elif [ "${EES}" == "custom" ]; then
|
||||
cp $GAMEDATA/custominput.ini $TMP/InputAutoCfg.ini
|
||||
else
|
||||
# Default
|
||||
cp $SHARE/default.ini $TMP/InputAutoCfg.ini
|
||||
fi
|
||||
|
||||
# Show FPS
|
||||
# Get configuration from system.cfg
|
||||
get_setting "show_fps"
|
||||
echo ${EES}
|
||||
if [ "${EES}" == "auto" ] || [ "${EES}" == "disabled" ] || [ "${EES}" == "false" ] || [ "${EES}" == "none" ] || [ "${EES}" == "0" ]; then
|
||||
SET_PARAMS="$SET_PARAMS --set Video-Glide64mk2[show_fps]=0 --set Video-Rice[ShowFPS]=\"False\""
|
||||
else
|
||||
SET_PARAMS="$SET_PARAMS --set Video-Glide64mk2[show_fps]=1 --set Video-Rice[ShowFPS]=\"True\""
|
||||
fi
|
||||
|
||||
echo ${SET_PARAMS}
|
||||
|
||||
case $1 in
|
||||
"m64p_gl64mk2")
|
||||
/usr/local/bin/mupen64plus --configdir /storage/.config/mupen64plussa --gfx mupen64plus-video-glide64mk2 "$2"
|
||||
/usr/local/bin/mupen64plus --configdir $TMP --gfx mupen64plus-video-glide64mk2 $SET_PARAMS "$2"
|
||||
;;
|
||||
"m64p_rice")
|
||||
/usr/local/bin/mupen64plus --configdir /storage/.config/mupen64plussa --gfx mupen64plus-video-rice "$2"
|
||||
/usr/local/bin/mupen64plus --configdir $TMP --gfx mupen64plus-video-rice $SET_PARAMS "$2"
|
||||
;;
|
||||
*)
|
||||
/usr/local/bin/mupen64plus --configdir /storage/.config/mupen64plussa --gfx mupen64plus-video-rice "$2"
|
||||
/usr/local/bin/mupen64plus --configdir $TMP --gfx mupen64plus-video-rice $SET_PARAMS "$2"
|
||||
;;
|
||||
esac
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
# Copyright (C) 2019-present Shanti Gilbert (https://github.com/shantigilbert)
|
||||
|
||||
PKG_NAME="mupen64plussa-core"
|
||||
PKG_VERSION="1f495d5514c04b0ab1af3a86851f0f5270d4cb00"
|
||||
PKG_SHA256="9e2a23f97c71cb59463a24560acdd8d1db1aadcc26fd50f1642f3ccac6d05f1f"
|
||||
PKG_VERSION="49dd0bfc8f48afd04ddd1762ea9d9e89a85fc8a2"
|
||||
PKG_SHA256="dc1c344044bebaacc1aa4dcc7cb072cbd3677261bfe4f4e748fe6144f02f08b3"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_SITE="https://github.com/mupen64plus/mupen64plus-core"
|
||||
|
|
|
@ -2124,26 +2124,26 @@ Rumblepak switch =
|
|||
X Axis = axis(0+,0-)
|
||||
Y Axis = axis(1+,1-)
|
||||
|
||||
; RG351MP Gamepad
|
||||
; RG552 Gamepad
|
||||
[retrogame_joypad]
|
||||
plugged = True
|
||||
mouse = False
|
||||
AnalogDeadzone = 0,0
|
||||
AnalogPeak = 32768,32768
|
||||
DPad R = button(11)
|
||||
DPad L = button(10)
|
||||
DPad D = button(9)
|
||||
DPad U = button(8)
|
||||
Start = button(13)
|
||||
Z Trig = button(15)
|
||||
DPad R = button(16)
|
||||
DPad L = button(15)
|
||||
DPad D = button(14)
|
||||
DPad U = button(13)
|
||||
Start = button(9)
|
||||
Z Trig = button(4)
|
||||
B Button = button(3)
|
||||
A Button = button(0)
|
||||
C Button R = button(7)
|
||||
C Button L = button(2)
|
||||
C Button D = button(1)
|
||||
C Button U = button(6)
|
||||
C Button R = axis(2+)
|
||||
C Button L = axis(2-)
|
||||
C Button D = axis(3+)
|
||||
C Button U = axis(3-)
|
||||
R Trig = button(5)
|
||||
L Trig = button(4)
|
||||
L Trig = button(6)
|
||||
Mempak switch =
|
||||
Rumblepak switch =
|
||||
# Analog axis configuration mappings
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
; RG552 Gamepad - default.ini
|
||||
[retrogame_joypad]
|
||||
plugged = True
|
||||
mouse = False
|
||||
AnalogDeadzone = 0,0
|
||||
AnalogPeak = 32768,32768
|
||||
DPad R = button(16)
|
||||
DPad L = button(15)
|
||||
DPad D = button(14)
|
||||
DPad U = button(13)
|
||||
Start = button(9)
|
||||
Z Trig = button(6)
|
||||
B Button = button(3)
|
||||
A Button = button(0)
|
||||
C Button R = axis(2+)
|
||||
C Button L = axis(2-)
|
||||
C Button D = axis(3+)
|
||||
C Button U = axis(3-)
|
||||
R Trig = button(5)
|
||||
L Trig = button(4)
|
||||
Mempak switch =
|
||||
Rumblepak switch =
|
||||
# Analog axis configuration mappings
|
||||
X Axis = axis(0-,0+)
|
||||
Y Axis = axis(1-,1+)
|
|
@ -0,0 +1,25 @@
|
|||
; RG552 Gamepad - zlswap.ini
|
||||
[retrogame_joypad]
|
||||
plugged = True
|
||||
mouse = False
|
||||
AnalogDeadzone = 0,0
|
||||
AnalogPeak = 32768,32768
|
||||
DPad R = button(16)
|
||||
DPad L = button(15)
|
||||
DPad D = button(14)
|
||||
DPad U = button(13)
|
||||
Start = button(9)
|
||||
Z Trig = button(4)
|
||||
B Button = button(3)
|
||||
A Button = button(0)
|
||||
C Button R = axis(2+)
|
||||
C Button L = axis(2-)
|
||||
C Button D = axis(3+)
|
||||
C Button U = axis(3-)
|
||||
R Trig = button(5)
|
||||
L Trig = button(6)
|
||||
Mempak switch =
|
||||
Rumblepak switch =
|
||||
# Analog axis configuration mappings
|
||||
X Axis = axis(0-,0+)
|
||||
Y Axis = axis(1-,1+)
|
|
@ -39,7 +39,6 @@ makeinstall_target() {
|
|||
#$STRIP ${UPLUGINDIR}/mupen64plus-input-sdl.so
|
||||
chmod 0644 ${UPLUGINDIR}/mupen64plus-input-sdl.so
|
||||
mkdir -p ${USHAREDIR}
|
||||
cp ${PKG_DIR}/config/InputAutoCfg.ini ${USHAREDIR}
|
||||
cp ${PKG_DIR}/config/* ${USHAREDIR}
|
||||
chmod 644 ${USHAREDIR}/InputAutoCfg.ini
|
||||
}
|
||||
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
# Copyright (C) 2019-present Shanti Gilbert (https://github.com/shantigilbert)
|
||||
|
||||
PKG_NAME="mupen64plussa-ui-console"
|
||||
PKG_VERSION="32e27344214946f0dce3cd2b4fff152a3538bd8f"
|
||||
PKG_SHA256="7d4a0a71545caec19d007f34038cffaee36b75d27de615cd4e175bb5ab2e227d"
|
||||
PKG_VERSION="b5f62979ed77e526877c9c67dbb8568a3511347c"
|
||||
PKG_SHA256="0e7da477e58652ecadcf78a474fd9007f613ba9062364bf197ea88f5a7c12ed1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_SITE="https://github.com/mupen64plus/mupen64plus-ui-console"
|
||||
|
|
|
@ -0,0 +1,76 @@
|
|||
diff --git a/src/Config.cpp b/src/Config.cpp
|
||||
index 961a1c7..1b4ef28 100644
|
||||
--- a/src/Config.cpp
|
||||
+++ b/src/Config.cpp
|
||||
@@ -425,6 +425,12 @@ static void ReadConfiguration(void)
|
||||
windowSetting.uDisplayWidth = ConfigGetParamInt(l_ConfigVideoGeneral, "ScreenWidth");
|
||||
windowSetting.uDisplayHeight = ConfigGetParamInt(l_ConfigVideoGeneral, "ScreenHeight");
|
||||
windowSetting.bVerticalSync = ConfigGetParamBool(l_ConfigVideoGeneral, "VerticalSync");
|
||||
+ windowSetting.uResolutionWidth = ConfigGetParamInt(l_ConfigVideoRice, "ResolutionWidth");
|
||||
+ if (windowSetting.uResolutionWidth) {
|
||||
+ windowSetting.uXOffset = (windowSetting.uResolutionWidth - windowSetting.uDisplayWidth)/2;
|
||||
+ } else {
|
||||
+ windowSetting.uXOffset = 0;
|
||||
+ }
|
||||
|
||||
defaultRomOptions.N64FrameBufferEmuType = ConfigGetParamInt(l_ConfigVideoRice, "FrameBufferSetting");
|
||||
defaultRomOptions.N64FrameBufferWriteBackControl = ConfigGetParamInt(l_ConfigVideoRice, "FrameBufferWriteBackControl");
|
||||
diff --git a/src/OGLRender.cpp b/src/OGLRender.cpp
|
||||
index 6f9d0e2..6618d21 100644
|
||||
--- a/src/OGLRender.cpp
|
||||
+++ b/src/OGLRender.cpp
|
||||
@@ -935,7 +935,7 @@ void OGLRender::UpdateScissor()
|
||||
uint32 height = (gRDP.scissor.right*gRDP.scissor.bottom)/width;
|
||||
glEnable(GL_SCISSOR_TEST);
|
||||
OPENGL_CHECK_ERRORS;
|
||||
- glScissor(0, int(height*windowSetting.fMultY+windowSetting.statusBarHeightToUse),
|
||||
+ glScissor(windowSetting.uXOffset, int(height*windowSetting.fMultY+windowSetting.statusBarHeightToUse),
|
||||
int(width*windowSetting.fMultX), int(height*windowSetting.fMultY) );
|
||||
OPENGL_CHECK_ERRORS;
|
||||
}
|
||||
@@ -956,13 +956,13 @@ void OGLRender::ApplyRDPScissor(bool force)
|
||||
uint32 height = (gRDP.scissor.right*gRDP.scissor.bottom)/width;
|
||||
glEnable(GL_SCISSOR_TEST);
|
||||
OPENGL_CHECK_ERRORS;
|
||||
- glScissor(0, int(height*windowSetting.fMultY+windowSetting.statusBarHeightToUse),
|
||||
+ glScissor(windowSetting.uXOffset, int(height*windowSetting.fMultY+windowSetting.statusBarHeightToUse),
|
||||
int(width*windowSetting.fMultX), int(height*windowSetting.fMultY) );
|
||||
OPENGL_CHECK_ERRORS;
|
||||
}
|
||||
else
|
||||
{
|
||||
- glScissor(int(gRDP.scissor.left*windowSetting.fMultX), int((windowSetting.uViHeight-gRDP.scissor.bottom)*windowSetting.fMultY+windowSetting.statusBarHeightToUse),
|
||||
+ glScissor(int(gRDP.scissor.left*windowSetting.fMultX + windowSetting.uXOffset), int((windowSetting.uViHeight-gRDP.scissor.bottom)*windowSetting.fMultY+windowSetting.statusBarHeightToUse),
|
||||
int((gRDP.scissor.right-gRDP.scissor.left)*windowSetting.fMultX), int((gRDP.scissor.bottom-gRDP.scissor.top)*windowSetting.fMultY ));
|
||||
OPENGL_CHECK_ERRORS;
|
||||
}
|
||||
@@ -976,7 +976,7 @@ void OGLRender::ApplyScissorWithClipRatio(bool force)
|
||||
|
||||
glEnable(GL_SCISSOR_TEST);
|
||||
OPENGL_CHECK_ERRORS;
|
||||
- glScissor(windowSetting.clipping.left, int((windowSetting.uViHeight-gRSP.real_clip_scissor_bottom)*windowSetting.fMultY)+windowSetting.statusBarHeightToUse,
|
||||
+ glScissor(windowSetting.clipping.left + windowSetting.uXOffset, int((windowSetting.uViHeight-gRSP.real_clip_scissor_bottom)*windowSetting.fMultY)+windowSetting.statusBarHeightToUse,
|
||||
windowSetting.clipping.width, windowSetting.clipping.height);
|
||||
OPENGL_CHECK_ERRORS;
|
||||
|
||||
@@ -1019,7 +1019,7 @@ void OGLRender::glViewportWrapper(GLint x, GLint y, GLsizei width, GLsizei heigh
|
||||
mflag=flag;
|
||||
glLoadIdentity();
|
||||
OPENGL_CHECK_ERRORS;
|
||||
- glViewport(x,y,width,height);
|
||||
+ glViewport(windowSetting.uXOffset + x,y,width,height);
|
||||
OPENGL_CHECK_ERRORS;
|
||||
}
|
||||
}
|
||||
diff --git a/src/Video.h b/src/Video.h
|
||||
index 7fbbcaa..25812c9 100644
|
||||
--- a/src/Video.h
|
||||
+++ b/src/Video.h
|
||||
@@ -37,6 +37,7 @@ typedef struct {
|
||||
float fViWidth, fViHeight;
|
||||
unsigned short uViWidth, uViHeight;
|
||||
unsigned short uDisplayWidth, uDisplayHeight;
|
||||
+ unsigned short uResolutionWidth, uXOffset;
|
||||
|
||||
BOOL bDisplayFullscreen;
|
||||
BOOL bVerticalSync;
|
|
@ -3,7 +3,8 @@
|
|||
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="mupen64plussa"
|
||||
PKG_VERSION=""
|
||||
PKG_VERSION="ac505d43051a4ffbe7a05608afaa865631f27eb7"
|
||||
PKG_SHA256=""
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://mupen64plus.org/"
|
||||
PKG_URL=""
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# Copyright (C) 2021-present 351ELEC (https://github.com/351ELEC)
|
||||
|
||||
PKG_NAME="retroarch"
|
||||
PKG_VERSION="3e4201ed3038eb56da01d2c5b3851d428dc6b333"
|
||||
PKG_VERSION="6d67c1650773090a2e4fa09b333280b308c6c568"
|
||||
PKG_SITE="https://github.com/libretro/RetroArch"
|
||||
PKG_URL="$PKG_SITE.git"
|
||||
PKG_LICENSE="GPLv3"
|
||||
|
@ -92,6 +92,18 @@ makeinstall_target() {
|
|||
}
|
||||
|
||||
post_install() {
|
||||
mkdir -p ${INSTALL}/etc/retroarch-joypad-autoconfig
|
||||
cp -r ${PKG_DIR}/gamepads/* ${INSTALL}/etc/retroarch-joypad-autoconfig
|
||||
|
||||
# Remove unnecesary Retroarch Assets and overlays
|
||||
for i in branding nuklear nxrgui pkg switch wallpapers zarch COPYING; do
|
||||
rm -rf "${INSTALL}/usr/share/retroarch-assets/$i"
|
||||
done
|
||||
|
||||
for i in automatic dot-art flatui neoactive pixel retroactive retrosystem systematic convert.sh NPMApng2PMApng.py; do
|
||||
rm -rf "${INSTALL}/usr/share/retroarch-assets/xmb/$i"
|
||||
done
|
||||
|
||||
enable_service retroarch.service
|
||||
enable_service tmp-cores.mount
|
||||
enable_service tmp-joypads.mount
|
||||
|
|
|
@ -1,22 +1,21 @@
|
|||
diff --git a/menu/drivers/ozone.c b/menu/drivers/ozone.c
|
||||
index cab4491028..97a614ff63 100644
|
||||
--- a/menu/drivers/ozone.c
|
||||
+++ b/menu/drivers/ozone.c
|
||||
@@ -6837,7 +6837,7 @@ static void *ozone_init(void **userdata, bool video_is_threaded)
|
||||
diff -rupN retroarch.orig/menu/drivers/ozone.c retroarch/menu/drivers/ozone.c
|
||||
--- retroarch.orig/menu/drivers/ozone.c 2022-03-12 06:46:06.484390460 -0500
|
||||
+++ retroarch/menu/drivers/ozone.c 2022-03-12 06:46:56.572060794 -0500
|
||||
@@ -7066,7 +7066,7 @@ static void *ozone_init(void **userdata,
|
||||
ozone->last_width = width;
|
||||
ozone->last_height = height;
|
||||
ozone->last_scale_factor = gfx_display_get_dpi_scale(p_disp,
|
||||
- settings, width, height, false, false);
|
||||
+ settings, width, height, false, false) * 2.000f;
|
||||
ozone->last_thumbnail_scale_factor = settings->floats.ozone_thumbnail_scale_factor;
|
||||
|
||||
file_list_initialize(&ozone->selection_buf_old);
|
||||
|
||||
@@ -7902,7 +7902,7 @@ static void ozone_render(void *data,
|
||||
@@ -8166,7 +8166,7 @@ static void ozone_render(void *data,
|
||||
/* Check whether screen dimensions or menu scale
|
||||
* factor have changed */
|
||||
scale_factor = gfx_display_get_dpi_scale(p_disp, settings,
|
||||
- width, height, false, false);
|
||||
+ width, height, false, false) * 2.000f;
|
||||
thumbnail_scale_factor = settings->floats.ozone_thumbnail_scale_factor;
|
||||
|
||||
if ((scale_factor != ozone->last_scale_factor) ||
|
||||
(width != ozone->last_width) ||
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
diff -rupN retroarch.orig/menu/menu_setting.c retroarch/menu/menu_setting.c
|
||||
--- retroarch.orig/menu/menu_setting.c 2022-03-05 15:34:24.206615672 -0500
|
||||
+++ retroarch/menu/menu_setting.c 2022-03-05 20:09:51.435336191 -0500
|
||||
@@ -9321,7 +9321,7 @@ static bool setting_append_list(
|
||||
CONFIG_ACTION(
|
||||
list, list_info,
|
||||
MENU_ENUM_LABEL_QUIT_RETROARCH,
|
||||
- MENU_ENUM_LABEL_VALUE_RESTART_RETROARCH,
|
||||
+ MENU_ENUM_LABEL_VALUE_QUIT_RETROARCH,
|
||||
&group_info,
|
||||
&subgroup_info,
|
||||
parent_group);
|
|
@ -3,8 +3,8 @@
|
|||
# Copyright (C) 2020-present Fewtarius
|
||||
|
||||
PKG_NAME="scummvmsa"
|
||||
PKG_VERSION="fa9f8850bfaa8ec7dc9cf750e5861a5bf6140add"
|
||||
PKG_SHA256="26a7eca69f96a13a8cd66624c98a37e7a4a72fdcf5e6897cdeacb6e172df91d2"
|
||||
PKG_VERSION="be3e42a2bb29637905c5be7d735788833fed7ace"
|
||||
PKG_SHA256="cbe0a4b4c122d295dc75321756a3a6625b4dc522fe470f791b747cf3354db1a8"
|
||||
PKG_REV="1"
|
||||
PKG_LICENSE="GPL2"
|
||||
PKG_SITE="https://github.com/scummvm/scummvm"
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
# VICE hotkey mapping file
|
||||
#
|
||||
# A hotkey map is read in as a patch to the current map.
|
||||
#
|
||||
# File format:
|
||||
# - comment lines start with '#'
|
||||
# - keyword lines start with '!keyword'
|
||||
# - normal line has 'keynum path&to&menuitem'
|
||||
#
|
||||
# Keywords and their lines are:
|
||||
# '!CLEAR' clear all mappings
|
||||
#
|
||||
|
||||
!CLEAR
|
||||
|
||||
300 Machine settings&Joystick settings&Swap native joystick ports
|
||||
1072 Drive&Attach disk image to drive 10
|
||||
1073 Drive&Attach disk image to drive 11
|
||||
1076 Printer&Printer #4 form feed
|
||||
1077 Printer&Printer #5 form feed
|
||||
1078 Printer&Printer #6 form feed
|
||||
1080 Drive&Attach disk image to drive 8
|
||||
1081 Drive&Attach disk image to drive 9
|
||||
1121 Autostart image
|
||||
1122 Statusbar
|
||||
1123 Cartridge&Attach CRT image
|
||||
1125 Snapshot&Set recording milestone
|
||||
1128 Monitor&Start monitor
|
||||
1129 Drive&Fliplist settings&Add current image to fliplist
|
||||
1130 Machine settings&Joystick settings&Swap native joystick ports
|
||||
1131 Drive&Fliplist settings&Remove current image from fliplist
|
||||
1132 Snapshot&Load snapshot image
|
||||
1133 Machine settings&Mouse emulation&Grab mouse events
|
||||
1134 Drive&Fliplist settings&Attach next image in fliplist
|
||||
1136 Pause
|
||||
1137 Quit emulator
|
||||
1139 Snapshot&Save snapshot image
|
||||
1140 Tape&Attach tape image
|
||||
1141 Snapshot&Return to milestone
|
||||
1143 Speed settings&Warp mode
|
||||
1146 Cartridge&Cartridge freeze
|
||||
1151 Edit&Copy to Clipboard
|
||||
1301 Edit&Paste from Clipboard
|
||||
1314 Reset&Soft
|
||||
1315 Snapshot&Quickload snapshot.vsf
|
||||
1316 Snapshot&Quicksave snapshot.vsf
|
||||
1317 Reset&Hard
|
||||
1642 Machine settings&Joystick settings&Allow keyset joystick
|
||||
1648 Advance Frame
|
||||
1650 Save media file
|
||||
1651 Save media file&Create sound recording&Stop recording
|
||||
3182 Drive&Fliplist settings&Attach previous image in fliplist
|
|
@ -0,0 +1,52 @@
|
|||
# VICE hotkey mapping file
|
||||
#
|
||||
# A hotkey map is read in as a patch to the current map.
|
||||
#
|
||||
# File format:
|
||||
# - comment lines start with '#'
|
||||
# - keyword lines start with '!keyword'
|
||||
# - normal line has 'keynum path&to&menuitem'
|
||||
#
|
||||
# Keywords and their lines are:
|
||||
# '!CLEAR' clear all mappings
|
||||
#
|
||||
|
||||
!CLEAR
|
||||
|
||||
300 Machine settings&Joystick settings&Swap native joystick ports
|
||||
1072 Drive&Attach disk image to drive 10
|
||||
1073 Drive&Attach disk image to drive 11
|
||||
1076 Printer&Printer #4 form feed
|
||||
1077 Printer&Printer #5 form feed
|
||||
1078 Printer&Printer #6 form feed
|
||||
1080 Drive&Attach disk image to drive 8
|
||||
1081 Drive&Attach disk image to drive 9
|
||||
1121 Autostart image
|
||||
1122 Statusbar
|
||||
1123 Cartridge&Attach CRT image
|
||||
1125 Snapshot&Set recording milestone
|
||||
1128 Monitor&Start monitor
|
||||
1129 Drive&Fliplist settings&Add current image to fliplist
|
||||
1130 Machine settings&Joystick settings&Swap native joystick ports
|
||||
1131 Drive&Fliplist settings&Remove current image from fliplist
|
||||
1132 Snapshot&Load snapshot image
|
||||
1133 Machine settings&Mouse emulation&Grab mouse events
|
||||
1134 Drive&Fliplist settings&Attach next image in fliplist
|
||||
1136 Pause
|
||||
1137 Quit emulator
|
||||
1139 Snapshot&Save snapshot image
|
||||
1140 Tape&Attach tape image
|
||||
1141 Snapshot&Return to milestone
|
||||
1143 Speed settings&Warp mode
|
||||
1146 Cartridge&Cartridge freeze
|
||||
1151 Edit&Copy to Clipboard
|
||||
1301 Edit&Paste from Clipboard
|
||||
1314 Reset&Soft
|
||||
1315 Snapshot&Quickload snapshot.vsf
|
||||
1316 Snapshot&Quicksave snapshot.vsf
|
||||
1317 Reset&Hard
|
||||
1642 Machine settings&Joystick settings&Allow keyset joystick
|
||||
1648 Advance Frame
|
||||
1650 Save media file
|
||||
1651 Save media file&Create sound recording&Stop recording
|
||||
3182 Drive&Fliplist settings&Attach previous image in fliplist
|
|
@ -0,0 +1,48 @@
|
|||
# VICE hotkey mapping file
|
||||
#
|
||||
# A hotkey map is read in as a patch to the current map.
|
||||
#
|
||||
# File format:
|
||||
# - comment lines start with '#'
|
||||
# - keyword lines start with '!keyword'
|
||||
# - normal line has 'keynum path&to&menuitem'
|
||||
#
|
||||
# Keywords and their lines are:
|
||||
# '!CLEAR' clear all mappings
|
||||
#
|
||||
|
||||
!CLEAR
|
||||
|
||||
1072 Drive&Attach disk image to drive 10
|
||||
1073 Drive&Attach disk image to drive 11
|
||||
1076 Printer&Printer #4 form feed
|
||||
1077 Printer&Printer #5 form feed
|
||||
1078 Printer&Printer #6 form feed
|
||||
1080 Drive&Attach disk image to drive 8
|
||||
1081 Drive&Attach disk image to drive 9
|
||||
1121 Autostart image
|
||||
1122 Statusbar
|
||||
1125 Snapshot&Set recording milestone
|
||||
1128 Monitor&Start monitor
|
||||
1129 Drive&Fliplist settings&Add current image to fliplist
|
||||
1131 Drive&Fliplist settings&Remove current image from fliplist
|
||||
1132 Snapshot&Load snapshot image
|
||||
1133 Machine settings&Mouse emulation&Grab mouse events
|
||||
1134 Drive&Fliplist settings&Attach next image in fliplist
|
||||
1136 Pause
|
||||
1137 Quit emulator
|
||||
1139 Snapshot&Save snapshot image
|
||||
1140 Tape&Attach tape image
|
||||
1141 Snapshot&Return to milestone
|
||||
1143 Speed settings&Warp mode
|
||||
1151 Edit&Copy to Clipboard
|
||||
1301 Edit&Paste from Clipboard
|
||||
1314 Reset&Soft
|
||||
1315 Snapshot&Quickload snapshot.vsf
|
||||
1316 Snapshot&Quicksave snapshot.vsf
|
||||
1317 Reset&Hard
|
||||
1642 Machine settings&Joystick settings&Allow keyset joystick
|
||||
1648 Advance Frame
|
||||
1650 Save media file
|
||||
1651 Save media file&Create sound recording&Stop recording
|
||||
3182 Drive&Fliplist settings&Attach previous image in fliplist
|
|
@ -0,0 +1,64 @@
|
|||
# VICE joystick mapping file
|
||||
#
|
||||
# A joystick map is read in as patch to the current map.
|
||||
#
|
||||
# File format:
|
||||
# - comment lines start with '#'
|
||||
# - keyword lines start with '!keyword'
|
||||
# - normal line has 'joynum inputtype inputindex action'
|
||||
#
|
||||
# Keywords and their lines are:
|
||||
# '!CLEAR' clear all mappings
|
||||
#
|
||||
# inputtype:
|
||||
# 0 axis
|
||||
# 1 button
|
||||
# 2 hat
|
||||
# 3 ball
|
||||
#
|
||||
# Note that each axis has 2 inputindex entries and each hat has 4.
|
||||
#
|
||||
# action [action_parameters]:
|
||||
# 0 none
|
||||
# 1 port pin joystick (pin: 1/2/4/8/16/32/64/128/256/512/1024/2048 = u/d/l/r/fire(A)/fire2(B)/fire3(X)/Y/LB/RB/select/start)
|
||||
# 2 row col keyboard
|
||||
# 3 map
|
||||
# 4 UI activate
|
||||
# 5 path&to&item UI function
|
||||
# 6 pot axis joystick (pot: 1/2/3/4 = x1/y1/x2/y2)
|
||||
#
|
||||
|
||||
!CLEAR
|
||||
|
||||
# retrogame_joypad
|
||||
0 0 0 1 0 8
|
||||
0 0 1 1 0 4
|
||||
0 0 2 1 0 2
|
||||
0 0 3 1 0 1
|
||||
0 0 4 1 1 8
|
||||
0 0 5 1 1 4
|
||||
0 0 6 1 1 2
|
||||
0 0 7 1 1 1
|
||||
|
||||
0 1 0 1 0 16
|
||||
0 1 1 4
|
||||
0 1 2 3
|
||||
0 1 3 1 1 16
|
||||
0 1 4 1 0 16
|
||||
0 1 5 4
|
||||
0 1 6 3
|
||||
0 1 7 5 Machine settings&Joystick settings&Swap native joystick ports
|
||||
0 1 8 5 Virtual keyboard
|
||||
0 1 9 4
|
||||
0 1 10 3
|
||||
0 1 11 1 1 16
|
||||
0 1 12 1 0 16
|
||||
0 1 13 1 0 1
|
||||
0 1 14 1 0 2
|
||||
0 1 15 1 0 4
|
||||
0 1 16 1 0 8
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
# VICE joystick mapping file
|
||||
#
|
||||
# A joystick map is read in as patch to the current map.
|
||||
#
|
||||
# File format:
|
||||
# - comment lines start with '#'
|
||||
# - keyword lines start with '!keyword'
|
||||
# - normal line has 'joynum inputtype inputindex action'
|
||||
#
|
||||
# Keywords and their lines are:
|
||||
# '!CLEAR' clear all mappings
|
||||
#
|
||||
# inputtype:
|
||||
# 0 axis
|
||||
# 1 button
|
||||
# 2 hat
|
||||
# 3 ball
|
||||
#
|
||||
# Note that each axis has 2 inputindex entries and each hat has 4.
|
||||
#
|
||||
# action [action_parameters]:
|
||||
# 0 none
|
||||
# 1 port pin joystick (pin: 1/2/4/8/16/32/64/128/256/512/1024/2048 = u/d/l/r/fire(A)/fire2(B)/fire3(X)/Y/LB/RB/select/start)
|
||||
# 2 row col keyboard
|
||||
# 3 map
|
||||
# 4 UI activate
|
||||
# 5 path&to&item UI function
|
||||
# 6 pot axis joystick (pot: 1/2/3/4 = x1/y1/x2/y2)
|
||||
#
|
||||
|
||||
!CLEAR
|
||||
|
||||
# retrogame_joypad
|
||||
0 0 0 1 0 8
|
||||
0 0 1 1 0 4
|
||||
0 0 2 1 0 2
|
||||
0 0 3 1 0 1
|
||||
0 0 4 1 1 8
|
||||
0 0 5 1 1 4
|
||||
0 0 6 1 1 2
|
||||
0 0 7 1 1 1
|
||||
|
||||
0 1 0 1 0 16
|
||||
0 1 1 4
|
||||
0 1 2 3
|
||||
0 1 3 1 1 16
|
||||
0 1 4 1 0 16
|
||||
0 1 5 4
|
||||
0 1 6 3
|
||||
0 1 7 5 Machine settings&Joystick settings&Swap native joystick ports
|
||||
0 1 8 5 Virtual keyboard
|
||||
0 1 9 4
|
||||
0 1 10 3
|
||||
0 1 11 1 1 16
|
||||
0 1 12 1 0 16
|
||||
0 1 13 1 0 1
|
||||
0 1 14 1 0 2
|
||||
0 1 15 1 0 4
|
||||
0 1 16 1 0 8
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
# VICE joystick mapping file
|
||||
#
|
||||
# A joystick map is read in as patch to the current map.
|
||||
#
|
||||
# File format:
|
||||
# - comment lines start with '#'
|
||||
# - keyword lines start with '!keyword'
|
||||
# - normal line has 'joynum inputtype inputindex action'
|
||||
#
|
||||
# Keywords and their lines are:
|
||||
# '!CLEAR' clear all mappings
|
||||
#
|
||||
# inputtype:
|
||||
# 0 axis
|
||||
# 1 button
|
||||
# 2 hat
|
||||
# 3 ball
|
||||
#
|
||||
# Note that each axis has 2 inputindex entries and each hat has 4.
|
||||
#
|
||||
# action [action_parameters]:
|
||||
# 0 none
|
||||
# 1 port pin joystick (pin: 1/2/4/8/16/32/64/128/256/512/1024/2048 = u/d/l/r/fire(A)/fire2(B)/fire3(X)/Y/LB/RB/select/start)
|
||||
# 2 row col keyboard
|
||||
# 3 map
|
||||
# 4 UI activate
|
||||
# 5 path&to&item UI function
|
||||
# 6 pot axis joystick (pot: 1/2/3/4 = x1/y1/x2/y2)
|
||||
#
|
||||
|
||||
!CLEAR
|
||||
|
||||
# retrogame_joypad
|
||||
0 0 0 1 0 8
|
||||
0 0 1 1 0 4
|
||||
0 0 2 1 0 2
|
||||
0 0 3 1 0 1
|
||||
0 0 4 1 1 8
|
||||
0 0 5 1 1 4
|
||||
0 0 6 1 1 2
|
||||
0 0 7 1 1 1
|
||||
|
||||
0 1 0 1 0 16
|
||||
0 1 1 4
|
||||
0 1 2 3
|
||||
0 1 3 1 1 16
|
||||
0 1 4 1 0 16
|
||||
0 1 5 4
|
||||
0 1 6 3
|
||||
0 1 7 5 Machine settings&Joystick settings&Swap native joystick ports
|
||||
0 1 8 5 Virtual keyboard
|
||||
0 1 9 4
|
||||
0 1 10 3
|
||||
0 1 11 1 1 16
|
||||
0 1 12 1 0 16
|
||||
0 1 13 1 0 1
|
||||
0 1 14 1 0 2
|
||||
0 1 15 1 0 4
|
||||
0 1 16 1 0 8
|
||||
|
||||
|
||||
|
||||
|
||||
|
55
packages/games/emulators/vicesa/config/RG552/sdl-vicerc
Normal file
55
packages/games/emulators/vicesa/config/RG552/sdl-vicerc
Normal file
|
@ -0,0 +1,55 @@
|
|||
[C64SC]
|
||||
SoundDeviceName="alsa"
|
||||
SDLCustomWidth=640
|
||||
SDLCustomHeight=480
|
||||
MachineVideoStandard=2
|
||||
IECReset=1
|
||||
CIA1Model=0
|
||||
CIA2Model=0
|
||||
VICIIModel=3
|
||||
SidModel=0
|
||||
JoyDevice1=4
|
||||
JoyDevice2=4
|
||||
GlueLogic=0
|
||||
|
||||
[C128]
|
||||
SoundDeviceName="alsa"
|
||||
SDLCustomWidth=640
|
||||
SDLCustomHeight=480
|
||||
MachineVideoStandard=2
|
||||
IECReset=1
|
||||
CIA1Model=0
|
||||
CIA2Model=0
|
||||
VICIIModel=3
|
||||
SidModel=0
|
||||
JoyDevice1=4
|
||||
JoyDevice2=4
|
||||
GlueLogic=0
|
||||
|
||||
[VIC-20]
|
||||
SoundDeviceName="alsa"
|
||||
SDLCustomWidth=640
|
||||
SDLCustomHeight=480
|
||||
MachineVideoStandard=2
|
||||
IECReset=1
|
||||
CIA1Model=0
|
||||
CIA2Model=0
|
||||
VICIIModel=3
|
||||
SidModel=0
|
||||
JoyDevice1=4
|
||||
JoyDevice2=4
|
||||
GlueLogic=0
|
||||
|
||||
[PLUS4]
|
||||
SoundDeviceName="alsa"
|
||||
SDLCustomWidth=640
|
||||
SDLCustomHeight=480
|
||||
MachineVideoStandard=2
|
||||
IECReset=1
|
||||
CIA1Model=0
|
||||
CIA2Model=0
|
||||
VICIIModel=3
|
||||
SidModel=0
|
||||
JoyDevice1=4
|
||||
JoyDevice2=4
|
||||
GlueLogic=0
|
23
packages/games/emulators/vicesa/package.mk
Normal file
23
packages/games/emulators/vicesa/package.mk
Normal file
|
@ -0,0 +1,23 @@
|
|||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2020-present Fewtarius
|
||||
|
||||
PKG_NAME="vicesa"
|
||||
PKG_VERSION="3.6.1"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_SITE="https://sourceforge.net/projects/vice-emu"
|
||||
PKG_URL="${PKG_SITE}/files/releases/vice-${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain xa:host SDL2 ${OPENGLES}"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="emulators"
|
||||
PKG_SHORTDESC="Commodore 8-bit Emulator"
|
||||
PKG_LONGDESC="Commodore 8-bit Emulator"
|
||||
PKG_CONFIGURE_OPTS_TARGET+="--disable-pdf-docs"
|
||||
|
||||
post_makeinstall_target() {
|
||||
mkdir -p ${INSTALL}/usr/config/vice
|
||||
cp -f ${PKG_DIR}/config/${DEVICE}/* ${INSTALL}/usr/config/vice
|
||||
cp -f ${PKG_DIR}/sources/* ${INSTALL}/usr/bin
|
||||
chmod 0755 ${INSTALL}/usr/bin/*
|
||||
}
|
9
packages/games/emulators/vicesa/sources/start_x128.sh
Normal file
9
packages/games/emulators/vicesa/sources/start_x128.sh
Normal file
|
@ -0,0 +1,9 @@
|
|||
#!/bin/sh
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
# Copyright (C) 2021-present - Fewtarius
|
||||
|
||||
. /etc/profile
|
||||
|
||||
ARG=${1//[\\]/}
|
||||
export SDL_AUDIODRIVER=alsa
|
||||
${FAST_CORES} x128 -sounddev alsa -sdl2renderer opengles2 "$ARG"
|
10
packages/games/emulators/vicesa/sources/start_x64sc.sh
Normal file
10
packages/games/emulators/vicesa/sources/start_x64sc.sh
Normal file
|
@ -0,0 +1,10 @@
|
|||
#!/bin/sh
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
# Copyright (C) 2021-present - Fewtarius
|
||||
|
||||
. /etc/profile
|
||||
|
||||
ARG=${1//[\\]/}
|
||||
export SDL_AUDIODRIVER=alsa
|
||||
echo "[${ARG}]"
|
||||
${FAST_CORES} x64sc -sounddev alsa -sdl2renderer opengles2 "$ARG"
|
10
packages/games/emulators/vicesa/sources/start_xplus4.sh
Normal file
10
packages/games/emulators/vicesa/sources/start_xplus4.sh
Normal file
|
@ -0,0 +1,10 @@
|
|||
#!/bin/sh
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
# Copyright (C) 2021-present - Fewtarius
|
||||
|
||||
. /etc/profile
|
||||
|
||||
ARG=${1//[\\]/}
|
||||
export SDL_AUDIODRIVER=alsa
|
||||
echo "[${ARG}]"
|
||||
${FAST_CORES} xplus4 -sounddev alsa -sdl2renderer opengles2 "$ARG"
|
10
packages/games/emulators/vicesa/sources/start_xvic.sh
Normal file
10
packages/games/emulators/vicesa/sources/start_xvic.sh
Normal file
|
@ -0,0 +1,10 @@
|
|||
#!/bin/sh
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
# Copyright (C) 2021-present - Fewtarius
|
||||
|
||||
. /etc/profile
|
||||
|
||||
ARG=${1//[\\]/}
|
||||
export SDL_AUDIODRIVER=alsa
|
||||
echo "[${ARG}]"
|
||||
${FAST_CORES} xvic -sounddev alsa -sdl2renderer opengles2 "$ARG"
|
47
packages/games/emulators/yabasanshiroSA/package.mk
Normal file
47
packages/games/emulators/yabasanshiroSA/package.mk
Normal file
|
@ -0,0 +1,47 @@
|
|||
PKG_NAME="yabasanshiroSA"
|
||||
PKG_VERSION="f6f41dd6485c638ab661f3acd2951c9522f34450"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_SITE="https://github.com/devmiyax/yabause"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
PKG_DEPENDS_TARGET="toolchain SDL2 boost openal-soft ${OPENGLES} zlib"
|
||||
PKG_LONGDESC="Yabause is a Sega Saturn emulator and took over as Yaba Sanshiro"
|
||||
PKG_TOOLCHAIN="cmake-make"
|
||||
GET_HANDLER_SUPPORT="git"
|
||||
PKG_GIT_CLONE_BRANCH="pi4"
|
||||
PKG_BUILD_FLAGS="+speed"
|
||||
|
||||
post_unpack() {
|
||||
# use host versions
|
||||
sed -i "s|COMMAND m68kmake|COMMAND ${PKG_BUILD}/m68kmake_host|" ${PKG_BUILD}/yabause/src/musashi/CMakeLists.txt
|
||||
sed -i "s|COMMAND ./bin2c|COMMAND ${PKG_BUILD}/bin2c_host|" ${PKG_BUILD}/yabause/src/retro_arena/nanogui-sdl/CMakeLists.txt
|
||||
}
|
||||
|
||||
pre_make_target() {
|
||||
# runs on host so make them manually if package is not crosscompile friendly
|
||||
${HOST_CC} ${PKG_BUILD}/yabause/src/retro_arena/nanogui-sdl/resources/bin2c.c -o ${PKG_BUILD}/bin2c_host
|
||||
${HOST_CC} ${PKG_BUILD}/yabause/src/musashi/m68kmake.c -o ${PKG_BUILD}/m68kmake_host
|
||||
}
|
||||
|
||||
pre_configure_target() {
|
||||
PKG_CMAKE_OPTS_TARGET="${PKG_BUILD}/yabause \
|
||||
-DYAB_PORTS=retro_arena \
|
||||
-DYAB_WANT_DYNAREC_DEVMIYAX=ON \
|
||||
-DYAB_WANT_ARM7=ON \
|
||||
-DCMAKE_TOOLCHAIN_FILE=${PKG_BUILD}/yabause/src/retro_arena/n2.cmake \
|
||||
-DYAB_WANT_VULKAN=OFF \
|
||||
-DOPENGL_INCLUDE_DIR=${SYSROOT_PREFIX}/usr/include \
|
||||
-DOPENGL_opengl_LIBRARY=${SYSROOT_PREFIX}/usr/lib \
|
||||
-DOPENGL_glx_LIBRARY=${SYSROOT_PREFIX}/usr/lib \
|
||||
-DLIBPNG_LIB_DIR=${SYSROOT_PREFIX}/usr/lib \
|
||||
-Dpng_STATIC_LIBRARIES=${SYSROOT_PREFIX}/usr/lib/libpng16.so \
|
||||
-DCMAKE_BUILD_TYPE=Release"
|
||||
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p ${INSTALL}/usr/bin
|
||||
cp -a ${PKG_BUILD}/src/retro_arena/yabasanshiro ${INSTALL}/usr/bin
|
||||
cp -a ${PKG_DIR}/sources/* ${INSTALL}/usr/bin
|
||||
chmod 0755 ${INSTALL}/usr/bin/yabasanshiro.sh
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
--- a/yabause/src/threads.h 2022-01-05 15:41:03.685887385 -0600
|
||||
+++ b/yabause/src/threads.h 2022-01-05 15:43:05.404177636 -0600
|
||||
@@ -115,6 +115,8 @@
|
||||
|
||||
int YabCopyFile(const char * src, const char * dst);
|
||||
int YabMakeCleanDir( const char * dirname );
|
||||
+
|
||||
+#include <core.h>
|
||||
int YabNanosleep(u64 ns);
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
|
@ -0,0 +1,11 @@
|
|||
--- a/yabause/src/retro_arena/CMakeLists.txt 2022-01-05 15:44:20.891135756 -0600
|
||||
+++ b/yabause/src/retro_arena/CMakeLists.txt 2022-01-05 15:44:41.738849860 -0600
|
||||
@@ -22,7 +22,7 @@
|
||||
add_subdirectory(nanogui-sdl)
|
||||
|
||||
#include( ../glfw/external_zlib.cmake )
|
||||
-include( ${CMAKE_SOURCE_DIR}/CMake/Packages/external_libpng.cmake )
|
||||
+#include( ${CMAKE_SOURCE_DIR}/CMake/Packages/external_libpng.cmake )
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# nlohmann/json
|
|
@ -0,0 +1,20 @@
|
|||
--- a/yabause/src/ygl.h
|
||||
+++ b/yabause/src/ygl.h
|
||||
@@ -50,7 +50,6 @@
|
||||
#include <glsm/glsm.h>
|
||||
#elif defined(__ANDROID__)
|
||||
#include <GLES3/gl31.h>
|
||||
- #include <GLES3/gl3ext.h>
|
||||
#include <EGL/egl.h>
|
||||
|
||||
|
||||
--- a/yabause/src/nanovg/nanovg_osdcore.c
|
||||
+++ b/yabause/src/nanovg/nanovg_osdcore.c
|
||||
@@ -36,7 +36,6 @@
|
||||
|
||||
#if defined(_OGLES3_)
|
||||
#include <GLES3/gl3.h>
|
||||
-#include <GLES3/gl3ext.h>
|
||||
#else
|
||||
#include "ygl.h"
|
||||
#endif
|
|
@ -0,0 +1,85 @@
|
|||
--- a/yabause/src/retro_arena/main.cpp
|
||||
+++ b/yabause/src/retro_arena/main.cpp
|
||||
@@ -286,12 +286,12 @@
|
||||
|
||||
// Inisialize home directory
|
||||
std::string home_dir = getenv("HOME");
|
||||
- home_dir += "/.yabasanshiro/";
|
||||
+ home_dir = "/storage/roms/saturn/yabasanshiro/";
|
||||
struct stat st = {0};
|
||||
if (stat(home_dir.c_str(), &st) == -1) {
|
||||
mkdir(home_dir.c_str(), 0700);
|
||||
}
|
||||
- std::string bckup_dir = home_dir + "backup.bin";
|
||||
+ std::string bckup_dir = "/storage/roms/bios/yabasanshiro/backup.bin";
|
||||
strcpy( buppath, bckup_dir.c_str() );
|
||||
strcpy( s_savepath, home_dir.c_str() );
|
||||
g_keymap_filename = home_dir + "keymapv2.json";
|
||||
@@ -597,7 +597,7 @@
|
||||
if( ret == 0 ){
|
||||
char pngname[256];
|
||||
snprintf(pngname,256,"%s/%s_%d.png", s_savepath, cdip->itemnum, e.user.code);
|
||||
- fs::copy(tmpfilename, pngname, fs::copy_options::overwrite_existing );
|
||||
+ system((std::string("cp -f ") + tmpfilename + " " + pngname).c_str());
|
||||
}
|
||||
hideMenuScreen();
|
||||
}
|
||||
|
||||
--- a/yabause/src/retro_arena/Preference.cpp
|
||||
+++ b/yabause/src/retro_arena/Preference.cpp
|
||||
@@ -17,7 +17,7 @@
|
||||
}
|
||||
|
||||
std::string home_dir = getenv("HOME");
|
||||
- home_dir += "/.yabasanshiro/";
|
||||
+ home_dir = "/storage/roms/saturn/yabasanshiro/";
|
||||
|
||||
this->filename = home_dir + input_trace_filename + ".config";
|
||||
|
||||
--- a/yabause/src/retro_arena/InputManager.cpp
|
||||
+++ b/yabause/src/retro_arena/InputManager.cpp
|
||||
@@ -213,7 +213,7 @@
|
||||
|
||||
if( SDL_NumJoysticks() == 0 ){
|
||||
|
||||
- PADLOG("No joy stic is found force to keyboard\n");
|
||||
+ PADLOG("No joystick is found force to keyboard\n");
|
||||
padbits = PerPadAdd(&PORTDATA1);
|
||||
if( configs.find("player1") == configs.end() ){
|
||||
return setDefalutSettings(padbits);
|
||||
@@ -460,22 +460,22 @@
|
||||
}
|
||||
|
||||
Input result;
|
||||
- inputconfig->getInputByName("a", &result);
|
||||
+ inputconfig->getInputByName("y", &result);
|
||||
player[guid]["a"] ={ { "type", input_types[result.type] },{ "id", result.id },{ "value", result.value } };
|
||||
|
||||
inputconfig->getInputByName("b", &result);
|
||||
player[guid]["b"] = { { "type", input_types[result.type] },{ "id", result.id },{ "value", result.value } };
|
||||
|
||||
- inputconfig->getInputByName("rightshoulder", &result);
|
||||
+ inputconfig->getInputByName("a", &result);
|
||||
player[guid]["c"] = { { "type", input_types[result.type] },{ "id", result.id },{ "value", result.value } } ;
|
||||
|
||||
inputconfig->getInputByName("x", &result);
|
||||
player[guid]["x"] = { { "type", input_types[result.type] },{ "id", result.id },{ "value", result.value } };
|
||||
|
||||
- inputconfig->getInputByName("y", &result);
|
||||
+ inputconfig->getInputByName("leftshoulder", &result);
|
||||
player[guid]["y"] = { { "type", input_types[result.type] },{ "id", result.id },{ "value", result.value } };
|
||||
|
||||
- inputconfig->getInputByName("leftshoulder", &result);
|
||||
+ inputconfig->getInputByName("rightshoulder", &result);
|
||||
player[guid]["z"] = { { "type", input_types[result.type] },{ "id", result.id },{ "value", result.value } };
|
||||
|
||||
inputconfig->getInputByName("lefttrigger", &result);
|
||||
@@ -1209,7 +1209,7 @@
|
||||
std::string InputManager::getConfigPath()
|
||||
{
|
||||
std::string path = getenv("HOME");
|
||||
- path += "/.emulationstation/es_temporaryinput.cfg";
|
||||
+ path = "/storage/roms/saturn/yabasanshiro/input.cfg";
|
||||
return path;
|
||||
}
|
||||
|
|
@ -0,0 +1,169 @@
|
|||
diff --git a/yabause/src/retro_arena/MenuScreen.cpp b/yabause/src/retro_arena/MenuScreen.cpp
|
||||
index 33591a44..ccbdc843 100644
|
||||
--- a/yabause/src/retro_arena/MenuScreen.cpp
|
||||
+++ b/yabause/src/retro_arena/MenuScreen.cpp
|
||||
@@ -77,7 +77,7 @@ MenuScreen::MenuScreen( SDL_Window* pwindow, int rwidth, int rheight, const std:
|
||||
swindow = nullptr;
|
||||
imageWindow = nullptr;
|
||||
|
||||
- int image_pix_size_w = this->width() / 2;
|
||||
+/* int image_pix_size_w = this->width() / 2;
|
||||
int image_pix_size_h = this->height() / 2;
|
||||
imageWindow = new Window(this, "About");
|
||||
imageWindow->setPosition(Vector2i(0, 0));
|
||||
@@ -92,7 +92,7 @@ MenuScreen::MenuScreen( SDL_Window* pwindow, int rwidth, int rheight, const std:
|
||||
imageView->setFixedWidth(image_pix_size_w);
|
||||
imageView->setFixedHeight(image_pix_size_h);
|
||||
imageWindow->center();
|
||||
- //imageWindow->setModal(true);
|
||||
+ //imageWindow->setModal(true);*/
|
||||
|
||||
std::string title = "Yaba Sanshiro "+ std::string(YAB_VERSION) +" Menu";
|
||||
window = new Window(this, title);
|
||||
@@ -102,7 +102,7 @@ MenuScreen::MenuScreen( SDL_Window* pwindow, int rwidth, int rheight, const std:
|
||||
tools = new Widget(window);
|
||||
pushActiveMenu(tools, nullptr );
|
||||
tools->setLayout(new BoxLayout(Orientation::Vertical,Alignment::Middle, 0, 5));
|
||||
- tools->setFixedWidth(256);
|
||||
+ tools->setFixedWidth(560);
|
||||
|
||||
PlayerConfig tmp;
|
||||
tmp.player = new PopupButton(tools, "Player1", ENTYPO_ICON_EXPORT);
|
||||
@@ -114,14 +114,14 @@ MenuScreen::MenuScreen( SDL_Window* pwindow, int rwidth, int rheight, const std:
|
||||
|
||||
|
||||
PopupButton * ps_config = new PopupButton(tools, "Config");
|
||||
- ps_config->setFixedWidth(248);
|
||||
+ ps_config->setFixedWidth(530);
|
||||
showConfigDialog(ps_config);
|
||||
ps_config->setCallback([this,ps_config]() {
|
||||
pushActiveMenu(ps_config->popup(),ps_config);
|
||||
});
|
||||
|
||||
Button *b0 = new Button(tools, "Exit");
|
||||
- b0->setFixedWidth(248);
|
||||
+ b0->setFixedWidth(530);
|
||||
b0->setCallback([this]() {
|
||||
MENU_LOG("Exit\n");
|
||||
SDL_Event* quit = new SDL_Event();
|
||||
@@ -130,7 +130,7 @@ MenuScreen::MenuScreen( SDL_Window* pwindow, int rwidth, int rheight, const std:
|
||||
});
|
||||
|
||||
Button *b1 = new Button(tools, "Reset");
|
||||
- b1->setFixedWidth(248);
|
||||
+ b1->setFixedWidth(530);
|
||||
b1->setCallback([this]() {
|
||||
MENU_LOG("Reset\n");
|
||||
SDL_Event event = {};
|
||||
@@ -142,14 +142,14 @@ MenuScreen::MenuScreen( SDL_Window* pwindow, int rwidth, int rheight, const std:
|
||||
});
|
||||
|
||||
PopupButton * ps = new PopupButton(tools, "Save State");
|
||||
- ps->setFixedWidth(248);
|
||||
+ ps->setFixedWidth(530);
|
||||
ps->setCallback([this,ps]() {
|
||||
showSaveStateDialog( ps->popup());
|
||||
pushActiveMenu(ps->popup(),ps);
|
||||
});
|
||||
|
||||
ps = new PopupButton(tools, "Load State");
|
||||
- ps->setFixedWidth(248);
|
||||
+ ps->setFixedWidth(530);
|
||||
ps->setCallback([this,ps]() {
|
||||
showLoadStateDialog( ps->popup());
|
||||
pushActiveMenu(ps->popup(),ps);
|
||||
@@ -158,7 +158,7 @@ MenuScreen::MenuScreen( SDL_Window* pwindow, int rwidth, int rheight, const std:
|
||||
|
||||
|
||||
bCdTray = new Button(tools, "Open CD Tray");
|
||||
- bCdTray->setFixedWidth(248);
|
||||
+ bCdTray->setFixedWidth(530);
|
||||
bCdTray->setCallback([this]() {
|
||||
if( this->is_cdtray_open_ ){
|
||||
MENU_LOG("Close CD Tray\n");
|
||||
@@ -194,7 +194,7 @@ MenuScreen::MenuScreen( SDL_Window* pwindow, int rwidth, int rheight, const std:
|
||||
|
||||
|
||||
Button *b2 = new Button(tools, "Show/Hide FPS");
|
||||
- b2->setFixedWidth(248);
|
||||
+ b2->setFixedWidth(530);
|
||||
b2->setCallback([this]() {
|
||||
MENU_LOG("Show/Hide FPS\n");
|
||||
SDL_Event event = {};
|
||||
@@ -206,7 +206,7 @@ MenuScreen::MenuScreen( SDL_Window* pwindow, int rwidth, int rheight, const std:
|
||||
});
|
||||
|
||||
Button *b3 = new Button(tools, "Enable/Disable Frame Skip");
|
||||
- b3->setFixedWidth(248);
|
||||
+ b3->setFixedWidth(530);
|
||||
b3->setCallback([this]() {
|
||||
MENU_LOG("Reset\n");
|
||||
SDL_Event event = {};
|
||||
@@ -218,7 +218,7 @@ MenuScreen::MenuScreen( SDL_Window* pwindow, int rwidth, int rheight, const std:
|
||||
});
|
||||
#if 0
|
||||
Button *b4 = new Button(tools, "About");
|
||||
- b4->setFixedWidth(248);
|
||||
+ b4->setFixedWidth(530);
|
||||
b4->setCallback([this,b4]() {
|
||||
int image_pix_size_w = this->width() / 2;
|
||||
int image_pix_size_h = this->height() / 2;
|
||||
@@ -600,7 +600,7 @@ void MenuScreen::getSelectedGUID( int user_index, std::string & selguid ){
|
||||
|
||||
|
||||
void MenuScreen::setupPlayerPsuhButton( int user_index, PopupButton *player, const std::string & label, ComboBox **cbo ){
|
||||
- player->setFixedWidth(248);
|
||||
+ player->setFixedWidth(530);
|
||||
Popup *popup = player->popup();
|
||||
popup->setLayout(new GroupLayout(4,2,2,2));
|
||||
new Label(popup, label);
|
||||
diff --git a/yabause/src/retro_arena/nanogui-sdl/src/theme.cpp b/yabause/src/retro_arena/nanogui-sdl/src/theme.cpp
|
||||
index 3d126ad2..a6689df4 100644
|
||||
--- a/yabause/src/retro_arena/nanogui-sdl/src/theme.cpp
|
||||
+++ b/yabause/src/retro_arena/nanogui-sdl/src/theme.cpp
|
||||
@@ -18,20 +18,20 @@
|
||||
NAMESPACE_BEGIN(nanogui)
|
||||
|
||||
Theme::Theme(NVGcontext *ctx) {
|
||||
- mStandardFontSize = 16;
|
||||
- mButtonFontSize = 20;
|
||||
- mTextBoxFontSize = 20;
|
||||
- mWindowCornerRadius = 2;
|
||||
- mWindowHeaderHeight = 30;
|
||||
- mWindowDropShadowSize = 10;
|
||||
- mButtonCornerRadius = 2;
|
||||
+ mStandardFontSize = 32;
|
||||
+ mButtonFontSize = 40;
|
||||
+ mTextBoxFontSize = 40;
|
||||
+ mWindowCornerRadius = 4;
|
||||
+ mWindowHeaderHeight = 60;
|
||||
+ mWindowDropShadowSize = 20;
|
||||
+ mButtonCornerRadius = 4;
|
||||
mTabBorderWidth = 0.75f;
|
||||
- mTabInnerMargin = 5;
|
||||
+ mTabInnerMargin = 10;
|
||||
mTabMinButtonWidth = 20;
|
||||
- mTabMaxButtonWidth = 160;
|
||||
- mTabControlWidth = 20;
|
||||
- mTabButtonHorizontalPadding = 10;
|
||||
- mTabButtonVerticalPadding = 2;
|
||||
+ mTabMaxButtonWidth = 500;
|
||||
+ mTabControlWidth = 40;
|
||||
+ mTabButtonHorizontalPadding = 20;
|
||||
+ mTabButtonVerticalPadding = 4;
|
||||
|
||||
mDropShadow = Color(0, 128);
|
||||
mTransparent = Color(0, 0);
|
||||
diff --git a/yabause/src/retro_arena/nanogui-sdl/src/window.cpp b/yabause/src/retro_arena/nanogui-sdl/src/window.cpp
|
||||
index cf3998c5..51e02022 100644
|
||||
--- a/yabause/src/retro_arena/nanogui-sdl/src/window.cpp
|
||||
+++ b/yabause/src/retro_arena/nanogui-sdl/src/window.cpp
|
||||
@@ -119,7 +119,7 @@ void Window::draw(NVGcontext *ctx) {
|
||||
nvgStrokeColor(ctx, mTheme->mWindowHeaderSepBot);
|
||||
nvgStroke(ctx);
|
||||
|
||||
- nvgFontSize(ctx, 18.0f);
|
||||
+ nvgFontSize(ctx, 40.0f);
|
||||
nvgFontFace(ctx, "sans-bold");
|
||||
nvgTextAlign(ctx, NVG_ALIGN_CENTER | NVG_ALIGN_MIDDLE);
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
#!/bin/bash
|
||||
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2021-present Shanti Gilbert (https://github.com/shantigilbert)
|
||||
# Copyright (C) 2022-present Fewtarius
|
||||
|
||||
# Source predefined functions and variables
|
||||
. /etc/profile
|
||||
|
||||
ROM_DIR="/storage/roms/saturn/yabasanshiro"
|
||||
CONFIG_DIR="/storage/.config/game/configs/yabasanshiro"
|
||||
SOURCE_DIR="/usr/config/game/configs/yabasanshiro"
|
||||
BIOS_BACKUP="/storage/roms/bios/yabasanshiro"
|
||||
|
||||
if [ ! -d "${ROM_DIR}" ]
|
||||
then
|
||||
mkdir -p "${ROM_DIR}"
|
||||
fi
|
||||
|
||||
if [ ! -d "${BIOS_BACKUP}" ]
|
||||
then
|
||||
mkdir -p "${BIOS_BACKUP}"
|
||||
fi
|
||||
|
||||
if [ ! -e "${ROM_DIR}/${ROM_DIR}/input.cfg" ]
|
||||
then
|
||||
GAMEPAD=$(grep -b4 $(readlink ${DEVICE_CONTROLLER_DEV} | sed "s#^.*/##") /proc/bus/input/devices | awk 'BEGIN {FS="\""}; /Name/ {printf $2}')
|
||||
GAMEPADCONFIG=$(xmlstarlet sel -t -c '//inputList/inputConfig[@deviceName="'${GAMEPAD}'"]' -n /storage/.emulationstation/es_input.cfg)
|
||||
|
||||
if [ ! -z "${GAMEPADCONFIG}" ]
|
||||
then
|
||||
cat <<EOF >${ROM_DIR}/input.cfg
|
||||
<?xml version="1.0"?>
|
||||
<inputList>
|
||||
${GAMEPADCONFIG}
|
||||
</inputList>
|
||||
EOF
|
||||
fi
|
||||
fi
|
||||
|
||||
BIOS=""
|
||||
for BIOS in saturn_bios.bin sega_101.bin mpr-17933.bin mpr-18811-mx.ic1 mpr-19367-mx.ic1 stvbios.zip
|
||||
do
|
||||
BIOS=$(find /storage/roms/bios -name ${BIOS} -print 2>/dev/null)
|
||||
if [ ! -z "${BIOS}" ]
|
||||
then
|
||||
BIOS="-b ${BIOS}"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
yabasanshiro -r 2 -i "${1}" ${BIOS} >/var/log/exec.log 2>&1 ||:
|
|
@ -20,7 +20,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="TIC-80"
|
||||
PKG_VERSION="263b3213f90362fd427d9f8a281698f5fe7284a6"
|
||||
PKG_VERSION="a1f80a22e682ec7d28a7b0ee78140ddb8732bc69"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv3"
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="beetle-pcfx"
|
||||
PKG_VERSION="6d2b11e17ad5a95907c983e7c8a70e75508c2d41"
|
||||
PKG_SHA256="b5a0d170aa1944aa47726e42c230550294d44ecd5565d460bc943a68dc781b5a"
|
||||
PKG_VERSION="00abc26cafb15cc33dcd73f4bd6b93cbaab6e1ea"
|
||||
PKG_SHA256="df7a77235c1de48e6fa1f2178ede44c8506606eab657f534d8caf1036944e5ee"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="beetle-supafaust"
|
||||
PKG_VERSION="4204c34edc44fa7605edeb700014d984f3c0ab7f"
|
||||
PKG_VERSION="a106dbdc8c5ef11f216b21f4ba1b22cb637e599d"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
|
|
|
@ -21,8 +21,8 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="cannonball"
|
||||
PKG_VERSION="97c075d30db52a11873ded66da26aaf81003d9fd"
|
||||
PKG_SHA256="de1ab0d363a74c9626986da15be0156a04e22b1182488b3087b0f13cd435c2b2"
|
||||
PKG_VERSION="8fb0d9561ee110f31f45610661649f0c1ff068ee"
|
||||
PKG_SHA256="04c4789fc4c8433db8649654ecc59d84a8a7422b3b2e53892b0ca7febbe2c05c"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv3"
|
||||
PKG_SITE="https://github.com/libretro/cannonball"
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="cap32"
|
||||
PKG_VERSION="15b7f539b75445aa334fc218b7aa5c57ccb77f0e"
|
||||
PKG_SHA256="c0cbae028a69b8df868b2ccfba4df5220f5be087ff1f85476e560093d3c0c599"
|
||||
PKG_VERSION="ef0ee894ea77b6d82b61201b69f40a717afc08a9"
|
||||
PKG_SHA256="8bae91d366a58f3ed7eddc45eec35088e85e1aca4842d6f554eb48737faa51d4"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
|
||||
# Copyright (C) 2020 351ELEC team (https://github.com/fewtarius/351ELEC)
|
||||
# Copyright (C) 2022-present Fewtarius
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
|
@ -19,16 +20,14 @@
|
|||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
### Don't update, newer commits have issues.
|
||||
PKG_NAME="common-shaders"
|
||||
PKG_VERSION="55e401834b732e62c34411321c4ffd82524345d4"
|
||||
PKG_SHA256="6dae9d4464febf556f4b419df51d2eb9c09f1e62666493e03cf6cc6cc447aa86"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/libretro/common-shaders"
|
||||
PKG_URL="$PKG_SITE/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
PKG_DEPENDS_TARGET="toolchain glsl-shaders"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="libretro"
|
||||
PKG_SHORTDESC="Libretro common shaders"
|
||||
|
|
21
packages/games/libretro/duckstation/package.mk
Normal file
21
packages/games/libretro/duckstation/package.mk
Normal file
|
@ -0,0 +1,21 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2021-present Fewtarius (https://github.com/fewtarius)
|
||||
# Copyright (C) 2022-present BrooksyTech (https://github.com/brooksytech)
|
||||
|
||||
PKG_NAME="duckstation"
|
||||
PKG_VERSION="0162b33835e09984ab9dca6f0b1295343e2dcbc3"
|
||||
PKG_SHA256="2e419f6a57d4135a548d025252b7cc293204c0c0f80af49b9d72bf1c7c9d0634"
|
||||
PKG_ARCH="aarch64"
|
||||
PKG_LICENSE="GPLv3"
|
||||
PKG_SITE="https://github.com/brooksytech/duckstation-libretro"
|
||||
PKG_URL="$PKG_SITE/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_SECTION="libretro"
|
||||
PKG_SHORTDESC="DuckStation - PlayStation 1, aka. PSX Emulator"
|
||||
PKG_TOOLCHAIN="cmake"
|
||||
PKG_BUILD_FLAGS="-lto"
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p $INSTALL/usr/lib/libretro
|
||||
cp $PKG_BUILD/.$TARGET_NAME/duckstation_libretro.so $INSTALL/usr/lib/libretro/
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
|
||||
# Copyright (C) 2022-present Fewtarius
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
|
@ -23,7 +24,7 @@ PKG_VERSION="69aaeb2d8bf17eee565ac3e46a98809a9ebe4df0"
|
|||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv3"
|
||||
PKG_SITE="https://github.com/easyrpg/player"
|
||||
PKG_URL="$PKG_SITE.git"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
PKG_GIT_CLONE_BRANCH="0-7-0-stable"
|
||||
PKG_DEPENDS_TARGET="toolchain zlib libfmt liblcf pixman libspeexdsp mpg123 libsndfile libvorbis opusfile wildmidi libxmp-lite fluidsynth-git harfbuzz libpng"
|
||||
PKG_PRIORITY="optional"
|
||||
|
@ -41,14 +42,15 @@ PKG_CMAKE_OPTS_TARGET="-DPLAYER_TARGET_PLATFORM=libretro \
|
|||
-DCMAKE_BUILD_TYPE=Release"
|
||||
|
||||
pre_make_target() {
|
||||
find $PKG_BUILD -name flags.make -exec sed -i "s:isystem :I:g" \{} \;
|
||||
find $PKG_BUILD -name build.ninja -exec sed -i "s:isystem :I:g" \{} \;
|
||||
find ${PKG_BUILD} -name flags.make -exec sed -i "s:isystem :I:g" \{} \;
|
||||
find ${PKG_BUILD} -name build.ninja -exec sed -i "s:isystem :I:g" \{} \;
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p $INSTALL/usr/lib/libretro
|
||||
cp $PKG_BUILD/.$TARGET_NAME/easyrpg_libretro.so $INSTALL/usr/lib/libretro/
|
||||
mkdir -p ${INSTALL}/usr/lib/libretro
|
||||
cp $PKG_BUILD/.$TARGET_NAME/easyrpg_libretro.so ${INSTALL}/usr/lib/libretro/
|
||||
|
||||
mkdir -p $INSTALL/usr/bin
|
||||
cp ${PKG_DIR}/easyrpg.sh $INSTALL/usr/bin
|
||||
mkdir -p ${INSTALL}/usr/bin
|
||||
cp ${PKG_DIR}/easyrpg.sh ${INSTALL}/usr/bin
|
||||
chmod 0755 ${INSTALL}/usr/bin/easyrpg.sh
|
||||
}
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
# Maintenance 2020 351ELEC team (https://github.com/fewtarius/351ELEC)
|
||||
|
||||
PKG_NAME="fbneo"
|
||||
PKG_VERSION="bcca25956723e8ad3123b6a7ca280ce09e08a0bf"
|
||||
PKG_SHA256="735025d75e2695c552f4ac8fa43fcc03170a8cca513e63398cdce09d3bcf0b91"
|
||||
PKG_VERSION="83b7d4dd4f0c0c9232f5d847202508eb06674307"
|
||||
PKG_SHA256="0b4b34cbf5abfbf516a8e8d4c8ada56a4f4f9fd09a80a5ede39f10575e7eaae5"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="Non-commercial"
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="fceumm"
|
||||
PKG_VERSION="0b77d74f87da8ee50033afe9b8a0ebe38f38f31a"
|
||||
PKG_SHA256="d26db3c09d7fc7f84b6e25256e3af51ae81e0f5decb00a9a306ea881cfa39d9d"
|
||||
PKG_VERSION="f52037ad7a558d1e8765d448a34d85569e4ca822"
|
||||
PKG_SHA256="dbb34d805ef05af63ce4fafd04a120611e14a82e099cc757f5e37ecc1c85786a"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="fmsx"
|
||||
PKG_VERSION="0abd34399c756a8767edf7ccd28b940335312a8e"
|
||||
PKG_SHA256="3f979dfa3dba4f7ac32d89a86f6c2a8ebf5f81ad29026d2a5a4180d20068c65f"
|
||||
PKG_VERSION="f9ea9eacd49297783c216d147dcc1a22465b2749"
|
||||
PKG_SHA256="0c67bd4034adb0d5fa2ac73e764a57809bae4cf445050040efb35310bf572e45"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
PKG_NAME="freechaf"
|
||||
PKG_VERSION="1da54f014fd590313b0ad5871cf8b9eaa87ecf9f"
|
||||
PKG_VERSION="bc5a4ee2889930b7b8d1dd390c8c6ba29f7644dd"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2021-present 351ELEC (https://github.com/351ELEC)
|
||||
# Copyright (C) 2022-present Fewtarius
|
||||
|
||||
PKG_NAME="freej2me"
|
||||
PKG_VERSION="f9f91e57e01ccd34438a1b509397b7bc4e1dd233"
|
||||
|
@ -7,7 +8,7 @@ PKG_SHA256="abea8a29e2347b21e266b0cd8112c73a0426dfaaf033d78b303e74b306498c05"
|
|||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_SITE="https://github.com/hex007/freej2me"
|
||||
PKG_URL="$PKG_SITE/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain apache-ant:host"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="libretro"
|
||||
|
@ -24,12 +25,13 @@ make_target() {
|
|||
}
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p $INSTALL/usr/lib/libretro
|
||||
cp ${PKG_BUILD}/src/libretro/freej2me_libretro.so $INSTALL/usr/lib/libretro/
|
||||
mkdir -p ${INSTALL}/usr/lib/libretro
|
||||
cp ${PKG_BUILD}/src/libretro/freej2me_libretro.so ${INSTALL}/usr/lib/libretro/
|
||||
|
||||
mkdir -p $INSTALL/usr/config/game/freej2me
|
||||
cp ${PKG_BUILD}/build/freej2me-lr.jar $INSTALL/usr/config/game/freej2me
|
||||
mkdir -p ${INSTALL}/usr/config/game/freej2me
|
||||
cp ${PKG_BUILD}/build/freej2me-lr.jar ${INSTALL}/usr/config/game/freej2me
|
||||
|
||||
mkdir -p $INSTALL/usr/bin
|
||||
cp ${PKG_DIR}/freej2me.sh $INSTALL/usr/bin
|
||||
mkdir -p ${INSTALL}/usr/bin
|
||||
cp ${PKG_DIR}/freej2me.sh ${INSTALL}/usr/bin
|
||||
chmod 0755 ${INSTALL}/usr/bin/freej2me.sh
|
||||
}
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="gearboy"
|
||||
PKG_VERSION="8427845c60eb99974fdce3535e7f80828fbf6818"
|
||||
PKG_SHA256="08c384979c820361cf4eaefb648e88d5816866574167f15c5188d95e3920d7b0"
|
||||
PKG_VERSION="2cb66cdcb05f77147b9a5941e8ab92bceea828ae"
|
||||
PKG_SHA256="84d61bb13f71dd280ac7158ca19c4befac302276aec4bca56d69a5d218b67c07"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="gearcoleco"
|
||||
PKG_VERSION="95c534c2a61b01b0c919344ac11ac3797bb0611f"
|
||||
PKG_SHA256="16d97f3b572e8a60c826ec725b21c5195dcce2f53ab9fa612102874f93f338c4"
|
||||
PKG_VERSION="443207ea3cf3df75299f3346692b873189c44183"
|
||||
PKG_SHA256="97dd3eb67c5388431d6ecfb7b54842d753520a489abb3e3529d349cdc8431d5a"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
|
|
@ -20,8 +20,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="gearsystem"
|
||||
PKG_VERSION="005afd28a807f311f2674dfb6253ba49aebee902"
|
||||
PKG_SHA256=""
|
||||
PKG_VERSION="a6849bfa6973af6417678d9b1ea893064aa3910c"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv3"
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="genesis-plus-gx"
|
||||
PKG_VERSION="3ba8e40c23961542161dbbff9123156c3228f0db"
|
||||
PKG_SHA256="83410b9ce4a87030f046c305048d4bc30eba2d319f7017047dbf5da476eddd69"
|
||||
PKG_VERSION="ed5c591fb2319f12b1058a6f138766d5fdcdd0d8"
|
||||
PKG_SHA256="f91988c0744035bd46e1783ad5cc5dbdca02fb7c2ae8a5d967dd5fe3daf1c16d"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="Non-commercial"
|
||||
|
|
|
@ -21,12 +21,11 @@
|
|||
|
||||
PKG_NAME="glsl-shaders"
|
||||
PKG_VERSION="20801b38aa2c89a2beb9f57ffbbbcea7256e2523"
|
||||
PKG_SHA256="d4fc1d591b658f0c579b0a2ed0df92682dd22fddaae3d3ffa269646b68905977"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/libretro/glsl-shaders"
|
||||
PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="libretro"
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="gme"
|
||||
PKG_VERSION="7fc3fb00f6c28aef7ebcb6d50c54b801ab4aa53c"
|
||||
PKG_SHA256="fddbd0a86e012d35030dfd0a582cb8d2d598f9e48a9999431d62e3af37b830d9"
|
||||
PKG_VERSION="f3a74b624a7aa2b4a9a86bccc0f4bdfe2d61d053"
|
||||
PKG_SHA256="0cee65f8562804dedcac844e7ff71d887682be3487152abd84f77667e7ed5eef"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv3"
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="libretro-database"
|
||||
PKG_VERSION="543233a8a20f39ce15ed038017bfe364e24e4eff"
|
||||
PKG_SHA256="9dd32322cc1df2c40eff129a41f51a8aba980556daeae05932d30b6c858f1ada"
|
||||
PKG_VERSION="8d51b3b6a0bebf881ed8a203d252b0854eef2ad5"
|
||||
PKG_SHA256="19ff7fa9928f9ea590525e925187ec104619c05efc159a50d24da65ed722f310"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
# Copyright (C) 2019 Trond Haugland (trondah@gmail.com)
|
||||
|
||||
PKG_NAME="mame"
|
||||
PKG_VERSION="ec47e94c7eed598e87a6da898821b5c8024c21a5"
|
||||
PKG_SHA256="e4469c140787f846f31eec0e1bdb3992ce5fe8394aa3c2e88f20c8044a528a9d"
|
||||
PKG_VERSION="eb2ade4912908f4a9ee2d24e74521b6cd6d1675d"
|
||||
PKG_SHA256="8f59abdec54d5f57c66a38d7c6c2b207e27d171dd122855929a33a4f40032a9a"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_SITE="https://github.com/libretro/mame"
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="mame2003-plus"
|
||||
PKG_VERSION="29ac9a30929f82f68424e10175e6b64e06136b27"
|
||||
PKG_SHA256="a88d461a2fa7d97a9d85de19c62000334882854ffa31c09a7094d62a36f60d77"
|
||||
PKG_VERSION="bb8d16eeb19eae1d88c01e84c11c6dbee01fe085"
|
||||
PKG_SHA256="eb8f00d2270ec22478f8fff625b2d2bb7337efc2bbedcbfa51b3b863564df386"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="MAME"
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="mrboom"
|
||||
PKG_VERSION="9b51b0faa49ab4f5008a3fff4d67681a920c344f"
|
||||
PKG_VERSION="64e874abdd11b845c013ea74e5a62ed1e12d09e2"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv3"
|
||||
|
|
|
@ -21,7 +21,6 @@ then
|
|||
PKG_MAKE_OPTS_TARGET=" platform=Amlogic"
|
||||
else
|
||||
PKG_MAKE_OPTS_TARGET=" platform=rpi4_64"
|
||||
#PKG_MAKE_OPTS_TARGET=" platform=emuelec64-armv8"
|
||||
fi
|
||||
|
||||
pre_configure_target() {
|
||||
|
|
|
@ -7,8 +7,8 @@ PKG_SHA256="03ebfd3b27f8d6d2846d180c2dba6ae5dd36f1f1ebea79db8c41817525ce38d2"
|
|||
PKG_REV="2"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_SITE="https://github.com/libretro/parallel-n64"
|
||||
PKG_URL="$PKG_SITE/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain $OPENGLES core-info"
|
||||
PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain ${OPENGLES} core-info"
|
||||
PKG_SECTION="libretro"
|
||||
PKG_SHORTDESC="Optimized/rewritten Nintendo 64 emulator made specifically for Libretro. Originally based on Mupen64 Plus."
|
||||
PKG_LONGDESC="Optimized/rewritten Nintendo 64 emulator made specifically for Libretro. Originally based on Mupen64 Plus."
|
||||
|
@ -16,36 +16,30 @@ PKG_TOOLCHAIN="make"
|
|||
PKG_BUILD_FLAGS="-lto"
|
||||
PKG_PATCH_DIRS+="${DEVICE}"
|
||||
|
||||
if [[ "$ARCH" == "arm" ]]; then
|
||||
PKG_MAKE_OPTS_TARGET=" platform=${PROJECT}"
|
||||
|
||||
if [[ "${DEVICE}" =~ RG552 ]]; then
|
||||
PKG_MAKE_OPTS_TARGET=" platform=Odroidgoa"
|
||||
else
|
||||
PKG_MAKE_OPTS_TARGET=" platform=Amlogic"
|
||||
fi
|
||||
if [ "${ARCH}" = "arm" ]
|
||||
then
|
||||
PKG_MAKE_OPTS_TARGET=" platform=Amlogic"
|
||||
else
|
||||
PKG_MAKE_OPTS_TARGET=" platform=emuelec64-armv8"
|
||||
|
||||
PKG_MAKE_OPTS_TARGET=" platform=rpi4_64"
|
||||
fi
|
||||
|
||||
pre_configure_target() {
|
||||
sed -i 's/info->library_name = "ParaLLEl N64";/info->library_name = "ParaLLEl N64 GLN64";/g' $PKG_BUILD/libretro/libretro.c
|
||||
sed -i 's/"GFX Plugin; auto|glide64|gln64|rice/"GFX Plugin; gln64|auto|glide64|rice/g' $PKG_BUILD/libretro/libretro.c
|
||||
sed -i 's/"Resolution (restart); 320x240|640x480|960x720/"Resolution (restart); 640x480|320x240|960x720/g' $PKG_BUILD/libretro/libretro.c
|
||||
sed -i 's/"Framerate (restart); original|fullspeed"/"Framerate (restart); fullspeed|original"/g' $PKG_BUILD/libretro/libretro.c
|
||||
sed -i 's/"GFX Accuracy (restart); veryhigh|high|medium|low"/"GFX Accuracy (restart); medium|veryhigh|high|low"/g' $PKG_BUILD/libretro/libretro.c
|
||||
sed -i 's/"(Glide64) Texture Filtering; automatic|N64 3-point|bilinear|nearest"/"(Glide64) Texture Filtering; nearest|automatic|N64 3-point|bilinear"/g' $PKG_BUILD/libretro/libretro.c
|
||||
sed -i 's/info->library_name = "ParaLLEl N64";/info->library_name = "ParaLLEl N64 GLN64";/g' ${PKG_BUILD}/libretro/libretro.c
|
||||
sed -i 's/"GFX Plugin; auto|glide64|gln64|rice/"GFX Plugin; gln64|auto|glide64|rice/g' ${PKG_BUILD}/libretro/libretro.c
|
||||
sed -i 's/"Resolution (restart); 320x240|640x480|960x720/"Resolution (restart); 640x480|320x240|960x720/g' ${PKG_BUILD}/libretro/libretro.c
|
||||
sed -i 's/"Framerate (restart); original|fullspeed"/"Framerate (restart); fullspeed|original"/g' ${PKG_BUILD}/libretro/libretro.c
|
||||
sed -i 's/"GFX Accuracy (restart); veryhigh|high|medium|low"/"GFX Accuracy (restart); medium|veryhigh|high|low"/g' ${PKG_BUILD}/libretro/libretro.c
|
||||
sed -i 's/"(Glide64) Texture Filtering; automatic|N64 3-point|bilinear|nearest"/"(Glide64) Texture Filtering; nearest|automatic|N64 3-point|bilinear"/g' ${PKG_BUILD}/libretro/libretro.c
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p $INSTALL/usr/lib/libretro
|
||||
if [[ "$DEVICE" =~ RG552 ]] && [[ "$ARCH" == "aarch64" ]]
|
||||
mkdir -p ${INSTALL}/usr/lib/libretro
|
||||
if [[ "${DEVICE}" =~ RG552 ]] && [[ "${ARCH}" == "aarch64" ]]
|
||||
then
|
||||
cp -vP $PKG_BUILD/../../build.${DISTRO}-${DEVICE}.arm/parallel-n64_gln64-*/.install_pkg/usr/lib/libretro/parallel_n64_gln64_libretro.so ${INSTALL}/usr/lib/libretro/parallel_n64_gln64_libretro.so
|
||||
cp -vP $PKG_BUILD/../core-info-*/parallel_n64_libretro.info ${INSTALL}/usr/lib/libretro/parallel_n64_gln64_libretro.info
|
||||
sed -i 's/ParaLLEl N64/ParaLLEl N64 GLN64/g' $INSTALL/usr/lib/libretro/parallel_n64_gln64_libretro.info
|
||||
cp -vP ${PKG_BUILD}/../../build.${DISTRO}-${DEVICE}.arm/parallel-n64_gln64-*/.install_pkg/usr/lib/libretro/parallel_n64_gln64_libretro.so ${INSTALL}/usr/lib/libretro/parallel_n64_gln64_libretro.so
|
||||
cp -vP ${PKG_BUILD}/../core-info-*/parallel_n64_libretro.info ${INSTALL}/usr/lib/libretro/parallel_n64_gln64_libretro.info
|
||||
sed -i 's/ParaLLEl N64/ParaLLEl N64 GLN64/g' ${INSTALL}/usr/lib/libretro/parallel_n64_gln64_libretro.info
|
||||
else
|
||||
cp parallel_n64_libretro.so $INSTALL/usr/lib/libretro/parallel_n64_gln64_libretro.so
|
||||
cp parallel_n64_libretro.so ${INSTALL}/usr/lib/libretro/parallel_n64_gln64_libretro.so
|
||||
fi
|
||||
}
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
# Copyright (C) 2020 Trond Haugland (trondah@gmail.com)
|
||||
|
||||
PKG_NAME="pcsx_rearmed"
|
||||
PKG_VERSION="40b19b536c6af2474d679d7ec1a529fcbe17a87c"
|
||||
PKG_SHA256="05ef261b4ca8a116090be1505881bfd3bb3f51f75de5ca512a32db1839c01278"
|
||||
PKG_VERSION="75d5614bce62f7c2b3ca196574cf28bc9d050cdb"
|
||||
PKG_SHA256="c8eedaafa1977d1f6d429541681bbf133c9e8aa04e09c7015bf582cc4e146ab5"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
PKG_NAME="picodrive"
|
||||
PKG_VERSION="ee6b7139175a3270e9be314218b22baa592610f2"
|
||||
PKG_VERSION="6a0f515f95ea2080c8ac6b0bd2c194b48d991892"
|
||||
PKG_LICENSE="MAME"
|
||||
PKG_SITE="https://github.com/libretro/picodrive"
|
||||
PKG_URL="$PKG_SITE.git"
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="ppsspp"
|
||||
PKG_VERSION="47ff758af11369f1dc602ec39cc710f33ac44bc3"
|
||||
PKG_VERSION="97bc7a1ae3b3a87bff211bd3ece33e9c3012725a"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_SITE="https://github.com/hrydgard/ppsspp"
|
||||
PKG_URL="https://github.com/hrydgard/ppsspp.git"
|
||||
|
|
|
@ -19,8 +19,8 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="px68k"
|
||||
PKG_VERSION="b309941140f03b3d52e4c1720d6f4cbc0581f301"
|
||||
PKG_SHA256="23deb839b10b5104d29d2b9a4492b834b9605d5727c4d332188f0655e5844aff"
|
||||
PKG_VERSION="0183381d655be213d9c27207e1a29ad372a7a16d"
|
||||
PKG_SHA256="9f26706569d8c9711565cf23a6f5f5683e262f48d8a8e8820514bda0e9680cd9"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="Unknown"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# Copyright (C) 2019-present asakous (https://github.com/asakous)
|
||||
|
||||
PKG_NAME="quasi88"
|
||||
PKG_VERSION="15ff9fd94aa9db45a5519d00227180b04e074157"
|
||||
PKG_VERSION="2548625ba2bc3b5a9ecae7db24fdd5d42570e578"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="BSD3"
|
||||
|
|
49
packages/games/libretro/retropie-shaders/package.mk
Normal file
49
packages/games/libretro/retropie-shaders/package.mk
Normal file
|
@ -0,0 +1,49 @@
|
|||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
|
||||
# Copyright (C) 2020 351ELEC team (https://github.com/fewtarius/351ELEC)
|
||||
# Copyright (C) 2022 Fewtarius
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="retropie-shaders"
|
||||
PKG_VERSION="015fe2aaad5f4a219c8fd85b9a4fd71bc4f1f731"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/RetroPie/common-shaders"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
PKG_GIT_CLONE_BRANCH="rpi"
|
||||
PKG_DEPENDS_TARGET="toolchain glsl-shaders"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="libretro"
|
||||
PKG_SHORTDESC="Libretro common shaders from retropie"
|
||||
PKG_LONGDESC="Libretro common shaders from retropie"
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
make_target() {
|
||||
:
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
if [ ! -d "${INSTALL}/usr/share/common-shaders" ]
|
||||
then
|
||||
mkdir -p ${INSTALL}/usr/share/common-shaders
|
||||
fi
|
||||
rsync -a ${BUILD}/${PKG_NAME}-${PKG_VERSION}/* ${INSTALL}/usr/share/common-shaders/
|
||||
rm -f ${INSTALL}/usr/share/common-shaders/{Makefile,configure}
|
||||
}
|
|
@ -19,8 +19,8 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="snes9x"
|
||||
PKG_VERSION="d2959e06c1c028e1b25250f5552c5900fafe943d"
|
||||
PKG_SHA256="20d11b5268bc44fe33830c76f3887e11395839645aaedeb48de1bc04e436e990"
|
||||
PKG_VERSION="361f073be2b1d01a1fe592c2980790f20f1d80f6"
|
||||
PKG_SHA256="618417913acaa1ce8b452ee70c3728e1d106eaa75028ec8fc5d033b9a211f670"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="Non-commercial"
|
||||
|
|
|
@ -19,8 +19,8 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="snes9x2002"
|
||||
PKG_VERSION="53c2aa4d615b97c5678eccce541326fb18afdaf2"
|
||||
PKG_SHA256="c08a97f729c402be0ef1b9c6c10dea4c7e61657a0943e0f19d53cf36ebd0a18a"
|
||||
PKG_VERSION="4a5c4cadd53264f3a6ce6b76caae0375390b8ffc"
|
||||
PKG_SHA256="019f4c435036ec5d616ece0a229d928168e4cf9e5aaedd08cfa3b00eae705cdf"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="Non-commercial"
|
||||
|
|
|
@ -19,8 +19,8 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="stella"
|
||||
PKG_VERSION="24e491bcde5c37611c79a81f035c2218ab426230"
|
||||
PKG_SHA256="667442ab931d74b54fe73f56f38b677c5608f9d3cdd57ade61c22dbc8b1bc8ff"
|
||||
PKG_VERSION="6d07ba4072bd1471512e35f0d0ca13b8c6a9672f"
|
||||
PKG_SHA256="9b2088feda7f5d72e258b6e627591491a5fb5354d2610cffe2e534115977db2d"
|
||||
PKG_REV="1"
|
||||
PKG_LICENSE="GPL2"
|
||||
PKG_SITE="https://github.com/stella-emu/stella"
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
# Maintenance 2020 351ELEC team (https://github.com/fewtarius/351ELEC)
|
||||
|
||||
PKG_NAME="swanstation"
|
||||
PKG_VERSION="20ed86f7e93481d21bc27f3f1e36636c453b1328"
|
||||
PKG_SHA256="0e3f12b29ce3db3c8cb70a609fe393f69659cc829ac7ae57fa75fa628c71f9ae"
|
||||
PKG_VERSION="74b958ceae11a1b72ba17d5b783b5eb1a6166701"
|
||||
PKG_SHA256="a5c3aa606c0a7d9b963f661cb3cc385974f0c67a41dbe860022d6616fae580da"
|
||||
PKG_ARCH="aarch64"
|
||||
PKG_LICENSE="GPLv3"
|
||||
PKG_SITE="https://github.com/libretro/swanstation"
|
||||
|
|
|
@ -19,8 +19,8 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="tyrquake"
|
||||
PKG_VERSION="423a217d7ef0f913bc711dc9fceff707196c0f2f"
|
||||
PKG_SHA256="0db39ba41e321b843f436b9b0184bc1b74b853948307f827dcc54a5043c09249"
|
||||
PKG_VERSION="0e75ab87dd94fabc801263978c5bdf98cdbc293a"
|
||||
PKG_SHA256="55f1bc77134cb3370036c5a123053e330ab71c875faa96469554c7afcbc565f2"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
################################################################################
|
||||
|
||||
PKG_NAME="vice"
|
||||
PKG_VERSION="a45757e66e6fc0b48c6a22354f06ca0e988aa5a5"
|
||||
PKG_SHA256="f1d8cfa205f69e68ed818f52f1c54d59f47b8f8cbf144e7b298d3090717b622f"
|
||||
PKG_VERSION="55880704618ef53ca219043b4a4c6a404dc1c683"
|
||||
PKG_SHA256="634e69a5de73effb2590f198ee184fe31b1a1fecbc52511c9ca688e4925ec904"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2021-present 351ELEC (https://github.com/351elec)
|
||||
# Copyright (C) 2022-present Fewtarius
|
||||
|
||||
PKG_NAME="351files"
|
||||
PKG_VERSION="a7bb75dafca5c3f8e50e0f456b7ec249a69e1346"
|
||||
|
@ -7,7 +8,7 @@ PKG_REV="1"
|
|||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/Tardigrade-nx/351Files"
|
||||
PKG_URL="$PKG_SITE/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain SDL2 SDL2_image SDL2_gfx SDL2_ttf"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="tools"
|
||||
|
@ -20,8 +21,9 @@ make_target() {
|
|||
}
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p $INSTALL/usr/bin
|
||||
mkdir -p $INSTALL/usr/share/351files
|
||||
cp 351Files $INSTALL/usr/bin/
|
||||
cp -rf res $INSTALL/usr/share/351files/
|
||||
mkdir -p ${INSTALL}/usr/bin
|
||||
mkdir -p ${INSTALL}/usr/share/351files
|
||||
cp 351Files ${INSTALL}/usr/bin/
|
||||
cp -rf res ${INSTALL}/usr/share/351files/
|
||||
chmod 0755 ${INSTALL}/usr/bin/351Files
|
||||
}
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2021-present Fewtarius (https://github.com/fewtarius)
|
||||
# Maintenance 2022-present BrooksyTech (https://github.com/brooksytech)
|
||||
# Copyright (C) 2022-present BrooksyTech (https://github.com/brooksytech)
|
||||
|
||||
PKG_NAME="portmaster"
|
||||
PKG_VERSION="1.0"
|
||||
PKG_VERSION=""
|
||||
PKG_ARCH="any"
|
||||
PKG_URL="https://github.com/christianhaitian/PortMaster/raw/main/PortMaster.zip"
|
||||
PKG_PRIORITY="optional"
|
||||
|
@ -12,10 +12,14 @@ PKG_SHORTDESC="A simple tool that allows you to download various game ports that
|
|||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
pre_unpack() {
|
||||
unzip sources/portmaster/portmaster-1.0.zip -d $PKG_BUILD
|
||||
unzip sources/portmaster/portmaster-.zip -d ${PKG_BUILD}
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p $INSTALL/usr/share/
|
||||
cp -r $PKG_BUILD/PortMaster $INSTALL/usr/share/
|
||||
cp -r ${PKG_BUILD}/PortMaster ${INSTALL}/usr/share/
|
||||
chmod 0755 $INSTALL/usr/share/PortMaster
|
||||
|
||||
mkdir -p ${INSTALL}/usr/lib/autostart/common
|
||||
cp ${PKG_DIR}/sources/autostart/common/* ${INSTALL}/usr/lib/autostart/common
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/sh
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
# Copyright (C) 2021-present Fewtarius (https://github.com/fewtarius)
|
||||
# Maintenance 2022-present BrooksyTech (https://github.com/brooksytech)
|
||||
# Copyright (C) 2022-present BrooksyTech (https://github.com/brooksytech)
|
||||
|
||||
#If PortMaster does not exist copy PortMaster folder to roms/ports
|
||||
if [ ! -e "/storage/roms/ports/PortMaster" ]
|
27
packages/games/tools/xa/package.mk
Normal file
27
packages/games/tools/xa/package.mk
Normal file
|
@ -0,0 +1,27 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2022-present Fewtarius
|
||||
|
||||
PKG_NAME="xa"
|
||||
PKG_VERSION="2.3.12"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://www.floodgap.com/retrotech/xa/"
|
||||
PKG_URL="${PKG_SITE}/dists/xa-${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_DEPENDS_HOST="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="tools"
|
||||
PKG_SHORTDESC="xa is a high-speed, two-pass portable cross-assembler."
|
||||
|
||||
makeinstall_host() {
|
||||
mkdir -p ${TOOLCHAIN}/bin
|
||||
cp -f file65 ldo65 mkrom.sh printcbm reloc65 uncpk xa ${TOOLCHAIN}/bin
|
||||
ln -s xa ${TOOLCHAIN}/xa64
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p ${INSTALL}/usr/bin
|
||||
cp -f file65 ldo65 mkrom.sh printcbm reloc65 uncpk xa ${INSTALL}/usr/bin
|
||||
ln -s xa ${INSTALL}/usr/bin/xa64
|
||||
}
|
|
@ -3,8 +3,8 @@
|
|||
# Copyright (C) 2022-present Fewtarius
|
||||
|
||||
PKG_NAME="SDL2"
|
||||
PKG_VERSION="2.0.16"
|
||||
PKG_SHA256="65be9ff6004034b5b2ce9927b5a4db1814930f169c4b2dae0a1e4697075f287b"
|
||||
PKG_VERSION="2.0.20"
|
||||
PKG_SHA256="c56aba1d7b5b0e7e999e4a7698c70b63a3394ff9704b5f6e1c57e0c16f04dd06"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://www.libsdl.org/"
|
||||
PKG_URL="https://www.libsdl.org/release/SDL2-$PKG_VERSION.tar.gz"
|
||||
|
|
|
@ -1,52 +0,0 @@
|
|||
From b2d17230779c9da13433dc9f3abf37ee1e6da85d Mon Sep 17 00:00:00 2001
|
||||
From: JohnnyonFlame <johnnyonflame@hotmail.com>
|
||||
Date: Sat, 4 Dec 2021 02:38:47 +0000
|
||||
Subject: [PATCH] kmsdrm: Workaround missing gbm_bo_get_offset and
|
||||
SDL_GL_CONTEXT_PROFILE defaults
|
||||
|
||||
---
|
||||
src/video/kmsdrm/SDL_kmsdrmopengles.c | 14 ++++++++++----
|
||||
src/video/kmsdrm/SDL_kmsdrmsym.h | 2 +-
|
||||
2 files changed, 11 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/video/kmsdrm/SDL_kmsdrmopengles.c b/src/video/kmsdrm/SDL_kmsdrmopengles.c
|
||||
index 55a53df76..3d76284fd 100644
|
||||
--- a/src/video/kmsdrm/SDL_kmsdrmopengles.c
|
||||
+++ b/src/video/kmsdrm/SDL_kmsdrmopengles.c
|
||||
@@ -41,11 +41,17 @@ KMSDRM_GLES_DefaultProfileConfig(_THIS, int *mask, int *major, int *minor)
|
||||
{
|
||||
/* if SDL was _also_ built with the Raspberry Pi driver (so we're
|
||||
definitely a Pi device), default to GLES2. */
|
||||
-#if SDL_VIDEO_DRIVER_RPI
|
||||
- *mask = SDL_GL_CONTEXT_PROFILE_ES;
|
||||
- *major = 2;
|
||||
- *minor = 0;
|
||||
+ /* JohnnyonFlame: We want to use GLESv2 as a default for compatibility
|
||||
+ with SDL 2.0.10 builds, but offer the ability to use the OpenGL defaults
|
||||
+ if ever needed. */
|
||||
+#ifndef SDL_VIDEO_DRIVER_RPI
|
||||
+ if (!SDL_getenv("SDL_DEFAULT_CONTEXT_PROFILE"))
|
||||
#endif
|
||||
+ {
|
||||
+ *mask = SDL_GL_CONTEXT_PROFILE_ES;
|
||||
+ *major = 2;
|
||||
+ *minor = 0;
|
||||
+ }
|
||||
}
|
||||
|
||||
int
|
||||
diff --git a/src/video/kmsdrm/SDL_kmsdrmsym.h b/src/video/kmsdrm/SDL_kmsdrmsym.h
|
||||
index ea3d8d116..b17f823c9 100644
|
||||
--- a/src/video/kmsdrm/SDL_kmsdrmsym.h
|
||||
+++ b/src/video/kmsdrm/SDL_kmsdrmsym.h
|
||||
@@ -104,7 +104,7 @@ SDL_KMSDRM_SYM(unsigned int,gbm_bo_get_width,(struct gbm_bo *bo))
|
||||
SDL_KMSDRM_SYM(unsigned int,gbm_bo_get_height,(struct gbm_bo *bo))
|
||||
SDL_KMSDRM_SYM(uint32_t,gbm_bo_get_stride,(struct gbm_bo *bo))
|
||||
SDL_KMSDRM_SYM(uint32_t,gbm_bo_get_format,(struct gbm_bo *bo))
|
||||
-SDL_KMSDRM_SYM(uint32_t,gbm_bo_get_offset,(struct gbm_bo *bo, int plane))
|
||||
+//SDL_KMSDRM_SYM(uint32_t,gbm_bo_get_offset,(struct gbm_bo *bo, int plane))
|
||||
SDL_KMSDRM_SYM(union gbm_bo_handle,gbm_bo_get_handle,(struct gbm_bo *bo))
|
||||
SDL_KMSDRM_SYM(int,gbm_bo_write,(struct gbm_bo *bo, const void *buf, size_t count))
|
||||
SDL_KMSDRM_SYM(struct gbm_device *,gbm_bo_get_device,(struct gbm_bo *bo))
|
||||
--
|
||||
2.25.1
|
|
@ -1,6 +1,8 @@
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 26fe83205..32a339b05 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -557,7 +557,7 @@
|
||||
@@ -557,7 +557,7 @@ if(USE_GCC OR USE_CLANG)
|
||||
check_c_compiler_flag("" HAVE_NO_UNDEFINED)
|
||||
set(CMAKE_REQUIRED_FLAGS ${ORIG_CMAKE_REQUIRED_FLAGS})
|
||||
if(HAVE_NO_UNDEFINED AND NOT (USE_CLANG AND WINDOWS))
|
||||
|
@ -23,20 +25,25 @@ index 65ccc55..bf4e3aa 100644
|
|||
LIBTOOL = @LIBTOOL@
|
||||
INSTALL = @INSTALL@
|
||||
diff --git a/src/video/kmsdrm/SDL_kmsdrmopengles.c b/src/video/kmsdrm/SDL_kmsdrmopengles.c
|
||||
index 55a53df..21fb124 100644
|
||||
index 017372c..cff1b25 100644
|
||||
--- a/src/video/kmsdrm/SDL_kmsdrmopengles.c
|
||||
+++ b/src/video/kmsdrm/SDL_kmsdrmopengles.c
|
||||
@@ -34,6 +34,9 @@
|
||||
@@ -29,10 +29,14 @@
|
||||
#include "SDL_kmsdrmopengles.h"
|
||||
#include "SDL_kmsdrmdyn.h"
|
||||
#include <errno.h>
|
||||
+#include<stdbool.h>
|
||||
|
||||
#ifndef EGL_PLATFORM_GBM_MESA
|
||||
#define EGL_PLATFORM_GBM_MESA 0x31D7
|
||||
#endif
|
||||
|
||||
+
|
||||
+extern rga_info_t src_info;
|
||||
+extern rga_info_t dst_info;
|
||||
+
|
||||
|
||||
/* EGL implementation of SDL OpenGL support */
|
||||
|
||||
void
|
||||
@@ -92,6 +95,7 @@ KMSDRM_GLES_SwapWindow(_THIS, SDL_Window * window) {
|
||||
@@ -92,6 +96,7 @@
|
||||
SDL_VideoData *viddata = ((SDL_VideoData *)_this->driverdata);
|
||||
KMSDRM_FBInfo *fb_info;
|
||||
int ret = 0;
|
||||
|
@ -44,48 +51,49 @@ index 55a53df..21fb124 100644
|
|||
|
||||
/* Always wait for the previous issued flip before issuing a new one,
|
||||
even if you do async flips. */
|
||||
@@ -135,12 +139,26 @@ KMSDRM_GLES_SwapWindow(_THIS, SDL_Window * window) {
|
||||
@@ -135,7 +140,26 @@
|
||||
}
|
||||
|
||||
/* Get an actual usable fb for the next front buffer. */
|
||||
- fb_info = KMSDRM_FBFromBO(_this, windata->next_bo);
|
||||
+ if (src_info.fd) {
|
||||
+ close(src_info.fd);
|
||||
+ }
|
||||
+ src_info.fd = KMSDRM_gbm_bo_get_fd(windata->next_bo);
|
||||
+ dst_info.fd = viddata->rga_buffer_prime_fds[viddata->rga_buffer_index];
|
||||
+ if (c_RkRgaBlit(&src_info, &dst_info, NULL) < 0) {
|
||||
+ SDL_LogError(SDL_LOG_CATEGORY_VIDEO,
|
||||
+ "Failed to rga blit\n");
|
||||
+ }
|
||||
+ if (src_info.fd) {
|
||||
+ close(src_info.fd);
|
||||
+ }
|
||||
+ src_info.fd = KMSDRM_gbm_bo_get_fd(windata->next_bo);
|
||||
+ dst_info.fd = viddata->rga_buffer_prime_fds[viddata->rga_buffer_index];
|
||||
+ if (c_RkRgaBlit(&src_info, &dst_info, NULL) < 0) {
|
||||
+ SDL_LogError(SDL_LOG_CATEGORY_VIDEO,
|
||||
+ "Failed to rga blit\n");
|
||||
+ }
|
||||
+
|
||||
+ rga_buffer = viddata->rga_buffers[viddata->rga_buffer_index];
|
||||
+ fb_info = KMSDRM_FBFromBO(_this, rga_buffer);
|
||||
+ rga_buffer = viddata->rga_buffers[viddata->rga_buffer_index];
|
||||
+ fb_info = KMSDRM_FBFromBO(_this, rga_buffer);
|
||||
+
|
||||
+ if (!fb_info) {
|
||||
+ SDL_LogError(SDL_LOG_CATEGORY_VIDEO, "Could not get a framebuffer");
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ viddata->rga_buffer_index = (viddata->rga_buffer_index + 1) % RGA_BUFFERS_MAX;
|
||||
+
|
||||
if (!fb_info) {
|
||||
SDL_LogError(SDL_LOG_CATEGORY_VIDEO, "Could not get a framebuffer");
|
||||
return 0;
|
||||
}
|
||||
|
||||
+ viddata->rga_buffer_index = (viddata->rga_buffer_index + 1) % RGA_BUFFERS_MAX;
|
||||
+
|
||||
if (!windata->bo) {
|
||||
/* On the first swap, immediately present the new front buffer. Before
|
||||
drmModePageFlip can be used the CRTC has to be configured to use
|
||||
diff --git a/src/video/kmsdrm/SDL_kmsdrmsym.h b/src/video/kmsdrm/SDL_kmsdrmsym.h
|
||||
index ea3d8d1..d3b123b 100644
|
||||
index 6956232..6d8b3fd 100644
|
||||
--- a/src/video/kmsdrm/SDL_kmsdrmsym.h
|
||||
+++ b/src/video/kmsdrm/SDL_kmsdrmsym.h
|
||||
@@ -121,6 +121,7 @@ SDL_KMSDRM_SYM(struct gbm_surface *,gbm_surface_create,(struct gbm_device *gbm,
|
||||
@@ -123,7 +123,7 @@ SDL_KMSDRM_SYM(struct gbm_surface *,gbm_surface_create,(struct gbm_device *gbm,
|
||||
SDL_KMSDRM_SYM(void,gbm_surface_destroy,(struct gbm_surface *surf))
|
||||
SDL_KMSDRM_SYM(struct gbm_bo *,gbm_surface_lock_front_buffer,(struct gbm_surface *surf))
|
||||
SDL_KMSDRM_SYM(void,gbm_surface_release_buffer,(struct gbm_surface *surf, struct gbm_bo *bo))
|
||||
-
|
||||
+SDL_KMSDRM_SYM(int,gbm_bo_get_fd,(struct gbm_bo *bo))
|
||||
|
||||
|
||||
#undef SDL_KMSDRM_MODULE
|
||||
#undef SDL_KMSDRM_SYM
|
||||
diff --git a/src/video/kmsdrm/SDL_kmsdrmvideo.c b/src/video/kmsdrm/SDL_kmsdrmvideo.c
|
||||
index cedc739..f585a69 100644
|
||||
index f7e7648..144f8f9 100644
|
||||
--- a/src/video/kmsdrm/SDL_kmsdrmvideo.c
|
||||
+++ b/src/video/kmsdrm/SDL_kmsdrmvideo.c
|
||||
@@ -44,6 +44,7 @@
|
||||
|
@ -96,17 +104,25 @@ index cedc739..f585a69 100644
|
|||
#include "SDL_kmsdrmvulkan.h"
|
||||
#include <sys/stat.h>
|
||||
#include <sys/param.h>
|
||||
@@ -71,6 +72,9 @@ static SDL_bool openbsd69orgreater = SDL_FALSE;
|
||||
@@ -51,6 +52,7 @@
|
||||
#include <dirent.h>
|
||||
#include <poll.h>
|
||||
#include <errno.h>
|
||||
+#include<stdbool.h>
|
||||
|
||||
#ifdef __OpenBSD__
|
||||
static SDL_bool openbsd69orgreater = SDL_FALSE;
|
||||
@@ -70,6 +72,9 @@
|
||||
#ifndef EGL_PLATFORM_GBM_MESA
|
||||
#define EGL_PLATFORM_GBM_MESA 0x31D7
|
||||
#endif
|
||||
|
||||
+
|
||||
+rga_info_t src_info = {0};
|
||||
+rga_info_t dst_info = {0};
|
||||
+
|
||||
|
||||
static int
|
||||
check_modestting(int devindex)
|
||||
{
|
||||
@@ -332,6 +336,46 @@ KMSDRM_FBDestroyCallback(struct gbm_bo *bo, void *data)
|
||||
@@ -330,6 +335,46 @@
|
||||
SDL_free(fb_info);
|
||||
}
|
||||
|
||||
|
@ -121,15 +137,15 @@ index cedc739..f585a69 100644
|
|||
+
|
||||
+ l_frameHeight = frameHeight;
|
||||
+ if(l_frameHeight % 32 != 0) {
|
||||
+ l_frameHeight = (frameHeight + 32) & (~31);
|
||||
+ l_frameHeight = (frameHeight + 32) & (~31);
|
||||
+ }
|
||||
+
|
||||
+ // create buffers for RGA with adjusted stride
|
||||
+ for (int i = 0; i < RGA_BUFFERS_MAX; ++i)
|
||||
+ {
|
||||
+ viddata->rga_buffers[i] = KMSDRM_gbm_bo_create(viddata->gbm_dev,
|
||||
+ frameWidth, l_frameHeight,
|
||||
+ GBM_FORMAT_XRGB8888, GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING);
|
||||
+ frameWidth, l_frameHeight,
|
||||
+ GBM_FORMAT_XRGB8888, GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING);
|
||||
+ assert(viddata->rga_buffers[i]);
|
||||
+
|
||||
+ viddata->rga_buffer_prime_fds[i] = KMSDRM_gbm_bo_get_fd(viddata->rga_buffers[i]);
|
||||
|
@ -153,7 +169,7 @@ index cedc739..f585a69 100644
|
|||
KMSDRM_FBInfo *
|
||||
KMSDRM_FBFromBO(_THIS, struct gbm_bo *bo)
|
||||
{
|
||||
@@ -704,8 +748,8 @@ void KMSDRM_AddDisplay (_THIS, drmModeConnector *connector, drmModeRes *resource
|
||||
@@ -687,8 +732,8 @@
|
||||
modedata->mode_index = mode_index;
|
||||
|
||||
display.driverdata = dispdata;
|
||||
|
@ -164,16 +180,17 @@ index cedc739..f585a69 100644
|
|||
display.desktop_mode.refresh_rate = dispdata->mode.vrefresh;
|
||||
display.desktop_mode.format = SDL_PIXELFORMAT_ARGB8888;
|
||||
display.desktop_mode.driverdata = modedata;
|
||||
@@ -980,7 +1024,7 @@ KMSDRM_DirtySurfaces(SDL_Window *window) {
|
||||
@@ -964,7 +1009,8 @@
|
||||
or SetWindowFullscreen, send a fake event for now since the actual
|
||||
recreation is deferred */
|
||||
KMSDRM_GetModeToSet(window, &mode);
|
||||
- SDL_SendWindowEvent(window, SDL_WINDOWEVENT_RESIZED, mode.hdisplay, mode.vdisplay);
|
||||
+ SDL_SendWindowEvent(window, SDL_WINDOWEVENT_RESIZED, mode.vdisplay, mode.hdisplay);
|
||||
+
|
||||
}
|
||||
|
||||
/* This determines the size of the fb, which comes from the GBM surface
|
||||
@@ -1016,13 +1060,13 @@ KMSDRM_CreateSurfaces(_THIS, SDL_Window * window)
|
||||
@@ -1000,13 +1046,13 @@
|
||||
mode that's set in sync with what SDL_video.c thinks is set */
|
||||
KMSDRM_GetModeToSet(window, &dispdata->mode);
|
||||
|
||||
|
@ -190,7 +207,7 @@ index cedc739..f585a69 100644
|
|||
surface_fmt, surface_flags);
|
||||
|
||||
if (!windata->gs) {
|
||||
@@ -1046,7 +1090,7 @@ KMSDRM_CreateSurfaces(_THIS, SDL_Window * window)
|
||||
@@ -1030,7 +1076,7 @@
|
||||
ret = SDL_EGL_MakeCurrent(_this, windata->egl_surface, egl_context);
|
||||
|
||||
SDL_SendWindowEvent(window, SDL_WINDOWEVENT_RESIZED,
|
||||
|
@ -199,7 +216,7 @@ index cedc739..f585a69 100644
|
|||
|
||||
windata->egl_surface_dirty = SDL_FALSE;
|
||||
|
||||
@@ -1151,8 +1195,8 @@ KMSDRM_GetDisplayModes(_THIS, SDL_VideoDisplay * display)
|
||||
@@ -1116,8 +1162,8 @@
|
||||
modedata->mode_index = i;
|
||||
}
|
||||
|
||||
|
@ -210,22 +227,21 @@ index cedc739..f585a69 100644
|
|||
mode.refresh_rate = conn->modes[i].vrefresh;
|
||||
mode.format = SDL_PIXELFORMAT_ARGB8888;
|
||||
mode.driverdata = modedata;
|
||||
@@ -1264,6 +1308,14 @@ KMSDRM_DestroyWindow(_THIS, SDL_Window *window)
|
||||
@@ -1229,6 +1275,13 @@
|
||||
/*********************************************************************/
|
||||
SDL_free(window->driverdata);
|
||||
window->driverdata = NULL;
|
||||
+
|
||||
+ for (int i = 0; i < RGA_BUFFERS_MAX; ++i) {
|
||||
+ close(viddata->rga_buffer_prime_fds[i]);
|
||||
+ }
|
||||
+ if (src_info.fd) {
|
||||
+ close(src_info.fd);
|
||||
+ }
|
||||
+ c_RkRgaDeInit();
|
||||
+ for (int i = 0; i < RGA_BUFFERS_MAX; ++i) {
|
||||
+ close(viddata->rga_buffer_prime_fds[i]);
|
||||
+ }
|
||||
+ if (src_info.fd) {
|
||||
+ close(src_info.fd);
|
||||
+ }
|
||||
+ c_RkRgaDeInit();
|
||||
}
|
||||
|
||||
/**********************************************************************/
|
||||
@@ -1283,6 +1335,7 @@ KMSDRM_CreateWindow(_THIS, SDL_Window * window)
|
||||
@@ -1248,6 +1301,7 @@
|
||||
NativeDisplayType egl_display;
|
||||
drmModeModeInfo *mode;
|
||||
int ret = 0;
|
||||
|
@ -233,18 +249,19 @@ index cedc739..f585a69 100644
|
|||
|
||||
/* Allocate window internal data */
|
||||
windata = (SDL_WindowData *)SDL_calloc(1, sizeof(SDL_WindowData));
|
||||
@@ -1391,6 +1444,9 @@ KMSDRM_CreateWindow(_THIS, SDL_Window * window)
|
||||
@@ -1356,6 +1410,9 @@
|
||||
SDL_SetMouseFocus(window);
|
||||
SDL_SetKeyboardFocus(window);
|
||||
|
||||
+ data = (SDL_DisplayData *) SDL_GetDisplayForWindow(window)->driverdata;
|
||||
+ KMSDRM_InitRotateBuffer(_this, data->mode.hdisplay, data->mode.vdisplay);
|
||||
+
|
||||
+ data = (SDL_DisplayData *) SDL_GetDisplayForWindow(window)->driverdata;
|
||||
+ KMSDRM_InitRotateBuffer(_this, data->mode.hdisplay, data->mode.vdisplay);
|
||||
+
|
||||
/* Tell the app that the window has moved to top-left. */
|
||||
SDL_SendWindowEvent(window, SDL_WINDOWEVENT_MOVED, 0, 0);
|
||||
|
||||
|
||||
diff --git a/src/video/kmsdrm/SDL_kmsdrmvideo.h b/src/video/kmsdrm/SDL_kmsdrmvideo.h
|
||||
index b172eb9..c4bd1f5 100644
|
||||
index 566fc85..10519e9 100644
|
||||
--- a/src/video/kmsdrm/SDL_kmsdrmvideo.h
|
||||
+++ b/src/video/kmsdrm/SDL_kmsdrmvideo.h
|
||||
@@ -32,6 +32,10 @@
|
||||
|
@ -265,96 +282,7 @@ index b172eb9..c4bd1f5 100644
|
|||
+ struct gbm_bo* rga_buffers[RGA_BUFFERS_MAX];
|
||||
+ int rga_buffer_prime_fds[RGA_BUFFERS_MAX];
|
||||
+ int rga_buffer_index;
|
||||
+
|
||||
+
|
||||
} SDL_VideoData;
|
||||
|
||||
|
||||
diff --git a/src/video/kmsdrm/SDL_kmsdrmmouse.c b/src/video/kmsdrm/SDL_kmsdrmmouse.c
|
||||
index b45909027..231d5b1d6 100644
|
||||
--- a/src/video/kmsdrm/SDL_kmsdrmmouse.c
|
||||
+++ b/src/video/kmsdrm/SDL_kmsdrmmouse.c
|
||||
@@ -73,6 +73,7 @@ KMSDRM_DestroyCursorBO (_THIS, SDL_VideoDisplay *display)
|
||||
if (dispdata->cursor_bo) {
|
||||
KMSDRM_gbm_bo_destroy(dispdata->cursor_bo);
|
||||
dispdata->cursor_bo = NULL;
|
||||
+ dispdata->cursor_bo_drm_fd = -1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -116,6 +117,8 @@ KMSDRM_CreateCursorBO (SDL_VideoDisplay *display) {
|
||||
SDL_SetError("Could not create GBM cursor BO");
|
||||
return;
|
||||
}
|
||||
+
|
||||
+ dispdata->cursor_bo_drm_fd = viddata->drm_fd;
|
||||
}
|
||||
|
||||
/* Remove a cursor buffer from a display's DRM cursor BO. */
|
||||
@@ -384,11 +387,9 @@ KMSDRM_WarpMouseGlobal(int x, int y)
|
||||
|
||||
/* And now update the cursor graphic position on screen. */
|
||||
if (dispdata->cursor_bo) {
|
||||
- int drm_fd;
|
||||
int ret = 0;
|
||||
|
||||
- drm_fd = KMSDRM_gbm_device_get_fd(KMSDRM_gbm_bo_get_device(dispdata->cursor_bo));
|
||||
- ret = KMSDRM_drmModeMoveCursor(drm_fd, dispdata->crtc->crtc_id, x, y);
|
||||
+ ret = KMSDRM_drmModeMoveCursor(dispdata->cursor_bo_drm_fd, dispdata->crtc->crtc_id, x, y);
|
||||
|
||||
if (ret) {
|
||||
SDL_SetError("drmModeMoveCursor() failed.");
|
||||
@@ -437,7 +438,6 @@ static void
|
||||
KMSDRM_MoveCursor(SDL_Cursor * cursor)
|
||||
{
|
||||
SDL_Mouse *mouse = SDL_GetMouse();
|
||||
- int drm_fd;
|
||||
int ret = 0;
|
||||
|
||||
/* We must NOT call SDL_SendMouseMotion() here or we will enter recursivity!
|
||||
@@ -452,9 +452,7 @@ KMSDRM_MoveCursor(SDL_Cursor * cursor)
|
||||
return;
|
||||
}
|
||||
|
||||
- drm_fd = KMSDRM_gbm_device_get_fd(KMSDRM_gbm_bo_get_device(dispdata->cursor_bo));
|
||||
-
|
||||
- ret = KMSDRM_drmModeMoveCursor(drm_fd, dispdata->crtc->crtc_id, mouse->x, mouse->y);
|
||||
+ ret = KMSDRM_drmModeMoveCursor(dispdata->cursor_bo_drm_fd, dispdata->crtc->crtc_id, mouse->x, mouse->y);
|
||||
|
||||
if (ret) {
|
||||
SDL_SetError("drmModeMoveCursor() failed.");
|
||||
diff --git a/src/video/kmsdrm/SDL_kmsdrmsym.h b/src/video/kmsdrm/SDL_kmsdrmsym.h
|
||||
index 90d128582..e368c5d0d 100644
|
||||
--- a/src/video/kmsdrm/SDL_kmsdrmsym.h
|
||||
+++ b/src/video/kmsdrm/SDL_kmsdrmsym.h
|
||||
@@ -95,7 +95,6 @@ SDL_KMSDRM_SYM(int,drmModeSetPlane,(int fd, uint32_t plane_id, uint32_t crtc_id,
|
||||
/* Planes stuff ends. */
|
||||
|
||||
SDL_KMSDRM_MODULE(GBM)
|
||||
-SDL_KMSDRM_SYM(int,gbm_device_get_fd,(struct gbm_device *gbm))
|
||||
SDL_KMSDRM_SYM(int,gbm_device_is_format_supported,(struct gbm_device *gbm,
|
||||
uint32_t format, uint32_t usage))
|
||||
SDL_KMSDRM_SYM(void,gbm_device_destroy,(struct gbm_device *gbm))
|
||||
diff --git a/src/video/kmsdrm/SDL_kmsdrmvideo.c b/src/video/kmsdrm/SDL_kmsdrmvideo.c
|
||||
index dbc1b4455..3308dd963 100644
|
||||
--- a/src/video/kmsdrm/SDL_kmsdrmvideo.c
|
||||
+++ b/src/video/kmsdrm/SDL_kmsdrmvideo.c
|
||||
@@ -555,6 +555,7 @@ KMSDRM_AddDisplay (_THIS, drmModeConnector *connector, drmModeRes *resources) {
|
||||
/* Initialize some of the members of the new display's driverdata
|
||||
to sane values. */
|
||||
dispdata->cursor_bo = NULL;
|
||||
+ dispdata->cursor_bo_drm_fd = -1;
|
||||
|
||||
/* Since we create and show the default cursor on KMSDRM_InitMouse(),
|
||||
and we call KMSDRM_InitMouse() when we create a window, we have to know
|
||||
diff --git a/src/video/kmsdrm/SDL_kmsdrmvideo.h b/src/video/kmsdrm/SDL_kmsdrmvideo.h
|
||||
index b172eb90f..566fc852d 100644
|
||||
--- a/src/video/kmsdrm/SDL_kmsdrmvideo.h
|
||||
+++ b/src/video/kmsdrm/SDL_kmsdrmvideo.h
|
||||
@@ -77,6 +77,7 @@ typedef struct SDL_DisplayData
|
||||
where we may not have an SDL_Cursor at all (so no SDL_Cursor driverdata).
|
||||
There's only one cursor GBM BO because we only support one cursor. */
|
||||
struct gbm_bo *cursor_bo;
|
||||
+ int cursor_bo_drm_fd;
|
||||
uint64_t cursor_w, cursor_h;
|
||||
|
||||
SDL_bool default_cursor_init;
|
|
@ -11,15 +11,27 @@ diff --git a/src/video/kmsdrm/SDL_kmsdrmmouse.c b/src/video/kmsdrm/SDL_kmsdrmmou
|
|||
index b22fc8e..c9d7700 100644
|
||||
--- a/src/video/kmsdrm/SDL_kmsdrmmouse.c
|
||||
+++ b/src/video/kmsdrm/SDL_kmsdrmmouse.c
|
||||
@@ -202,7 +202,7 @@ KMSDRM_DumpCursorToBO(SDL_VideoDisplay *display, SDL_Cursor *cursor)
|
||||
for (j = 0; j < curdata->w; j++) {
|
||||
pixel = ((uint32_t*)curdata->buffer)[i * curdata->w + j];
|
||||
legacy_alpha_premultiply_ARGB8888 (&pixel);
|
||||
- SDL_memcpy(ready_buffer + (i * dispdata->cursor_w) + j, &pixel, 4);
|
||||
+ SDL_memcpy(ready_buffer + ((curdata->w - j + 1) * dispdata->cursor_w) + i, &pixel, 4);
|
||||
}
|
||||
@@ -156,6 +156,7 @@
|
||||
uint8_t *src_row;
|
||||
|
||||
int i;
|
||||
+ int j;
|
||||
int ret;
|
||||
|
||||
if (!curdata || !dispdata->cursor_bo) {
|
||||
@@ -176,8 +177,10 @@
|
||||
|
||||
/* Copy from the cursor buffer to a buffer that we can dump to the GBM BO. */
|
||||
for (i = 0; i < curdata->h; i++) {
|
||||
- src_row = &((uint8_t*)curdata->buffer)[i * curdata->w * 4];
|
||||
- SDL_memcpy(ready_buffer + (i * bo_stride), src_row, 4 * curdata->w);
|
||||
+ for (j = 0; j < curdata->w; j++) {
|
||||
+ src_row = ((uint32_t*)curdata->buffer)[i * curdata->w + j];
|
||||
+ SDL_memcpy(ready_buffer + ((curdata->w - j + 1) * bo_stride) + i, &src_row, 4);
|
||||
+ }
|
||||
}
|
||||
|
||||
/* Dump the cursor buffer to our GBM BO. */
|
||||
@@ -216,10 +216,10 @@ KMSDRM_DumpCursorToBO(SDL_VideoDisplay *display, SDL_Cursor *cursor)
|
||||
bo_handle = KMSDRM_gbm_bo_get_handle(dispdata->cursor_bo).u32;
|
||||
if (curdata->hot_x == 0 && curdata->hot_y == 0) {
|
|
@ -1,54 +1,15 @@
|
|||
global.analogue=1
|
||||
ssh.enabled=1
|
||||
samba.enabled=0
|
||||
bluetooth.enabled=0
|
||||
global.maxperf=0
|
||||
boot=Emulationstation
|
||||
splash.enabled=0
|
||||
advmame_auto_gamepad=0
|
||||
system.hostname=JELOS
|
||||
rotate.root.password=1
|
||||
cooling.profile=quiet
|
||||
wifi.enabled=0
|
||||
audio.bgmusic=1
|
||||
controllers.bluetooth.enabled=1
|
||||
system.language=en_US
|
||||
system.timezone=America/New_York
|
||||
global.retroarch.menu_driver=ozone
|
||||
global.ratio=core
|
||||
global.autosave=2
|
||||
global.incrementalsavestates=0
|
||||
global.runahead=0
|
||||
global.secondinstance=0
|
||||
global.retroachievements=0
|
||||
global.retroachievements.hardcore=0
|
||||
global.retroachievements.leaderboards=disabled
|
||||
global.retroachievements.challengeindicators=0
|
||||
global.retroachievements.richpresence=0
|
||||
global.retroachievements.testunofficial=0
|
||||
global.retroachievements.soundenable=0
|
||||
global.retroachievements.verbose=0
|
||||
global.retroachievements.screenshot=0
|
||||
global.retroachievements.username=
|
||||
global.retroachievements.password=
|
||||
audio.display_titles=1
|
||||
audio.persystem=0
|
||||
global.netplay=0
|
||||
global.netplay.port=55435
|
||||
global.netplay.relay=none
|
||||
audio.device=headphone
|
||||
audio.volume=75
|
||||
3do.integerscale=1
|
||||
3do.maxperf=1
|
||||
3do.ratio=4/3
|
||||
3do.integerscale=1
|
||||
3do.rewind=0
|
||||
amiga.ratio=4/3
|
||||
amiga.integerscale=1
|
||||
amigacd32.ratio=4/3
|
||||
advmame_auto_gamepad=0
|
||||
amigacd32.integerscale=1
|
||||
amigacd32.ratio=4/3
|
||||
amiga.integerscale=1
|
||||
amiga.ratio=4/3
|
||||
amstradcpc.integerscale=1
|
||||
arcade.maxperf=1
|
||||
arcade.autosave=0
|
||||
arcade.maxperf=1
|
||||
atari2600.integerscale=1
|
||||
atari5200.integerscale=1
|
||||
atari7800.integerscale=1
|
||||
|
@ -56,133 +17,175 @@ atari800.integerscale=1
|
|||
atarilynx.integerscale=1
|
||||
atarilynx.ratio=core
|
||||
atarist.integerscale=1
|
||||
atomiswave.integerscale=1
|
||||
atomiswave.maxperf=1
|
||||
atomiswave.ratio=4/3
|
||||
atomiswave.integerscale=1
|
||||
cps1.integerscale=1
|
||||
cps2.integerscale=1
|
||||
cps3.integerscale=1
|
||||
colecovision.ratio=4/3
|
||||
colecovision.integerscale=1
|
||||
audio.bgmusic=1
|
||||
audio.device=headphone
|
||||
audio.display_titles=1
|
||||
audio.persystem=0
|
||||
audio.volume=75
|
||||
bluetooth.enabled=0
|
||||
boot=Emulationstation
|
||||
c128.integerscale=1
|
||||
c16.integerscale=1
|
||||
c64.integerscale=1
|
||||
daphne.ratio=4/3
|
||||
colecovision.integerscale=1
|
||||
colecovision.ratio=4/3
|
||||
controllers.bluetooth.enabled=1
|
||||
cooling.profile=quiet
|
||||
cps1.integerscale=1
|
||||
cps2.integerscale=1
|
||||
cps3.integerscale=1
|
||||
daphne.integerscale=1
|
||||
daphne.ratio=4/3
|
||||
dreamcast.integerscale=1
|
||||
dreamcast.maxperf=1
|
||||
dreamcast.ratio=4/3
|
||||
dreamcast.integerscale=1
|
||||
easyrpg.integerscale=1
|
||||
famicom.ratio=4/3
|
||||
famicom.integerscale=1
|
||||
fbn.ratio=core
|
||||
famicom.ratio=4/3
|
||||
fbn.integerscale=1
|
||||
fds.ratio=4/3
|
||||
fbn.ratio=core
|
||||
fds.integerscale=1
|
||||
fds.ratio=4/3
|
||||
gamegear.integerscale=1
|
||||
gb.integerscale=1
|
||||
gba.ratio=3/2
|
||||
gbah.ratio=3/2
|
||||
gbc.integerscale=1
|
||||
gba.ratio=3/2
|
||||
gbch.integerscale=1
|
||||
gbc.integerscale=1
|
||||
gbh.integerscale=1
|
||||
genesis.ratio=4/3
|
||||
gb.integerscale=1
|
||||
genesis.integerscale=1
|
||||
genh.ratio=4/3
|
||||
genesis.ratio=4/3
|
||||
genh.integerscale=1
|
||||
genh.ratio=4/3
|
||||
ggh.integerscale=1
|
||||
intellivision.ratio=4/3
|
||||
global.analogue=1
|
||||
global.autosave=2
|
||||
global.incrementalsavestates=0
|
||||
global.maxperf=0
|
||||
global.netplay=0
|
||||
global.netplay.port=55435
|
||||
global.netplay.relay=none
|
||||
global.ratio=core
|
||||
global.retroachievements=0
|
||||
global.retroachievements.challengeindicators=0
|
||||
global.retroachievements.hardcore=0
|
||||
global.retroachievements.leaderboards=disabled
|
||||
global.retroachievements.password=
|
||||
global.retroachievements.richpresence=0
|
||||
global.retroachievements.screenshot=0
|
||||
global.retroachievements.soundenable=0
|
||||
global.retroachievements.testunofficial=0
|
||||
global.retroachievements.username=
|
||||
global.retroachievements.verbose=0
|
||||
global.retroarch.menu_driver=ozone
|
||||
global.runahead=0
|
||||
global.secondinstance=0
|
||||
intellivision.integerscale=1
|
||||
intellivision.ratio=4/3
|
||||
internal.wifi=1
|
||||
j2me.maxperf=1
|
||||
mame.autosave=0
|
||||
mame.maxperf=1
|
||||
mame.integerscale=1
|
||||
mame.maxperf=1
|
||||
mastersystem.integerscale=1
|
||||
megacd.ratio=4/3
|
||||
megacd.integerscale=1
|
||||
megaduck.integerscale=1
|
||||
megadrive.ratio=4/3
|
||||
megacd.ratio=4/3
|
||||
megadrive.integerscale=1
|
||||
megadrive-japan.ratio=4/3
|
||||
megadrive-japan.integerscale=1
|
||||
msx.ratio=4/3
|
||||
msx.integerscale=1
|
||||
msx2.ratio=4/3
|
||||
megadrive-japan.ratio=4/3
|
||||
megadrive.ratio=4/3
|
||||
megaduck.integerscale=1
|
||||
msx2.integerscale=1
|
||||
msx2.ratio=4/3
|
||||
msx.integerscale=1
|
||||
msx.ratio=4/3
|
||||
n64.integerscale=1
|
||||
n64.maxperf=1
|
||||
n64.ratio=4/3
|
||||
n64.integerscale=1
|
||||
nds.maxperf=1
|
||||
naomi.integerscale=1
|
||||
naomi.maxperf=1
|
||||
naomi.ratio=4/3
|
||||
naomi.integerscale=1
|
||||
neocd.ratio=4/3
|
||||
nds.maxperf=1
|
||||
neocd.integerscale=1
|
||||
neogeo.ratio=4/3
|
||||
neocd.ratio=4/3
|
||||
neogeo.integerscale=1
|
||||
nes.ratio=4/3
|
||||
nes.integerscale=1
|
||||
nesh.ratio=4/3
|
||||
neogeo.ratio=4/3
|
||||
nesh.integerscale=1
|
||||
ngp.integerscale=1
|
||||
nesh.ratio=4/3
|
||||
nes.integerscale=1
|
||||
nes.ratio=4/3
|
||||
ngpc.intergerscale=1
|
||||
odyssey2.ratio=4/3
|
||||
ngp.integerscale=1
|
||||
odyssey2.integerscale=1
|
||||
pc.maxperf=1
|
||||
pc.ratio=4/3
|
||||
pc.integerscale=1
|
||||
pc-9800.ratio=4/3
|
||||
odyssey2.ratio=4/3
|
||||
pc-9800.integerscale=1
|
||||
pcengine.ratio=4/3
|
||||
pcengine.integerscale=1
|
||||
pcenginecd.ratio=4/3
|
||||
pc-9800.ratio=4/3
|
||||
pcenginecd.integerscale=1
|
||||
pcenginecd.ratio=4/3
|
||||
pcengine.integerscale=1
|
||||
pcengine.ratio=4/3
|
||||
pcfx.integerscale=1
|
||||
pcfx.maxperf=1
|
||||
pcfx.ratio=4/3
|
||||
pcfx.integerscale=1
|
||||
pc.integerscale=1
|
||||
pc.maxperf=1
|
||||
pc.ratio=4/3
|
||||
pokemini.ratio=3/2
|
||||
psp.maxperf=1
|
||||
pspminis.maxperf=1
|
||||
psx.ratio=4/3
|
||||
psx.integerscale=1
|
||||
saturn.ratio=4/3
|
||||
psx.ratio=4/3
|
||||
rotate.root.password=1
|
||||
samba.enabled=0
|
||||
saturn.integerscale=1
|
||||
saturn.ratio=4/3
|
||||
sc-3000.integerscale=1
|
||||
sega32x.ratio=4/3
|
||||
sega32x.integerscale=1
|
||||
segacd.ratio=4/3
|
||||
sega32x.ratio=4/3
|
||||
segacd.integerscale=1
|
||||
sfc.ratio=4/3
|
||||
segacd.ratio=4/3
|
||||
sfc.integerscale=1
|
||||
sfc.ratio=4/3
|
||||
sg-1000.integerscale=1
|
||||
snes.ratio=4/3
|
||||
snes.integerscale=1
|
||||
snesh.ratio=4/3
|
||||
snesh.integerscale=1
|
||||
snesmsu1.ratio=4/3
|
||||
snesh.ratio=4/3
|
||||
snes.integerscale=1
|
||||
snesmsu1.integerscale=1
|
||||
supergrafx.ratio=4/3
|
||||
snesmsu1.ratio=4/3
|
||||
snes.ratio=4/3
|
||||
splash.enabled=0
|
||||
ssh.enabled=1
|
||||
supergrafx.integerscale=1
|
||||
supergrafx.ratio=4/3
|
||||
supervision.integerscale=1
|
||||
tg16.ratio=4/3
|
||||
tg16.integerscale=1
|
||||
tg16cd.ratio=4/3
|
||||
system.hostname=JELOS
|
||||
system.language=en_US
|
||||
system.overclock=off
|
||||
system.timezone=America/New_York
|
||||
tg16cd.integerscale=1
|
||||
tg16cd.ratio=4/3
|
||||
tg16.integerscale=1
|
||||
tg16.ratio=4/3
|
||||
updates.enabled=1
|
||||
uzebox.integerscale=1
|
||||
uzebox.integerscale=1
|
||||
vectrex.ratio=3/4
|
||||
vectrex.integerscale=1
|
||||
vic20.ratio=4/3
|
||||
vectrex.ratio=3/4
|
||||
vic20.integerscale=1
|
||||
videopac.ratio=4/3
|
||||
vic20.ratio=4/3
|
||||
videopac.integerscale=1
|
||||
videopac.ratio=4/3
|
||||
virtualboy.integerscale=1
|
||||
virtualboy.maxperf=1
|
||||
wonderswan.integerscale=1
|
||||
wifi.enabled=0
|
||||
wonderswancolor.integerscale=1
|
||||
x68000.ratio=4/3
|
||||
wonderswan.integerscale=1
|
||||
x68000.integerscale=1
|
||||
zxspectrum.ratio=4/3
|
||||
zxspectrum.integerscale=1
|
||||
zx81.ratio=4/3
|
||||
x68000.ratio=4/3
|
||||
zx81.integerscale=1
|
||||
zx81.ratio=4/3
|
||||
zxspectrum.integerscale=1
|
||||
zxspectrum.ratio=4/3
|
||||
|
|
|
@ -15,17 +15,17 @@ PKG_AUTORECONF="no"
|
|||
PKG_TOOLCHAIN="make"
|
||||
|
||||
PKG_BASEOS="plymouth-lite grep wget libjpeg-turbo util-linux xmlstarlet bluetool gnupg gzip patchelf \
|
||||
imagemagick util-linux system-utils terminus-font vim bash pyudev dialog six git dbus-python \
|
||||
coreutils miniupnpc nss-mdns avahi MC fbgrab modules"
|
||||
imagemagick terminus-font vim bash pyudev dialog six git dbus-python coreutils miniupnpc \
|
||||
nss-mdns avahi MC fbgrab modules"
|
||||
|
||||
PKG_UI="emulationstation"
|
||||
|
||||
PKG_EMUS="common-shaders glsl-shaders libretro-database retroarch advancemame hatarisa openbor \
|
||||
scummvmsa PPSSPPSDL"
|
||||
scummvmsa PPSSPPSDL yabasanshiroSA mupen64plussa vicesa"
|
||||
|
||||
LIBRETRO_CORES="2048 81 atari800 beetle-gba beetle-lynx beetle-ngp beetle-pce beetle-pcfx \
|
||||
beetle-supafaust beetle-supergrafx beetle-vb beetle-wswan bluemsx \
|
||||
cannonball cap32 crocods daphne dinothawr dosbox-svn dosbox-pure easyrpg fbalpha2012 \
|
||||
beetle-supafaust beetle-supergrafx beetle-vb beetle-wswan bluemsx cannonball cap32 \
|
||||
crocods daphne dinothawr dosbox-svn dosbox-pure duckstation easyrpg fbalpha2012 \
|
||||
fbalpha2019 fbneo fceumm fmsx flycast freechaf freeintv freej2me fuse-libretro \
|
||||
gambatte gearboy gearcoleco gearsystem genesis-plus-gx genesis-plus-gx-wide gme \
|
||||
gpsp gw-libretro handy hatari mame2000 mame2003-plus mame2010 mame2015 mame \
|
||||
|
@ -45,6 +45,13 @@ PKG_GAMESUPPORT="sixaxis jslisten evtest rg351p-js2xbox gptokeyb textviewer 351f
|
|||
|
||||
PKG_EXPERIMENTAL=""
|
||||
|
||||
### Project/Device specific items
|
||||
if [ "${PROJECT}" == "Rockchip" ]
|
||||
then
|
||||
PKG_BASEOS+=" system-utils"
|
||||
PKG_EMUS+=" retropie-shaders"
|
||||
fi
|
||||
|
||||
if [ ! -z "${BASE_ONLY}" ]
|
||||
then
|
||||
PKG_DEPENDS_TARGET+=" ${PKG_BASEOS} ${PKG_UI} ${PKG_GAMESUPPORT}"
|
||||
|
@ -72,17 +79,6 @@ makeinstall_target() {
|
|||
}
|
||||
|
||||
post_install() {
|
||||
# Remove unnecesary Retroarch Assets and overlays
|
||||
for i in branding nuklear nxrgui pkg switch wallpapers zarch COPYING; do
|
||||
rm -rf "${INSTALL}/usr/share/retroarch-assets/$i"
|
||||
done
|
||||
|
||||
for i in automatic dot-art flatui neoactive pixel retroactive retrosystem systematic convert.sh NPMApng2PMApng.py; do
|
||||
rm -rf "${INSTALL}/usr/share/retroarch-assets/xmb/$i"
|
||||
done
|
||||
|
||||
mkdir -p ${INSTALL}/etc/retroarch-joypad-autoconfig
|
||||
cp -r ${PKG_DIR}/gamepads/* ${INSTALL}/etc/retroarch-joypad-autoconfig
|
||||
ln -sf jelos.target ${INSTALL}/usr/lib/systemd/system/default.target
|
||||
|
||||
mkdir -p ${INSTALL}/etc/profile.d
|
||||
|
@ -102,6 +98,13 @@ post_install() {
|
|||
chmod -R 0755 ${INSTALL}/usr/lib/autostart ${INSTALL}/usr/bin/autostart
|
||||
enable_service jelos-autostart.service
|
||||
|
||||
if [ ! -d "${INSTALL}/usr/share" ]
|
||||
then
|
||||
mkdir "${INSTALL}/usr/share"
|
||||
fi
|
||||
cp ${PKG_DIR}/sources/post-update ${INSTALL}/usr/share
|
||||
chmod 755 ${INSTALL}/usr/share/post-update
|
||||
|
||||
# Issue banner
|
||||
cp ${PKG_DIR}/sources/issue ${INSTALL}/etc
|
||||
ln -s /etc/issue ${INSTALL}/etc/motd
|
||||
|
@ -113,25 +116,11 @@ EOF
|
|||
cp ${PKG_DIR}/sources/shutdown.sh ${INSTALL}/usr/bin
|
||||
cp ${PKG_DIR}/sources/pico-8.sh ${INSTALL}/usr/bin
|
||||
cp ${PKG_DIR}/sources/scripts/* ${INSTALL}/usr/bin
|
||||
|
||||
chmod 0755 ${INSTALL}/usr/bin/pico-8.sh
|
||||
|
||||
if [ -d "${PKG_DIR}/sources/asound/${DEVICE}" ]
|
||||
then
|
||||
cp ${PKG_DIR}/sources/asound/${DEVICE}/* ${INSTALL}/usr/config/
|
||||
fi
|
||||
|
||||
rm -f ${INSTALL}/usr/bin/{sh,bash,busybox,sort}
|
||||
cp $(get_build_dir busybox)/.install_pkg/usr/bin/busybox ${INSTALL}/usr/bin
|
||||
cp $(get_build_dir bash)/.install_pkg/usr/bin/bash ${INSTALL}/usr/bin
|
||||
cp $(get_build_dir coreutils)/.install_pkg/usr/bin/sort ${INSTALL}/usr/bin
|
||||
|
||||
ln -sf bash ${INSTALL}/usr/bin/sh
|
||||
mkdir -p ${INSTALL}/etc
|
||||
echo "/usr/bin/bash" >>${INSTALL}/etc/shells
|
||||
echo "/usr/bin/sh" >>${INSTALL}/etc/shells
|
||||
|
||||
echo "chmod 4755 ${INSTALL}/usr/bin/bash" >> ${FAKEROOT_SCRIPT}
|
||||
echo "chmod 4755 ${INSTALL}/usr/bin/busybox" >> ${FAKEROOT_SCRIPT}
|
||||
find ${INSTALL}/usr/ -type f -iname "*.sh" -exec chmod +x {} \;
|
||||
|
||||
}
|
||||
|
|
|
@ -16,11 +16,11 @@ EE_DEVICE=${HW_DEVICE}
|
|||
JSLISTENCONF="/storage/.config/system/configs/jslisten.cfg"
|
||||
|
||||
get_setting() {
|
||||
awk -F: '/'${1}'/ { st = index($0,"=");print substr($0,st+1)}' ${J_CONF}
|
||||
awk -F: '/'^${1}'/ { st = index($0,"=");print substr($0,st+1)}' ${J_CONF}
|
||||
}
|
||||
|
||||
set_setting() {
|
||||
sed -i "/$1=/d" "${J_CONF}"
|
||||
sed -i "/^$1=/d" "${J_CONF}"
|
||||
[ $2 == "disable" ] && echo "#${1}=" >> "${J_CONF}" || echo "${1}=${2}" >> "${J_CONF}"
|
||||
}
|
||||
|
||||
|
|
|
@ -7,17 +7,12 @@
|
|||
set_gov() {
|
||||
for POLICY in ${CPU_FREQ[@]}
|
||||
do
|
||||
if [ "${POLICY}" = "${NO_MAX_PERF}" ] && [ "$1" = "performance" ]
|
||||
then
|
||||
continue
|
||||
else
|
||||
echo $1 >${POLICY} 2>/dev/null
|
||||
fi
|
||||
echo $1 >${POLICY}/scaling_governor 2>/dev/null
|
||||
done
|
||||
|
||||
for HANDLE in ${GPU_FREQ} ${DMC_FREQ}
|
||||
do
|
||||
echo $1 >${HANDLE} 2>/dev/null || echo dmc_$1 >${HANDLE} 2>/dev/null
|
||||
echo $1 >${HANDLE}/governor 2>/dev/null || echo dmc_$1 >${HANDLE}/governor 2>/dev/null
|
||||
done
|
||||
}
|
||||
|
||||
|
|
|
@ -4,29 +4,17 @@
|
|||
|
||||
. /etc/profile
|
||||
|
||||
### Switch the theme to system-theme if it hasn't already been done
|
||||
|
||||
if [ ! -L /storage/.config/emulationstation/themes/system-theme ]
|
||||
then
|
||||
rm -rf /storage/.config/emulationstation/themes/es-theme-art-book-next
|
||||
mkdir -p /storage/.config/emulationstation/themes
|
||||
ln -s /usr/share/themes/es-theme-art-book-next /storage/.config/emulationstation/themes/system-theme
|
||||
sed -i 's#<string name="ThemeSet" value="es-theme-art-book-next"/>#<string name="ThemeSet" value="system-theme"/>#' /storage/.config/emulationstation/es_settings.cfg
|
||||
fi
|
||||
|
||||
### Resume normal startup stuff.
|
||||
if [ -d "/storage/.config/system/configs" ]
|
||||
then
|
||||
EXCLUDE="--exclude=configs"
|
||||
fi
|
||||
|
||||
rsync -a --delete ${EXCLUDE} /usr/config/system/ /storage/.config/system/
|
||||
rsync -a /usr/config/modules /storage/.config/
|
||||
rsync -a /usr/config/game /storage/.config/
|
||||
rsync -a --delete /usr/config/locale/ /storage/.config/emulationstation/locale/
|
||||
rsync -a --delete ${EXCLUDE} /usr/config/system/ /storage/.config/system/ &
|
||||
rsync -a /usr/config/modules /storage/.config/ &
|
||||
rsync -a /usr/config/game /storage/.config/ &
|
||||
rsync -a --delete /usr/config/locale/ /storage/.config/emulationstation/locale/ &
|
||||
|
||||
cp -f /usr/config/SDL-GameControllerDB/gamecontrollerdb.txt /storage/.config/SDL-GameControllerDB/gamecontrollerdb.txt
|
||||
cp -f /usr/config/ppsspp/PSP/SYSTEM/controls.ini /storage/.config/ppsspp/PSP/SYSTEM/controls.ini
|
||||
wait < <(jobs -p)
|
||||
|
||||
if [ ! -L "/storage/.emulationstation" ]
|
||||
then
|
||||
|
|
14
packages/jelos/sources/autostart/common/004-upgrade
Executable file
14
packages/jelos/sources/autostart/common/004-upgrade
Executable file
|
@ -0,0 +1,14 @@
|
|||
#!/bin/sh
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
# Copyright (C) 2021-present Fewtarius (https://github.com/fewtarius)
|
||||
|
||||
. /etc/profile
|
||||
|
||||
if [ "$(cat /storage/.config/boot.hint 2>/dev/null)" = "UPDATE" ]
|
||||
then
|
||||
if [ -e "/usr/share/post-update" ]
|
||||
then
|
||||
/usr/share/post-update
|
||||
fi
|
||||
rm /storage/.config/boot.hint
|
||||
fi
|
|
@ -11,7 +11,7 @@ then
|
|||
fi
|
||||
|
||||
# Set the mixer in ES
|
||||
sed -i 's#<string name="AudioDevice" value="'.*'" />#<string name="AudioDevice" value="'${DEVICE_AUDIO_MIXER}'" />#' .emulationstation/es_settings.cfg
|
||||
sed -i 's#<string name="AudioDevice" value="'.*'" />#<string name="AudioDevice" value="'${DEVICE_AUDIO_MIXER}'" />#' /storage/.emulationstation/es_settings.cfg
|
||||
|
||||
VOL=$(get_setting "audio.volume" 2>/dev/null)
|
||||
amixer set "${DEVICE_AUDIO_MIXER}" ${VOL}%
|
||||
|
|
|
@ -13,24 +13,10 @@ fi
|
|||
ROTATION=$(get_setting rotate.root.password)
|
||||
if [ "${ROTATION}" == "0" ]
|
||||
then
|
||||
set_setting root.password "MANUALLY SET"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
LPC=$(awk -F: '/^root/{print $3}' /storage/.cache/shadow)
|
||||
CURRENT=$(awk -F: '/^root/{print $2}' /storage/.cache/shadow)
|
||||
|
||||
# Randomly generate the root password on startup
|
||||
ROOTPASS=$(openssl rand -base64 10 2>/dev/null | sed "s#==##g")
|
||||
|
||||
# Turn it into a usable hash
|
||||
NEW=$(cryptpw -m sha512 "${ROOTPASS}" 2>/dev/null)
|
||||
|
||||
# Set the root password.
|
||||
sed -i "s#root:${CURRENT}:${LPC}::::::#root:${NEW}:${LPC}::::::#g" /storage/.cache/shadow 2>/dev/null
|
||||
|
||||
# Create a root user and set the password.
|
||||
echo -ne "${ROOTPASS}\n${ROOTPASS}\n" | smbpasswd -sa root 2>/dev/null
|
||||
|
||||
# Save the password so we can display it in ES
|
||||
set_setting root.password "${ROOTPASS}"
|
||||
/usr/bin/setrootpass "${ROOTPASS}"
|
||||
|
|
|
@ -4,6 +4,14 @@
|
|||
|
||||
. /etc/profile
|
||||
|
||||
|
||||
if [ "$(get_setting internal.wifi)" == 0 ] && [ "${DEVICE_INTERNAL_WIFI}" = true ]
|
||||
then
|
||||
rmmod ${DEVICE_WIFI_MODULE}
|
||||
else
|
||||
set_setting internal.wifi 1
|
||||
fi
|
||||
|
||||
if [ "$(get_setting wifi.enabled)" == "0" ] || [ "$1" == "disable" ]
|
||||
then
|
||||
connmanctl disable wifi
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue