Search found 1231 matches

by WedNESday
Sat Dec 24, 2005 9:39 am
Forum: NESemdev
Topic: Any standardized savestate format?
Replies: 24
Views: 15156

Re: Any standardized savestate format?

Are there any standardized savestate formats to use, or does each emulator need to create its own custom incompatible proprietary format? I think that it would be easier for us all to stick to the our own savestate format for two reasons. First of all we can't even get a 16-byte ROM header right an...
by WedNESday
Wed Dec 21, 2005 10:24 am
Forum: NESemdev
Topic: cpu testing
Replies: 20
Views: 11828

It doesn't matter where it starts as it wraps anyway and all programmers are aware of that. The NES may set it to 0xFD on power-up/reset (I wasn't aware of that until now) but don't worry about it. Most emulators of the 6502 set it to 0xFF. Just make sure that your stack pointer is 8-bit and works s...
by WedNESday
Wed Dec 21, 2005 7:02 am
Forum: NESemdev
Topic: counters operation
Replies: 2
Views: 2265

When you prefetch the first tile you increment X (i.e. Address + 1) and the same goes for the second prefetch (don't forget to check for horizontal NT wrapping after each increment). Towards the end of the scanline you fetch the 3rd tile twice but this does not affect the counters. X equals whatever...
by WedNESday
Mon Dec 19, 2005 10:33 am
Forum: NESemdev
Topic: ppu wrap-around for the next cpu execution?
Replies: 23
Views: 10619

What makes you say that? Surely it would be best to do FineY when 256 CC's have passed.
by WedNESday
Mon Dec 19, 2005 3:23 am
Forum: NESemdev
Topic: when to load counters from vram address??
Replies: 1
Views: 2038

D'oh! We are discussing this in your previous post!

http://nesdev.com/bbs/viewtopic.php?t=833
by WedNESday
Mon Dec 19, 2005 3:13 am
Forum: NESemdev
Topic: ppu wrap-around for the next cpu execution?
Replies: 23
Views: 10619

Ok, I am not prepared to get into some petty argument so lets just stick to the matter in hand; 0...255: Render/Fetch 256: FineY 257: Reload Horizontal Scroll 304: if( DummyScanline ) Address = TempAddress 339/340: CC's = 0 Are these the correct times? Quietest said that I may be doing something wro...
by WedNESday
Mon Dec 19, 2005 3:08 am
Forum: NESemdev
Topic: Nestopia is Great !
Replies: 13
Views: 8472

blargg wrote:
WedNESday wrote:Yes it is great, but this part of the forum is not here to champion other people's emulators.
[...]
WedNESday - The Net's #1 NES emulator
Oh the irony!
Haha, just a bit of fun. It sucks right now anyway...
by WedNESday
Sun Dec 18, 2005 1:38 pm
Forum: NESemdev
Topic: ppu wrap-around for the next cpu execution?
Replies: 23
Views: 10619

Anonymous wrote:Wednesday, this is a kind of noob question and it belongs in the newbie forum.
Erm, excuse me, whoever you are, 'Guest', but STFU. That is the kind of post that could get you banned. Admin?
by WedNESday
Sun Dec 18, 2005 11:38 am
Forum: NESemdev
Topic: ppu wrap-around for the next cpu execution?
Replies: 23
Views: 10619

I tried the PPU.CC = -1 but it did not work. When an opcode is executed it updates a variable called CyclesExecuted. So 0xA9 sets CyclesExecuted to 2.

The actual loop is;

for( CyclesExecuted *= 3; CyclesExecuted > 0; CyclesExecuted--, PPU.CC++)
{
...
}
by WedNESday
Sun Dec 18, 2005 11:20 am
Forum: NESemdev
Topic: ppu wrap-around for the next cpu execution?
Replies: 23
Views: 10619

That is part of the main loop;

for( CPU.CC * 3; CPU.CC > 0; CPU.CC--, PPU.CC++ )
{
switch(PPU.CC)
{
...
case 340: PPU.CC = 0; break;
}
}
by WedNESday
Sun Dec 18, 2005 10:58 am
Forum: NESemdev
Topic: Nestopia is Great !
Replies: 13
Views: 8472

Yes it is great, but this part of the forum is not here to champion other people's emulators.
by WedNESday
Sun Dec 18, 2005 9:45 am
Forum: NESemdev
Topic: ppu wrap-around for the next cpu execution?
Replies: 23
Views: 10619

That would make sense as I am not too sure of when to reload the registers. Here is my PPU code; (0 being the first, 340 being the 341st) switch(PPU.CC) { case 256: FineY(); break; case 257: if( Background && Sprites ) { PPU.Address &= 0x7BE0; PPU.Address += (PPU.TempAddress & 0x041F...
by WedNESday
Sun Dec 18, 2005 3:51 am
Forum: NESemdev
Topic: ppu wrap-around for the next cpu execution?
Replies: 23
Views: 10619

Quietust wrote:Your last case should be 340, not 341 (and 339 for the pre-render scanline, every other frame)
D'oh! Never mind...

I changed my emulator so that at PPU CC 340 it wrapped but I still get very corrupt graphics.

Observe here;

http://www.geocities.com/legocentric/badminton.JPG
by WedNESday
Sat Dec 17, 2005 3:57 pm
Forum: NESemdev
Topic: ppu wrap-around for the next cpu execution?
Replies: 23
Views: 10619

An excellent question, one that I have been asking myself for a while now. The following, switch(PPU CC) { case x: fetch... break; case 341: PPU CC = 0; break; } ...causes massive graphical glitches. So far my emulator has no PPU wrapping and seems to work fine. But it seems that that is totally wro...
by WedNESday
Thu Dec 15, 2005 10:08 am
Forum: NESemdev
Topic: Incorrect Attribute Fetch
Replies: 4
Views: 4931

Thanks, but I managed to fix the problem just after I had posted this thread. D'oh! :oops: