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.
Search found 174 matches
- Mon Mar 24, 2008 3:01 pm
- Forum: NES Music
- Topic: Music transposing/altering and saving ROM space
- Replies: 15
- Views: 12664
- Mon Mar 24, 2008 2:32 pm
- Forum: NESemdev
- Topic: Got any tips for Early NES Emulator Development?
- Replies: 108
- Views: 39124
- 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...
- 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...
- 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...
- 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...
- 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...
- 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...
- 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...
- 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...
- Fri Mar 30, 2007 7:13 pm
- Forum: NESemdev
- Topic: Accurate audio filtering?
- Replies: 11
- Views: 3959
- 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...
- 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...
- 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...
- Thu Feb 09, 2006 4:15 pm
- Forum: NESemdev
- Topic: One more palette thread...
- Replies: 25
- Views: 20455