Search found 78 matches

by Fiskbit
Sat Jan 18, 2020 6:44 pm
Forum: NESdev
Topic: Curious about MMC5 5209/520A registers
Replies: 25
Views: 967

Re: Curious about MMC5 5209/520A registers

The vertical split is not that useful though, because it's tile granularity, not pixel. Meaning you can't do proper sliding transitions with it (well, you could hack the pixel position with sprites, but PITA). Leaves only vertical shooter HUD pretty much as the use case. It's only tile granularity ...
by Fiskbit
Tue Dec 10, 2019 1:09 am
Forum: NESdev
Topic: DPCM generates extra $4016 read pulse
Replies: 43
Views: 25275

Re: DPCM generates extra $4016 read pulse

My understanding, based in part on Disch's findings , is that DMC DMA normally (that is, outside of OAM DMA) takes 3 or 4 cycles depending on whether it begins on a get (even) or a put (odd) cycle, respectively. It attempts to initiate on put cycles, and if successful, it halts the CPU for 4 cycles ...
by Fiskbit
Mon Dec 09, 2019 11:51 pm
Forum: NESdev
Topic: DPCM generates extra $4016 read pulse
Replies: 43
Views: 25275

Re: DPCM generates extra $4016 read pulse

I can't tell for sure if this is what he means, but it actually is the case that ROL timing matters for synced joypad reads. When DMA initiates on a write cycle, it gets delayed to the next non-write cycle, which is usually the very next cycle. This changes the length of the DMA by a cycle. If this ...
by Fiskbit
Tue Nov 05, 2019 4:36 pm
Forum: NESdev
Topic: FCEUX + Midframe Palette Swap
Replies: 22
Views: 4296

Re: FCEUX + Midframe Palette Swap

rainwarrior covered most of what I had to say, but to add to that: At least with the official 2.2.3 release, I don't think FCEUX is suitable for this task. I recently worked on fixing color artifacts from a mid-screen palette update in Steins;Gate and FCEUX didn't render them at all. Mesen does show...
by Fiskbit
Mon Jul 29, 2019 2:57 am
Forum: NESdev
Topic: Question about object management (indirection / performance)
Replies: 7
Views: 5250

Re: Question about object management (indirection / performa

Yes, you'd allocate arrays each with a size equal to the maximum number of active objects. Performance-wise, I'm not sure there's a big difference between the two. Both of these are doing indexed accesses, so your loads will be 4 cycles (or 5 if cross-page) and your stores will be 5 (or 4 if your ar...
by Fiskbit
Mon Jul 29, 2019 1:44 am
Forum: NESdev
Topic: Question about object management (indirection / performance)
Replies: 7
Views: 5250

Re: Question about object management (indirection / performa

The way I've typically seen this done is to use a separate array for each variable, which is indexed into with the object's index. So, here, you'd have: LDX current_object_index INC object_x,X INC object_y,X (FYI, in your code sample, you're doing CLC after the ADC's; maybe this is intentional, but ...
by Fiskbit
Sun Jun 16, 2019 11:22 pm
Forum: NESdev
Topic: Graphical glitches on the Everdrive
Replies: 39
Views: 24356

Re: Graphical glitches on the Everdrive

I got the opportunity to test this on some additional hardware a couple weeks ago. On my NTSC frontloader NES (NES-CPU-07, Rev G), both the NES and FC Everdrive N8s produced the same OAM corruption with oam_corruption_stress_test.nes, but the PowerPak did not produce any corruption. Notably, however...
by Fiskbit
Mon May 20, 2019 1:34 pm
Forum: NESdev
Topic: Why not read controllers in NMI?
Replies: 50
Views: 43986

Re: Why not read controllers in NMI?

According to previous findings and discussion , the OAM DMA-safe portion of PAL vblank is likely larger than NTSC vblank and the information on the wiki here is likely not accurate to the scanline. If your OAM DMA fits in NTSC vblank, it probably works on PAL. As far as emulator compatibility for sy...
by Fiskbit
Sun May 12, 2019 5:13 pm
Forum: NES Hardware and Flash Equipment
Topic: PPU BG rendering one dot early
Replies: 7
Views: 6711

Re: PPU BG rendering one dot early

Thanks for the reminders that there are restrictions on where on a scanline sprite 0 hits can occur; I had forgotten about this entirely. Still interested in what's going on here, but it sounds like it's not something that would have an effect on program execution. Also, the possibility of it being ...
by Fiskbit
Sun May 12, 2019 3:19 pm
Forum: NES Hardware and Flash Equipment
Topic: PPU BG rendering one dot early
Replies: 7
Views: 6711

PPU BG rendering one dot early

I noticed some really strange PPU behavior on a Japanese player's Twitch stream recently and am wondering if this is associated with a PPU revision or if it's some kind of hardware failure. Specifically, it looks like the PPU is starting and ending background rendering 1 dot early every scanline, re...
by Fiskbit
Mon Feb 18, 2019 6:04 pm
Forum: NESemdev
Topic: DPCM/Controller Glitch emulation
Replies: 19
Views: 11306

Re: DPCM/Controller Glitch emulation

Ah, thanks. Yeah, you're right that it passes/fails as it should. Looks like it might be as good as Nintendulator, then. I'm surprised QuickNES is the default in this emulator, given its accuracy problems. I've already had to work around QuickNES bugs in my projects, such as by incrementing a non-FF...
by Fiskbit
Mon Feb 18, 2019 5:19 pm
Forum: NESemdev
Topic: Mesen - NES Emulator
Replies: 780
Views: 314521

Re: Mesen - NES Emulator

Since there are 3 dots per CPU cycle, I think this is specifically about the alignment of whole dots and whole cycles (which dot a CPU cycle begins on), rather than which of 4 positions within a dot a CPU cycle begins on. @Sour: I've been encountering some crashing on the newest couple builds of Mes...
by Fiskbit
Mon Feb 18, 2019 3:27 pm
Forum: NESemdev
Topic: DPCM/Controller Glitch emulation
Replies: 19
Views: 11306

Re: DPCM/Controller Glitch emulation

As far as I can tell, BizHawk 2.3.1 doesn't support this glitch at all; none of the tests I've tried that are expected to fail are doing so on this emulator. [Edit: Alyosha_TAS pointed out that the NesHawk core, which is not the default, does support this glitch and passes/fails tests as expected] ...
by Fiskbit
Sun Feb 10, 2019 5:02 pm
Forum: NESdev
Topic: Flickering of different tiles within the same meta sprite
Replies: 19
Views: 10961

Re: Flickering of different tiles within the same meta sprit

Another approach you could consider is having a table of shuffled sprite indices and always picking the next index from that table; your index into the table always linearly increases (and wraps around and it isn't reset between frames), but the tile it represents is shuffled. This does a pretty goo...
by Fiskbit
Sat Feb 09, 2019 3:43 am
Forum: NESemdev
Topic: Mesen - NES Emulator
Replies: 780
Views: 314521

Re: Mesen - NES Emulator

One minor issue I noticed tonight is that stepping backward out of a function causes the next step backward to mark the instruction as the start of a function. There's also no way to remove this mark that I can find. Thanks a ton for the PreviousOpPC option for conditions; that's been a big help for...