dos fixes
This commit is contained in:
parent
7b351da006
commit
67c3c93aec
|
@ -882,7 +882,7 @@ else ifeq (dos,$(platform))
|
||||||
HAVE_OVERLAY := 1
|
HAVE_OVERLAY := 1
|
||||||
HAVE_VIDEO_LAYOUT := 0
|
HAVE_VIDEO_LAYOUT := 0
|
||||||
HAVE_MATERIALUI := 1
|
HAVE_MATERIALUI := 1
|
||||||
HAVE_XMB := 1
|
HAVE_XMB := 0
|
||||||
HAVE_STB_FONT := 1
|
HAVE_STB_FONT := 1
|
||||||
HAVE_THREADS := 0
|
HAVE_THREADS := 0
|
||||||
HAVE_LIBRETRODB := 1
|
HAVE_LIBRETRODB := 1
|
||||||
|
@ -901,9 +901,10 @@ else ifeq (dos,$(platform))
|
||||||
LDFLAGS += -g
|
LDFLAGS += -g
|
||||||
endif
|
endif
|
||||||
|
|
||||||
PLATCFLAGS += -DHAVE_SHADERPIPELINE -DHAVE_OZONE -DHAVE_CC_RESAMPLER -DRC_DISABLE_LUA -DHAVE_FBO -DHAVE_GL_SYNC -DHAVE_IMAGEVIEWER -DHAVE_LANGEXTRA -DHAVE_RUNAHEAD -DHAVE_GFX_WIDGETS -DHAVE_CONFIGFILE -DHAVE_SPIRV_CROSS -DHAVE_STB_FONT -DHAVE_ONLINE_UPDATER -DHAVE_UPDATE_ASSETS -DHAVE_UPDATE_CORES -DHAVE_XMB -DRARCH_INTERNAL -DHAVE_XCB -DRARCH_MOBILE
|
PLATCFLAGS += -DHAVE_SHADERPIPELINE -DHAVE_CC_RESAMPLER -DRC_DISABLE_LUA -DHAVE_FBO -DHAVE_IMAGEVIEWER -DHAVE_LANGEXTRA -DHAVE_GFX_WIDGETS -DHAVE_CONFIGFILE -DHAVE_SPIRV_CROSS -DHAVE_STB_FONT -DRARCH_INTERNAL -DHAVE_XCB
|
||||||
EXT_TARGET := $(TARGET_NAME)_dos.exe
|
TARGET_NAME := retrodos
|
||||||
EXT_INTER_TARGET := $(TARGET_NAME)_dos.exe
|
EXT_TARGET := $(TARGET_NAME).exe
|
||||||
|
EXT_INTER_TARGET := $(TARGET_NAME).exe
|
||||||
INCLUDE += -Ilibretro-common/include -Igfx/include -Ideps -Ideps/stb -Ideps/SPIRV-Cross -Ideps/glslang -I.
|
INCLUDE += -Ilibretro-common/include -Igfx/include -Ideps -Ideps/stb -Ideps/SPIRV-Cross -Ideps/glslang -I.
|
||||||
LIBS += -lm
|
LIBS += -lm
|
||||||
LIBDIRS += -L.
|
LIBDIRS += -L.
|
||||||
|
|
|
@ -42,6 +42,63 @@ enum frontend_architecture frontend_dos_get_architecture(void)
|
||||||
static void frontend_dos_get_env_settings(int *argc, char *argv[],
|
static void frontend_dos_get_env_settings(int *argc, char *argv[],
|
||||||
void *data, void *params_data)
|
void *data, void *params_data)
|
||||||
{
|
{
|
||||||
|
char base_path[PATH_MAX] = {0};
|
||||||
|
int i;
|
||||||
|
|
||||||
|
retro_main_log_file_init("retrodos.txt", false);
|
||||||
|
|
||||||
|
strlcpy(base_path, "retrodos", sizeof(base_path));
|
||||||
|
|
||||||
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE], base_path,
|
||||||
|
"cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
|
||||||
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], base_path,
|
||||||
|
"cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
|
||||||
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG], base_path,
|
||||||
|
"autoconf", sizeof(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG]));
|
||||||
|
|
||||||
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS], base_path,
|
||||||
|
"assets", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS]));
|
||||||
|
|
||||||
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_MENU_CONFIG], base_path,
|
||||||
|
"config", sizeof(g_defaults.dirs[DEFAULT_DIR_MENU_CONFIG]));
|
||||||
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_REMAP],
|
||||||
|
g_defaults.dirs[DEFAULT_DIR_MENU_CONFIG],
|
||||||
|
"remaps", sizeof(g_defaults.dirs[DEFAULT_DIR_REMAP]));
|
||||||
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_PLAYLIST], base_path,
|
||||||
|
"playlist", sizeof(g_defaults.dirs[DEFAULT_DIR_PLAYLIST]));
|
||||||
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_RECORD_CONFIG], base_path,
|
||||||
|
"recrdcfg", sizeof(g_defaults.dirs[DEFAULT_DIR_RECORD_CONFIG]));
|
||||||
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_RECORD_OUTPUT], base_path,
|
||||||
|
"records", sizeof(g_defaults.dirs[DEFAULT_DIR_RECORD_OUTPUT]));
|
||||||
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CURSOR], base_path,
|
||||||
|
"database/cursors", sizeof(g_defaults.dirs[DEFAULT_DIR_CURSOR]));
|
||||||
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_DATABASE], base_path,
|
||||||
|
"database/rdb", sizeof(g_defaults.dirs[DEFAULT_DIR_DATABASE]));
|
||||||
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SHADER], base_path,
|
||||||
|
"shaders", sizeof(g_defaults.dirs[DEFAULT_DIR_SHADER]));
|
||||||
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CHEATS], base_path,
|
||||||
|
"cheats", sizeof(g_defaults.dirs[DEFAULT_DIR_CHEATS]));
|
||||||
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OVERLAY], base_path,
|
||||||
|
"overlay", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY]));
|
||||||
|
#ifdef HAVE_VIDEO_LAYOUT
|
||||||
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_LAYOUT], base_path,
|
||||||
|
"layouts", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_LAYOUT]));
|
||||||
|
#endif
|
||||||
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_ASSETS], base_path,
|
||||||
|
"download", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_ASSETS]));
|
||||||
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SCREENSHOT], base_path,
|
||||||
|
"scrnshot", sizeof(g_defaults.dirs[DEFAULT_DIR_SCREENSHOT]));
|
||||||
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_THUMBNAILS], base_path,
|
||||||
|
"thumbs", sizeof(g_defaults.dirs[DEFAULT_DIR_THUMBNAILS]));
|
||||||
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_LOGS], base_path,
|
||||||
|
"logs", sizeof(g_defaults.dirs[DEFAULT_DIR_LOGS]));
|
||||||
|
|
||||||
|
for (i = 0; i < DEFAULT_DIR_LAST; i++)
|
||||||
|
{
|
||||||
|
const char *dir_path = g_defaults.dirs[i];
|
||||||
|
if (!string_is_empty(dir_path))
|
||||||
|
path_mkdir(dir_path);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
frontend_ctx_driver_t frontend_ctx_dos = {
|
frontend_ctx_driver_t frontend_ctx_dos = {
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
|
|
||||||
static void vga_set_mode_13h(void)
|
static void vga_set_mode_13h(void)
|
||||||
{
|
{
|
||||||
__dpmi_regs r;
|
__dpmi_regs r = {0};
|
||||||
|
|
||||||
r.x.ax = 0x13;
|
r.x.ax = 0x13;
|
||||||
__dpmi_int(0x10, &r);
|
__dpmi_int(0x10, &r);
|
||||||
|
@ -41,7 +41,7 @@ static void vga_set_mode_13h(void)
|
||||||
|
|
||||||
static void vga_return_to_text_mode(void)
|
static void vga_return_to_text_mode(void)
|
||||||
{
|
{
|
||||||
__dpmi_regs r;
|
__dpmi_regs r = {0};
|
||||||
|
|
||||||
r.x.ax = 3;
|
r.x.ax = 3;
|
||||||
__dpmi_int(0x10, &r);
|
__dpmi_int(0x10, &r);
|
||||||
|
|
|
@ -68,7 +68,7 @@ extern int nanosleep(const struct timespec *rqtp, struct timespec *rmtp);
|
||||||
|
|
||||||
static int nanosleepDOS(const struct timespec *rqtp, struct timespec *rmtp)
|
static int nanosleepDOS(const struct timespec *rqtp, struct timespec *rmtp)
|
||||||
{
|
{
|
||||||
usleep(1000000 * rqtp->tv_sec + rqtp->tv_nsec / 1000);
|
usleep(1000000L * rqtp->tv_sec + rqtp->tv_nsec / 1000);
|
||||||
|
|
||||||
if (rmtp)
|
if (rmtp)
|
||||||
rmtp->tv_sec = rmtp->tv_nsec=0;
|
rmtp->tv_sec = rmtp->tv_nsec=0;
|
||||||
|
|
Loading…
Reference in New Issue