RobLoach / RobLoach/raylib-libretro

Implement RETRO_ENVIRONMENT_SET_DISK_CONTROL_INTERFACE (+ EXT)

Open
#113 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
C
Stars
38
Forks
8
PR merge metrics
No merged PRs in 30d

Description

Multi-disc support for PSX, Saturn, PCE-CD, etc. The core registers a retro_disk_control_callback (or the extended retro_disk_control_ext_callback); the frontend exposes a "Swap Disc" / "Eject" / "Insert" UI that calls into it.

Stub locations: include/raylib-libretro.h

  • RETRO_ENVIRONMENT_SET_DISK_CONTROL_INTERFACE
  • RETRO_ENVIRONMENT_SET_DISK_CONTROL_EXT_INTERFACE
  • RETRO_ENVIRONMENT_GET_DISK_CONTROL_INTERFACE_VERSION

Frontend work: add a "Disc" submenu under raylib-libretro-menu.h that lists images and exposes eject / insert / set-index. Prefer the EXT version when available (gives labels and add-image support).

Reference: vendor/libretro-common/include/libretro.hstruct retro_disk_control_callback, struct retro_disk_control_ext_callback.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the three stub locations in include/raylib-libretro.h and compare their definitions with the callback structs in vendor/libretro-common/include/libretro.h. Then inspect raylib-libretro-menu.h for the existing menu structure. Done means a Disc submenu lists images and supports eject, insert, and set-index, preferring the EXT interface when available.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
api, frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
64/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.