Opened 8 years ago
Last modified 7 years ago
#13 new accuracy
CRAM artifacts are a little off in Outrunners and Overdrive 2
Reported by: | Mike Pavone | Owned by: | Mike Pavone |
---|---|---|---|
Priority: | minor | Milestone: | future |
Component: | Genesis/Megadrive | Version: | 0.5.0 |
Keywords: | Cc: |
Description
First some background about how the scene in the screenshots works. Outrunners uses a horizontal interrupt handler to copy a single color each line to VRAM
It seems like there are two different problems. The more serious one is that there appears to be a timing issue that causes this write to miss an earlier external access slot much more frequently than it does on the real hardware. This results in far more artifacts in BlastEm than on the original hardware.
Second it seems my estimation of slot/hcounter value to screen position is off by a bit. The "late" slot artifacts appear in the border area a pixel or two before the active display area on hardware, but a few pixels into the active display area in BlastEm. An alternative explanation is that my hcounter number/slot mapping is off by a few slots, but given I recently spent a fair bit of effort correcting that it seems less likely.
Attachments (2)
Change History (5)
by , 8 years ago
Attachment: | Screenshot from 2017-03-05 11:22:14.png added |
---|
by , 8 years ago
Attachment: | Screenshot from 2017-03-05 11-20-30.png added |
---|
Outrunners running on BlastEm
comment:1 by , 7 years ago
Milestone: | 0.5.0 nice to have → future |
---|
I've done some work on interrupt latency and this game is now much closer to how it runs on hardware, but still not perfect. At this point I think it's good enough to not hold back release so I'm going to pull this ticket out of the "0.5.0 nice to have" milestone.
comment:2 by , 7 years ago
Summary: | CRAM artifacts are a little off in Outrunners → CRAM artifacts are a little off in Outrunners and Overdrive 2 |
---|
comment:3 by , 7 years ago
Priority: | major → minor |
---|---|
Version: | 0.5.0-pre → 0.5.0 |
Outrunners running on hardware