- adapted for mon V3.0 which is now the required minimum

- fixed gcc 2.96 compiler warnings
This commit is contained in:
cebix 2000-09-25 17:54:01 +00:00
parent ca11a645d2
commit 09192eb0e3
6 changed files with 26 additions and 24 deletions

View File

@ -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]

View File

@ -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

View File

@ -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)

View File

@ -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;

View File

@ -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

View File

@ -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;