diff --git a/Makefile.griffin b/Makefile.griffin index 62cab16a8f..8638508d4c 100644 --- a/Makefile.griffin +++ b/Makefile.griffin @@ -868,6 +868,45 @@ else ifneq (,$(findstring unix,$(platform))) EXT_INTER_TARGET := $(TARGET_NAME) INCLUDE += -Ilibretro-common/include -Igfx/include -Ideps -Ideps/stb -Ideps/rcheevos/include -Ideps/SPIRV-Cross -Ideps/glslang -I. LIBS += -ldl -lm -lpthread -lGL -ludev -lpulse -lX11 -lX11-xcb -lXxf86vm +else ifeq (dos,$(platform)) + HAVE_AUDIOMIXER := 1 + HAVE_RPNG := 1 + HAVE_RJPEG := 1 + HAVE_RBMP := 1 + HAVE_RTGA := 1 + HAVE_ZLIB := 1 + HAVE_7ZIP := 1 + HAVE_NETWORKING := 0 + HAVE_NETWORK_CMD := 0 + HAVE_NETPLAYDISCOVERY := 0 + HAVE_OVERLAY := 1 + HAVE_VIDEO_LAYOUT := 0 + HAVE_MATERIALUI := 1 + HAVE_XMB := 1 + HAVE_STB_FONT := 1 + HAVE_THREADS := 0 + HAVE_LIBRETRODB := 1 + HAVE_COMMAND := 1 + HAVE_STDIN_CMD := 1 + HAVE_CMD := 1 + HAVE_DYLIB := 0 + HAVE_DYNAMIC := 0 + HAVE_GRIFFIN_CPP := 0 + WANT_GLSLANG := 0 + HAVE_CONFIGFILE := 1 + CC=i586-pc-msdosdjgpp-gcc + CXX=i586-pc-msdosdjgpp-g++ + + ifeq ($(DEBUG), 1) + LDFLAGS += -g + 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 + EXT_TARGET := $(TARGET_NAME)_dos.exe + EXT_INTER_TARGET := $(TARGET_NAME)_dos.exe + INCLUDE += -Ilibretro-common/include -Igfx/include -Ideps -Ideps/stb -Ideps/SPIRV-Cross -Ideps/glslang -I. + LIBS += -lm + LIBDIRS += -L. endif ifneq (,$(findstring msvc,$(platform))) diff --git a/dist-scripts/dist-cores.sh b/dist-scripts/dist-cores.sh index a120bad14b..4001d0b530 100755 --- a/dist-scripts/dist-cores.sh +++ b/dist-scripts/dist-cores.sh @@ -125,6 +125,10 @@ EXE_PATH=${CELL_SDK}/host-win32/bin GENPS3ISO_PATH=${PS3TOOLS_PATH}/ODE/genps3iso_v2.5 SCETOOL_PATH=${PS3TOOLS_PATH}/scetool/scetool.exe SCETOOL_FLAGS_ODE="--sce-type=SELF --compress-data=TRUE --self-type=APP --key-revision=04 --self-fw-version=0003004100000000 --self-app-version=0001000000000000 --self-auth-id=1010000001000003 --self-vendor-id=01000002 --self-cap-flags=00000000000000000000000000000000000000000000003b0000000100040000 --encrypt" +elif [ $PLATFORM = "dos" ]; then + platform=dos + MAKEFILE_GRIFFIN=yes + EXT=a fi # Cleanup Salamander core if it exists @@ -301,7 +305,9 @@ for f in `ls -v *_${platform}.${EXT}`; do elif [ $PLATFORM = "ngc" ] ; then mv -f ../retroarch_${platform}.dol ../pkg/${platform}/${name}_libretro_${platform}.dol elif [ $PLATFORM = "wii" ] ; then - mv -f ../retroarch_${platform}.dol ../pkg/${platform}/${name}_libretro_${platform}.dol + mv -f ../retroarch_${platform}.dol ../pkg/${platform}/${name}_libretro_${platform}.dol + elif [ $PLATFORM = "dos" ] ; then + mv -f ../retroarch_${platform}.exe ../pkg/${platform}/${name}_libretro_${platform}.exe elif [ $PLATFORM = "emscripten" ] ; then mkdir -p ../pkg/emscripten/ mv -f ../${name}_libretro.js ../pkg/emscripten/${name}_libretro.js diff --git a/gfx/drivers/vga_gfx.c b/gfx/drivers/vga_gfx.c index 3299512ceb..f59fe49e54 100644 --- a/gfx/drivers/vga_gfx.c +++ b/gfx/drivers/vga_gfx.c @@ -106,22 +106,22 @@ static void *vga_gfx_init(const video_info_t *video, *input = NULL; *input_data = NULL; - vga->video_width = video->width; - vga->video_height = video->height; - vga->rgb32 = video->rgb32; + vga->vga_video_width = video->width; + vga->vga_video_height = video->height; + vga->vga_rgb32 = video->rgb32; if (video->rgb32) { - vga->video_pitch = video->width * 4; - vga->video_bits = 32; + vga->vga_video_pitch = video->width * 4; + vga->vga_video_bits = 32; } else { - vga->video_pitch = video->width * 2; - vga->video_bits = 16; + vga->vga_video_pitch = video->width * 2; + vga->vga_video_bits = 16; } - vga->frame = (unsigned char*)malloc(VGA_WIDTH * VGA_HEIGHT); + vga->vga_frame = (unsigned char*)malloc(VGA_WIDTH * VGA_HEIGHT); vga_gfx_create(); @@ -152,32 +152,32 @@ static bool vga_gfx_frame(void *data, const void *frame, menu_driver_frame(video_info); #endif - if ( vga->video_width != frame_width || - vga->video_height != frame_height || - vga->video_pitch != pitch) + if ( vga->vga_video_width != frame_width || + vga->vga_video_height != frame_height || + vga->vga_video_pitch != pitch) { if (frame_width > 4 && frame_height > 4) { - vga->video_width = frame_width; - vga->video_height = frame_height; - vga->video_pitch = pitch; + vga->vga_video_width = frame_width; + vga->vga_video_height = frame_height; + vga->vga_video_pitch = pitch; } } - if (vga->menu_frame && video_info->menu_is_alive) + if (vga->vga_menu_frame && video_info->menu_is_alive) { - frame_to_copy = vga->menu_frame; - width = vga->menu_width; - height = vga->menu_height; - pitch = vga->menu_pitch; - bits = vga->menu_bits; + frame_to_copy = vga->vga_menu_frame; + width = vga->vga_menu_width; + height = vga->vga_menu_height; + pitch = vga->vga_menu_pitch; + bits = vga->vga_menu_bits; } else { - width = vga->video_width; - height = vga->video_height; - pitch = vga->video_pitch; - bits = vga->video_bits; + width = vga->vga_video_width; + height = vga->vga_video_height; + pitch = vga->vga_video_pitch; + bits = vga->vga_video_bits; if (frame_width == 4 && frame_height == 4 && (frame_width < width && frame_height < height)) draw = false; @@ -190,7 +190,7 @@ static bool vga_gfx_frame(void *data, const void *frame, { vga_vsync(); - if (frame_to_copy == vga->menu_frame) + if (frame_to_copy == vga->vga_menu_frame) dosmemput(frame_to_copy, MIN(VGA_WIDTH,width)*MIN(VGA_HEIGHT,height), 0xA0000); else @@ -217,11 +217,11 @@ static bool vga_gfx_frame(void *data, const void *frame, unsigned g = ((pixel & 0x07E0) >> 8); unsigned b = ((pixel & 0x001F) >> 3); - vga->frame[VGA_WIDTH * y + x] = (b << 6) | (g << 3) | r; + vga->vga_frame[VGA_WIDTH * y + x] = (b << 6) | (g << 3) | r; } } - dosmemput(vga->frame, VGA_WIDTH*VGA_HEIGHT, 0xA0000); + dosmemput(vga->vga_frame, VGA_WIDTH*VGA_HEIGHT, 0xA0000); } } } @@ -239,7 +239,7 @@ static bool vga_gfx_alive(void *data) { vga_t *vga = (vga_t*)data; /* TODO/FIXME - check if this is valid */ - video_driver_set_size(vga->video_width, vga->video_height); + video_driver_set_size(vga->vga_video_width, vga->vga_video_height); return true; } @@ -263,13 +263,13 @@ static void vga_gfx_free(void *data) if (!vga) return; - if (vga->frame) - free(vga->frame); - vga->frame = NULL; + if (vga->vga_frame) + free(vga->vga_frame); + vga->vga_frame = NULL; - if (vga->menu_frame) - free(vga->menu_frame); - vga->menu_frame = NULL; + if (vga->vga_menu_frame) + free(vga->vga_menu_frame); + vga->vga_menu_frame = NULL; vga_return_to_text_mode(); } @@ -294,18 +294,18 @@ static void vga_set_texture_frame(void *data, if (rgb32) pitch = width * 4; - if (vga->menu_frame) - free(vga->menu_frame); - vga->menu_frame = NULL; + if (vga->vga_menu_frame) + free(vga->vga_menu_frame); + vga->vga_menu_frame = NULL; - if ( !vga->menu_frame || - vga->menu_width != width || - vga->menu_height != height || - vga->menu_pitch != pitch) + if ( !vga->vga_menu_frame || + vga->vga_menu_width != width || + vga->vga_menu_height != height || + vga->vga_menu_pitch != pitch) if (pitch && height) - vga->menu_frame = (unsigned char*)malloc(VGA_WIDTH * VGA_HEIGHT); + vga->vga_menu_frame = (unsigned char*)malloc(VGA_WIDTH * VGA_HEIGHT); - if (vga->menu_frame && frame && pitch && height) + if (vga->vga_menu_frame && frame && pitch && height) { unsigned x, y; @@ -324,15 +324,15 @@ static void vga_set_texture_frame(void *data, unsigned r = ((pixel & 0xF000) >> 13); unsigned g = ((pixel & 0xF00) >> 9); unsigned b = ((pixel & 0xF0) >> 6); - vga->menu_frame[VGA_WIDTH * y + x] = (b << 6) | (g << 3) | r; + vga->vga_menu_frame[VGA_WIDTH * y + x] = (b << 6) | (g << 3) | r; } } } - vga->menu_width = width; - vga->menu_height = height; - vga->menu_pitch = pitch; - vga->menu_bits = rgb32 ? 32 : 16; + vga->vga_menu_width = width; + vga->vga_menu_height = height; + vga->vga_menu_pitch = pitch; + vga->vga_menu_bits = rgb32 ? 32 : 16; } } @@ -344,7 +344,7 @@ static uint32_t vga_get_flags(void *data) } static const video_poke_interface_t vga_poke_interface = { - vga_gfx_get_flags, + vga_get_flags, NULL, NULL, NULL, diff --git a/input/drivers/dos_input.c b/input/drivers/dos_input.c index 7877ddc424..3f55cc7d41 100644 --- a/input/drivers/dos_input.c +++ b/input/drivers/dos_input.c @@ -43,7 +43,7 @@ static bool dos_keyboard_port_input_pressed( const struct retro_keybind *binds, unsigned id) { if (id < RARCH_BIND_LIST_END) - return dos_key_state[DOS_KEYBOARD_PORT][rarch_keysym_lut[&binds[id].key]]; + return dos_key_state[DOS_KEYBOARD_PORT][rarch_keysym_lut[binds[id].key]]; return false; }