Search found 481 matches

by neilbaldwin
Sat Dec 04, 2010 5:59 am
Forum: NES Graphics
Topic: NES Screen Tool
Replies: 293
Views: 215242

I tend to work on 4k files anyway (CHR and SPR separate), I just never realised that YYCHR creates an 8K file by default. :) I loaded up the CHR file for my latest project and messed around editing the nametable. I really like it, especially the inclusion of RLE. That's a really nice touch. Going to...
by neilbaldwin
Sat Dec 04, 2010 3:34 am
Forum: NES Graphics
Topic: NES Screen Tool
Replies: 293
Views: 215242

Cool! I'll be giving this a try. Couple of things immediately: + A really handy feature which I've never seen in one of these editors before is the ability to 'paint' attributes/palettes on the nametable. Really nice :D - I tried to load a .chr file that I'd made in YYCHR but your program wouldn't l...
by neilbaldwin
Fri Dec 03, 2010 7:35 am
Forum: NES Music
Topic: Mitigating Volume Level Attenuation of Triangle and Noise
Replies: 2
Views: 3495

Heh, typical. :)

I was actually writing $3F to $4011 and couldn't figure out why I still got the volume changing depending on whether I was using DCM or not.

At least I thought I did until I realised I put the $3F in the wrong place in my APU init table! :oops:

Thanks
by neilbaldwin
Fri Dec 03, 2010 6:23 am
Forum: NES Music
Topic: Mitigating Volume Level Attenuation of Triangle and Noise
Replies: 2
Views: 3495

Mitigating Volume Level Attenuation of Triangle and Noise

What's the best way to constantly force the triangle and noise to output at the reduced level you get when using DCM?

I'm thinking it would be better for balancing channels if those two channels were always output as if you were playing DCM, even when you're not.
by neilbaldwin
Thu Dec 02, 2010 10:45 am
Forum: Homebrew Projects
Topic: PR8 - NES Drum Synthesiser
Replies: 12
Views: 13199

PR8 - NES Drum Synthesiser

Seems like a good place and time to talk about my next project. I'm creating a drum (and bass-line) machine for the NES. + 6 virtual tracks, one drum sound assigned to each track + each drum sound can use all 5 or any combination of the NES's hardware voices + where two drum sounds require the same ...
by neilbaldwin
Mon Nov 29, 2010 4:03 pm
Forum: Newbie Help Center
Topic: Creating A More Flexible, Efficient Screen DMA System
Replies: 3
Views: 1939

I implemented a system similar to what I described. It's actually really good.

I'll try to distill the code down to something that I can post up here in case it's of any use to anyone else.

:)
by neilbaldwin
Fri Nov 26, 2010 4:42 am
Forum: Newbie Help Center
Topic: Creating A More Flexible, Efficient Screen DMA System
Replies: 3
Views: 1939

Creating A More Flexible, Efficient Screen DMA System

I'm sketching out high-level ideas for the screen writing code for my next project and have been trying to come up with a nice flexible and efficient DMA system. The general problems are; - there is too much information contained on the screen to write in one frame (as always) - there are several di...
by neilbaldwin
Fri Nov 19, 2010 1:48 am
Forum: NES Music
Topic: Easier APU documentation?
Replies: 21
Views: 14478

That's very odd. I originally had the init routine from the wiki, verbatim, and I wasn't getting any noise output unless I wrote something to $400F at the time of writing the frequency register ($0E). So then I added the lines to write $00 to $4015 before the loop and $0F after the loop, just clutch...
by neilbaldwin
Thu Nov 18, 2010 5:08 pm
Forum: NES Music
Topic: Easier APU documentation?
Replies: 21
Views: 14478

Just stripped it all down to this; reset: sei ldx #$FF txs lda #$00 sta PPU0 sta PPU1 jsr init_APU mainLoop: jmp mainLoop nmi: rti irq: rti init_APU: lda #$00 sta $4015 ldx #$00 @a: lda @apu_regs,x sta $4000,x inx cpx #$18 bne @a lda #$0F sta $4015 lda #%00111111 sta $400c lda #$01 sta $400e ;sta $4...
by neilbaldwin
Thu Nov 18, 2010 2:43 pm
Forum: NES Music
Topic: Easier APU documentation?
Replies: 21
Views: 14478

blargg wrote:The code from the Wiki works fine for me (testing on a PAL NES at the moment). I do notice that your code plays a very quiet noise either way, maybe that's the problem.
Odd. It plays full volume here. Definitely not a volume issue.

*shrugs* I'm baffled.
by neilbaldwin
Thu Nov 18, 2010 11:37 am
Forum: NES Music
Topic: Easier APU documentation?
Replies: 21
Views: 14478

Here's a big APU gotcha: Even if you're not using the sweep unit, you must still write 0x08 to the sweep register, otherwise it won't play the lowest notes. Yep, nasty one for the beginner that. Re. the noise thing. I need to do another test (just about to run out the door) but if you copy the apu ...
by neilbaldwin
Thu Nov 18, 2010 11:09 am
Forum: NES Music
Topic: Easier APU documentation?
Replies: 21
Views: 14478

I think I'm going a bit mental. It's not like I haven't programmed NES audio before but if I do this; lda #$0F sta $4015 lda #%00111111 sta $400c lda #$00 sta $400e I get nothing. But if I do; lda #$0F sta $4015 lda #%00111111 sta $400c lda #$00 sta $400e sta $400f I get noise, as expected. I'm pret...
by neilbaldwin
Mon Nov 15, 2010 3:03 am
Forum: NESdev
Topic: Generating LUTs for Cosine and Exponential Volume Fades
Replies: 3
Views: 2373

One odd thing about the linked page is that he looks at the fade waveforms in the linear space, even though we perceive it in an exponential space. In other words, his exponential fade is really linear, getting louder uniformly, while his linear fade is really exponential, getting loud quickly, the...
by neilbaldwin
Mon Nov 15, 2010 2:09 am
Forum: NESdev
Topic: Fast LFO
Replies: 8
Views: 3318

I see; I figured you might just initialize lfoCounter to lfoSpeed/2 when starting the LFO. That's quite a nice idea actually. It only falls down if the speed is an odd number as you'll end up with the median pitch moving away from the original slightly. I guess you could look at it the other way an...
by neilbaldwin
Sun Nov 14, 2010 7:18 pm
Forum: NESdev
Topic: Fast LFO
Replies: 8
Views: 3318

Well, that costs you quite a few cycles. I was also wondering why you used bit 1 of lfoPhase rather than bit 0. It seems that this merely halves the speed. Because the phase has four states: %00 = up, %11 = down, %10 = down, %01 = up to give you the necessary cycle shape: /\ ----------- center freq...