Search found 68 matches

by proxy
Wed Apr 10, 2013 1:46 pm
Forum: NESemdev
Topic: NMI/BRK timing and such
Replies: 42
Views: 9182

NMI/BRK timing and such

I have been trying to get my NMI/BRK timing just right and am a bit stumped (it always seems just a hair off, not matter what I do), so I have a few questions, the first I think is the easiest: 1. Since IRQ/NMI/RESET are basically special cases of BRK. Does they still check if an interrupt should ha...
by proxy
Thu Mar 28, 2013 12:06 pm
Forum: NESemdev
Topic: Feedback wanted on SVG PPU frame timing diagram
Replies: 79
Views: 19496

Re: Feedback wanted on SVG PPU frame timing diagram

Ah, that's a good point, I forgot about that. Oh well, back to the drawing board :-P.
by proxy
Thu Mar 28, 2013 10:16 am
Forum: NESemdev
Topic: Feedback wanted on SVG PPU frame timing diagram
Replies: 79
Views: 19496

Re: Feedback wanted on SVG PPU frame timing diagram

So I know that there is some curiosity about why you've observed pixel rendering being delayed about 4 dots. I have a theory which may or may not make sense, but here it goes :-). The pattern of behavior for the PPU is basically the following: dots: 0-64 = clear S-OAM dots: 65-256 = fill S-OAM with ...
by proxy
Sat Mar 23, 2013 6:28 pm
Forum: NESemdev
Topic: Sprite 0 question
Replies: 6
Views: 2550

Re: Sprite 0 question

As a followup, I just did a trace on visual 2C02 and confirmed when sprite_0_on_next_scanline, is copied to sprite_0_on_cur_scanline. it appears to be occurring at dot 257 (the same time that $2003 is reset to $00). I can't tell from the trace if like the $2003 reset it occurs on every tick between ...
by proxy
Sat Mar 23, 2013 5:40 pm
Forum: NESemdev
Topic: Sprite 0 question
Replies: 6
Views: 2550

Re: Sprite 0 question

I am guessing that at some point either very late in the scanline or very early in the following scanline (would have to be before first rendered pixel) that sprite_0_on_next_scanline is copied to sprite_0_on_cur_scanline. It probably doesn't effect anything that would be detectable, so this is stri...
by proxy
Thu Mar 21, 2013 1:33 pm
Forum: NESemdev
Topic: Where to start DMA
Replies: 32
Views: 13766

Re: Where to start DMA

You may be right, unfortunately at least two games do depend on the inner workings of OAM reading. Micro Machines seems to use it for timing. Huge Insect seems to play with $2003 in order to rotate sprites (and therefore sprite 0) without reordering them in RAM. All in all, my primary goal is to get...
by proxy
Thu Mar 21, 2013 8:54 am
Forum: NESemdev
Topic: Where to start DMA
Replies: 32
Views: 13766

Re: Where to start DMA

Agreed that nes_stress.nes isn't reliable on hardware, and it may turn out to be an invalid test. But, as far as I understand the test is designed to pass on an idealized version of the NES, in other words, one that behaves the same way, but has more reliable OAM reads. After all, all it is doing is...
by proxy
Wed Mar 20, 2013 9:46 pm
Forum: NESemdev
Topic: Where to start DMA
Replies: 32
Views: 13766

Re: Where to start DMA

As a followup/summation, here's the findings I've been discussing with Ulfalizer and Quietust on IRC. * Sprite evaluation appears starts at OAM[$2003] not OAM[0] * At dot 257-320 $2003 is set to $00 * On pre-render, at dot 257, before/during the $2003 reset, it **appears** that 8 bytes are copied fr...
by proxy
Wed Mar 20, 2013 6:53 pm
Forum: NESemdev
Topic: Where to start DMA
Replies: 32
Views: 13766

Re: Where to start DMA

I know this thread hasn't been active for a while, but I figured I'd mention my findings :-). My results are based on testing the following roms: oam_stress.nes Huge Insect Akira Firstly, I implement the OAM evaluation as described here: http://wiki.nesdev.com/w/index.php/PPU_sprite_evaluation The o...
by proxy
Tue Mar 19, 2013 2:51 pm
Forum: NESdev
Topic: Randomness before the first button press
Replies: 57
Views: 25329

Re: Randomness before the first button press

Just a thought, if you want some randomness at powerup, why not take advantage of the initial lack of PPU/CPU synchronization? As we all know (http://wiki.nesdev.com/w/index.php/PPU_frame_timing), there is a technique to get the PPU and CPU clocks aligned. Would it be possible to do that and count h...
by proxy
Tue Mar 19, 2013 8:31 am
Forum: NESemdev
Topic: Feedback wanted on SVG PPU frame timing diagram
Replies: 79
Views: 19496

Re: Feedback wanted on SVG PPU frame timing diagram

Please do, all this information is absolutely fantastic! I'd love to be able to understand Visual 2C02 better. It's proving to be an awesome tool.
by proxy
Thu Mar 07, 2013 11:22 am
Forum: NESemdev
Topic: blargg's APU tests (len_reload_timing)
Replies: 8
Views: 1943

Re: blargg's APU tests (len_reload_timing)

Ahh, that's a good point! I will look into that :-).
by proxy
Thu Mar 07, 2013 9:54 am
Forum: NESemdev
Topic: blargg's APU tests (len_reload_timing)
Replies: 8
Views: 1943

Re: blargg's APU tests (len_reload_timing)

Yea, right now my PPU clocking looks something like this: if((ppu_cycles++ % 3) == 0) { nes::cpu.run(1); } But I have tried making it trigger when it's 0, 1 and 2 in order to test alignment issues, but so far no love. Zepper, can you explain more what you mean about the PPU exiting on cycle 340? Sin...
by proxy
Tue Mar 05, 2013 5:23 pm
Forum: NESemdev
Topic: blargg's APU tests (len_reload_timing)
Replies: 8
Views: 1943

Re: blargg's APU tests (len_reload_timing)

Thanks for the input guys. I've tried shifting the comparison to +1 or -1. No joy yet. But at the same time, I've just noticed that while I pass a lot of blargg's APU tests. I also fail a few similar ones that I found in the nesticide test roms. So perhaps I have something subtly off which is close ...
by proxy
Tue Mar 05, 2013 2:11 pm
Forum: NESemdev
Topic: blargg's APU tests (len_reload_timing)
Replies: 8
Views: 1943

blargg's APU tests (len_reload_timing)

I am trying to get my APU core to pass all of blargg's tests and am sooo close. I pass tests 1-10. But constantly get: 4) Reload during length clock when ctr = 0 should work normally When I run 11.len_reload_timing.nes. I feel like I have tried everything I can think of at the moment. Here's my gene...