X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=gp2x%2F940ctl.c;h=7d7a400d174484b7e6d6c6f9cb01aa25d7de7f21;hb=82abf46f3db8ade517881c03327bdbc0de848eb2;hp=ee250f8a14476d63e1e6c37226b1a4ef27ec5dc4;hpb=2dce60fd7b700bfbbd1d4b9f595d39cddc980779;p=libpicofe.git diff --git a/gp2x/940ctl.c b/gp2x/940ctl.c index ee250f8..7d7a400 100644 --- a/gp2x/940ctl.c +++ b/gp2x/940ctl.c @@ -13,14 +13,13 @@ #include "code940/940shared.h" #include "gp2x.h" #include "emu.h" -#include "menu.h" #include "../common/mp3.h" #include "../common/arm_utils.h" #include "../common/menu.h" #include "../common/emu.h" -#include "../../Pico/PicoInt.h" -#include "../../Pico/sound/ym2612.h" -#include "../../Pico/sound/mix.h" +#include "../../pico/pico_int.h" +#include "../../pico/sound/ym2612.h" +#include "../../pico/sound/mix.h" /* we will need some gp2x internals here */ extern volatile unsigned short *gp2x_memregs; /* from minimal library rlyeh */ @@ -150,7 +149,7 @@ static void wait_busy_940(int job) gp2x_memregs[0x3b46>>1], gp2x_memregl[0x4500>>2], gp2x_memregl[0x4510>>2]); printf("last lr: %08x, lastjob: %i\n", shared_ctl->last_lr, shared_ctl->lastjob); - strcpy(menuErrorMsg, "940 crashed, too much overclock?"); + me_update_msg("940 crashed, too much overclock?"); engineState = PGS_Menu; crashed_940 = 1; } @@ -313,7 +312,7 @@ void YM2612Init_940(int baseclock, int rate) fp = fopen(binpath, "rb"); if(!fp) { - memset(gp2x_screen, 0, 320*240*2); + memset(g_screen_ptr, 0, 320*240*2); text_out16(10, 100, "failed to open required file:"); text_out16(10, 110, CODE940_FILE); gp2x_video_flip2(); @@ -508,7 +507,7 @@ void mp3_start_play(FILE *f, int pos) // pos is 0-1023 shared_ctl->mp3_len = ftell(f); loaded_mp3 = f; - if (PicoOpt&0x200) { + if (PicoOpt & POPT_EXT_FM) { // as we are going to change 940's cacheable area, we must invalidate it's cache.. if (CHECK_BUSY(JOB940_MP3DECODE)) wait_busy_940(JOB940_MP3DECODE); add_job_940(JOB940_INVALIDATE_DCACHE); @@ -522,7 +521,7 @@ void mp3_start_play(FILE *f, int pos) // pos is 0-1023 byte_offs *= pos; byte_offs >>= 6; } - // printf("mp3 pos1024: %i, byte_offs %i/%i\n", pos, byte_offs, shared_ctl->mp3_len); + printf(" mp3 pos1024: %i, byte_offs %i/%i\n", pos, byte_offs, shared_ctl->mp3_len); shared_ctl->mp3_offs = byte_offs; @@ -531,7 +530,13 @@ void mp3_start_play(FILE *f, int pos) // pos is 0-1023 mp3_job_started = 0; shared_ctl->mp3_buffsel = 1; // will change to 0 on first decode - if (!(PicoOpt&0x200)) mp3_start_local(); + if (PicoOpt & POPT_EXT_FM) + { + add_job_940(JOB940_MP3RESET); + if (CHECK_BUSY(JOB940_MP3RESET)) wait_busy_940(JOB940_MP3RESET); + } + else + mp3_start_local(); }