#ifndef M68KCONF_TUTORIAL_H
#define M68KCONF_TUTORIAL_H

/* Musashi's option constants must exist before its default configuration. */
#define M68K_OPT_OFF             0
#define M68K_OPT_ON              1
#define M68K_OPT_SPECIFY_HANDLER 2

/* Starry Night is 68k code; EC020 covers the instructions this build uses. */
#define M68K_EMULATE_010         M68K_OPT_OFF
#define M68K_EMULATE_EC020       M68K_OPT_ON
#define M68K_EMULATE_020         M68K_OPT_ON
#define M68K_EMULATE_030         M68K_OPT_OFF
#define M68K_EMULATE_040         M68K_OPT_OFF
#define M68K_EMULATE_PMMU        M68K_OPT_OFF

/* Macintosh Toolbox calls are A-line opcodes. Musashi reports those here. */
#define M68K_ILLG_HAS_CALLBACK M68K_OPT_SPECIFY_HANDLER
int mac_trap(int opcode);
#define M68K_ILLG_CALLBACK(opcode) mac_trap(opcode)

/* Retain upstream defaults for every option not relevant to the tutorial. */
#include "m68kconf.h"

#endif
