An open API service indexing awesome lists of open source software.

https://github.com/d221/nobsrom

A terminal-based game rom launcher with full gamepad support, designed for easy navigation and launching of your rom collection.
https://github.com/d221/nobsrom

Last synced: over 1 year ago
JSON representation

A terminal-based game rom launcher with full gamepad support, designed for easy navigation and launching of your rom collection.

Awesome Lists containing this project

README

          

# NOBSROM - CLI ROM launcher

![Demo Screenshot](images/screenshot.png) *[Optional: Add actual screenshot later]*

A terminal-based game rom launcher with full gamepad support, designed for easy navigation and launching of your rom collection.

## Features

- đŸ•šī¸ **Curses-based Terminal UI** - Navigate using keyboard or gamepad
- 🎮 **Gamepad Support** - Full controller navigation with analog stick/D-pad
- ★ **Favorites** - Mark and quickly access favorite games
- 🔍 **Instant Search** - Filter games by name

## Installation

### Requirements
- Python 3.6+
- Windows/macOS/Linux

### Quick Start
```bash
# Clone repository
git clone https://github.com/yourusername/nobsrom.git
cd nobsrom

# Install the project
pip install .

# Run the launcher
nobsrom
```
## Configuration

### File Locations

- Windows: %APPDATA%\D221\nobsrom\
- macOS: ~/Library/Application Support/D221/nobsrom/
- Linux: ~/.config/D221/nobsrom/

### Example config.yaml

```yaml
systems:
NES:
emulator_path: "C:\\RetroArch\\retroarch.exe"
launch_arguments: "-L cores/fceumm_libretro.dll {rom_path}"
paths:
- "C:\\ROMs\\NES"
- "D:\\Backup\\NES"
SNES:
emulator_path: "/usr/bin/retroarch"
launch_arguments: "-L ~/.config/retroarch/cores/snes9x_libretro.so {rom_path}"
paths:
- "~/ROMs/SNES"
```

## Keybindings

### Navigation

| Key | Action |
| ------------ | ----------------------- |
| ↑/↓ | Move selection |
| ←/→ | Switch between panels |
| Enter | Launch selected game |

### Actions

| Key | Action |
| --- | ------------------ |
| / | Start search |
| F2 | Toggle favorite |
| Q | Quit |

## License

GNU General Public License 3 - see [LICENSE](LICENSE) for details

## Documentation

[Documentation](https://d221.github.io/nobsrom/nobsrom/main.html)

## Acknowledgments

- Python curses library for terminal UI
- pygame for gamepad input handling
- platformdirs for cross-platform config management