Skip to content

RSP set halted PC is broken again #216

@hcs64

Description

@hcs64

Issue #151 has reappeared after 87ebca0. That issue included a test ROM which now shows red again. The mechanism the test ROM uses is:

  1. CPU starts the SP at 0 (which fills the screen with red)
  2. CPU waits for SP to break
  3. CPU sets the SP PC to a nonzero address (which would fill the screen with green)
  4. CPU clears SP halt

write_sp_regs2() stores the value written for the SP PC in ifrd_latch.pc, and now zeroes out the pipeline. But when rsp_status_write() saves the PC across SP_CLR_HALT, it now reads the PC from rdex_latch.common.pc (which will be 0) and writes that to ifrd_latch.pc, so we resume at 0 (and the screen turns red). I don't understand the pipeline well enough to understand which part of this is wrong.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions