Search found 22 matches

by paulb_nl
Fri Oct 18, 2019 4:45 am
Forum: SNESdev
Topic: Mesen-S - SNES Emulator
Replies: 309
Views: 129694

Re: Mesen-S - SNES Emulator

and a "Registry Viewer" tool was added in the debug menu (similar to bsnes-plus' property viewer.) Yes awesome! I have noticed some weird behavior with the event viewer. Normally when advancing per scanline it runs ahead of the main window but when going through Vblank it is suddenly 1 frame behind...
by paulb_nl
Sat Jul 20, 2019 12:22 pm
Forum: SNESdev
Topic: Mesen-S - SNES Emulator
Replies: 309
Views: 129694

Re: Mesen-S - SNES Emulator

The way I have it implemented atm will actually never write to the low table (hadn't noticed until now) - but I'm fairly certain paulb_nl's posts/tests said the writes can go to both tables at once. During evaluation I was able to write to the X,Y position bytes in OAM by writing to $2104 multiple ...
by paulb_nl
Sun Jul 14, 2019 8:13 am
Forum: SNESdev
Topic: Mesen-S - SNES Emulator
Replies: 309
Views: 129694

Re: Mesen-S - SNES Emulator

That's my fault - the last 2 stack relative tests were incorrect in the original version. They used the wrong addressing mode, and also gave random results (because it loaded a random address, that could end up being 12-cycle or 6-cycle egisters). The updated version is here and koitsu also recorde...
by paulb_nl
Sun Jul 14, 2019 3:23 am
Forum: SNESdev
Topic: Mesen-S - SNES Emulator
Replies: 309
Views: 129694

Re: Mesen-S - SNES Emulator

The videos of op_timing_test_v2 on console show LDA XM $0525 on the Stack Rel Ind Idx Y Timing page but on Mesen-S and Bsnes the result is $0560.
by paulb_nl
Thu Jul 11, 2019 1:59 am
Forum: SNESdev
Topic: Mesen-S - SNES Emulator
Replies: 309
Views: 129694

Re: Mesen-S - SNES Emulator

Alright, so after a couple of days trying to figure out sprite evaluation & fetching, I think I've got something that's starting to be relatively decent (but it doesn't quite 100% match the hardware, according to the tests) Great work. Nice to see you adding cycle by cycle sprite evaluation. My OAM...
by paulb_nl
Tue Jul 09, 2019 3:40 am
Forum: SNESdev
Topic: Mesen-S - SNES Emulator
Replies: 309
Views: 129694

Re: Mesen-S - SNES Emulator

I posted captures of HblankEmuTest on SNES consoles here: viewtopic.php?p=231279#p231279

Apparently it was YourEmuSuxx.sfc that has half correct/incorrect on NTSC & correct on PAL.
HblankEmuTest.sfc has half correct on both NTSC & PAL.
by paulb_nl
Mon Jul 08, 2019 3:00 pm
Forum: SNESdev
Topic: Mesen-S - SNES Emulator
Replies: 309
Views: 129694

Re: Mesen-S - SNES Emulator

OAM evaluation is a tough one (I'm assuming it's all internal to the PPU?), I'm assuming the process ends up using latches (or a "secondary OAM"?) to hold the tile indexes that need to be fetched after the background data is done? I think I recall a thread somewhere that had some info about the oam...
by paulb_nl
Sun Apr 07, 2019 3:07 am
Forum: NESemdev
Topic: Mesen - NES Emulator
Replies: 808
Views: 343076

Re: Mesen - NES Emulator

When running the fill mode test of this MMC5 test rom Mesen shows white and red numbers.

Fill mode should show a single color for all tiles right? It looks like Mesen writes the fill mode color as 8 bit value (03) in the attribute table instead of filling the byte with the value 4 times (FF).
by paulb_nl
Mon Apr 01, 2019 2:11 pm
Forum: SNESdev
Topic: Mesen-S - SNES Emulator
Replies: 309
Views: 129694

Re: Mesen-S - SNES Emulator

The debugger is awesome. It is so nice to have a visual overview of all the register writes in the event viewer.

One thing I noticed was a breakpoint on register $2133 was triggering at cycle 340 but the event viewer only goes to 339 so it didn't show up there.
by paulb_nl
Thu Mar 28, 2019 11:53 am
Forum: SNESdev
Topic: Internal OAM address sprite evaluation
Replies: 15
Views: 11805

Re: Internal OAM address sprite evaluation

psycopathicteen wrote:
How can you know if you're writing to X or Y?
X is easy. Just write to OAM and you can change the X position upper bit so the Sprite would go offscreen.

For Y pos I wrote to OAM a lot of times in a row and saw a Sprite move down.
by paulb_nl
Fri Feb 15, 2019 8:24 am
Forum: SNESdev
Topic: Internal OAM address sprite evaluation
Replies: 15
Views: 11805

Re: Internal OAM address sprite evaluation

Relevant links? http://forums.nesdev.com/viewtopic.php?f=12&t=14467&p=211380 https://board.byuu.org/viewtopic.php?f=8&t=357&p=8007 http://board.zsnes.com/phpBB3/viewtopic.php?f=6&t=11230&p=204966#p204966 - someone (can't find it again) said it's hard to know if the info is accurate Some nice info t...
by paulb_nl
Fri Feb 15, 2019 5:50 am
Forum: SNESdev
Topic: Internal OAM address sprite evaluation
Replies: 15
Views: 11805

Re: Internal OAM address sprite evaluation

An edge case would be whether disabling a sprite during fetching would allow for another sprite or sprite tile to be displayed that would not otherwise be displayed, providing they had already passed evaluation? That could be the case if the sprites are overlapping. A line buffer sounds conceptuall...
by paulb_nl
Thu Feb 14, 2019 3:11 pm
Forum: SNESdev
Topic: Internal OAM address sprite evaluation
Replies: 15
Views: 11805

Re: Internal OAM address sprite evaluation

Merely storing the index during evaluation is very clean though. If copying the data to a buffer is deferred to the fetching phase, then evaluation might be as simple as one dot each checking size against Y and the 9-bit X. It also needs the OBJ Size bit. Uniracers changes the upper bit X-position ...
by paulb_nl
Thu Feb 14, 2019 6:24 am
Forum: SNESdev
Topic: Internal OAM address sprite evaluation
Replies: 15
Views: 11805

Re: Internal OAM address sprite evaluation

I made a few different test roms to test this behaviour on a real SNES. It displays 2 rows of 32 8x8 sprites spread out over OAM and it writes to $2104 in a horizontal IRQ that can change position with the controller. Test results: Writes went to both low and high OAM but most of below has been test...
by paulb_nl
Tue Feb 12, 2019 3:26 am
Forum: SNESdev
Topic: Internal OAM address sprite evaluation
Replies: 15
Views: 11805

Internal OAM address sprite evaluation

Is it known what the SNES is doing with the internal OAM address during sprite evaluation? At the start of HDMA Uniracers expects it to be at the High OAM address of the last sprite in range of the frame. So it is not reset even if there are no sprites on the current line. The SNES scans through the...