Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/test-python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest # todo, add more OS systems to see if they work as well
strategy:
matrix:
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']

steps:
- uses: actions/checkout@v6
Expand Down
5 changes: 3 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,9 @@ find_package(PkgConfig)
if(NOT BUILD_MANYLINUX)
# CapnProto requires a newer kernel than manylinux1 provides
find_package(CapnProto QUIET)
if(CapnProto_FOUND)
set(CAPN_PROTO_FOUND ON)
endif()
endif()

pkg_search_module(LIBZIP QUIET libzip)
Expand Down Expand Up @@ -318,8 +321,6 @@ if(NOT CAPN_PROTO_FOUND AND NOT BUILD_MANYLINUX)
endif()
endif()

set(CAPN_PROTO_FOUND OFF)

if(CAPN_PROTO_FOUND)
add_definitions(-DUSE_CAPNP)

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ Platforms:

CPU with `SSE3` or better

Supported Pythons: 3.7 to 3.12
Supported Pythons: 3.9 to 3.13

## Citation

Expand Down
2 changes: 1 addition & 1 deletion cores/flycast/core/deps/libzip/mkstemp.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
#include <stdio.h>
#include <stdlib.h>

#if defined(__APPLE__) || defined(__SWITCH__)
#if defined(__APPLE__) || defined(__SWITCH__) || defined(__linux__)
#include <unistd.h>
#endif

Expand Down
2 changes: 1 addition & 1 deletion cores/flycast/core/deps/libzip/zip_close.c
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@

#include "zipint.h"

#if defined(__APPLE__) || defined(__SWITCH__)
#if defined(__APPLE__) || defined(__SWITCH__) || defined(__linux__)
#include <unistd.h>
#endif

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1650,7 +1650,8 @@ static INLINE void fchs(void)
}


static INLINE void fsqrt(void)
/* Renamed from fsqrt: glibc/mathcalls-narrow.h defines fsqrt() on GCC 15+ */
static INLINE void m64_emit_fsqrt(void)
{
put8(0xD9);
put8(0xFA);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6317,13 +6317,13 @@ void gensqrt_d(void)
#ifdef __x86_64__
mov_xreg64_m64rel(RAX, (uint64_t *)(&reg_cop1_double[dst->f.cf.fs]));
fld_preg64_qword(RAX);
fsqrt();
m64_emit_fsqrt();
mov_xreg64_m64rel(RAX, (uint64_t *)(&reg_cop1_double[dst->f.cf.fd]));
fstp_preg64_qword(RAX);
#else
mov_eax_memoffs32((unsigned int *)(&reg_cop1_double[dst->f.cf.fs]));
fld_preg32_qword(EAX);
fsqrt();
m64_emit_fsqrt();
mov_eax_memoffs32((unsigned int *)(&reg_cop1_double[dst->f.cf.fd]));
fstp_preg32_qword(EAX);
#endif
Expand Down Expand Up @@ -7301,13 +7301,13 @@ void gensqrt_s(void)
#ifdef __x86_64__
mov_xreg64_m64rel(RAX, (uint64_t *)(&reg_cop1_simple[dst->f.cf.fs]));
fld_preg64_dword(RAX);
fsqrt();
m64_emit_fsqrt();
mov_xreg64_m64rel(RAX, (uint64_t *)(&reg_cop1_simple[dst->f.cf.fd]));
fstp_preg64_dword(RAX);
#else
mov_eax_memoffs32((unsigned int *)(&reg_cop1_simple[dst->f.cf.fs]));
fld_preg32_dword(EAX);
fsqrt();
m64_emit_fsqrt();
mov_eax_memoffs32((unsigned int *)(&reg_cop1_simple[dst->f.cf.fd]));
fstp_preg32_dword(EAX);
#endif
Expand Down
2 changes: 1 addition & 1 deletion cores/nes/src/fds.c
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ static void FDSStateRestore(int version) {
}
}

void FDSSound();
void FDSSound(int c);
void FDSSoundReset(void);
void FDSSoundStateAdd(void);
static void RenderSound(void);
Expand Down
2 changes: 1 addition & 1 deletion docs/getting_started.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Getting Started

Stable Retro requires Python 3.8 through 3.12. Please make sure to install the appropriate distribution for your OS beforehand. Please note that due to compatibility issues with some of the cores, 32-bit operating systems are not supported.
Stable Retro requires Python 3.9 through 3.13. Please make sure to install the appropriate distribution for your OS beforehand. Please note that due to compatibility issues with some of the cores, 32-bit operating systems are not supported.

```shell
pip3 install stable-retro
Expand Down
4 changes: 2 additions & 2 deletions docs/linux_installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ This guide covers installing Stable Retro on Linux distributions.

## Requirements

- Python 3.8 to 3.12
- Python 3.9 to 3.13
- Linux (manylinux1 compatible)
- CPU with SSE3 or better
- Ubuntu 22.04 is recommended
Expand Down Expand Up @@ -155,7 +155,7 @@ env.close()

### Common Issues

- **Import errors**: Ensure you have the correct Python version (3.8-3.12)
- **Import errors**: Ensure you have the correct Python version (3.9-3.13)
- **Missing shared libraries**: Install the required system dependencies listed above
- **Permission errors**: You may need to use `pip3 install --user` or a virtual environment
- **32-bit systems**: Not supported due to compatibility issues with some cores
Expand Down
4 changes: 2 additions & 2 deletions docs/macos_installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ This guide covers installing Stable Retro on macOS, including both Intel and App

## Requirements

- Python 3.8 to 3.12
- Python 3.9 to 3.13
- macOS 10.13 (High Sierra) or later

## Standard Installation
Expand Down Expand Up @@ -106,7 +106,7 @@ env.close()

### Common Issues

- **Import errors**: Ensure you have the correct Python version (3.8-3.12)
- **Import errors**: Ensure you have the correct Python version (3.9-3.13)
- **Build failures on Apple Silicon**: Make sure you've set `SDKROOT` correctly
- **Qt not found**: Verify Qt is in your PATH after running the export command
- **Game Boy games not working on Apple Silicon**: This is expected; the gambatte core is not supported on arm64
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ requires = ["cmake>=3.2.0", "setuptools", "wheel", "build"]

[tool.cibuildwheel]
# We need to build for the following Python versions:
build = "cp{38,39,310,311,312}-*"
build = "cp{39,310,311,312,313}-*"

[tool.cibuildwheel.linux]
# Only manylinux is supported (no musl)
build = "cp{38,39,310,311,312}-manylinux*"
build = "cp{39,310,311,312,313}-manylinux*"

# For manylinux_2_28 we need to install the following dependencies using yum:
before-all = "yum install -y cmake git pkgconf-pkg-config zlib-devel libzip-devel bzip2-devel"
Expand Down
7 changes: 4 additions & 3 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -113,11 +113,12 @@ def run(self):
version=open(VERSION_PATH).read().strip(),
license="MIT",
install_requires=[
"gymnasium>=0.27.1",
"pyglet>=1.3.2,==1.*",
"gymnasium>=1.0.0",
"pyglet>=1.5.27,<2",
"farama-notifications>=0.0.1",
"numpy>=1.26.0",
],
python_requires=">=3.8.0,<3.13",
python_requires=">=3.9.0,<3.14",
ext_modules=[Extension("stable_retro._retro", ["CMakeLists.txt", "src/*.cpp"])],
cmdclass={"build_ext": CMakeBuild},
packages=[
Expand Down
1 change: 1 addition & 0 deletions src/memory.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

#include "gtest/gtest.h"

#include <cstdint>
#include <functional>
#include <map>
#include <memory>
Expand Down
5 changes: 3 additions & 2 deletions src/ui/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,9 @@ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
file(GLOB SRC *.cpp)

set(RETRO_EXTRA)
# Temporarily disable CapnProto until we upgrade it to a newer version
# if(CapnProto_FOUND) list(APPEND RETRO_EXTRA retro-capnp) endif()
if(CAPN_PROTO_FOUND)
list(APPEND RETRO_EXTRA retro-capnp)
endif()

get_target_property(QT_TYPE Qt5::Core TYPE)

Expand Down
Loading