mirror of
https://github.com/david-schmidt/gsport.git
synced 2025-08-15 09:27:35 +00:00
Fix Win32 TFE build, add OS/2 ifdefs just in case...
This commit is contained in:
10
src/Makefile
10
src/Makefile
@@ -2,10 +2,7 @@
|
|||||||
|
|
||||||
OBJECTS1 = adb.o clock.o config.o dis.o engine_c.o scc.o iwm.o \
|
OBJECTS1 = adb.o clock.o config.o dis.o engine_c.o scc.o iwm.o \
|
||||||
joystick_driver.o moremem.o paddles.o sim65816.o smartport.o \
|
joystick_driver.o moremem.o paddles.o sim65816.o smartport.o \
|
||||||
sound.o sound_driver.o video.o scc_socket_driver.o scc_windriver.o \
|
sound.o sound_driver.o video.o scc_socket_driver.o
|
||||||
scc_macdriver.o
|
|
||||||
|
|
||||||
OBJECTS2 = tfe/tfe.o tfe/tfearch.o tfe/tfesupp.o tfe/uilib.o
|
|
||||||
|
|
||||||
include vars
|
include vars
|
||||||
|
|
||||||
@@ -18,6 +15,9 @@ PERL = perl
|
|||||||
|
|
||||||
all: $(TARGET)
|
all: $(TARGET)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm $(OBJECTS)
|
||||||
|
|
||||||
specials: 8inst_s 16inst_s 8size 16size 8inst_c 16inst_c size_c size_s
|
specials: 8inst_s 16inst_s 8size 16size 8inst_c 16inst_c size_c size_s
|
||||||
|
|
||||||
specials_clean:
|
specials_clean:
|
||||||
@@ -133,7 +133,7 @@ sound.o: sound.c defc.h defcomm.h iwm.h protos.h sound.h
|
|||||||
sound_driver.o: sound_driver.c defc.h defcomm.h iwm.h protos.h sound.h
|
sound_driver.o: sound_driver.c defc.h defcomm.h iwm.h protos.h sound.h
|
||||||
video.o: video.c defc.h defcomm.h iwm.h protos.h superhires.h kegsfont.h
|
video.o: video.c defc.h defcomm.h iwm.h protos.h superhires.h kegsfont.h
|
||||||
tfe.o: tfe/tfe.c tfe/tfe.h tfe/tfe_protos.h
|
tfe.o: tfe/tfe.c tfe/tfe.h tfe/tfe_protos.h
|
||||||
tfearch.o: tfe/tfearch.c tfe/tfearch.h tfe/tfe_protos.h
|
tfearch.o:arch/win32/tfearch.c tfe/tfearch.h tfe/tfe_protos.h
|
||||||
tfesupp.o: tfe/tfesupp.c tfe/tfesupp.h tfe/tfe_protos.h
|
tfesupp.o: tfe/tfesupp.c tfe/tfesupp.h tfe/tfe_protos.h
|
||||||
uilib.o: tfe/uilib.c tfe/uilib.h tfe/tfe_protos.h
|
uilib.o: tfe/uilib.c tfe/uilib.h tfe/tfe_protos.h
|
||||||
macdriver.o: macdriver.c defc.h defcomm.h iwm.h protos.h protos_macdriver.h
|
macdriver.o: macdriver.c defc.h defcomm.h iwm.h protos.h protos_macdriver.h
|
||||||
|
@@ -37,13 +37,8 @@
|
|||||||
#ifndef lib_pcap_h
|
#ifndef lib_pcap_h
|
||||||
#define lib_pcap_h
|
#define lib_pcap_h
|
||||||
|
|
||||||
#ifdef WIN32
|
|
||||||
/* RGJ Changed it to "pcap-stdinc.h" for AppleWin */
|
|
||||||
#include "pcap-stdinc.h"
|
|
||||||
#else /* WIN32 */
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
#endif /* WIN32 */
|
|
||||||
|
|
||||||
/* RGJ Changed it to "bpf.h" for AppleWin */
|
/* RGJ Changed it to "bpf.h" for AppleWin */
|
||||||
#include "bpf.h"
|
#include "bpf.h"
|
||||||
|
@@ -28,6 +28,11 @@
|
|||||||
|
|
||||||
/* #define WPCAP */
|
/* #define WPCAP */
|
||||||
|
|
||||||
|
#define WIN32_LEAN_AND_MEAN /* Tell windows we want less header gunk */
|
||||||
|
#define STRICT /* Tell Windows we want compile type checks */
|
||||||
|
#include <windows.h>
|
||||||
|
|
||||||
|
|
||||||
#include "pcap.h"
|
#include "pcap.h"
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
@@ -71,7 +71,7 @@ void U_STACK_TRACE();
|
|||||||
# include <libc.h>
|
# include <libc.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef _WIN32
|
#if !defined(_WIN32) && !defined (__OS2__)
|
||||||
# include <unistd.h>
|
# include <unistd.h>
|
||||||
# include <sys/ioctl.h>
|
# include <sys/ioctl.h>
|
||||||
# include <sys/wait.h>
|
# include <sys/wait.h>
|
||||||
|
@@ -676,7 +676,7 @@ read_line(char *buf, int len)
|
|||||||
{
|
{
|
||||||
int space_left;
|
int space_left;
|
||||||
int ret;
|
int ret;
|
||||||
#ifndef _WIN32
|
#if !defined(_WIN32) && !defined (__OS2__)
|
||||||
int flags, flags_save;
|
int flags, flags_save;
|
||||||
|
|
||||||
/* Unix */
|
/* Unix */
|
||||||
@@ -697,6 +697,8 @@ read_line(char *buf, int len)
|
|||||||
while(space_left > 0) {
|
while(space_left > 0) {
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
ret = win_nonblock_read_stdin(0, buf, 1);
|
ret = win_nonblock_read_stdin(0, buf, 1);
|
||||||
|
#elif defined(__OS2__)
|
||||||
|
|
||||||
#else
|
#else
|
||||||
/* Unix */
|
/* Unix */
|
||||||
ret = read(0, buf, 1);
|
ret = read(0, buf, 1);
|
||||||
@@ -722,7 +724,7 @@ read_line(char *buf, int len)
|
|||||||
}
|
}
|
||||||
buf = &buf[ret];
|
buf = &buf[ret];
|
||||||
}
|
}
|
||||||
#ifndef _WIN32
|
#if !defined(_WIN32) && !defined (__OS2__)
|
||||||
(void)fcntl(0, F_SETFL, flags_save);
|
(void)fcntl(0, F_SETFL, flags_save);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
166
src/os2driver.c
Normal file
166
src/os2driver.c
Normal file
@@ -0,0 +1,166 @@
|
|||||||
|
/*
|
||||||
|
GSport - an Apple //gs Emulator
|
||||||
|
Copyright (C) 2010 by GSport contributors
|
||||||
|
|
||||||
|
Based on the KEGS emulator written by and Copyright (C) 2003 Kent Dickey
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by the
|
||||||
|
Free Software Foundation; either version 2 of the License, or (at your
|
||||||
|
option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful, but
|
||||||
|
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
|
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "defc.h"
|
||||||
|
#include "protos.h"
|
||||||
|
|
||||||
|
extern int Verbose;
|
||||||
|
|
||||||
|
extern int g_warp_pointer;
|
||||||
|
extern int g_screen_depth;
|
||||||
|
extern int g_force_depth;
|
||||||
|
int g_screen_mdepth = 0;
|
||||||
|
|
||||||
|
extern int g_quit_sim_now;
|
||||||
|
|
||||||
|
int g_use_shmem = 1;
|
||||||
|
int g_has_focus = 0;
|
||||||
|
int g_auto_repeat_on = -1;
|
||||||
|
|
||||||
|
extern Kimage g_mainwin_kimage;
|
||||||
|
|
||||||
|
int g_main_height = 0;
|
||||||
|
|
||||||
|
int g_win_capslock_down = 0;
|
||||||
|
|
||||||
|
extern int g_border_sides_refresh_needed;
|
||||||
|
extern int g_border_special_refresh_needed;
|
||||||
|
extern int g_status_refresh_needed;
|
||||||
|
|
||||||
|
extern int g_lores_colors[];
|
||||||
|
extern int g_cur_a2_stat;
|
||||||
|
|
||||||
|
extern int g_a2vid_palette;
|
||||||
|
|
||||||
|
extern int g_installed_full_superhires_colormap;
|
||||||
|
|
||||||
|
extern int g_screen_redraw_skip_amt;
|
||||||
|
|
||||||
|
extern word32 g_a2_screen_buffer_changed;
|
||||||
|
|
||||||
|
|
||||||
|
int
|
||||||
|
win_nonblock_read_stdin(int fd, char *bufptr, int len)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
x_dialog_create_kegs_conf(const char *str)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
x_show_alert(int is_fatal, const char *str)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
int
|
||||||
|
main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
printf("In OS/2 main...\n");
|
||||||
|
|
||||||
|
// Call kegsmain
|
||||||
|
return kegsmain(argc, argv);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
check_input_events()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
x_update_color(int col_num, int red, int green, int blue, word32 rgb)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
x_update_physical_colormap()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
show_xcolor_array()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
xdriver_end()
|
||||||
|
{
|
||||||
|
printf("OS/2 driver_end\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
x_get_kimage(Kimage *kimage_ptr)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
dev_video_init()
|
||||||
|
{
|
||||||
|
printf("Preparing graphics system\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
x_redraw_status_lines()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
x_push_kimage(Kimage *kimage_ptr, int destx, int desty, int srcx, int srcy,
|
||||||
|
int width, int height)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
x_push_done()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
x_auto_repeat_on(int must)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
x_auto_repeat_off(int must)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
x_hide_pointer(int do_hide)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
x_full_screen(int do_full)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
@@ -199,7 +199,7 @@ scc_socket_open_outgoing(int port, double dcycs)
|
|||||||
sa_in.sin_port = htons(23);
|
sa_in.sin_port = htons(23);
|
||||||
hostentptr = gethostbyname(&scc_ptr->modem_cmd_str[0]);
|
hostentptr = gethostbyname(&scc_ptr->modem_cmd_str[0]);
|
||||||
if(hostentptr == 0) {
|
if(hostentptr == 0) {
|
||||||
#ifdef _WIN32
|
#if defined(_WIN32) || defined (__OS2__)
|
||||||
fatal_printf("Lookup host %s failed\n",
|
fatal_printf("Lookup host %s failed\n",
|
||||||
&scc_ptr->modem_cmd_str[0]);
|
&scc_ptr->modem_cmd_str[0]);
|
||||||
#else
|
#else
|
||||||
@@ -244,7 +244,7 @@ scc_socket_make_nonblock(int port, double dcycs)
|
|||||||
Scc *scc_ptr;
|
Scc *scc_ptr;
|
||||||
SOCKET sockfd;
|
SOCKET sockfd;
|
||||||
int ret;
|
int ret;
|
||||||
#ifdef _WIN32
|
#if defined(_WIN32) || defined (__OS2__)
|
||||||
u_long flags;
|
u_long flags;
|
||||||
#else
|
#else
|
||||||
int flags;
|
int flags;
|
||||||
@@ -253,7 +253,7 @@ scc_socket_make_nonblock(int port, double dcycs)
|
|||||||
scc_ptr = &(scc_stat[port]);
|
scc_ptr = &(scc_stat[port]);
|
||||||
sockfd = scc_ptr->sockfd;
|
sockfd = scc_ptr->sockfd;
|
||||||
|
|
||||||
#ifdef _WIN32
|
#if defined(_WIN32) || defined (__OS2__)
|
||||||
flags = 1;
|
flags = 1;
|
||||||
ret = ioctlsocket(sockfd, FIONBIO, &flags);
|
ret = ioctlsocket(sockfd, FIONBIO, &flags);
|
||||||
if(ret != 0) {
|
if(ret != 0) {
|
||||||
@@ -362,7 +362,7 @@ scc_accept_socket(int port, double dcycs)
|
|||||||
|
|
||||||
flags = 0;
|
flags = 0;
|
||||||
ret = 0;
|
ret = 0;
|
||||||
#ifndef _WIN32
|
#if !defined(_WIN32) && !defined(__OS2__)
|
||||||
/* For Linux, we need to set O_NONBLOCK on the rdwrfd */
|
/* For Linux, we need to set O_NONBLOCK on the rdwrfd */
|
||||||
flags = fcntl(rdwrfd, F_GETFL, 0);
|
flags = fcntl(rdwrfd, F_GETFL, 0);
|
||||||
if(flags == -1) {
|
if(flags == -1) {
|
||||||
@@ -655,7 +655,7 @@ void
|
|||||||
scc_socket_empty_writebuf(int port, double dcycs)
|
scc_socket_empty_writebuf(int port, double dcycs)
|
||||||
{
|
{
|
||||||
#ifdef SCC_SOCKETS
|
#ifdef SCC_SOCKETS
|
||||||
# ifndef _WIN32
|
# if !defined(_WIN32) && !defined(__OS2__)
|
||||||
struct sigaction newact, oldact;
|
struct sigaction newact, oldact;
|
||||||
# endif
|
# endif
|
||||||
Scc *scc_ptr;
|
Scc *scc_ptr;
|
||||||
@@ -741,7 +741,7 @@ scc_socket_empty_writebuf(int port, double dcycs)
|
|||||||
scc_ptr->out_char_dcycs = dcycs;
|
scc_ptr->out_char_dcycs = dcycs;
|
||||||
}
|
}
|
||||||
|
|
||||||
# ifdef _WIN32
|
#if defined(_WIN32) || defined (__OS2__)
|
||||||
ret = send(rdwrfd, &(scc_ptr->out_buf[rdptr]), len, 0);
|
ret = send(rdwrfd, &(scc_ptr->out_buf[rdptr]), len, 0);
|
||||||
# else
|
# else
|
||||||
/* ignore SIGPIPE around writes to the socket, so we */
|
/* ignore SIGPIPE around writes to the socket, so we */
|
||||||
|
@@ -275,7 +275,7 @@ sound_init_general()
|
|||||||
|
|
||||||
size = SOUND_SHM_SAMP_SIZE * SAMPLE_CHAN_SIZE;
|
size = SOUND_SHM_SAMP_SIZE * SAMPLE_CHAN_SIZE;
|
||||||
|
|
||||||
#if !defined(_WIN32) && !defined(__CYGWIN__) && !defined(MAC)
|
#if !defined(_WIN32) && !defined(__CYGWIN__) && !defined(MAC) && !defined(__OS2__)
|
||||||
shmid = shmget(IPC_PRIVATE, size, IPC_CREAT | 0777);
|
shmid = shmget(IPC_PRIVATE, size, IPC_CREAT | 0777);
|
||||||
if(shmid < 0) {
|
if(shmid < 0) {
|
||||||
printf("sound_init: shmget ret: %d, errno: %d\n", shmid,
|
printf("sound_init: shmget ret: %d, errno: %d\n", shmid,
|
||||||
@@ -306,7 +306,7 @@ sound_init_general()
|
|||||||
|
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
|
|
||||||
#if !defined(MAC) && !defined(_WIN32) && !defined(__CYGWIN__)
|
#if !defined(MAC) && !defined(_WIN32) && !defined(__CYGWIN__) && !defined(__OS2__)
|
||||||
/* prepare pipe so parent can signal child each other */
|
/* prepare pipe so parent can signal child each other */
|
||||||
/* pipe[0] = read side, pipe[1] = write end */
|
/* pipe[0] = read side, pipe[1] = write end */
|
||||||
ret = pipe(&g_pipe_fd[0]);
|
ret = pipe(&g_pipe_fd[0]);
|
||||||
@@ -358,9 +358,10 @@ sound_init_general()
|
|||||||
#else
|
#else
|
||||||
# ifdef MAC
|
# ifdef MAC
|
||||||
macsnd_init(shmaddr);
|
macsnd_init(shmaddr);
|
||||||
# else
|
# elif defined (_WIN32)
|
||||||
/* windows */
|
/* windows */
|
||||||
win32snd_init(shmaddr);
|
win32snd_init(shmaddr);
|
||||||
|
# elif defined (__OS2__)
|
||||||
# endif
|
# endif
|
||||||
#endif /* _WIN32 */
|
#endif /* _WIN32 */
|
||||||
|
|
||||||
|
@@ -23,7 +23,7 @@
|
|||||||
const char rcsid_sound_h[] = "@(#)$KmKId: sound.h,v 1.17 2003-11-21 15:15:57-05 kentd Exp $";
|
const char rcsid_sound_h[] = "@(#)$KmKId: sound.h,v 1.17 2003-11-21 15:15:57-05 kentd Exp $";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(_WIN32) && !defined(__CYGWIN__)
|
#if !defined(_WIN32) && !defined(__CYGWIN__) && !defined (__OS2__)
|
||||||
# include <sys/ipc.h>
|
# include <sys/ipc.h>
|
||||||
# include <sys/shm.h>
|
# include <sys/shm.h>
|
||||||
#endif
|
#endif
|
||||||
|
@@ -41,7 +41,6 @@
|
|||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#include <windowsx.h>
|
#include <windowsx.h>
|
||||||
#include <tchar.h>
|
|
||||||
#include <commctrl.h>
|
#include <commctrl.h>
|
||||||
#include <commdlg.h>
|
#include <commdlg.h>
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
TARGET = gsportmac
|
TARGET = gsportmac
|
||||||
OBJECTS = $(OBJECTS1) macsnd_driver.o macdriver.o
|
OBJECTS = $(OBJECTS1) scc_macdriver.o macsnd_driver.o macdriver.o
|
||||||
CCOPTS = -O2 -DMAC
|
CCOPTS = -O2 -DMAC
|
||||||
SUFFIX =
|
SUFFIX =
|
||||||
NAME = gsportmac
|
NAME = gsportmac
|
||||||
|
@@ -1,7 +1,8 @@
|
|||||||
|
|
||||||
TARGET = gsportwin.exe
|
TARGET = gsportwin.exe
|
||||||
OBJECTS = $(OBJECTS1) win32snd_driver.o windriver.o
|
TFEOBJ = tfe/tfe.o arch/win32/tfearch.o tfe/tfesupp.o
|
||||||
CCOPTS = -O2 -DKEGS_LITTLE_ENDIAN
|
OBJECTS = $(OBJECTS1) $(TFEOBJ) scc_windriver.o win32snd_driver.o windriver.o
|
||||||
|
CCOPTS = -O2 -DKEGS_LITTLE_ENDIAN -DHAVE_TFE
|
||||||
SUFFIX = ".exe"
|
SUFFIX = ".exe"
|
||||||
NAME = gsportwin
|
NAME = gsportwin
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user