Fix dos compilation
This commit is contained in:
parent
96cfa57d1b
commit
cc73de48d6
|
@ -868,6 +868,45 @@ else ifneq (,$(findstring unix,$(platform)))
|
||||||
EXT_INTER_TARGET := $(TARGET_NAME)
|
EXT_INTER_TARGET := $(TARGET_NAME)
|
||||||
INCLUDE += -Ilibretro-common/include -Igfx/include -Ideps -Ideps/stb -Ideps/rcheevos/include -Ideps/SPIRV-Cross -Ideps/glslang -I.
|
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
|
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
|
endif
|
||||||
|
|
||||||
ifneq (,$(findstring msvc,$(platform)))
|
ifneq (,$(findstring msvc,$(platform)))
|
||||||
|
|
|
@ -125,6 +125,10 @@ EXE_PATH=${CELL_SDK}/host-win32/bin
|
||||||
GENPS3ISO_PATH=${PS3TOOLS_PATH}/ODE/genps3iso_v2.5
|
GENPS3ISO_PATH=${PS3TOOLS_PATH}/ODE/genps3iso_v2.5
|
||||||
SCETOOL_PATH=${PS3TOOLS_PATH}/scetool/scetool.exe
|
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"
|
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
|
fi
|
||||||
|
|
||||||
# Cleanup Salamander core if it exists
|
# Cleanup Salamander core if it exists
|
||||||
|
@ -302,6 +306,8 @@ for f in `ls -v *_${platform}.${EXT}`; do
|
||||||
mv -f ../retroarch_${platform}.dol ../pkg/${platform}/${name}_libretro_${platform}.dol
|
mv -f ../retroarch_${platform}.dol ../pkg/${platform}/${name}_libretro_${platform}.dol
|
||||||
elif [ $PLATFORM = "wii" ] ; then
|
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
|
elif [ $PLATFORM = "emscripten" ] ; then
|
||||||
mkdir -p ../pkg/emscripten/
|
mkdir -p ../pkg/emscripten/
|
||||||
mv -f ../${name}_libretro.js ../pkg/emscripten/${name}_libretro.js
|
mv -f ../${name}_libretro.js ../pkg/emscripten/${name}_libretro.js
|
||||||
|
|
|
@ -106,22 +106,22 @@ static void *vga_gfx_init(const video_info_t *video,
|
||||||
*input = NULL;
|
*input = NULL;
|
||||||
*input_data = NULL;
|
*input_data = NULL;
|
||||||
|
|
||||||
vga->video_width = video->width;
|
vga->vga_video_width = video->width;
|
||||||
vga->video_height = video->height;
|
vga->vga_video_height = video->height;
|
||||||
vga->rgb32 = video->rgb32;
|
vga->vga_rgb32 = video->rgb32;
|
||||||
|
|
||||||
if (video->rgb32)
|
if (video->rgb32)
|
||||||
{
|
{
|
||||||
vga->video_pitch = video->width * 4;
|
vga->vga_video_pitch = video->width * 4;
|
||||||
vga->video_bits = 32;
|
vga->vga_video_bits = 32;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
vga->video_pitch = video->width * 2;
|
vga->vga_video_pitch = video->width * 2;
|
||||||
vga->video_bits = 16;
|
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();
|
vga_gfx_create();
|
||||||
|
|
||||||
|
@ -152,32 +152,32 @@ static bool vga_gfx_frame(void *data, const void *frame,
|
||||||
menu_driver_frame(video_info);
|
menu_driver_frame(video_info);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if ( vga->video_width != frame_width ||
|
if ( vga->vga_video_width != frame_width ||
|
||||||
vga->video_height != frame_height ||
|
vga->vga_video_height != frame_height ||
|
||||||
vga->video_pitch != pitch)
|
vga->vga_video_pitch != pitch)
|
||||||
{
|
{
|
||||||
if (frame_width > 4 && frame_height > 4)
|
if (frame_width > 4 && frame_height > 4)
|
||||||
{
|
{
|
||||||
vga->video_width = frame_width;
|
vga->vga_video_width = frame_width;
|
||||||
vga->video_height = frame_height;
|
vga->vga_video_height = frame_height;
|
||||||
vga->video_pitch = pitch;
|
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;
|
frame_to_copy = vga->vga_menu_frame;
|
||||||
width = vga->menu_width;
|
width = vga->vga_menu_width;
|
||||||
height = vga->menu_height;
|
height = vga->vga_menu_height;
|
||||||
pitch = vga->menu_pitch;
|
pitch = vga->vga_menu_pitch;
|
||||||
bits = vga->menu_bits;
|
bits = vga->vga_menu_bits;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
width = vga->video_width;
|
width = vga->vga_video_width;
|
||||||
height = vga->video_height;
|
height = vga->vga_video_height;
|
||||||
pitch = vga->video_pitch;
|
pitch = vga->vga_video_pitch;
|
||||||
bits = vga->video_bits;
|
bits = vga->vga_video_bits;
|
||||||
|
|
||||||
if (frame_width == 4 && frame_height == 4 && (frame_width < width && frame_height < height))
|
if (frame_width == 4 && frame_height == 4 && (frame_width < width && frame_height < height))
|
||||||
draw = false;
|
draw = false;
|
||||||
|
@ -190,7 +190,7 @@ static bool vga_gfx_frame(void *data, const void *frame,
|
||||||
{
|
{
|
||||||
vga_vsync();
|
vga_vsync();
|
||||||
|
|
||||||
if (frame_to_copy == vga->menu_frame)
|
if (frame_to_copy == vga->vga_menu_frame)
|
||||||
dosmemput(frame_to_copy,
|
dosmemput(frame_to_copy,
|
||||||
MIN(VGA_WIDTH,width)*MIN(VGA_HEIGHT,height), 0xA0000);
|
MIN(VGA_WIDTH,width)*MIN(VGA_HEIGHT,height), 0xA0000);
|
||||||
else
|
else
|
||||||
|
@ -217,11 +217,11 @@ static bool vga_gfx_frame(void *data, const void *frame,
|
||||||
unsigned g = ((pixel & 0x07E0) >> 8);
|
unsigned g = ((pixel & 0x07E0) >> 8);
|
||||||
unsigned b = ((pixel & 0x001F) >> 3);
|
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;
|
vga_t *vga = (vga_t*)data;
|
||||||
/* TODO/FIXME - check if this is valid */
|
/* 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;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -263,13 +263,13 @@ static void vga_gfx_free(void *data)
|
||||||
if (!vga)
|
if (!vga)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (vga->frame)
|
if (vga->vga_frame)
|
||||||
free(vga->frame);
|
free(vga->vga_frame);
|
||||||
vga->frame = NULL;
|
vga->vga_frame = NULL;
|
||||||
|
|
||||||
if (vga->menu_frame)
|
if (vga->vga_menu_frame)
|
||||||
free(vga->menu_frame);
|
free(vga->vga_menu_frame);
|
||||||
vga->menu_frame = NULL;
|
vga->vga_menu_frame = NULL;
|
||||||
|
|
||||||
vga_return_to_text_mode();
|
vga_return_to_text_mode();
|
||||||
}
|
}
|
||||||
|
@ -294,18 +294,18 @@ static void vga_set_texture_frame(void *data,
|
||||||
if (rgb32)
|
if (rgb32)
|
||||||
pitch = width * 4;
|
pitch = width * 4;
|
||||||
|
|
||||||
if (vga->menu_frame)
|
if (vga->vga_menu_frame)
|
||||||
free(vga->menu_frame);
|
free(vga->vga_menu_frame);
|
||||||
vga->menu_frame = NULL;
|
vga->vga_menu_frame = NULL;
|
||||||
|
|
||||||
if ( !vga->menu_frame ||
|
if ( !vga->vga_menu_frame ||
|
||||||
vga->menu_width != width ||
|
vga->vga_menu_width != width ||
|
||||||
vga->menu_height != height ||
|
vga->vga_menu_height != height ||
|
||||||
vga->menu_pitch != pitch)
|
vga->vga_menu_pitch != pitch)
|
||||||
if (pitch && height)
|
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;
|
unsigned x, y;
|
||||||
|
|
||||||
|
@ -324,15 +324,15 @@ static void vga_set_texture_frame(void *data,
|
||||||
unsigned r = ((pixel & 0xF000) >> 13);
|
unsigned r = ((pixel & 0xF000) >> 13);
|
||||||
unsigned g = ((pixel & 0xF00) >> 9);
|
unsigned g = ((pixel & 0xF00) >> 9);
|
||||||
unsigned b = ((pixel & 0xF0) >> 6);
|
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->vga_menu_width = width;
|
||||||
vga->menu_height = height;
|
vga->vga_menu_height = height;
|
||||||
vga->menu_pitch = pitch;
|
vga->vga_menu_pitch = pitch;
|
||||||
vga->menu_bits = rgb32 ? 32 : 16;
|
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 = {
|
static const video_poke_interface_t vga_poke_interface = {
|
||||||
vga_gfx_get_flags,
|
vga_get_flags,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
|
|
|
@ -43,7 +43,7 @@ static bool dos_keyboard_port_input_pressed(
|
||||||
const struct retro_keybind *binds, unsigned id)
|
const struct retro_keybind *binds, unsigned id)
|
||||||
{
|
{
|
||||||
if (id < RARCH_BIND_LIST_END)
|
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;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue