static int load_multitouch_images() { #ifdef CONFIG_IPHONE Image* image = images_get(fourcc("mtza")); if (image == NULL) { return 0; } void* aspeedData; size_t aspeedLength = images_read(image, &aspeedData); image = images_get(fourcc("mtzm")); if(image == NULL) { return 0; } void* mainData; size_t mainLength = images_read(image, &mainData); multitouch_setup(aspeedData, aspeedLength, mainData,mainLength); free(aspeedData); free(mainData); #else Image* image = images_get(fourcc("mtz2")); if(image == NULL) { return 0; } void* imageData; size_t length = images_read(image, &imageData); multitouch_setup(imageData, length); free(imageData); #endif return 1; }
void cmd_multitouch_setup(int argc, char** argv) { if(argc < 3) { bufferPrintf("%s <constructed fw> <constructed fw len>\r\n", argv[0]); return; } uint8_t* constructedFW = (uint8_t*) parseNumber(argv[1]); uint32_t constructedFWLen = parseNumber(argv[2]); multitouch_setup(constructedFW, constructedFWLen); }
void cmd_multitouch_setup(int argc, char** argv) { if(argc < 5) { bufferPrintf("%s <a-speed fw> <a-speed fw len> <main fw> <main fw len>\r\n", argv[0]); return; } uint8_t* aspeedFW = (uint8_t*) parseNumber(argv[1]); uint32_t aspeedFWLen = parseNumber(argv[2]); uint8_t* mainFW = (uint8_t*) parseNumber(argv[3]); uint32_t mainFWLen = parseNumber(argv[4]); multitouch_setup(aspeedFW, aspeedFWLen, mainFW, mainFWLen); }
void OpenIBootStart() { setup_openiboot(); pmu_charge_settings(TRUE, FALSE, FALSE); framebuffer_setdisplaytext(TRUE); framebuffer_clear(); //enable multitouch before displaying menu, only 3g first framebuffer_setdisplaytext(FALSE); nand_setup(); fs_setup(); int size; size = fs_extract(1, "/firmware/zephyr2.bin", (void*) 0x09000000); if(size < 0) { bufferPrintf("Cannot find zephyr bin.\r\n"); return; } multitouch_setup((uint8_t*) 0x09000000, size); #ifndef SMALL #ifndef NO_STBIMAGE const char* hideMenu = nvram_getvar("opib-hide-menu"); if(hideMenu && (strcmp(hideMenu, "1") == 0 || strcmp(hideMenu, "true") == 0)) { bufferPrintf("Boot menu hidden. Use 'setenv opib-hide-menu false' and then 'saveenv' to unhide.\r\n"); } else { framebuffer_setdisplaytext(FALSE); const char* sMenuTimeout = nvram_getvar("opib-menu-timeout"); int menuTimeout = -1; if(sMenuTimeout) menuTimeout = parseNumber(sMenuTimeout); menu_setup(menuTimeout); } #endif #endif startUSB(); #ifndef CONFIG_IPOD camera_setup(); radio_setup(); #endif sdio_setup(); wlan_setup(); accel_setup(); #ifndef CONFIG_IPOD als_setup(); #endif nand_setup(); #ifndef NO_HFS fs_setup(); #endif pmu_set_iboot_stage(0); startScripting("openiboot"); //start script mode if there is a file bufferPrintf("version: %s\r\n", OPENIBOOT_VERSION_STR); bufferPrintf("-----------------------------------------------\r\n"); bufferPrintf(" WELCOME TO OPENIBOOT\r\n"); bufferPrintf("-----------------------------------------------\r\n"); DebugPrintf(" DEBUG MODE\r\n"); audiohw_postinit(); // Process command queue while(TRUE) { char* command = NULL; CommandQueue* cur; EnterCriticalSection(); if(commandQueue != NULL) { cur = commandQueue; command = cur->command; commandQueue = commandQueue->next; free(cur); } LeaveCriticalSection(); if(command) { processCommand(command); free(command); } } // should not reach here }