#define VBATT_DEFAULT_MIN (3500) #define VBATT_DEFAULT_MAX (4100) #include "lolevel.h" #include "platform.h" #include "core.h" #include "keyboard.h" /* Ours stuff */ extern long link_bss_start; extern long link_bss_end; extern void boot(); extern void mykbd_task(long ua, long ub, long uc, long ud, long ue, long uf); static void core_hook_task_create(__attribute__ ((unused))void *tcb) { } static void core_hook_task_delete(void *tcb) { char *name = (char*)(*(long*)((char*)tcb+0x34)); if (strcmp(name,"tInitFileM")==0) core_spytask_can_start(); } static int stop_hooking; static void (*taskprev)( long p0, long p1, long p2, long p3, long p4, long p5, long p6, long p7, long p8, long p9); // static void (*taskfsprev)( // long p0, long p1, long p2, long p3, long p4, // long p5, long p6, long p7, long p8, long p9); void spytask(long ua, long ub, long uc, long ud, long ue, long uf) { (void)ua; (void)ub; (void)uc; (void)ud; (void)ue; (void)uf; core_spytask(); } static void task_start_hook( long p0, long p1, long p2, long p3, long p4, long p5, long p6, long p7, long p8, long p9) { _CreateTask("SpyTask", 0x19, 0x2000, spytask, 0); taskprev(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9 ); } // static void remount_filesystem() // { // _Unmount_FileSystem(); // _Mount_FileSystem(); // } // static void task_fs( // long p0, long p1, long p2, long p3, long p4, // long p5, long p6, long p7, long p8, long p9) // { // remount_filesystem(); // taskfsprev(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9 ); // } static void capt_seq_hook( long p0, long p1, long p2, long p3, long p4, long p5, long p6, long p7, long p8, long p9) { (void)p0; (void)p1; (void)p2; (void)p3; (void)p4; (void)p5; (void)p6; (void)p7; (void)p8; (void)p9; capt_seq_task(); } static void movie_record_hook( long p0, long p1, long p2, long p3, long p4, long p5, long p6, long p7, long p8, long p9) { (void)p0; (void)p1; (void)p2; (void)p3; (void)p4; (void)p5; (void)p6; (void)p7; (void)p8; (void)p9; movie_record_task(); } static int my_ncmp(const char *s1, const char *s2, long len) { int i; for (i=0;i (MEMISOSTART + MEMISOSIZE)){ started(); shutdown(); } // initialize .bss senment while (bss<&link_bss_end) *bss++ = 0; // fill memory with this magic value so we could see what // parts of memory were or not used // update: // this seems to be required for unknown reason // or else sryproc startup will fail from // time to time... #if 0 long *ptr; for (ptr=(void*)MEMBASEADDR;((long)ptr)NUM_FL-1) return fl_tbl[NUM_FL-1]; else return fl_tbl[zp]; } int get_zoom_x(int zp) { if (zp<1) return 10; else if (zp>NUM_FL-1) return fl_tbl[NUM_FL-1]*10/fl_tbl[0]; else return fl_tbl[zp]*10/fl_tbl[0]; } #if 0 int rec_switch_state(void) { // mode = (physw_status[0]&0x0F)==0x0B ? MODE_PLAY : MODE_REC; return (physw_status[0]&0x0F)!=0x0B; } #endif int rec_mode_active(void) { return (playrec_mode==1); }