More portability changes, and some bugfixes found through that.
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* Main include file for the application.
|
||||
*
|
||||
* Version: @(#)86box.h 1.0.7 2017/10/21
|
||||
* Version: @(#)86box.h 1.0.8 2017/10/27
|
||||
*
|
||||
* Authors: Miran Grca, <mgrca8@gmail.com>
|
||||
* Fred N. van Kempen, <decwiz@yahoo.com>
|
||||
@@ -60,6 +60,9 @@ extern "C" {
|
||||
extern int dump_on_exit; /* (O) dump regs on exit*/
|
||||
extern int do_dump_config; /* (O) dump cfg after load */
|
||||
extern int start_in_fullscreen; /* (O) start in fullscreen */
|
||||
#ifdef USE_WX
|
||||
extern int video_fps; /* (O) render speed in fps */
|
||||
#endif
|
||||
|
||||
extern int window_w, window_h, /* (C) window size and */
|
||||
window_x, window_y, /* position info */
|
||||
|
||||
@@ -18,11 +18,6 @@
|
||||
|
||||
/* Modified for use with PCem by bit */
|
||||
|
||||
//#ifdef FREEBSD
|
||||
//# define fopen64 fopen
|
||||
//# define fseeko64 fseeko
|
||||
//# define ftello64 ftello
|
||||
//#endif
|
||||
#define _LARGEFILE_SOURCE
|
||||
#define _LARGEFILE64_SOURCE
|
||||
#ifdef WIN32
|
||||
@@ -30,6 +25,7 @@
|
||||
# define _GNU_SOURCE
|
||||
#endif
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include <cctype>
|
||||
#include <cmath>
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
* Implementation of the IDE emulation for hard disks and ATAPI
|
||||
* CD-ROM devices.
|
||||
*
|
||||
* Version: @(#)hdc_ide.c 1.0.16 2017/10/26
|
||||
* Version: @(#)hdc_ide.c 1.0.17 2017/10/27
|
||||
*
|
||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||
* Miran Grca, <mgrca8@gmail.com>
|
||||
@@ -2012,7 +2012,12 @@ void callbackide(int ide_board)
|
||||
return;
|
||||
|
||||
case WIN_SET_FEATURES:
|
||||
if ((ide->type == IDE_NONE)/* || ide_drive_is_cdrom(ide)*/)
|
||||
#if 1
|
||||
/* To avoid Clang warning. --FvK */
|
||||
if (ide->type == IDE_NONE)
|
||||
#else
|
||||
if ((ide->type == IDE_NONE) || ide_drive_is_cdrom(ide))
|
||||
#endif
|
||||
{
|
||||
goto abort_cmd;
|
||||
}
|
||||
|
||||
@@ -64,6 +64,7 @@ typedef unsigned long ioctlsockopt_t;
|
||||
# define HAVE_STDLIB_H
|
||||
# define HAVE_STRING_H
|
||||
# define HAVE_UNISTD_H
|
||||
# define HAVE_INET_ATON
|
||||
typedef uint8_t u_int8_t;
|
||||
typedef uint16_t u_int16_t;
|
||||
typedef uint32_t u_int32_t;
|
||||
|
||||
17
src/pc.c
17
src/pc.c
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* Main emulator module where most things are controlled.
|
||||
*
|
||||
* Version: @(#)pc.c 1.0.34 2017/10/25
|
||||
* Version: @(#)pc.c 1.0.35 2017/10/27
|
||||
*
|
||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||
* Miran Grca, <mgrca8@gmail.com>
|
||||
@@ -81,6 +81,9 @@
|
||||
int dump_on_exit = 0; /* (O) dump regs on exit */
|
||||
int do_dump_config = 0; /* (O) dump config on load */
|
||||
int start_in_fullscreen = 0; /* (O) start in fullscreen */
|
||||
#ifdef USE_WX
|
||||
int video_fps = RENDER_FPS; /* (O) render speed in fps */
|
||||
#endif
|
||||
|
||||
/* Configuration values. */
|
||||
int window_w, window_h, /* (C) window size and */
|
||||
@@ -318,6 +321,9 @@ usage:
|
||||
printf("-D or --dump - dump memory on exit\n");
|
||||
printf("-F or --fullscreen - start in fullscreen mode\n");
|
||||
printf("-P or --vmpath path - set 'path' to be root for vm\n");
|
||||
#ifdef USE_WX
|
||||
printf("-R or --fps num - set render speed to 'num' fps\n");
|
||||
#endif
|
||||
printf("\nA config file can be specified. If none is, the default file will be used.\n");
|
||||
return(0);
|
||||
} else if (!wcscasecmp(argv[c], L"--dumpcfg") ||
|
||||
@@ -331,9 +337,16 @@ usage:
|
||||
start_in_fullscreen = 1;
|
||||
} else if (!wcscasecmp(argv[c], L"--vmpath") ||
|
||||
!wcscasecmp(argv[c], L"-P")) {
|
||||
if ((c+1) == argc) break;
|
||||
if ((c+1) == argc) goto usage;
|
||||
|
||||
wcscpy(cfg_path, argv[++c]);
|
||||
#ifdef USE_WX
|
||||
} else if (!wcscasecmp(argv[c], L"--fps") ||
|
||||
!wcscasecmp(argv[c], L"-R")) {
|
||||
if ((c+1) == argc) goto usage;
|
||||
|
||||
video_fps = wcstol(argv[++c], NULL, 10);
|
||||
#endif
|
||||
} else if (!wcscasecmp(argv[c], L"--test")) {
|
||||
/* some (undocumented) test function here.. */
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* Define the various platform support functions.
|
||||
*
|
||||
* Version: @(#)plat.h 1.0.14 2017/10/24
|
||||
* Version: @(#)plat.h 1.0.15 2017/10/27
|
||||
*
|
||||
* Authors: Miran Grca, <mgrca8@gmail.com>
|
||||
* Fred N. van Kempen, <decwiz@yahoo.com>
|
||||
@@ -24,6 +24,11 @@
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef WIN32
|
||||
# define RENDER_FPS 70 /* default render speed */
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef FREEBSD
|
||||
/* FreeBSD has largefile by default. */
|
||||
# define fopen64 fopen
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
* 1 - BT-545S ISA;
|
||||
* 2 - BT-958D PCI
|
||||
*
|
||||
* Version: @(#)scsi_buslogic.c 1.0.26 2017/10/22
|
||||
* Version: @(#)scsi_buslogic.c 1.0.27 2017/10/27
|
||||
*
|
||||
* Authors: TheCollector1995, <mariogplayer@gmail.com>
|
||||
* Miran Grca, <mgrca8@gmail.com>
|
||||
@@ -673,7 +673,7 @@ buslogic_cmds(void *p)
|
||||
|
||||
FILE *f;
|
||||
uint16_t TargetsPresentMask = 0;
|
||||
uint8_t Offset;
|
||||
uint32_t Offset;
|
||||
int i = 0;
|
||||
int j = 0;
|
||||
MailboxInitExtended_t *MailboxInitE;
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
* of SCSI Host Adapters made by Mylex.
|
||||
* These controllers were designed for various buses.
|
||||
*
|
||||
* Version: @(#)scsi_x54x.h 1.0.2 2017/10/22
|
||||
* Version: @(#)scsi_x54x.h 1.0.3 2017/10/27
|
||||
*
|
||||
* Authors: TheCollector1995, <mariogplayer@gmail.com>
|
||||
* Miran Grca, <mgrca8@gmail.com>
|
||||
@@ -368,7 +368,7 @@ typedef struct {
|
||||
uint8_t Command;
|
||||
uint8_t CmdBuf[128];
|
||||
uint8_t CmdParam;
|
||||
uint8_t CmdParamLeft;
|
||||
uint32_t CmdParamLeft;
|
||||
uint8_t DataBuf[65536];
|
||||
uint16_t DataReply;
|
||||
uint16_t DataReplyLeft;
|
||||
|
||||
@@ -316,6 +316,7 @@ static inline int16_t EMU8K_READ(emu8k_t *emu8k, uint32_t addr)
|
||||
return emu8k->ram_pointers[addrmem.hb_address][addrmem.lw_address];
|
||||
}
|
||||
|
||||
#if NOTUSED
|
||||
static inline int16_t EMU8K_READ_INTERP_LINEAR(emu8k_t *emu8k, uint32_t int_addr, uint16_t fract)
|
||||
{
|
||||
/* The interpolation in AWE32 used a so-called patented 3-point interpolation
|
||||
@@ -328,6 +329,7 @@ static inline int16_t EMU8K_READ_INTERP_LINEAR(emu8k_t *emu8k, uint32_t int_addr
|
||||
dat1 += ((dat2-(int32_t)dat1)* fract) >> 16;
|
||||
return dat1;
|
||||
}
|
||||
#endif
|
||||
|
||||
static inline int32_t EMU8K_READ_INTERP_CUBIC(emu8k_t *emu8k, uint32_t int_addr, uint16_t fract)
|
||||
{
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
* W = 3 bus clocks
|
||||
* L = 4 bus clocks
|
||||
*
|
||||
* Version: @(#)video.c 1.0.5 2017/10/22
|
||||
* Version: @(#)video.c 1.0.6 2017/10/27
|
||||
*
|
||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||
* Miran Grca, <mgrca8@gmail.com>
|
||||
@@ -200,7 +200,9 @@ void blit_thread(void *param)
|
||||
thread_wait_event(blit_data.wake_blit_thread, -1);
|
||||
thread_reset_event(blit_data.wake_blit_thread);
|
||||
|
||||
blit_func(blit_data.x, blit_data.y, blit_data.y1, blit_data.y2, blit_data.w, blit_data.h);
|
||||
blit_func(blit_data.x, blit_data.y,
|
||||
blit_data.y1, blit_data.y2,
|
||||
blit_data.w, blit_data.h);
|
||||
|
||||
blit_data.busy = 0;
|
||||
thread_set_event(blit_data.blit_complete);
|
||||
@@ -529,7 +531,7 @@ video_init(void)
|
||||
#endif
|
||||
for (c = 0; c < 65536; c++)
|
||||
video_16to32[c] = calc_16to32(c);
|
||||
|
||||
|
||||
blit_data.wake_blit_thread = thread_create_event();
|
||||
blit_data.blit_complete = thread_create_event();
|
||||
blit_data.buffer_not_in_use = thread_create_event();
|
||||
|
||||
Reference in New Issue
Block a user