mirror of
https://github.com/kanjitalk755/macemu.git
synced 2024-11-26 10:49:21 +00:00
- adapted for mon V3.0 which is now the required minimum
- fixed gcc 2.96 compiler warnings
This commit is contained in:
parent
ca11a645d2
commit
09192eb0e3
@ -1,4 +1,5 @@
|
|||||||
V0.8 (snapshot) - <date>
|
V0.8 (snapshot) - <date>
|
||||||
|
- adapted for mon V3.0 which is now the required minimum
|
||||||
- UAE cpu: fixed a bug in the memory handlers preventing from
|
- UAE cpu: fixed a bug in the memory handlers preventing from
|
||||||
correctly updating 15 and 16 bpp displays on big endian systems
|
correctly updating 15 and 16 bpp displays on big endian systems
|
||||||
- Unix: added (experimental) real addressing mode [Gwenole Beauchesne]
|
- Unix: added (experimental) real addressing mode [Gwenole Beauchesne]
|
||||||
|
@ -10,8 +10,8 @@ Basilisk II \- a free, portable Mac II emulator
|
|||||||
[\-rominfo]
|
[\-rominfo]
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
.B Basilisk II
|
.B Basilisk II
|
||||||
is an attempt at creating a free, portable 68k Mac emulator.
|
is a free, portable 68k Mac emulator. For more information, see the included
|
||||||
For more information, see the included "README" file.
|
"README" file.
|
||||||
.SH OPTIONS
|
.SH OPTIONS
|
||||||
.TP
|
.TP
|
||||||
.BI "\-display " display-name
|
.BI "\-display " display-name
|
||||||
|
@ -14,12 +14,12 @@ AC_ARG_ENABLE(16bit-vidmode, [ --enable-16bit-vidmode enable 16-bit video if p
|
|||||||
AC_ARG_ENABLE(addressing,
|
AC_ARG_ENABLE(addressing,
|
||||||
[ --enable-addressing=mode specify the addressing mode to use [default=fastest]],
|
[ --enable-addressing=mode specify the addressing mode to use [default=fastest]],
|
||||||
[ case "$enableval" in
|
[ case "$enableval" in
|
||||||
real) ADDRESSING_TEST_ORDER="real";;
|
real) ADDRESSING_TEST_ORDER="real";;
|
||||||
direct) ADDRESSING_TEST_ORDER="direct";;
|
direct) ADDRESSING_TEST_ORDER="direct";;
|
||||||
banks) ADDRESSING_TEST_ORDER="banks";;
|
banks) ADDRESSING_TEST_ORDER="banks";;
|
||||||
dnl fastest) ADDRESSING_TEST_ORDER="real direct banks";; gb-- will enable later...
|
dnl fastest) ADDRESSING_TEST_ORDER="real direct banks";; gb-- will enable later...
|
||||||
fastest) ADDRESSING_TEST_ORDER="direct banks";;
|
fastest) ADDRESSING_TEST_ORDER="direct banks";;
|
||||||
*) AC_MSG_ERROR([--enable-mem-addressing takes only one of the following values: fastest, real, direct, banks]);;
|
*) AC_MSG_ERROR([--enable-mem-addressing takes only one of the following values: fastest, real, direct, banks]);;
|
||||||
esac
|
esac
|
||||||
],
|
],
|
||||||
dnl [ ADDRESSING_TEST_ORDER="real direct banks" gb-- will probably reactivate later
|
dnl [ ADDRESSING_TEST_ORDER="real direct banks" gb-- will probably reactivate later
|
||||||
@ -67,11 +67,12 @@ dnl We use mon if possible.
|
|||||||
MONSRCS=
|
MONSRCS=
|
||||||
if [[ "x$WANT_MON" = "xyes" ]]; then
|
if [[ "x$WANT_MON" = "xyes" ]]; then
|
||||||
AC_MSG_CHECKING(for mon)
|
AC_MSG_CHECKING(for mon)
|
||||||
if grep mon_init ../../../mon/src/mon.h >/dev/null 2>/dev/null; then
|
mon_srcdir=../../../mon/src
|
||||||
|
if grep mon_init $mon_srcdir/mon.h >/dev/null 2>/dev/null; then
|
||||||
AC_MSG_RESULT(yes)
|
AC_MSG_RESULT(yes)
|
||||||
AC_DEFINE(ENABLE_MON)
|
AC_DEFINE(ENABLE_MON)
|
||||||
MONSRCS="../../../mon/src/mon.cpp ../../../mon/src/mon_6502.cpp ../../../mon/src/mon_68k.cpp ../../../mon/src/mon_8080.cpp ../../../mon/src/mon_cmd.cpp ../../../mon/src/mon_ppc.cpp ../../../mon/src/mon_x86.cpp"
|
MONSRCS="$mon_srcdir/mon.cpp $mon_srcdir/mon_6502.cpp $mon_srcdir/mon_8080.cpp $mon_srcdir/mon_cmd.cpp $mon_srcdir/mon_disass.cpp $mon_srcdir/mon_ppc.cpp $mon_srcdir/disass/floatformat.c $mon_srcdir/disass/i386-dis.c $mon_srcdir/disass/m68k-dis.c $mon_srcdir/disass/m68k-opc.c"
|
||||||
CXXFLAGS="$CXXFLAGS -I../../../mon/src"
|
CXXFLAGS="$CXXFLAGS -I$mon_srcdir -I$mon_srcdir/disass"
|
||||||
AC_CHECK_LIB(readline, readline)
|
AC_CHECK_LIB(readline, readline)
|
||||||
AC_CHECK_LIB(termcap, tputs)
|
AC_CHECK_LIB(termcap, tputs)
|
||||||
AC_CHECK_HEADERS(readline.h history.h readline/readline.h readline/history.h)
|
AC_CHECK_HEADERS(readline.h history.h readline/readline.h readline/history.h)
|
||||||
|
@ -479,7 +479,7 @@ int main(int argc, char **argv)
|
|||||||
#ifdef ENABLE_MON
|
#ifdef ENABLE_MON
|
||||||
// Setup SIGINT handler to enter mon
|
// Setup SIGINT handler to enter mon
|
||||||
sigemptyset(&sigint_sa.sa_mask);
|
sigemptyset(&sigint_sa.sa_mask);
|
||||||
sigint_sa.sa_handler = sigint_handler;
|
sigint_sa.sa_handler = (void (*)(int))sigint_handler;
|
||||||
sigint_sa.sa_flags = 0;
|
sigint_sa.sa_flags = 0;
|
||||||
sigaction(SIGINT, &sigint_sa, NULL);
|
sigaction(SIGINT, &sigint_sa, NULL);
|
||||||
#endif
|
#endif
|
||||||
@ -701,8 +701,8 @@ static void sigint_handler(...)
|
|||||||
extern void m68k_dumpstate(uaecptr *nextpc);
|
extern void m68k_dumpstate(uaecptr *nextpc);
|
||||||
m68k_dumpstate(&nextpc);
|
m68k_dumpstate(&nextpc);
|
||||||
#else
|
#else
|
||||||
char *arg[2] = {"rmon", NULL};
|
char *arg[4] = {"mon", "-m", "-r", NULL};
|
||||||
mon(1, arg);
|
mon(3, arg);
|
||||||
QuitEmulator();
|
QuitEmulator();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -1161,8 +1161,8 @@ ill: printf("SIGILL num %d, code %d\n", sig, code);
|
|||||||
printf(" a%d %08x\n", i, state->ss_frame.f_regs[i+8]);
|
printf(" a%d %08x\n", i, state->ss_frame.f_regs[i+8]);
|
||||||
|
|
||||||
#ifdef ENABLE_MON
|
#ifdef ENABLE_MON
|
||||||
char *arg[2] = {"rmon", NULL};
|
char *arg[4] = {"mon", "-m", "-r", NULL};
|
||||||
mon(1, arg);
|
mon(3, arg);
|
||||||
#endif
|
#endif
|
||||||
QuitEmulator();
|
QuitEmulator();
|
||||||
break;
|
break;
|
||||||
|
@ -663,7 +663,7 @@ void *XSERDPort::input_func(void *arg)
|
|||||||
// KillIO called? Then simply return
|
// KillIO called? Then simply return
|
||||||
if (s->io_killed) {
|
if (s->io_killed) {
|
||||||
|
|
||||||
WriteMacInt16(s->input_pb + ioResult, abortErr);
|
WriteMacInt16(s->input_pb + ioResult, uint16(abortErr));
|
||||||
WriteMacInt32(s->input_pb + ioActCount, 0);
|
WriteMacInt32(s->input_pb + ioActCount, 0);
|
||||||
s->read_pending = s->read_done = false;
|
s->read_pending = s->read_done = false;
|
||||||
|
|
||||||
@ -675,7 +675,7 @@ void *XSERDPort::input_func(void *arg)
|
|||||||
WriteMacInt32(s->input_dt + serdtResult, noErr);
|
WriteMacInt32(s->input_dt + serdtResult, noErr);
|
||||||
} else {
|
} else {
|
||||||
WriteMacInt32(s->input_pb + ioActCount, 0);
|
WriteMacInt32(s->input_pb + ioActCount, 0);
|
||||||
WriteMacInt32(s->input_dt + serdtResult, readErr);
|
WriteMacInt32(s->input_dt + serdtResult, uint16(readErr));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Trigger serial interrupt
|
// Trigger serial interrupt
|
||||||
@ -723,7 +723,7 @@ void *XSERDPort::output_func(void *arg)
|
|||||||
// KillIO called? Then simply return
|
// KillIO called? Then simply return
|
||||||
if (s->io_killed) {
|
if (s->io_killed) {
|
||||||
|
|
||||||
WriteMacInt16(s->output_pb + ioResult, abortErr);
|
WriteMacInt16(s->output_pb + ioResult, uint16(abortErr));
|
||||||
WriteMacInt32(s->output_pb + ioActCount, 0);
|
WriteMacInt32(s->output_pb + ioActCount, 0);
|
||||||
s->write_pending = s->write_done = false;
|
s->write_pending = s->write_done = false;
|
||||||
|
|
||||||
@ -735,7 +735,7 @@ void *XSERDPort::output_func(void *arg)
|
|||||||
WriteMacInt32(s->output_dt + serdtResult, noErr);
|
WriteMacInt32(s->output_dt + serdtResult, noErr);
|
||||||
} else {
|
} else {
|
||||||
WriteMacInt32(s->output_pb + ioActCount, 0);
|
WriteMacInt32(s->output_pb + ioActCount, 0);
|
||||||
WriteMacInt32(s->output_dt + serdtResult, writErr);
|
WriteMacInt32(s->output_dt + serdtResult, uint16(writErr));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Trigger serial interrupt
|
// Trigger serial interrupt
|
||||||
|
@ -69,8 +69,8 @@ void EmulOp(uint16 opcode, M68kRegisters *r)
|
|||||||
r->a[0], r->a[1], r->a[2], r->a[3], r->a[4], r->a[5], r->a[6], r->a[7],
|
r->a[0], r->a[1], r->a[2], r->a[3], r->a[4], r->a[5], r->a[6], r->a[7],
|
||||||
r->sr);
|
r->sr);
|
||||||
#ifdef ENABLE_MON
|
#ifdef ENABLE_MON
|
||||||
char *arg[2] = {"rmon", NULL};
|
char *arg[4] = {"mon", "-m", "-r", NULL};
|
||||||
mon(1, arg);
|
mon(3, arg);
|
||||||
#endif
|
#endif
|
||||||
QuitEmulator();
|
QuitEmulator();
|
||||||
break;
|
break;
|
||||||
@ -543,8 +543,8 @@ void EmulOp(uint16 opcode, M68kRegisters *r)
|
|||||||
r->a[0], r->a[1], r->a[2], r->a[3], r->a[4], r->a[5], r->a[6], r->a[7],
|
r->a[0], r->a[1], r->a[2], r->a[3], r->a[4], r->a[5], r->a[6], r->a[7],
|
||||||
r->sr);
|
r->sr);
|
||||||
#ifdef ENABLE_MON
|
#ifdef ENABLE_MON
|
||||||
char *arg[2] = {"rmon", NULL};
|
char *arg[4] = {"mon", "-m", "-r", NULL};
|
||||||
mon(1, arg);
|
mon(3, arg);
|
||||||
#endif
|
#endif
|
||||||
QuitEmulator();
|
QuitEmulator();
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user