#include #include "dirlist.h" #include "console.h" #include "screen.h" #include "tools.h" #include "charmaps.h" #include "touchpad.h" #include "browse.h" #define MAX_ICONLGN 11 char ofoldimg[ICON_HEIGHT*ICON_WIDTH*3]={0xA5,0x96,0x7B,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x94,0x82,0x6B,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0xA5,0x96,0x7B,0x94,0x86,0x6B,0xE6,0xCE,0xB5,0xEF,0xDB,0xBD,0xE6,0xD7,0xBD,0xE6,0xD7,0xBD,0xE6,0xD7,0xBD,0xE6,0xD7,0xBD,0xE6,0xD7,0xBD,0xE6,0xD7,0xBD,0xE6,0xD7,0xBD,0xE6,0xD7,0xBD,0xEF,0xDF,0xC5,0xA5,0x8E,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0xA5,0x96,0x7B,0x9C,0x86,0x6B,0xDE,0xCE,0xB5,0xDE,0xD7,0xBD,0xDE,0xD2,0xBD,0xDE,0xD2,0xBD,0xDE,0xD2,0xBD,0xDE,0xD2,0xBD,0xE6,0xD7,0xBD,0xE6,0xDB,0xC5,0xEF,0xDB,0xBD,0xDE,0xD7,0xBD,0xE6,0xDB,0xC5,0xA5,0x8E,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0xA5,0x96,0x7B,0x9C,0x86,0x6B,0xDE,0xC6,0xAD,0xDE,0xCE,0xB5,0xDE,0xCA,0xB5,0xDE,0xCA,0xB5,0xDE,0xCA,0xB5,0xDE,0xCE,0xBD,0xF7,0xE7,0xDE,0x10,0x9E,0x52,0xC5,0xDB,0xC5,0xE6,0xD2,0xC5,0xE6,0xCE,0xBD,0xA5,0x8E,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0xA5,0x92,0x7B,0xD6,0xC2,0xAD,0x9C,0x8E,0x73,0xCE,0xC2,0xA5,0xD6,0xC6,0xAD,0xD6,0xC6,0xAD,0xD6,0xCA,0xB5,0xF7,0xE3,0xDE,0x19,0xA2,0x5A,0x00,0x96,0x4A,0x00,0x92,0x42,0xC5,0xD7,0xC5,0xDE,0xCE,0xBD,0xDE,0xCA,0xB5,0x9C,0x8E,0x73,0x00,0x00,0x00,0xA5,0x92,0x7B,0xCE,0xBA,0xAD,0x9C,0x8E,0x73,0xCE,0xBA,0xA5,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xE6,0xCE,0xC5,0x19,0x9E,0x5A,0x00,0x96,0x4A,0x00,0x96,0x4A,0x00,0x96,0x4A,0x00,0x92,0x42,0xB5,0xC6,0xAD,0xD6,0xC6,0xB5,0x9C,0x8A,0x73,0x00,0x00,0x00,0xA5,0x92,0x7B,0xCE,0xB6,0xA5,0x9C,0x8E,0x73,0xCE,0xB6,0x9C,0xCE,0xBA,0xA5,0xCE,0xBA,0xA5,0xCE,0xC2,0xAD,0xD6,0xCE,0xBD,0xDE,0xD7,0xC5,0xDE,0xD7,0xC5,0xDE,0xDB,0xC5,0xDE,0xD2,0xBD,0xCE,0xC6,0xB5,0xD6,0xBE,0xAD,0x9C,0x8A,0x73,0x00,0x00,0x00,0xA5,0x92,0x7B,0xCE,0xB6,0x9C,0xD6,0xBE,0xAD,0x9C,0x8E,0x73,0xCE,0xB6,0x9C,0xCE,0xBA,0xA5,0xCE,0xBA,0xA5,0xCE,0xBA,0xA5,0xCE,0xBA,0xA5,0xCE,0xBA,0xA5,0xCE,0xBA,0xA5,0xCE,0xBA,0xA5,0xCE,0xBA,0xA5,0xCE,0xBA,0xA5,0xD6,0xBE,0xAD,0x9C,0x8A,0x73,0xA5,0x92,0x7B,0xCE,0xBA,0xA5,0xD6,0xC2,0xB5,0x9C,0x8E,0x73,0xCE,0xBA,0xA5,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xD6,0xC2,0xB5,0x9C,0x8A,0x73,0xA5,0x92,0x7B,0xD6,0xBE,0xA5,0xD6,0xC2,0xAD,0xDE,0xC6,0xB5,0xA5,0x92,0x7B,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x94,0x82,0x6B,0xA5,0x92,0x7B,0xD6,0xC6,0xB5,0xDE,0xCE,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xE6,0xCE,0xC5,0xA5,0x8E,0x73,0x00,0x00,0x00,0xA5,0x92,0x7B,0xDE,0xCE,0xBD,0xEF,0xDB,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xEF,0xDF,0xCE,0xA5,0x8E,0x7B,0x00,0x00,0x00,0xA5,0x92,0x7B,0xE6,0xDB,0xCE,0xF7,0xE7,0xD6,0xEF,0xE3,0xD6,0xEF,0xE3,0xD6,0xEF,0xE3,0xD6,0xF7,0xEB,0xDE,0xA5,0x96,0x7B,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x94,0x82,0x6B,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0xA5,0x92,0x7B,0xEF,0xE7,0xD6,0xFF,0xF3,0xDE,0xFF,0xF7,0xE6,0xA5,0x96,0x7B,0x94,0x82,0x6B,0x21,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA5,0x96,0x84,0x9C,0x8A,0x73,0x94,0x86,0x6B,0x21,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; char cfoldimg[ICON_HEIGHT*ICON_WIDTH*3]={0xA5,0x96,0x7B,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x94,0x82,0x6B,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0xA5,0x96,0x7B,0x94,0x86,0x6B,0xE6,0xCE,0xB5,0xEF,0xDB,0xBD,0xE6,0xD7,0xBD,0xE6,0xD7,0xBD,0xE6,0xD7,0xBD,0xE6,0xD7,0xBD,0xE6,0xD7,0xBD,0xE6,0xD7,0xBD,0xE6,0xD7,0xBD,0xE6,0xD7,0xBD,0xEF,0xDF,0xC5,0xA5,0x8E,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0xA5,0x96,0x7B,0x9C,0x86,0x6B,0xDE,0xCE,0xB5,0xDE,0xD7,0xBD,0xDE,0xD2,0xBD,0xDE,0xD2,0xBD,0xDE,0xD2,0xBD,0xDE,0xD2,0xBD,0xE6,0xD7,0xBD,0xE6,0xDB,0xC5,0xEF,0xDB,0xBD,0xDE,0xD7,0xBD,0xE6,0xDB,0xC5,0xA5,0x8E,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0xA5,0x96,0x7B,0x9C,0x86,0x6B,0xDE,0xC6,0xAD,0xDE,0xCE,0xB5,0xDE,0xCA,0xB5,0xDE,0xCA,0xB5,0xDE,0xCA,0xB5,0xDE,0xCA,0xB5,0xF7,0xDF,0xD6,0x10,0x9A,0x52,0xC5,0xDB,0xC5,0xE6,0xD2,0xC5,0xE6,0xCE,0xBD,0xA5,0x8E,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0xA5,0x92,0x7B,0xD6,0xC2,0xAD,0x9C,0x8E,0x73,0xCE,0xC2,0xA5,0xD6,0xC6,0xAD,0xD6,0xC6,0xAD,0xD6,0xC6,0xAD,0xD6,0xC6,0xAD,0xF7,0xDF,0xD6,0x21,0xA2,0x5A,0x00,0x92,0x42,0xC5,0xD7,0xC5,0xDE,0xCE,0xBD,0xDE,0xCA,0xB5,0x9C,0x8E,0x73,0x00,0x00,0x00,0xA5,0x92,0x7B,0xCE,0xBA,0xAD,0x9C,0x8E,0x73,0xCE,0xBA,0xA5,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xEF,0xD7,0xD6,0x19,0x9E,0x5A,0x00,0x96,0x4A,0x00,0x92,0x42,0xB5,0xC6,0xAD,0xD6,0xC6,0xB5,0x9C,0x8A,0x73,0x00,0x00,0x00,0xA5,0x92,0x7B,0xCE,0xB6,0xA5,0x9C,0x8E,0x73,0xCE,0xB6,0x9C,0xCE,0xBA,0xA5,0xCE,0xBA,0xA5,0xCE,0xBA,0xA5,0xCE,0xBA,0xA5,0xEF,0xD7,0xCE,0x19,0x9E,0x5A,0x00,0x92,0x42,0xBD,0xD2,0xBD,0xD6,0xCA,0xB5,0xD6,0xBE,0xAD,0x9C,0x8A,0x73,0x00,0x00,0x00,0xA5,0x92,0x7B,0xCE,0xB6,0x9C,0xD6,0xBE,0xAD,0x9C,0x8E,0x73,0xCE,0xB6,0x9C,0xCE,0xBA,0xA5,0xCE,0xBA,0xA5,0xCE,0xBA,0xA5,0xE6,0xD2,0xC5,0x10,0x9A,0x52,0xBD,0xD2,0xBD,0xD6,0xCA,0xB5,0xCE,0xBA,0xA5,0xCE,0xBA,0xA5,0xD6,0xBE,0xAD,0x9C,0x8A,0x73,0xA5,0x92,0x7B,0xCE,0xBA,0xA5,0xD6,0xC2,0xB5,0x9C,0x8E,0x73,0xCE,0xBA,0xA5,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xCE,0xC2,0xB5,0xD6,0xCA,0xBD,0xCE,0xC6,0xB5,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xCE,0xBE,0xAD,0xD6,0xC2,0xB5,0x9C,0x8A,0x73,0xA5,0x92,0x7B,0xD6,0xBE,0xA5,0xD6,0xC2,0xAD,0xDE,0xC6,0xB5,0xA5,0x92,0x7B,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x94,0x82,0x6B,0xA5,0x92,0x7B,0xD6,0xC6,0xB5,0xDE,0xCE,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xDE,0xCA,0xBD,0xE6,0xCE,0xC5,0xA5,0x8E,0x73,0x00,0x00,0x00,0xA5,0x92,0x7B,0xDE,0xCE,0xBD,0xEF,0xDB,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xE6,0xD7,0xC5,0xEF,0xDF,0xCE,0xA5,0x8E,0x7B,0x00,0x00,0x00,0xA5,0x92,0x7B,0xE6,0xDB,0xCE,0xF7,0xE7,0xD6,0xEF,0xE3,0xD6,0xEF,0xE3,0xD6,0xEF,0xE3,0xD6,0xF7,0xEB,0xDE,0xA5,0x96,0x7B,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x9C,0x8A,0x73,0x94,0x82,0x6B,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0xA5,0x92,0x7B,0xEF,0xE7,0xD6,0xFF,0xF3,0xDE,0xFF,0xF7,0xE6,0xA5,0x96,0x7B,0x94,0x82,0x6B,0x21,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA5,0x96,0x84,0x9C,0x8A,0x73,0x94,0x86,0x6B,0x21,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; char fileimg[12*13*3]={0x9C,0x92,0x7B,0x84,0x71,0x52,0x84,0x75,0x5A,0x84,0x75,0x5A,0x84,0x75,0x5A,0x84,0x75,0x5A,0x84,0x75,0x5A,0x84,0x75,0x5A,0x84,0x75,0x5A,0x84,0x75,0x5A,0x84,0x75,0x5A,0x7B,0x69,0x4A,0x94,0x86,0x6B,0xE6,0xE7,0xDE,0xE6,0xDF,0xCE,0xD6,0xCE,0xBD,0xD6,0xCE,0xBD,0xD6,0xCE,0xBD,0xD6,0xCE,0xBD,0xD6,0xCE,0xBD,0xD6,0xCE,0xBD,0xD6,0xCE,0xBD,0xDE,0xD7,0xC5,0x94,0x82,0x6B,0x94,0x86,0x6B,0xE6,0xE7,0xDE,0xE6,0xDF,0xD6,0xD6,0xCE,0xC5,0xD6,0xCE,0xC5,0xD6,0xCE,0xC5,0xD6,0xCE,0xC5,0xD6,0xCE,0xC5,0xD6,0xCE,0xC5,0xD6,0xCE,0xC5,0xDE,0xD7,0xCE,0x94,0x82,0x6B,0x94,0x86,0x6B,0xE6,0xE7,0xDE,0xEF,0xDF,0xD6,0xDE,0xD2,0xC5,0xDE,0xD2,0xC5,0xDE,0xD2,0xC5,0xDE,0xD2,0xC5,0xDE,0xD2,0xC5,0xDE,0xD2,0xC5,0xDE,0xD2,0xC5,0xE6,0xDB,0xCE,0x94,0x86,0x6B,0x94,0x86,0x6B,0xE6,0xE3,0xDE,0xEF,0xE3,0xDE,0xDE,0xD7,0xCE,0xDE,0xD7,0xCE,0xDE,0xD7,0xCE,0xDE,0xD7,0xCE,0xDE,0xD7,0xCE,0xDE,0xD7,0xCE,0xDE,0xD7,0xCE,0xE6,0xDF,0xD6,0x94,0x86,0x6B,0x94,0x86,0x6B,0xE6,0xE3,0xDE,0xEF,0xE7,0xDE,0xDE,0xDB,0xCE,0xDE,0xDB,0xCE,0xDE,0xDB,0xCE,0xDE,0xDB,0xCE,0xDE,0xDB,0xCE,0xDE,0xDB,0xCE,0xDE,0xDB,0xCE,0xE6,0xE3,0xD6,0x94,0x86,0x6B,0x94,0x86,0x6B,0xE6,0xE3,0xDE,0xEF,0xE7,0xE6,0xE6,0xDB,0xD6,0xE6,0xDB,0xD6,0xE6,0xDB,0xD6,0xE6,0xDB,0xD6,0xE6,0xDB,0xD6,0xE6,0xDB,0xD6,0xE6,0xDB,0xD6,0xEF,0xE3,0xDE,0x94,0x86,0x6B,0x94,0x86,0x6B,0xE6,0xE3,0xDE,0xEF,0xEB,0xE6,0xE6,0xDF,0xD6,0xE6,0xDF,0xD6,0xE6,0xDF,0xD6,0xE6,0xDF,0xD6,0xE6,0xDF,0xD6,0xE6,0xDF,0xD6,0xE6,0xDF,0xD6,0xEF,0xE7,0xDE,0x94,0x86,0x6B,0x94,0x86,0x6B,0xE6,0xE3,0xDE,0xEF,0xEF,0xEF,0xE6,0xE3,0xDE,0xE6,0xE3,0xDE,0xE6,0xE3,0xDE,0xE6,0xE3,0xDE,0xE6,0xE3,0xDE,0xE6,0xE3,0xDE,0xFF,0xFB,0xF7,0xFF,0xFF,0xFF,0x9C,0x92,0x7B,0x94,0x86,0x6B,0xE6,0xE3,0xDE,0xF7,0xEF,0xEF,0xEF,0xE7,0xDE,0xEF,0xE7,0xDE,0xEF,0xE7,0xDE,0xEF,0xE7,0xDE,0xF7,0xEF,0xE6,0x9C,0x92,0x7B,0x84,0x71,0x52,0x84,0x75,0x5A,0x7B,0x69,0x4A,0x94,0x86,0x6B,0xE6,0xE3,0xDE,0xF7,0xEF,0xF7,0xEF,0xE7,0xE6,0xEF,0xE7,0xE6,0xEF,0xE7,0xE6,0xEF,0xE7,0xE6,0xF7,0xEF,0xF7,0x94,0x86,0x73,0xDE,0xDB,0xD6,0xFF,0xFF,0xFF,0x9C,0x92,0x7B,0x94,0x86,0x6B,0xE6,0xE3,0xDE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x9C,0x8E,0x73,0xE6,0xE3,0xDE,0x9C,0x96,0x7B,0x00,0x00,0x00,0x9C,0x92,0x7B,0x84,0x71,0x52,0x84,0x75,0x5A,0x84,0x75,0x5A,0x84,0x75,0x5A,0x84,0x75,0x5A,0x84,0x75,0x5A,0x84,0x75,0x5A,0x84,0x75,0x5A,0x7B,0x69,0x4A,0x00,0x00,0x00,0x00,0x00,0x00}; char bmpimg[12*13*3]={ 0x9C,0x92,0x7B, 0x84,0x71,0x52, 0x84,0x75,0x5A, 0x84,0x75,0x5A, 0x84,0x75,0x5A, 0x84,0x75,0x5A, 0x84,0x75,0x5A, 0x84,0x75,0x5A, 0x84,0x75,0x5A, 0x84,0x75,0x5A, 0x84,0x75,0x5A, 0x7B,0x69,0x4A, 0x94,0x86,0x6B, 0xE6,0xE7,0xDE, 0xE6,0xDF,0xCE, 0xD6,0xCE,0xBD, 0xD6,0xCE,0xBD, 0xD6,0xCE,0xBD, 0xD6,0xCE,0xBD, 0xD6,0xCE,0xBD, 0xD6,0xCE,0xBD, 0xD6,0xCE,0xBD, 0xDE,0xD7,0xC5, 0x94,0x82,0x6B, 0x94,0x86,0x6B, 0xE6,0xE7,0xDE, 0xE6,0xDF,0xD6, 0xD6,0xCE,0xC5, 0xD6,0xCE,0xC5, 0xD6,0xCE,0xC5, 0xD6,0xCE,0xC5, 0xD6,0xCE,0xC5, 0xD6,0xCE,0xC5, 0xD6,0xCE,0xC5, 0xDE,0xD7,0xCE, 0x94,0x82,0x6B, 0x94,0x86,0x6B, 0xE6,0xE7,0xDE, 0xEF,0xDF,0xD6, 0x01,0x01,0x01, 0xDE,0xD2,0xC5, 0x01,0x01,0x01, 0xDE,0xD2,0xC5, 0x01,0x01,0x01, 0xDE,0xD2,0xC5, 0xDE,0xD2,0xC5, 0xE6,0xDB,0xCE, 0x94,0x86,0x6B, 0x94,0x86,0x6B, 0xE6,0xE3,0xDE, 0xEF,0xE3,0xDE, 0x01,0x01,0x01, 0xDE,0xD7,0xCE, 0x01,0x01,0x01, 0xDE,0xD7,0xCE, 0x01,0x01,0x01, 0xDE,0xD7,0xCE, 0xDE,0xD7,0xCE, 0xE6,0xDF,0xD6, 0x94,0x86,0x6B, 0x94,0x86,0x6B, 0xE6,0xE3,0xDE, 0xEF,0xE7,0xDE, 0x01,0x01,0x01, 0xDE,0xDB,0xCE, 0x01,0x01,0x01, 0xDE,0xDB,0xCE, 0x01,0x01,0x01, 0xDE,0xDB,0xCE, 0xDE,0xDB,0xCE, 0xE6,0xE3,0xD6, 0x94,0x86,0x6B, 0x94,0x86,0x6B, 0xE6,0xE3,0xDE, 0xEF,0xE7,0xE6, 0x01,0x01,0x01, 0xE6,0xDB,0xD6, 0x01,0x01,0x01, 0xE6,0xDB,0xD6, 0x01,0x01,0x01, 0xE6,0xDB,0xD6, 0xE6,0xDB,0xD6, 0xEF,0xE3,0xDE, 0x94,0x86,0x6B, 0x94,0x86,0x6B, 0xE6,0xE3,0xDE, 0xEF,0xEB,0xE6, 0x01,0x01,0x01, 0x01,0x01,0x01, 0xE6,0xDF,0xD6, 0x01,0x01,0x01, 0xE6,0xDF,0xD6, 0xE6,0xDF,0xD6, 0xE6,0xDF,0xD6, 0xEF,0xE7,0xDE, 0x94,0x86,0x6B, 0x94,0x86,0x6B, 0xE6,0xE3,0xDE, 0xEF,0xEF,0xEF, 0xE6,0xE3,0xDE, 0xE6,0xE3,0xDE, 0xE6,0xE3,0xDE, 0xE6,0xE3,0xDE, 0xE6,0xE3,0xDE, 0xE6,0xE3,0xDE, 0xFF,0xFB,0xF7, 0xFF,0xFF,0xFF, 0x9C,0x92,0x7B, 0x94,0x86,0x6B, 0xE6,0xE3,0xDE, 0xF7,0xEF,0xEF, 0xEF,0xE7,0xDE, 0xEF,0xE7,0xDE, 0xEF,0xE7,0xDE, 0xEF,0xE7,0xDE, 0xF7,0xEF,0xE6, 0x9C,0x92,0x7B, 0x84,0x71,0x52, 0x84,0x75,0x5A, 0x7B,0x69,0x4A, 0x94,0x86,0x6B, 0xE6,0xE3,0xDE, 0xF7,0xEF,0xF7, 0xEF,0xE7,0xE6, 0xEF,0xE7,0xE6, 0xEF,0xE7,0xE6, 0xEF,0xE7,0xE6, 0xF7,0xEF,0xF7, 0x94,0x86,0x73, 0xDE,0xDB,0xD6, 0xFF,0xFF,0xFF, 0x9C,0x92,0x7B, 0x94,0x86,0x6B, 0xE6,0xE3,0xDE, 0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF, 0x9C,0x8E,0x73, 0xE6,0xE3,0xDE, 0x9C,0x96,0x7B, 0x00,0x00,0x00, 0x9C,0x92,0x7B, 0x84,0x71,0x52, 0x84,0x75,0x5A, 0x84,0x75,0x5A, 0x84,0x75,0x5A, 0x84,0x75,0x5A, 0x84,0x75,0x5A, 0x84,0x75,0x5A, 0x84,0x75,0x5A, 0x7B,0x69,0x4A, 0x00,0x00,0x00, 0x00,0x00,0x00}; //char bmpimg[16*16*3]={0x00,0x00,0x00,0x00,0x00,0x00,0x2C,0x54,0x9A,0x3E,0x74,0xC4,0x3B,0x7E,0xD9,0x39,0x84,0xE5,0x36,0x80,0xE4,0x38,0x82,0xE5,0x33,0x76,0xDA,0x2E,0x6B,0xC9,0x2D,0x5E,0xB0,0x4A,0x75,0xD0,0x44,0x72,0xD2,0x46,0x71,0xC9,0x5D,0x82,0xB9,0x00,0x00,0x00,0x00,0x00,0x00,0x0A,0x1F,0x61,0x4E,0x8B,0xDC,0x2D,0x58,0x9F,0x26,0x4F,0x92,0x03,0x0D,0x40,0x00,0x00,0x2E,0x15,0x32,0x76,0x1E,0x4B,0x93,0x27,0x5A,0xB2,0x3B,0x6C,0xCA,0x2B,0x56,0xBA,0x2F,0x59,0xB4,0x6C,0x86,0xBE,0x47,0x6A,0xB5,0x00,0x00,0x00,0x27,0x47,0x86,0x57,0x91,0xDB,0x26,0x4D,0x93,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x44,0x4D,0x35,0x30,0x32,0x35,0x30,0x31,0x33,0x2C,0x2E,0x36,0x2A,0x2C,0x4D,0x69,0xAE,0x99,0xA1,0xB4,0x8E,0x98,0xAF,0x8D,0x95,0xAA,0x74,0x8A,0xBB,0x00,0x00,0x54,0x4D,0x7B,0xBF,0x3D,0x65,0xA6,0x00,0x00,0x00,0x00,0x00,0x00,0x3B,0x34,0x37,0x21,0x1F,0x1F,0x1A,0x18,0x18,0x24,0x1F,0x1F,0x1E,0x1C,0x1C,0x1E,0x1B,0x18,0x54,0x72,0xB2,0x5D,0x81,0xCC,0x5F,0x80,0xC6,0x5E,0x80,0xC8,0x64,0x86,0xCB,0x00,0x00,0x00,0x50,0x7E,0xC1,0x46,0x6D,0xA4,0x71,0x62,0x6F,0x38,0x34,0x35,0x48,0x47,0x47,0x1B,0x1A,0x1A,0x2F,0x2F,0x2F,0x2C,0x2B,0x2B,0x20,0x1F,0x1F,0x25,0x24,0x24,0x2C,0x2C,0x2E,0x80,0x96,0xC0,0x81,0x9D,0xD4,0x86,0xA5,0xE3,0x7F,0x96,0xBF,0x00,0x00,0x00,0x57,0x87,0xC9,0x3D,0x63,0x9D,0x20,0x1D,0x1F,0x11,0x10,0x11,0x50,0x4F,0x4F,0x8D,0x8C,0x8C,0x7C,0x7C,0x7B,0xB0,0xB0,0xB0,0x62,0x62,0x62,0x9B,0x9A,0x9A,0x6D,0x6D,0x6C,0x4C,0x4B,0x4B,0x00,0x00,0x00,0x2F,0x27,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x5F,0x8B,0xC9,0x0C,0x3C,0x90,0x41,0x3E,0x3F,0x2C,0x29,0x2A,0x2C,0x2B,0x2B,0x24,0x23,0x24,0x2B,0x2A,0x2A,0x31,0x30,0x30,0x35,0x34,0x34,0x22,0x20,0x20,0x20,0x1F,0x1F,0x3B,0x3B,0x3B,0x1C,0x1B,0x1B,0x4F,0x4C,0x4E,0x00,0x00,0x00,0x00,0x00,0x00,0x5F,0x87,0xC2,0x74,0x79,0x83,0x69,0x67,0x67,0x4B,0x48,0x49,0x2E,0x2C,0x2D,0x1E,0x1D,0x1E,0xC4,0xC4,0xC5,0x10,0x0F,0x0F,0x16,0x15,0x15,0x4C,0x4C,0x4D,0xA7,0xA7,0xA7,0x1D,0x1C,0x1D,0x4E,0x4C,0x4C,0x6F,0x6C,0x6C,0x00,0x00,0x00,0x00,0x00,0x00,0x6B,0x91,0xC8,0x6B,0x71,0x7C,0x77,0x77,0x74,0x75,0x75,0x72,0x6C,0x6B,0x69,0x53,0x52,0x53,0xC0,0xC0,0xC3,0x2A,0x28,0x29,0x29,0x27,0x27,0x50,0x51,0x52,0xAA,0xAB,0xAC,0x5B,0x59,0x58,0x7B,0x7A,0x78,0x9C,0x9A,0x99,0x5A,0x4F,0x57,0x00,0x00,0x00,0x69,0x93,0xCA,0x86,0x93,0xA5,0x7D,0x7C,0x79,0x7F,0x7F,0x7E,0x7E,0x7E,0x7C,0x72,0x72,0x72,0xC8,0xC9,0xCC,0x74,0x73,0x73,0x7E,0x7D,0x7C,0x80,0x81,0x85,0xC4,0xC5,0xC8,0xA1,0xA0,0x9E,0xB3,0xB2,0xB0,0xC2,0xC1,0xBE,0x56,0x4A,0x51,0x00,0x00,0x00,0x00,0x00,0x00,0x69,0x6C,0x7A,0x7B,0x7B,0x79,0x7C,0x7C,0x7B,0x7B,0x7B,0x79,0x6F,0x6E,0x6F,0xC8,0xC8,0xCB,0x71,0x70,0x70,0x8B,0x89,0x88,0x8B,0x8D,0x91,0xCA,0xCA,0xCC,0xB0,0xAF,0xAD,0xBE,0xBD,0xBB,0xC4,0xC2,0xC1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x79,0x78,0x77,0x7A,0x78,0x79,0x63,0x63,0x64,0x56,0x57,0x5B,0xC3,0xC4,0xC7,0x64,0x64,0x67,0x86,0x86,0x87,0x94,0x96,0x9B,0xCE,0xCF,0xD2,0xBE,0xBD,0xBA,0xCA,0xC9,0xC8,0xC6,0xC3,0xC3,0x00,0x00,0x00,0x32,0x34,0x36,0x00,0x00,0x00,0x00,0x00,0x00,0x7B,0x77,0x78,0x71,0x70,0x71,0xEF,0xEF,0xF0,0xFC,0xFC,0xFC,0xFA,0xFA,0xFA,0xFC,0xFC,0xFC,0xFB,0xFB,0xFB,0x9B,0x9E,0xA3,0xD8,0xD9,0xDB,0xCC,0xCB,0xC9,0xD6,0xD4,0xD3,0xAE,0xA7,0xAB,0x00,0x00,0x00,0x38,0x3A,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x75,0x70,0x71,0x78,0x76,0x76,0x83,0x83,0x82,0x93,0x92,0x92,0xA1,0xA1,0xA0,0xAF,0xAF,0xAE,0xC2,0xC1,0xC0,0xCB,0xCA,0xC9,0xD1,0xD0,0xCE,0xB2,0xAB,0xAD,0x00,0x00,0x00,0x3D,0x41,0x45,0x42,0x46,0x4A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x85,0x7C,0x80,0xA1,0x9F,0x9E,0xAF,0xAE,0xAB,0xBC,0xBA,0xB7,0xC5,0xC3,0xC2,0xCF,0xCE,0xCC,0xCA,0xC7,0xC8,0x93,0x87,0x8C,0x00,0x00,0x00,0x5C,0x62,0x6B,0x4D,0x51,0x58,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x47,0x30,0x3B,0x99,0x93,0x94,0xA0,0x9E,0xA5,0xA4,0xAA,0xB6,0x98,0x9F,0xAD,0x80,0x8D,0xA0,0x74,0x80,0x8D,0x6A,0x73,0x7C,0x5B,0x60,0x6A,0x00,0x00,0x00,0x00,0x00,0x00}; extern unsigned char sscreen[SCREEN_WIDTH*SCREEN_HEIGHT*2]; #define SHIFTSTR 2 int chooseFile(char* path, char* initpath, char* title) { int j,i,li,s, refresh, shouldwait, t, cancelled=0, parent=0, validated=0, si=0; int touchedzone=0; char ext[5], dext[9]; initTP(); strcpy(path,initpath); char* p = strrchr(path,'/'); if(p) *(p+1)=0; dfileinfo* filenames[1024]; int fileselected=0; while(!fileselected && !cancelled) { int numfiles = dirlist(path, filenames); refresh=1; li=-1; si=0; // if(!strcmp(filenames[0],".")) // si+=2; s=si; i=s; shouldwait=0; validated=0; while (!validated && !cancelled) { parent=0; if( refresh ) { int size=320*(6*ICON_HEIGHT)*2; memcpy(getScreen(),sscreen,size); clrBufBox(getScreen(),0,6*ICON_HEIGHT,320,240-6*ICON_HEIGHT); resetConsole(0); drwBufStr(getScreen(),160,4.5*ICON_HEIGHT,title,0,1); drwBufStr(getScreen(),20,5*ICON_HEIGHT+6,path,0,1); dispBufImgRGB(getScreen(),0,5*ICON_HEIGHT,ofoldimg,16,15,1); for (j = s; j < numfiles && j-sfilename); *ext=0; if(t>=4) strcpy(ext,filenames[j]->filename+t-4); *dext=0; if(t>=4) strcpy(dext,filenames[j]->filename+t-8); if(filenames[j]->isdir) dispBufImgRGB(getScreen(),20,(j-s+6)*ICON_HEIGHT+1,cfoldimg,16,15,1); else { if( !strcmp(dext,".bmp.tns") || !strcmp(dext,".png.tns") || !strcmp(dext,".jpg.tns") || !strcmp(dext,".jpeg.tns") || !strcmp(dext,".dib.tns") || !strcmp(dext,".BMP.tns") || !strcmp(dext,".PNG.tns") || !strcmp(dext,".JPG.tns") || !strcmp(dext,".JPEG.tns") || !strcmp(dext,".DIB.tns")) dispBufImgRGB(getScreen(),22,(j-s+6)*ICON_HEIGHT+1,bmpimg,12,13,1); else dispBufImgRGB(getScreen(),22,(j-s+6)*ICON_HEIGHT+1,fileimg,12,13,1); } drwBufStr(getScreen(),40,ICON_HEIGHT*(j-s+6)+2+SHIFTSTR,filenames[j]->filename,0,0); } setCurColorRGB(0,0,0); drwBufBox(getScreen(),38,ICON_HEIGHT*(i-s+6),SCREEN_WIDTH-1,ICON_HEIGHT*(i-s+7)-1); if(s>si) putBufChar(getScreen(),0,ICON_HEIGHT*6+1,23, 0); if(s+MAX_ICONLGN-10 ) { if (isKeyPressed(KEY_NSPIRE_UP) || isKeyPressed(KEY_NSPIRE_8) || touchedzone==8) { i--; if (i < si) i = numfiles-1; } if (isKeyPressed(KEY_NSPIRE_DOWN) || isKeyPressed(KEY_NSPIRE_2) || touchedzone==2) { i++; if (i >= numfiles) i = si; } if (i!=li) { while(i=MAX_ICONLGN-2) { s+=MAX_ICONLGN-2; refresh=1; if(s>numfiles-MAX_ICONLGN+1) s=numfiles-MAX_ICONLGN+2; } if(!refresh) { setCurColorRGB(0xFF,0xFF,0xFF); if(li>=0) drwBufBox(getScreen(),38,ICON_HEIGHT*(li-s+6),SCREEN_WIDTH-1,ICON_HEIGHT*(li-s+7)-1); setCurColorRGB(0,0,0); drwBufBox(getScreen(),38,ICON_HEIGHT*(i-s+6),SCREEN_WIDTH-1,ICON_HEIGHT*(i-s+7)-1); wait(250); } li=i; } } if(isKeyPressed(KEY_NSPIRE_ESC)) cancelled=1; if((isKeyPressed(KEY_NSPIRE_LEFT) && !isKeyPressed(KEY_NSPIRE_UP) && !isKeyPressed(KEY_NSPIRE_DOWN)) || isKeyPressed(KEY_NSPIRE_4) || touchedzone==4) { parent=1; validated=1; } if((numfiles-si>0 && (isKeyPressed(KEY_NSPIRE_ENTER) || isKeyPressed(KEY_NSPIRE_RET) || isKeyPressed(KEY_NSPIRE_CLICK) || isKeyPressed(KEY_NSPIRE_5) || isKeyPressed(KEY_NSPIRE_6) || (isKeyPressed(KEY_NSPIRE_RIGHT) && !isKeyPressed(KEY_NSPIRE_UP) && !isKeyPressed(KEY_NSPIRE_DOWN)))) || touchedzone==6) validated=1; wait(10); } if(!cancelled) { char* selected = filenames[i]->filename; if(strcmp(selected,".") || parent) { if(!strcmp(selected,"..") || parent) { t=strlen(path); if(t>1) { path[t-1]=0; p = strrchr(path,'/'); if(p) *(p+1)=0; } shouldwait=1; } else { strcat(path,selected); if(!filenames[i]->isdir) fileselected=1; else { strcat(path,"/"); shouldwait=1; } } if(shouldwait) { wait(250); shouldwait=0; } } } for(i=0;i=0;i--) if(!filenames[i]->isdir) if(strcmp(filenames[i]->filename,p)<0) break; free(tmppath); if(i>=0) { strcat(path,filenames[i]->filename); return 1; } return 0; } int nextFile(char* path, char* initpath) { int i; char* tmppath=malloc(strlen(initpath)+1); strcpy(tmppath,initpath); strcpy(path,tmppath); char* p = strrchr(path,'/'); if(p) *(p+1)=0; p = strrchr(tmppath,'/'); p++; dfileinfo* filenames[1024]; int numfiles = dirlist(path, filenames); for(i=0;iisdir) if(strcmp(filenames[i]->filename,p)>0) break; free(tmppath); if(ifilename); return 1; } return 0; }