Skip to content

Improved processor emulator #272

Open
@cardillan

Description

@cardillan

A new processor emulator should provide these features:

  • Any valid mlog in text form can be used as input, not just Mindcode-specific compiler output
  • Support for all existing versions/targets (6, 7, BE)
  • Matching Mindustry processors behavior of the given version exactly
    • Matching token recognition and literal evaluation
    • Identical instruction execution (where implemented)
  • Tick-based emulation, including accumulator, delta time.
  • Full-speed or (optionally) real-time emulation, correct execution of waits in both cases
  • setrate support
  • Emulating at given FPS and overdrive
  • Execution limit specified either in ticks or in instructions executed
  • Capturing the processor's output (the contents of the text buffer).

The ultimate goal is to be able to use the processor emulator for emulating parallel-processing or subframe processing on schematics. The processor must therefore respond to tick events, which will be generated outside the processor.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions