TASEmulators / TASEmulators/BizHawk

Suggestion for internal core API: `bool` `IEmulator.IsHalted`

Open
#3,354 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Question/Support Request: Feature/Enhancement Waiting on dev consensus
Dominant language
C#
Stars
2.8k
Forks
468
PR merge metrics
No merged PRs in 30d

Description

Would it be useful to have a standard mechanism for this, or is it enough that users can, for example, check disasm at PC for the halt instruction? My initial concept for this is for MainForm to check IsHalted after calling FrameAdvance, and if it becomes true, using the most recent framebuffer for all subsequent redraws (freezing the video output) and indicating a halt on the status bar. Basically the frontend behaves almost the same as is it were paused.

Another thing I'm not sure of is whether a simple boolean is sufficient. Is there a console with several distinct halt/crash states?

Contributor guide

Open the contributing guide

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

Start by reading the IEmulator.IsHalted proposal alongside MainForm and the FrameAdvance flow. Compare it with checking disasm at the PC for a halt instruction, and consider whether a boolean covers the distinct halt or crash states mentioned. Done would require an agreed API design and defined frontend behavior for the framebuffer and status bar.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
api, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.