diff --git a/pkg/config/config.go b/pkg/config/config.go index e7b64dc6..ce0381ec 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -54,7 +54,7 @@ type EmulatorMeta struct { Width int Height int AudioSampleRate int - Fps int + Fps float64 BaseWidth int BaseHeight int Ratio float64 diff --git a/pkg/emulator/libretro/nanoarch/naemulator.go b/pkg/emulator/libretro/nanoarch/naemulator.go index 7fa8e163..cdbc1a03 100644 --- a/pkg/emulator/libretro/nanoarch/naemulator.go +++ b/pkg/emulator/libretro/nanoarch/naemulator.go @@ -154,7 +154,7 @@ func (na *naEmulator) SetViewport(width int, height int) { func (na *naEmulator) Start() { na.playGame(na.gamePath) - ticker := time.NewTicker(time.Second / 60) + ticker := time.NewTicker(time.Second / time.Duration(na.meta.Fps)) for range ticker.C { select { diff --git a/pkg/emulator/libretro/nanoarch/nanoarch.go b/pkg/emulator/libretro/nanoarch/nanoarch.go index 1cb5f408..49ff0d76 100644 --- a/pkg/emulator/libretro/nanoarch/nanoarch.go +++ b/pkg/emulator/libretro/nanoarch/nanoarch.go @@ -610,7 +610,7 @@ func coreLoadGame(filename string) { // Append the library name to the window title. NAEmulator.meta.AudioSampleRate = int(avi.timing.sample_rate) - NAEmulator.meta.Fps = int(avi.timing.fps) + NAEmulator.meta.Fps = float64(avi.timing.fps) NAEmulator.meta.BaseWidth = int(avi.geometry.base_width) NAEmulator.meta.BaseHeight = int(avi.geometry.base_height) // set aspect ratio