VirtualC64 v5.0 beta
Commodore 64 Emulator
Loading...
Searching...
No Matches
PeddleConfig.h
1// -----------------------------------------------------------------------------
2// This file is part of Peddle - A MOS 65xx CPU emulator
3//
4// Copyright (C) Dirk W. Hoffmann. www.dirkwhoffmann.de
5// Published under the terms of the MIT License
6// -----------------------------------------------------------------------------
7
8#pragma once
9
10#include "config.h"
11
12/* Idle memory accesses
13 *
14 * The 65xx CPU is designed to perform a memory access in every clock cycle.
15 * The access also takes place when the CPU is busy with an internal operation.
16 * In these cases, the access is not necessary for the CPU, and the result of
17 * the operation is discarded. However, the result of an idle access can cause
18 * side effects, e.g., when a memory-mapped I/O register is read or written.
19 * To capture such side effects, emulation of idle accesses must be enabled.
20 *
21 * Enable to improve accuracy, disable to gain speed.
22 */
23#define PEDDLE_EMULATE_IDLE_ACCESSES true
24
25/* Watchpoint support
26 *
27 * By setting a watchpoint, the emulator can be asked to monitor certain memory
28 * locations and signal the client when one of these locations is accessed.
29 * However, checking for watchpoints requires a fair amount of processing time,
30 * since a check must be performed prior to each memory operation. If watchpoint
31 * support is not needed, these checks can be omitted by setting this option to
32 * false.
33 *
34 * Enable to perform watchpoint checks, disable to gain speed.
35 */
36#define PEDDLE_ENABLE_WATCHPOINTS true
37
38/* Memory API
39 *
40 * Peddle offers two interfaces to interact with the connected memory. The
41 * "simple" API requires only a very few functions to be implemented, namely:
42 *
43 * read : Reads a byte from memory
44 * write : Writes a byte to memory
45 * readDasm : Reads a byte without causing side-effects
46 *
47 * In this mode, the higher-level API, which is used inside the instruction
48 * handlers, is synthesized automatically. Alternatively, Peddle offers you
49 * to implement the high-level API by yourself. This is done, e.g., by
50 * VirtualC64 to speed up emulation.
51 *
52 * Enable to simplify usage, disable to gain speed.
53 */
54
55#define PEDDLE_SIMPLE_MEMORY_API true