libretro / libretro/parallel-n64

Loading a state resets the game

Open
#765 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
407
Forks
151
Avg merge
11h 53m
Merged PRs (30d)
11

Description

I am working a project that lets machine learning models train on retro games.
So far there is many libretro emulators successfully integrated such as Sega Genesis, 32x, Saturn, Super Nintendo etc. but when I tried to integrate parallel_n64 the only thing that doesn't work is loading a state because it resets the game at the beginning.

I debugged through parallel_n64 code and it seems the state is properly loaded but than after one frame it resets.

Any ideas why? parallel_n64 is the only emulator I integrated that does that. You can see the code that interfaces with libretro here:
https://github.com/Farama-Foundation/stable-retro/blob/master/src/emulator.cpp

Notes:
I tried with many games such as Mortal Kombat Trilogy, MK4, Wave Race and ClayFighter 63 1/3. The bug happens 100% of the time.

I compiled and tested the core on Ubuntu 22.04, gcc version 11.4.0

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

Reproduce the save-state failure with parallel_n64 using one of the listed games, such as Mortal Kombat Trilogy, under the reported Ubuntu 22.04 and GCC 11.4 environment. Start with the libretro interface in src/emulator.cpp, then trace the state load through the parallel_n64 code and observe what happens on the first frame. Done means loading a state no longer resets the game.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.