From a0d0c5e7a5bdc396b4c370a750273b6e3b963bb0 Mon Sep 17 00:00:00 2001 From: Nebuleon Fumika Date: Fri, 21 Dec 2012 03:50:10 -0500 Subject: Eliminate the latency of button press recognition, which was bad enough to lose keys entirely sometimes, and could otherwise delay a button press or release by 200 ms. This was the entire reason I created the fork, and I finally did it! It syncs the controls every scanline of a frame, which costs about 60,000 MIPS instructions per frame to deal with. Luckily, the processor runs at 396 MHz, which means the cost of checking the controls is 1% of the CPU's power. --- source/nds/ds2_main.c | 52 +++++++++++++++++++++++++-------------------------- 1 file changed, 25 insertions(+), 27 deletions(-) (limited to 'source/nds/ds2_main.c') diff --git a/source/nds/ds2_main.c b/source/nds/ds2_main.c index 710215b..2d73313 100644 --- a/source/nds/ds2_main.c +++ b/source/nds/ds2_main.c @@ -15,19 +15,19 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include -#include "console.h" -#include "fs_api.h" + */ + +#include +#include "console.h" +#include "fs_api.h" #include "ds2io.h" #include "ds2_timer.h" #include "ds2_malloc.h" - -#define BLACK_COLOR RGB15(0, 0, 0) -#define WHITE_COLOR RGB15(31, 31, 31) - -extern int sfc_main (int argc, char **argv); + +#define BLACK_COLOR RGB15(0, 0, 0) +#define WHITE_COLOR RGB15(31, 31, 31) + +extern int sfc_main (int argc, char **argv); #if 0 void ddump_mem(unsigned char* addr, unsigned int len) @@ -42,24 +42,22 @@ void ddump_mem(unsigned char* addr, unsigned int len) } #endif +void ds2_main(void) +{ + int err; +ds2_setCPUclocklevel(13); + //Initial video and audio and other input and output + err = ds2io_initb(512, 22050, 0, 0); + if(err) goto _failure; - -void ds2_main(void) -{ - int err; -ds2_setCPUclocklevel(13); - //Initial video and audio and other input and output - err = ds2io_initb(512, 22050, 0, 0); - if(err) goto _failure; + //Initial file system + err = fat_init(); + if(err) goto _failure; - //Initial file system - err = fat_init(); - if(err) goto _failure; + //go to user main funtion + sfc_main (0, 0); - //go to user main funtion - sfc_main (0, 0); - _failure: - ds2_plug_exit(); -} - + ds2_plug_exit(); +} + -- cgit v1.2.3 From 139c793b584a76acd42d72ec019d2cabab7d3ee7 Mon Sep 17 00:00:00 2001 From: Nebuleon Fumika Date: Tue, 25 Dec 2012 22:44:39 -0500 Subject: Smoother sound. Raise the sound sampling frequency to 48000 Hz. --- source/nds/ds2_main.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'source/nds/ds2_main.c') diff --git a/source/nds/ds2_main.c b/source/nds/ds2_main.c index 2d73313..7229727 100644 --- a/source/nds/ds2_main.c +++ b/source/nds/ds2_main.c @@ -23,6 +23,7 @@ #include "ds2io.h" #include "ds2_timer.h" #include "ds2_malloc.h" +#include "ds2sound.h" #define BLACK_COLOR RGB15(0, 0, 0) #define WHITE_COLOR RGB15(31, 31, 31) @@ -45,9 +46,9 @@ void ddump_mem(unsigned char* addr, unsigned int len) void ds2_main(void) { int err; -ds2_setCPUclocklevel(13); + ds2_setCPUclocklevel(13); //Initial video and audio and other input and output - err = ds2io_initb(512, 22050, 0, 0); + err = ds2io_initb(DS2_BUFFER_SIZE, SND_SAMPLE_RATE, 0, 0); if(err) goto _failure; //Initial file system -- cgit v1.2.3