replayos

package
v2.11.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 27, 2026 License: GPL-3.0 Imports: 28 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var SystemMap = map[string]SystemInfo{

	"nintendo_nes": {
		SystemID:   systemdefs.SystemNES,
		Extensions: []string{".nes", ".unif", ".unf", ".fds", ".zip", ".7z"},
	},
	"nintendo_snes": {
		SystemID:   systemdefs.SystemSNES,
		Extensions: []string{".smc", ".sfc", ".swc", ".fig", ".bs", ".st", ".zip", ".7z"},
	},
	"nintendo_gb": {
		SystemID:   systemdefs.SystemGameboy,
		Extensions: []string{".gb", ".zip", ".7z"},
	},
	"nintendo_gbc": {
		SystemID:   systemdefs.SystemGameboyColor,
		Extensions: []string{".gbc", ".zip", ".7z"},
	},
	"nintendo_gba": {
		SystemID:   systemdefs.SystemGBA,
		Extensions: []string{".gba", ".zip", ".7z"},
	},
	"nintendo_n64": {
		SystemID:   systemdefs.SystemNintendo64,
		Extensions: []string{".z64", ".n64", ".v64", ".bin", ".u1", ".zip", ".7z"},
	},
	"nintendo_ds": {
		SystemID:   systemdefs.SystemNDS,
		Extensions: []string{".nds", ".bin", ".zip", ".7z"},
	},

	"sega_smd": {
		SystemID:   systemdefs.SystemGenesis,
		Extensions: []string{".bin", ".gen", ".md", ".sg", ".smd", ".zip", ".7z"},
	},
	"sega_sms": {
		SystemID:   systemdefs.SystemMasterSystem,
		Extensions: []string{".bin", ".sms", ".zip", ".7z"},
	},
	"sega_gg": {
		SystemID:   systemdefs.SystemGameGear,
		Extensions: []string{".bin", ".gg", ".zip", ".7z"},
	},
	"sega_32x": {
		SystemID:   systemdefs.SystemSega32X,
		Extensions: []string{".32x", ".chd", ".smd", ".bin", ".md", ".zip", ".7z"},
	},
	"sega_cd": {
		SystemID:   systemdefs.SystemMegaCD,
		Extensions: []string{".cue", ".iso", ".chd", ".m3u"},
	},
	"sega_dc": {
		SystemID:   systemdefs.SystemDreamcast,
		Extensions: []string{".cdi", ".cue", ".gdi", ".chd", ".m3u"},
	},
	"sega_saturn": {
		SystemID:   systemdefs.SystemSaturn,
		Extensions: []string{".cue", ".ccd", ".m3u", ".chd", ".iso", ".zip"},
	},
	"sega_sg1000": {
		SystemID:   systemdefs.SystemSG1000,
		Extensions: []string{".bin", ".sg", ".zip", ".7z"},
	},

	"arcade_fbneo": {
		SystemID:   systemdefs.SystemArcade,
		LauncherID: "ArcadeFBNeo",
		Extensions: []string{".zip", ".7z"},
	},
	"arcade_mame": {
		SystemID:   systemdefs.SystemArcade,
		LauncherID: "ArcadeMAME",
		Extensions: []string{".zip", ".7z"},
	},
	"arcade_mame_2k3p": {
		SystemID:   systemdefs.SystemArcade,
		LauncherID: "ArcadeMAME2K3P",
		Extensions: []string{".zip", ".7z"},
	},
	"arcade_dc": {
		SystemID:   systemdefs.SystemAtomiswave,
		LauncherID: "ArcadeDC",
		Extensions: []string{".zip", ".chd", ".lst", ".bin", ".dat", ".7z"},
	},

	"atari_2600": {
		SystemID:   systemdefs.SystemAtari2600,
		Extensions: []string{".a26", ".bin", ".zip", ".7z"},
	},
	"atari_5200": {
		SystemID: systemdefs.SystemAtari5200,
		Extensions: []string{
			".rom", ".xfd", ".atr", ".atx", ".cdm", ".cas",
			".car", ".bin", ".a52", ".xex", ".zip", ".7z",
		},
	},
	"atari_7800": {
		SystemID:   systemdefs.SystemAtari7800,
		Extensions: []string{".a78", ".bin", ".zip", ".7z"},
	},
	"atari_jaguar": {
		SystemID:   systemdefs.SystemJaguar,
		Extensions: []string{".cue", ".j64", ".jag", ".cof", ".abs", ".cdi", ".rom", ".zip", ".7z"},
	},
	"atari_lynx": {
		SystemID:   systemdefs.SystemAtariLynx,
		Extensions: []string{".lnx", ".zip", ".7z"},
	},

	"sony_psx": {
		SystemID:   systemdefs.SystemPSX,
		Extensions: []string{".cue", ".img", ".mdf", ".pbp", ".toc", ".cbn", ".m3u", ".ccd", ".chd", ".iso"},
	},

	"nec_pce": {
		SystemID:   systemdefs.SystemTurboGrafx16,
		Extensions: []string{".pce", ".bin", ".zip", ".7z"},
	},
	"nec_pcecd": {
		SystemID:   systemdefs.SystemTurboGrafx16CD,
		Extensions: []string{".pce", ".cue", ".ccd", ".iso", ".img", ".chd"},
	},

	"snk_neogeo": {
		SystemID:   systemdefs.SystemNeoGeo,
		Extensions: []string{".7z", ".zip"},
	},
	"snk_neocd": {
		SystemID:   systemdefs.SystemNeoGeoCD,
		Extensions: []string{".cue", ".iso", ".chd"},
	},
	"snk_ngp": {
		SystemID:   systemdefs.SystemNeoGeoPocket,
		Extensions: []string{".ngp", ".zip", ".7z"},
	},

	"commodore_c64": {
		SystemID:   systemdefs.SystemC64,
		Extensions: []string{".d64", ".d81", ".crt", ".prg", ".tap", ".t64", ".m3u", ".zip", ".7z"},
	},
	"commodore_ami": {
		SystemID:   systemdefs.SystemAmiga,
		Extensions: []string{".adf", ".uae", ".ipf", ".dms", ".dmz", ".adz", ".lha", ".hdf", ".exe", ".m3u", ".zip"},
	},
	"commodore_amicd": {
		SystemID:   systemdefs.SystemAmigaCD32,
		Extensions: []string{".bin", ".cue", ".iso", ".chd"},
	},

	"msx_msx": {
		SystemID:   systemdefs.SystemMSX1,
		Extensions: []string{".dsk", ".mx1", ".rom", ".zip", ".7z", ".cas", ".m3u"},
	},
	"msx_msx2": {
		SystemID:   systemdefs.SystemMSX2,
		Extensions: []string{".dsk", ".mx2", ".rom", ".zip", ".7z", ".cas", ".m3u"},
	},

	"sinclair_zxs": {
		SystemID:   systemdefs.SystemZXSpectrum,
		Extensions: []string{".tzx", ".tap", ".z80", ".rzx", ".scl", ".trd", ".dsk", ".zip", ".7z"},
	},
	"sharp_x68k": {
		SystemID: systemdefs.SystemX68000,
		Extensions: []string{
			".dim", ".img", ".d88", ".88d", ".hdm", ".dup",
			".2hd", ".xdf", ".hdf", ".cmd", ".m3u", ".zip", ".7z",
		},
	},
	"panasonic_3do": {
		SystemID:   systemdefs.System3DO,
		LauncherID: "3DO",
		Extensions: []string{".iso", ".chd", ".cue"},
	},
	"philips_cdi": {
		SystemID:   systemdefs.SystemCDI,
		Extensions: []string{".chd", ".cue", ".toc", ".nrg", ".gdi", ".iso", ".cdr"},
	},
	"pc_dos": {
		SystemID:   systemdefs.SystemDOS,
		Extensions: []string{".pc", ".dos", ".zip", ".squashfs", ".dosz", ".m3u", ".iso", ".cue"},
	},
	"pc_scummvm": {
		SystemID:   systemdefs.SystemScummVM,
		Extensions: []string{".scummvm", ".squashfs"},
	},
	"amstrad_cpc": {
		SystemID:   systemdefs.SystemAmstrad,
		Extensions: []string{".dsk", ".sna", ".tap", ".cdt", ".voc", ".cpr", ".zip", ".7z"},
	},

	"alpha_player": {
		SystemID:   systemdefs.SystemVideo,
		Extensions: []string{".mkv", ".avi", ".mp4", ".flac", ".ogg", ".nsf", ".vgm"},
	},
}

SystemMap maps ReplayOS ROM folder names to Zaparoo system information. Folder names use ReplayOS's manufacturer_system convention.

Functions

This section is empty.

Types

type Platform

type Platform struct {
	shared.LinuxInput
	// contains filtered or unexported fields
}

Platform implements the platforms.Platform interface for ReplayOS.

func (*Platform) ConsoleManager

func (*Platform) ConsoleManager() platforms.ConsoleManager

func (*Platform) ForwardCmd

func (*Platform) ForwardCmd(_ *platforms.CmdEnv) (platforms.CmdResult, error)

func (*Platform) ID

func (*Platform) ID() string

func (*Platform) LaunchMedia

func (p *Platform) LaunchMedia(
	cfg *config.Instance, path string, launcher *platforms.Launcher, db *database.Database,
	opts *platforms.LaunchOptions,
) error

func (*Platform) LaunchSystem

func (*Platform) LaunchSystem(_ *config.Instance, _ string) error

func (*Platform) Launchers

func (p *Platform) Launchers(cfg *config.Instance) []platforms.Launcher

func (*Platform) LookupMapping

func (*Platform) LookupMapping(_ *tokens.Token) (string, bool)

func (*Platform) ManagedByPackageManager

func (*Platform) ManagedByPackageManager() bool

func (*Platform) ReturnToMenu

func (p *Platform) ReturnToMenu() error

func (*Platform) RootDirs

func (p *Platform) RootDirs(cfg *config.Instance) []string

func (*Platform) ScanHook

func (*Platform) ScanHook(_ *tokens.Token) error

func (*Platform) Screenshot

func (p *Platform) Screenshot() (*platforms.ScreenshotResult, error)

Screenshot captures a screenshot of the current RePlayOS display.

RePlayOS writes screenshots via the 's' keyboard hotkey, but that hotkey only fires when Keyboard Real Mode is OFF. Since Real Mode defaults to ON, this method sends {capslock} to temporarily disable Real Mode, sends 's' to trigger the capture, then sends {capslock} again to restore Real Mode. If the replay.cfg indicates Real Mode was already OFF at startup, only 's' is sent.

RePlayOS saves screenshots to {storage}/captures/{system}/{rom}_{date}_{time}.png.

Limitations:

  • Requires a libretro game core to be loaded. Screenshots are core-driven; menu captures are not supported by RePlayOS.
  • Assumes the Real Mode state matches the configured value in replay.cfg. If the user has manually toggled Caps Lock since the last service start, the 's' keypress may reach the emulator as a literal character instead.

func (*Platform) SetTrackedProcess

func (*Platform) SetTrackedProcess(_ *os.Process)

func (*Platform) Settings

func (*Platform) Settings() platforms.Settings

func (*Platform) ShowLoader

func (*Platform) ShowLoader(
	_ *config.Instance,
	_ widgetmodels.NoticeArgs,
) (func() error, error)

func (*Platform) ShowNotice

func (*Platform) ShowNotice(
	_ *config.Instance,
	_ widgetmodels.NoticeArgs,
) (func() error, time.Duration, error)

func (*Platform) ShowPicker

func (*Platform) ShowPicker(
	_ *config.Instance,
	_ widgetmodels.PickerArgs,
) error

func (*Platform) StartPost

func (p *Platform) StartPost(
	_ *config.Instance,
	_ platforms.LauncherContextManager,
	activeMedia func() *models.ActiveMedia,
	setActiveMedia func(*models.ActiveMedia),
	_ *database.Database,
) error

func (*Platform) StartPre

func (p *Platform) StartPre(cfg *config.Instance) error

func (*Platform) Stop

func (p *Platform) Stop() error

func (*Platform) StopActiveLauncher

func (p *Platform) StopActiveLauncher(_ platforms.StopIntent) error

func (*Platform) SupportedReaders

func (p *Platform) SupportedReaders(cfg *config.Instance) []readers.Reader

type SystemInfo

type SystemInfo struct {
	SystemID   string
	LauncherID string
	Extensions []string
}

SystemInfo maps a ReplayOS ROM folder name to Zaparoo system information.

func (SystemInfo) GetLauncherID

func (s SystemInfo) GetLauncherID() string

GetLauncherID returns the launcher ID, falling back to SystemID if not set.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL