+// --------- loading ROM screen ----------\r
+\r
+static void load_progress_cb(int percent)\r
+{\r
+ int ln, len = percent * 320 / 100;\r
+ unsigned char *dst = (unsigned char *)gp2x_screen + 320*20;\r
+\r
+ if (len > 320) len = 320;\r
+ for (ln = 10; ln > 0; ln--, dst += 320)\r
+ memset(dst, 0xf0, len);\r
+ gp2x_video_flip2();\r
+}\r
+\r
+void menu_romload_prepare(const char *rom_name)\r
+{\r
+ const char *p = rom_name + strlen(rom_name);\r
+ while (p > rom_name && *p != '/') p--;\r
+\r
+ gp2x_pd_clone_buffer2();\r
+ gp2x_smalltext8(1, 1, "Loading");\r
+ gp2x_smalltext8_lim(1, 10, p, 53);\r
+ gp2x_memcpy_buffers(3, gp2x_screen, 0, 320*240);\r
+ gp2x_video_flip2();\r
+ PicoCartLoadProgressCB = load_progress_cb;\r
+}\r
+\r
+void menu_romload_end(void)\r
+{\r
+ PicoCartLoadProgressCB = NULL;\r
+ gp2x_smalltext8(1, 30, "Starting emulation...");\r
+ gp2x_video_flip2();\r
+}\r
+\r