It is currently Mon Dec 11, 2017 5:48 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 7 posts ] 
Author Message
 Post subject: sweep problem
PostPosted: Sat Mar 26, 2005 11:11 am 
Offline
Formerly Fx3
User avatar

Joined: Fri Nov 12, 2004 4:59 pm
Posts: 3076
Location: Brazil
Like Anes :)

While sweep_cutoff works ok (after my papu fix), I cannot get sweep_sub to work properly: it does 1 note, then pitch is decreased and remains for a few more notes, then decreased again and finishes.

Any help? :|

_________________
Zepper
RockNES developer


Top
 Profile  
 
 Post subject:
PostPosted: Mon Mar 28, 2005 5:45 am 
Offline
User avatar

Joined: Tue Dec 21, 2004 8:35 pm
Posts: 600
Location: Argentina
Maybe you are not updating well the ptimer wevelenght register remember they are two bytes and the byte with the 3 most significant bits of the wavelenght must be updated, but only those 3 bits the other bits remains the same. If you failure to do so, so you will be changing the len counter load register.

Remember to clear the 3 bits with a AND ~0x07 (inverted) of the byte and then OR with the 3 MSB of the new wevelenght. Thats the way a make it and i have an accurate sweep unit.

I had a problem very similar to yours.
If that is not the problem there are no more i can say... :)

One question are you really inverting the value to calculate the "sub" or you have two differents line/s of code to do it?

_________________
ANes


Top
 Profile  
 
 Post subject:
PostPosted: Mon Mar 28, 2005 11:04 am 
Offline
Formerly Fx3
User avatar

Joined: Fri Nov 12, 2004 4:59 pm
Posts: 3076
Location: Brazil
I already double-checked it and it's okay. I don't subtract, but I add the ~number (inversed bits).

_________________
Zepper
RockNES developer


Top
 Profile  
 
 Post subject:
PostPosted: Mon Mar 28, 2005 11:31 am 
Offline
User avatar

Joined: Mon Sep 27, 2004 8:33 am
Posts: 3715
Location: Central Texas, USA
I've been uncovering much more detailed information about APU operation and working on a better set of APU test ROMs for the past few weeks, and will be for a few more. One goal is to breakthe tests into smaller units so problems can be more precisely determined if a test fails. The few tests I wrote recently and posted basically give a pass/fail without much help as to why they failed, so it might be better to wait.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Mar 28, 2005 4:25 pm 
Offline
Formerly Fx3
User avatar

Joined: Fri Nov 12, 2004 4:59 pm
Posts: 3076
Location: Brazil
Well, any visual output (printed text) would be nice...

_________________
Zepper
RockNES developer


Top
 Profile  
 
 Post subject:
PostPosted: Mon Mar 28, 2005 5:38 pm 
Offline
User avatar

Joined: Tue Dec 21, 2004 8:35 pm
Posts: 600
Location: Argentina
So if you are invertin the bytes, remember they are two, and the second (MSByte) you have to ONLY invert the 3 LSB not invert the two bytes. I mean invert an 11 bit value not a 16 bit value.
Again if that doesnt help i dont know.

Regards.

_________________
ANes


Top
 Profile  
 
 Post subject:
PostPosted: Mon Mar 28, 2005 5:41 pm 
Offline
User avatar

Joined: Mon Sep 27, 2004 8:33 am
Posts: 3715
Location: Central Texas, USA
Visual output would be quite nice!

In the new tests I'm writing, where possible the result code is shown on screen. The problem is that this is only possible for the length counters and frame IRQ, since those are the only things readable from the APU. Nothing else about the APU state can be determined by the CPU, so I have to find ways of making tiny emulation errors yield large differences in sound output.

It's taken quite a bit of creativity to come up with ways of reporting results in a clear way, and I've recently come up with some better ways than I used in the tests I posted recently. For example the linear counter test ROMs I'm writing today report which of 15 different problems they detect, and for timing, which clock is wrong and whether it's too soon or too late. Again, this new code can't know whether there is a problem; it simply runs sequences on the linear counter that will produce a number of beeps that correspond to which test failed.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 7 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: Bing [Bot], gauauu, hackfresh, krzysiobal, lidnariq, nesrocks and 9 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group