Prepare configure support for SSE4 implemntation (coming soon)
Rename _GAME configure macro to _GAMEPORT
This commit is contained in:
parent
b9dedc8412
commit
7cc921d1df
@ -19,7 +19,7 @@
|
||||
--enable-vbe \
|
||||
--enable-mmx \
|
||||
--enable-fpu \
|
||||
--enable-sse=3 \
|
||||
--enable-sse=4 \
|
||||
--enable-vme \
|
||||
--enable-sep \
|
||||
--enable-3dnow \
|
||||
|
@ -8,9 +8,9 @@ Bochs is a highly portable open source IA-32 (x86) PC emulator
|
||||
written in C++, that runs on most popular platforms. It includes
|
||||
emulation of the Intel x86 CPU, common I/O devices, and a custom
|
||||
BIOS. Currently, Bochs can be compiled to emulate a 386, 486,
|
||||
Pentium, Pentium Pro or AMD64 CPU, including optional MMX, SSE,
|
||||
SSE2 and 3DNow! instructions. Bochs is capable of running most
|
||||
Operating Systems inside the emulation including Linux, DOS,
|
||||
Pentium, Pentium Pro or x86-64 CPU, including optional MMX,
|
||||
SSE/SSE2/SSE3 and 3DNow! instructions. Bochs is capable of running
|
||||
most Operating Systems inside the emulation including Linux, DOS,
|
||||
Windows 95/98 and Windows NT/2000/XP.
|
||||
Bochs was written by Kevin Lawton and is currently maintained by
|
||||
the Bochs project at "http://bochs.sourceforge.net".
|
||||
|
@ -227,32 +227,32 @@
|
||||
// 0 = Use nonstatic member functions (use only if you need
|
||||
// multiple instances of a device class
|
||||
|
||||
#define BX_USE_HD_SMF 1 // Hard drive
|
||||
#define BX_USE_BIOS_SMF 1 // BIOS
|
||||
#define BX_USE_CMOS_SMF 1 // CMOS
|
||||
#define BX_USE_DMA_SMF 1 // DMA
|
||||
#define BX_USE_FD_SMF 1 // Floppy
|
||||
#define BX_USE_KEY_SMF 1 // Keyboard
|
||||
#define BX_USE_PAR_SMF 1 // Parallel
|
||||
#define BX_USE_PIC_SMF 1 // PIC
|
||||
#define BX_USE_PIT_SMF 1 // PIT
|
||||
#define BX_USE_SER_SMF 1 // Serial
|
||||
#define BX_USE_UM_SMF 1 // Unmapped
|
||||
#define BX_USE_VGA_SMF 1 // VGA
|
||||
#define BX_USE_SB16_SMF 1 // Sound (SB 16)
|
||||
#define BX_USE_DEV_SMF 1 // System Devices (port92)
|
||||
#define BX_USE_PCI_SMF 1 // PCI
|
||||
#define BX_USE_P2I_SMF 1 // PCI-to-ISA bridge
|
||||
#define BX_USE_PIDE_SMF 1 // PCI-IDE
|
||||
#define BX_USE_PCIVGA_SMF 1 // PCI-VGA
|
||||
#define BX_USE_PCIDEV_SMF 1 // PCI-DEV
|
||||
#define BX_USE_PCIUSB_SMF 1 // USB hub
|
||||
#define BX_USE_PCIPNIC_SMF 1 // PCI pseudo NIC
|
||||
#define BX_USE_NE2K_SMF 1 // NE2K
|
||||
#define BX_USE_EFI_SMF 1 // External FPU IRQ
|
||||
#define BX_USE_GAME_SMF 1 // Gameport
|
||||
#define BX_USE_CIRRUS_SMF 1 // SVGA Cirrus
|
||||
#define BX_USE_BUSM_SMF 1 // Bus Mouse
|
||||
#define BX_USE_HD_SMF 1 // Hard drive
|
||||
#define BX_USE_BIOS_SMF 1 // BIOS
|
||||
#define BX_USE_CMOS_SMF 1 // CMOS
|
||||
#define BX_USE_DMA_SMF 1 // DMA
|
||||
#define BX_USE_FD_SMF 1 // Floppy
|
||||
#define BX_USE_KEY_SMF 1 // Keyboard
|
||||
#define BX_USE_PAR_SMF 1 // Parallel
|
||||
#define BX_USE_PIC_SMF 1 // PIC
|
||||
#define BX_USE_PIT_SMF 1 // PIT
|
||||
#define BX_USE_SER_SMF 1 // Serial
|
||||
#define BX_USE_UM_SMF 1 // Unmapped
|
||||
#define BX_USE_VGA_SMF 1 // VGA
|
||||
#define BX_USE_SB16_SMF 1 // Sound (SB 16)
|
||||
#define BX_USE_DEV_SMF 1 // System Devices (port92)
|
||||
#define BX_USE_PCI_SMF 1 // PCI
|
||||
#define BX_USE_P2I_SMF 1 // PCI-to-ISA bridge
|
||||
#define BX_USE_PIDE_SMF 1 // PCI-IDE
|
||||
#define BX_USE_PCIVGA_SMF 1 // PCI-VGA
|
||||
#define BX_USE_PCIDEV_SMF 1 // PCI-DEV
|
||||
#define BX_USE_PCIUSB_SMF 1 // USB hub
|
||||
#define BX_USE_PCIPNIC_SMF 1 // PCI pseudo NIC
|
||||
#define BX_USE_NE2K_SMF 1 // NE2K
|
||||
#define BX_USE_EFI_SMF 1 // External FPU IRQ
|
||||
#define BX_USE_GAMEPORT_SMF 1 // Gameport
|
||||
#define BX_USE_CIRRUS_SMF 1 // SVGA Cirrus
|
||||
#define BX_USE_BUSM_SMF 1 // Bus Mouse
|
||||
|
||||
#define BX_PLUGINS 0
|
||||
#define BX_HAVE_DLFCN_H 0
|
||||
@ -265,13 +265,13 @@
|
||||
|| !BX_USE_SB16_SMF || !BX_USE_DEV_SMF || !BX_USE_PCI_SMF \
|
||||
|| !BX_USE_P2I_SMF || !BX_USE_PCIVGA_SMF || !BX_USE_PCIUSB_SMF \
|
||||
|| !BX_USE_PCIPNIC_SMF || !BX_USE_PIDE_SMF \
|
||||
|| !BX_USE_NE2K_SMF || !BX_USE_EFI_SMF || !BX_USE_GAME_SMF \
|
||||
|| !BX_USE_NE2K_SMF || !BX_USE_EFI_SMF || !BX_USE_GAMEPORT_SMF \
|
||||
|| !BX_USE_PCIDEV_SMF || !BX_USE_CIRRUS_SMF)
|
||||
#error You must use SMF to have plugins
|
||||
#endif
|
||||
|
||||
#define BX_SUPPORT_SB16 0
|
||||
#define BX_SUPPORT_GAME 0
|
||||
#define BX_SUPPORT_SB16 0
|
||||
#define BX_SUPPORT_GAMEPORT 0
|
||||
|
||||
#if BX_SUPPORT_SB16
|
||||
// Use virtual methods for the sound output functions
|
||||
|
47
bochs/configure
vendored
47
bochs/configure
vendored
@ -1084,7 +1084,7 @@ Optional Features:
|
||||
--enable-vme virtual 8086 mode extensions
|
||||
--enable-mmx MMX support
|
||||
--enable-3dnow 3DNow! support
|
||||
--enable-sse SSE/SSE2/SSE3 support (--enable-sse=no|1|2|3)
|
||||
--enable-sse SSE support (--enable-sse=no|1|2|3|4)
|
||||
--enable-daz denormals-are-zeroes support
|
||||
--enable-sep SYSENTER/SYSEXIT support
|
||||
--enable-x86-debugger x86 debugger support
|
||||
@ -35809,21 +35809,26 @@ echo "${ECHO_T}no" >&6
|
||||
;;
|
||||
yes | 1)
|
||||
support_sse=1
|
||||
echo "$as_me:$LINENO: result: SSE only" >&5
|
||||
echo "${ECHO_T}SSE only" >&6
|
||||
echo "$as_me:$LINENO: result: SSE1" >&5
|
||||
echo "${ECHO_T}SSE1" >&6
|
||||
;;
|
||||
2)
|
||||
support_sse=2
|
||||
echo "$as_me:$LINENO: result: SSE and SSE2" >&5
|
||||
echo "${ECHO_T}SSE and SSE2" >&6
|
||||
echo "$as_me:$LINENO: result: SSE2" >&5
|
||||
echo "${ECHO_T}SSE2" >&6
|
||||
;;
|
||||
3)
|
||||
support_sse=3
|
||||
echo "$as_me:$LINENO: result: SSE" >&5
|
||||
echo "${ECHO_T}SSE" >&6
|
||||
echo "$as_me:$LINENO: result: SSE3" >&5
|
||||
echo "${ECHO_T}SSE3" >&6
|
||||
;;
|
||||
4)
|
||||
support_sse=4
|
||||
echo "$as_me:$LINENO: result: SSE4" >&5
|
||||
echo "${ECHO_T}SSE4" >&6
|
||||
;;
|
||||
*)
|
||||
echo "ERROR: --enable-sse=$enableval not understood. Use --enable-sse=no|1|2"
|
||||
echo "ERROR: --enable-sse=$enableval not understood. Use --enable-sse=no|1|2|3|4"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@ -35832,8 +35837,8 @@ else
|
||||
|
||||
if test "$use_x86_64" = 1; then
|
||||
support_sse=2
|
||||
echo "$as_me:$LINENO: result: SSE and SSE2" >&5
|
||||
echo "${ECHO_T}SSE and SSE2" >&6
|
||||
echo "$as_me:$LINENO: result: SSE2" >&5
|
||||
echo "${ECHO_T}SSE2" >&6
|
||||
else
|
||||
echo "$as_me:$LINENO: result: no" >&5
|
||||
echo "${ECHO_T}no" >&6
|
||||
@ -35854,7 +35859,12 @@ echo "$as_me: error: x86-64 needs SSE2 support" >&2;}
|
||||
{ (exit 1); exit 1; }; }
|
||||
fi
|
||||
|
||||
if test "$support_sse" = 3; then
|
||||
if test "$support_sse" = 4; then
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define BX_SUPPORT_SSE 4
|
||||
_ACEOF
|
||||
|
||||
elif test "$support_sse" = 3; then
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define BX_SUPPORT_SSE 3
|
||||
_ACEOF
|
||||
@ -36338,7 +36348,7 @@ if test "${enable_gameport+set}" = set; then
|
||||
echo "$as_me:$LINENO: result: yes" >&5
|
||||
echo "${ECHO_T}yes" >&6
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define BX_SUPPORT_GAME 1
|
||||
#define BX_SUPPORT_GAMEPORT 1
|
||||
_ACEOF
|
||||
|
||||
if test "$gameport_present" = 0; then
|
||||
@ -36354,7 +36364,7 @@ _ACEOF
|
||||
echo "${ECHO_T}no" >&6
|
||||
GAME_OBJS=''
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define BX_SUPPORT_GAME 0
|
||||
#define BX_SUPPORT_GAMEPORT 0
|
||||
_ACEOF
|
||||
|
||||
fi
|
||||
@ -36362,14 +36372,14 @@ else
|
||||
|
||||
if test "$gameport_present" = 1; then
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define BX_SUPPORT_GAME 1
|
||||
#define BX_SUPPORT_GAMEPORT 1
|
||||
_ACEOF
|
||||
|
||||
echo "$as_me:$LINENO: result: yes" >&5
|
||||
echo "${ECHO_T}yes" >&6
|
||||
else
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define BX_SUPPORT_GAME 0
|
||||
#define BX_SUPPORT_GAMEPORT 0
|
||||
_ACEOF
|
||||
|
||||
echo "$as_me:$LINENO: result: no" >&5
|
||||
@ -39472,9 +39482,10 @@ for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
|
||||
# 1. Remove the extension, and $U if already installed.
|
||||
ac_i=`echo "$ac_i" |
|
||||
sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
|
||||
# 2. Add them.
|
||||
ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
|
||||
ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
|
||||
# 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
|
||||
# will be set to the directory where LIBOBJS objects are built.
|
||||
ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
|
||||
ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
|
||||
done
|
||||
LIBOBJS=$ac_libobjs
|
||||
|
||||
|
@ -2,7 +2,7 @@ dnl // Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ(2.50)
|
||||
AC_INIT(bochs.h)
|
||||
AC_REVISION([[$Id: configure.in,v 1.316 2006-03-13 17:17:38 vruppert Exp $]])
|
||||
AC_REVISION([[$Id: configure.in,v 1.317 2006-04-05 18:49:30 sshwarts Exp $]])
|
||||
AC_CONFIG_HEADER(config.h)
|
||||
AC_CONFIG_HEADER(ltdlconf.h)
|
||||
|
||||
@ -1523,7 +1523,7 @@ AC_ARG_ENABLE(3dnow,
|
||||
support_sse=0
|
||||
AC_MSG_CHECKING(for SSE support)
|
||||
AC_ARG_ENABLE(sse,
|
||||
[ --enable-sse SSE/SSE2/SSE3 support (--enable-sse=[no|1|2|3])],
|
||||
[ --enable-sse SSE support (--enable-sse=[no|1|2|3|4])],
|
||||
[case "$enableval" in
|
||||
no | 0)
|
||||
support_sse=0
|
||||
@ -1531,18 +1531,22 @@ AC_ARG_ENABLE(sse,
|
||||
;;
|
||||
yes | 1)
|
||||
support_sse=1
|
||||
AC_MSG_RESULT(SSE only)
|
||||
AC_MSG_RESULT(SSE1)
|
||||
;;
|
||||
2)
|
||||
support_sse=2
|
||||
AC_MSG_RESULT(SSE and SSE2)
|
||||
AC_MSG_RESULT(SSE2)
|
||||
;;
|
||||
3)
|
||||
support_sse=3
|
||||
AC_MSG_RESULT(SSE, SSE2 and SSE3)
|
||||
AC_MSG_RESULT(SSE3)
|
||||
;;
|
||||
4)
|
||||
support_sse=4
|
||||
AC_MSG_RESULT(SSE4)
|
||||
;;
|
||||
*)
|
||||
echo "ERROR: --enable-sse=$enableval not understood. Use --enable-sse=[no|1|2]"
|
||||
echo "ERROR: --enable-sse=$enableval not understood. Use --enable-sse=[no|1|2|3|4]"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@ -1550,7 +1554,7 @@ AC_ARG_ENABLE(sse,
|
||||
[
|
||||
if test "$use_x86_64" = 1; then
|
||||
support_sse=2
|
||||
AC_MSG_RESULT(SSE and SSE2)
|
||||
AC_MSG_RESULT(SSE2)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
@ -1565,7 +1569,9 @@ if test "$support_sse" -lt 2 -a "$use_x86_64" = 1; then
|
||||
AC_MSG_ERROR([x86-64 needs SSE2 support])
|
||||
fi
|
||||
|
||||
if test "$support_sse" = 3; then
|
||||
if test "$support_sse" = 4; then
|
||||
AC_DEFINE(BX_SUPPORT_SSE, 4)
|
||||
elif test "$support_sse" = 3; then
|
||||
AC_DEFINE(BX_SUPPORT_SSE, 3)
|
||||
elif test "$support_sse" = 2; then
|
||||
AC_DEFINE(BX_SUPPORT_SSE, 2)
|
||||
@ -1774,7 +1780,7 @@ AC_ARG_ENABLE(gameport,
|
||||
[ --enable-gameport enable standard PC gameport support],
|
||||
[if test "$enableval" = yes; then
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(BX_SUPPORT_GAME, 1)
|
||||
AC_DEFINE(BX_SUPPORT_GAMEPORT, 1)
|
||||
if test "$gameport_present" = 0; then
|
||||
GAME_OBJS='gameport.o'
|
||||
case $target in
|
||||
@ -1786,14 +1792,14 @@ AC_ARG_ENABLE(gameport,
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
GAME_OBJS=''
|
||||
AC_DEFINE(BX_SUPPORT_GAME, 0)
|
||||
AC_DEFINE(BX_SUPPORT_GAMEPORT, 0)
|
||||
fi],
|
||||
[
|
||||
if test "$gameport_present" = 1; then
|
||||
AC_DEFINE(BX_SUPPORT_GAME, 1)
|
||||
AC_DEFINE(BX_SUPPORT_GAMEPORT, 1)
|
||||
AC_MSG_RESULT(yes)
|
||||
else
|
||||
AC_DEFINE(BX_SUPPORT_GAME, 0)
|
||||
AC_DEFINE(BX_SUPPORT_GAMEPORT, 0)
|
||||
AC_MSG_RESULT(no)
|
||||
fi]
|
||||
)
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
================================================================
|
||||
doc/docbook/user/user.dbk
|
||||
$Id: user.dbk,v 1.209 2006-04-05 17:31:35 sshwarts Exp $
|
||||
$Id: user.dbk,v 1.210 2006-04-05 18:49:31 sshwarts Exp $
|
||||
|
||||
This is the top level file for the Bochs Users Manual.
|
||||
================================================================
|
||||
@ -35,7 +35,7 @@ This is the top level file for the Bochs Users Manual.
|
||||
<para>
|
||||
Bochs is a program that simulates a complete Intel x86 computer. It
|
||||
can be configured to act like a <!--286,--> 386, 486, Pentium, Pentium Pro, or
|
||||
AMD64 CPU, including optional MMX, SSE, SSE2, SSE3 and 3DNow! instructions.
|
||||
x86-64 CPU, including optional MMX, SSE/SSE2/SSE3 and 3DNow! instructions.
|
||||
Bochs interprets every instruction from power-up to reboot, and has
|
||||
device models for all of the standard PC peripherals: keyboard, mouse,
|
||||
VGA card/monitor, disks, timer chips, network card, etc. Because Bochs
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: devices.cc,v 1.96 2006-03-26 22:15:05 sshwarts Exp $
|
||||
// $Id: devices.cc,v 1.97 2006-04-05 18:49:32 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2002 MandrakeSoft S.A.
|
||||
@ -105,7 +105,7 @@ void bx_devices_c::init(BX_MEM_C *newmem)
|
||||
{
|
||||
unsigned i;
|
||||
|
||||
BX_DEBUG(("Init $Id: devices.cc,v 1.96 2006-03-26 22:15:05 sshwarts Exp $"));
|
||||
BX_DEBUG(("Init $Id: devices.cc,v 1.97 2006-04-05 18:49:32 sshwarts Exp $"));
|
||||
mem = newmem;
|
||||
|
||||
/* set no-default handlers, will be overwritten by the real default handler */
|
||||
@ -168,7 +168,7 @@ void bx_devices_c::init(BX_MEM_C *newmem)
|
||||
if (is_parallel_enabled())
|
||||
PLUG_load_plugin(parallel, PLUGTYPE_OPTIONAL);
|
||||
PLUG_load_plugin(extfpuirq, PLUGTYPE_OPTIONAL);
|
||||
#if BX_SUPPORT_GAME
|
||||
#if BX_SUPPORT_GAMEPORT
|
||||
PLUG_load_plugin(gameport, PLUGTYPE_OPTIONAL);
|
||||
#endif
|
||||
PLUG_load_plugin(speaker, PLUGTYPE_OPTIONAL);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: gameport.cc,v 1.7 2006-03-07 18:16:40 sshwarts Exp $
|
||||
// $Id: gameport.cc,v 1.8 2006-04-05 18:49:34 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2003 MandrakeSoft S.A.
|
||||
@ -171,7 +171,7 @@ void bx_gameport_c::poll_joydev(void)
|
||||
|
||||
Bit32u bx_gameport_c::read_handler(void *this_ptr, Bit32u address, unsigned io_len)
|
||||
{
|
||||
#if !BX_USE_GAME_SMF
|
||||
#if !BX_USE_GAMEPORT_SMF
|
||||
bx_gameport_c *class_ptr = (bx_gameport_c *) this_ptr;
|
||||
return class_ptr->read(address, io_len);
|
||||
}
|
||||
@ -180,7 +180,7 @@ Bit32u bx_gameport_c::read(Bit32u address, unsigned io_len)
|
||||
{
|
||||
#else
|
||||
UNUSED(this_ptr);
|
||||
#endif // !BX_USE_GAME_SMF
|
||||
#endif // !BX_USE_GAMEPORT_SMF
|
||||
Bit64u usec;
|
||||
|
||||
if (BX_GAMEPORT_THIS joyfd >= 0) {
|
||||
@ -210,7 +210,7 @@ Bit32u bx_gameport_c::read(Bit32u address, unsigned io_len)
|
||||
|
||||
void bx_gameport_c::write_handler(void *this_ptr, Bit32u address, Bit32u value, unsigned io_len)
|
||||
{
|
||||
#if !BX_USE_GAME_SMF
|
||||
#if !BX_USE_GAMEPORT_SMF
|
||||
bx_gameport_c *class_ptr = (bx_gameport_c *) this_ptr;
|
||||
class_ptr->write(address, value, io_len);
|
||||
}
|
||||
@ -219,7 +219,7 @@ void bx_gameport_c::write(Bit32u address, Bit32u value, unsigned io_len)
|
||||
{
|
||||
#else
|
||||
UNUSED(this_ptr);
|
||||
#endif // !BX_USE_GAME_SMF
|
||||
#endif // !BX_USE_GAMEPORT_SMF
|
||||
|
||||
BX_GAMEPORT_THIS write_usec = bx_pc_system.time_usec();
|
||||
BX_GAMEPORT_THIS timer_x = 1;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: gameport.h,v 1.3 2006-03-07 21:11:16 sshwarts Exp $
|
||||
// $Id: gameport.h,v 1.4 2006-04-05 18:49:35 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2003 MandrakeSoft S.A.
|
||||
@ -27,7 +27,7 @@
|
||||
#ifndef BX_IODEV_GAMEPORT_H
|
||||
#define BX_IODEV_GAMEPORT_H
|
||||
|
||||
#if BX_USE_GAME_SMF
|
||||
#if BX_USE_GAMEPORT_SMF
|
||||
# define BX_GAMEPORT_SMF static
|
||||
# define BX_GAMEPORT_THIS theGameport->
|
||||
#else
|
||||
@ -57,7 +57,7 @@ private:
|
||||
|
||||
static Bit32u read_handler(void *this_ptr, Bit32u address, unsigned io_len);
|
||||
static void write_handler(void *this_ptr, Bit32u address, Bit32u value, unsigned io_len);
|
||||
#if !BX_USE_GAME_SMF
|
||||
#if !BX_USE_GAMEPORT_SMF
|
||||
Bit32u read(Bit32u address, unsigned io_len);
|
||||
void write(Bit32u address, Bit32u value, unsigned io_len);
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user