-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Description
Build a native desktop frontend using SDL2 to provide better performance and user experience compared to the CLI interface.
Tasks
- Set up SDL2-PHP extension/FFI integration
- Implement SDL2 window creation and rendering
- Add SDL2 keyboard input mapping
- Implement audio output via SDL2
- Add gamepad/controller support
- Create configuration system (key bindings, scaling, filters)
- Add menu system (file picker, save states, etc.)
- Support fullscreen and window scaling
- Add optional visual filters (scanlines, LCD effect, etc.)
- Package as standalone executable
Features
- Native window with proper rendering
- Full audio support
- Better input handling (keyboard + gamepad)
- Save state management UI
- Performance improvements over CLI
- Cross-platform support (Linux, macOS, Windows)
Acceptance Criteria
- Desktop app runs smoothly at 60 FPS
- Audio and video are properly synchronized
- Keyboard and gamepad controls work correctly
- ROM loading and save states function properly
Technical Notes
- Consider using php-sdl extension or FFI
- May need to create distribution packages per platform
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request