Search found 174 matches

by ReaperSMS
Mon Mar 24, 2008 3:01 pm
Forum: NES Music
Topic: Music transposing/altering and saving ROM space
Replies: 15
Views: 12664

Key is rather important.

A better idea is to just have a transpose command for your format, that lets you move the base around. Essentially, you remap c->C to say, e->E, and thus stay within the octave.

Crap, didn't notice the date.
by ReaperSMS
Mon Mar 24, 2008 2:32 pm
Forum: NESemdev
Topic: Got any tips for Early NES Emulator Development?
Replies: 108
Views: 39124

Sounds like you've got FH screwed up somehow, off by one or so.
by ReaperSMS
Mon Mar 24, 2008 11:28 am
Forum: NESemdev
Topic: Got any tips for Early NES Emulator Development?
Replies: 108
Views: 39124

Not so much less work per instruction as it is a low instruction rate overall. Other bytecode systems don't bother with execution throttling, as they aim at peak performance. For a NES emulator, there's not a whole lot of point to breaking 1.789MHz, which isn't too difficult given that individual in...
by ReaperSMS
Mon Mar 24, 2008 12:49 am
Forum: NESemdev
Topic: Got any tips for Early NES Emulator Development?
Replies: 108
Views: 39124

__assume sounds like VC only. Can't recall ever hearing about it for GCC. In most cases, the range check won't mean dick for fps. # of ifs mostly depends on the code and the compiler, and where that if is. If it's per frame, who cares, per scanline, it might matter, per pixel and yeah, you've done s...
by ReaperSMS
Sun Mar 23, 2008 2:49 pm
Forum: NESemdev
Topic: Got any tips for Early NES Emulator Development?
Replies: 108
Views: 39124

For small enough switches, the compiler will just spit it out as an if-else tree anyways. You really should look carefully at loopys doc or the 2C02 technical reference, but here is the gist: There are a series of latches that are loaded from various bits of the registers on particular writes, these...
by ReaperSMS
Thu Mar 20, 2008 1:58 pm
Forum: NESemdev
Topic: To lookup or not to lookup?
Replies: 24
Views: 10701

Tell me about it. I've hacked GCC to try and improve the situation, but even that was mostly just adding a new type for them. The language semantics start to get really nasty when you start trying to pass or return structs by value, when those structs want to be in registers other than the integer G...
by ReaperSMS
Wed Mar 19, 2008 7:47 pm
Forum: NESdev
Topic: A short piece of code explained
Replies: 10
Views: 5197

Where to begin? Using decimal numbers for addresses: horrible idea. no doc will match those, and are a total mess. RESET, IRQ, and NMI vectors all point at the same code: Usually, powerup/reset initialization should be done once. This does it every vblank, or would if NMIs were enabled. It's confusi...
by ReaperSMS
Wed Mar 19, 2008 7:34 pm
Forum: NESemdev
Topic: To lookup or not to lookup?
Replies: 24
Views: 10701

Duplicating the OOE logic doesn't cost any more than duplicating an equal sized chunk of cache that ends up being useless because the execution units just puked out the entire pipeline because the compiler couldn't reshuffle instructions well enough. The set of scheduling rules one has to work aroun...
by ReaperSMS
Wed Mar 19, 2008 2:07 pm
Forum: NESemdev
Topic: To lookup or not to lookup?
Replies: 24
Views: 10701

This is getting rather off topic =P I think we can agree that modern x86's are RISC cores with an excessively complicated, but generally compact code in front. Sort of like a Mirror Universe Thumb set. The two threads per core on the 360 do help, but they can easily clog each other up. It really com...
by ReaperSMS
Tue Mar 18, 2008 2:15 pm
Forum: NESemdev
Topic: To lookup or not to lookup?
Replies: 24
Views: 10701

In response to this post : The later PowerPC chips are rather aggressively out of order. I believe the 970 has a reorder window of around 200 instructions. I don't think any mips or arm chips have gone down that route, but ARM is just a bit odd, and MIPS seems close to dead. The chip can usually do...
by ReaperSMS
Fri Mar 30, 2007 7:13 pm
Forum: NESemdev
Topic: Accurate audio filtering?
Replies: 11
Views: 3959

Josh: All transitions on the NES are square steps.
by ReaperSMS
Tue Apr 04, 2006 6:36 pm
Forum: NESemdev
Topic: C/C++ speed differences
Replies: 22
Views: 9277

The issue with templates is that excessive use of them can hide huge amounts of complexity that effectively hamstring the optimizer. They also tend to increase compile times -- there's a library here that doubles the compile time of any project it's included in, and drags the runtime speed without o...
by ReaperSMS
Sun Apr 02, 2006 12:52 am
Forum: NESemdev
Topic: cycle for cycle stuff
Replies: 99
Views: 62855

The sticky part of a catch-up scheme is synching the visible environment changes between processors. Queueing up writes works to a point, but anything that can respond asynchronously takes extra effort. Scanline interrupts and such are rather predictable, but that of course adds another layer of com...
by ReaperSMS
Thu Feb 09, 2006 7:39 pm
Forum: NESemdev
Topic: One more palette thread...
Replies: 25
Views: 20455

It's not as direct an issue as straight up brightness. Taking the art we use on the console, and throwing it up on a PC tends to be more subdued, less saturated, and a little lighter at the normal video settings. On the consoles, the low end drops off quicker, and colors are generally a bit brighter...
by ReaperSMS
Thu Feb 09, 2006 4:15 pm
Forum: NESemdev
Topic: One more palette thread...
Replies: 25
Views: 20455

I'm thinking rather specifically of content authoring for modern consoles, but the issue is somewhat the same still.

I will grant that the vast majorities of the TV's here are utter crap.