forked from dirkwhoffmann/virtualc64
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.h
142 lines (109 loc) · 4.13 KB
/
config.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
// -----------------------------------------------------------------------------
// This file is part of VirtualC64
//
// Copyright (C) Dirk W. Hoffmann. www.dirkwhoffmann.de
// Licensed under the GNU General Public License v3
//
// See https://www.gnu.org for license information
// -----------------------------------------------------------------------------
#pragma once
//
// Release settings
//
// Version number
#define VER_MAJOR 4
#define VER_MINOR 5
#define VER_SUBMINOR 0
// Snapshot version number
#define SNP_MAJOR 4
#define SNP_MINOR 5
#define SNP_SUBMINOR 0
// Uncomment these settings in a release build
// #define RELEASEBUILD
//
// Build settings
//
#if defined(__clang__)
#pragma GCC diagnostic ignored "-Wgnu-zero-variadic-macro-arguments"
#pragma GCC diagnostic ignored "-Wgnu-anonymous-struct"
#pragma GCC diagnostic ignored "-Wnested-anon-types"
#endif
//
// Configuration overrides
//
#define OVERRIDES { }
// Uncomment to fallback to an older style thread messaging mechanism
// #define USE_CONDITION_VARIABLE
//
// Debug settings
//
// General
static const int CNF_DEBUG = 0; // Configuration
static const int XFILES = 0; // Report paranormal activity
// Runloop
static const int RUN_DEBUG = 0; // Run loop, component states, timing
static const int WARP_DEBUG = 0; // Warp mode
static const int QUEUE_DEBUG = 0; // Message queue
static const int SNP_DEBUG = 0; // Serializing (snapshots)
// CPU
static const int CPU_DEBUG = 0; // CPU
static const int IRQ_DEBUG = 0; // Interrupts
// Memory
static const int MEM_DEBUG = 0; // RAM, ROM
// CIAs
static const int CIA_DEBUG = 0; // Complex Interface Adapter
static const int CIAREG_DEBUG = 0; // CIA registers
static const int CIA_ON_STEROIDS = 0; // Keep the CIAs awake all the time
// VICII
static const int VIC_DEBUG = 0; // Video Interface Controller II
static const int VICREG_DEBUG = 0; // VICII registers
static const int RASTERIRQ_DEBUG = 0; // Raster interrupt
static const int VIC_SAFE_MODE = 0; // Disable performance optimizations
static const int VIC_STATS = 0; // Collect statistical information
// SID
static const int SID_DEBUG = 0; // Sound Interface Device
static const int SID_EXEC = 0; // Sound Interface Device (Execution)
static const int SIDREG_DEBUG = 0; // Sound Interface Device (Registers)
static const int AUDBUF_DEBUG = 0; // Audio buffers
// Drive
static const int VIA_DEBUG = 0; // Versatile Interface Adapter
static const int PIA_DEBUG = 0; // Peripheral Interface Adapter
static const int IEC_DEBUG = 0; // IEC bus
static const int DSK_DEBUG = 0; // Disk controller execution
static const int DSKCHG_DEBUG = 0; // Disk changing procedure
static const int GCR_DEBUG = 0; // Disk encoding / decoding
static const int FS_DEBUG = 0; // File System Classes
static const int PAR_DEBUG = 0; // Parallel cable
// Media
static const int CRT_DEBUG = 0; // Cartridges
static const int FILE_DEBUG = 0; // Media files (D64,T64,...)
// Peripherals
static const int JOY_DEBUG = 0; // Joystick
static const int DRV_DEBUG = 0; // Floppy drive
static const int TAP_DEBUG = 0; // Datasette
static const int KBD_DEBUG = 0; // Keyboard
static const int PRT_DEBUG = 0; // Control ports and connected devices
static const int EXP_DEBUG = 0; // Expansion port
static const int LIP_DEBUG = 0; // Light pen
// Other components
static const int REC_DEBUG = 0; // Screen recorder
//
// Forced error conditions
//
static const int FORCE_ROM_MISSING = 0;
static const int FORCE_MEGA64_MISMATCH = 0;
static const int FORCE_CRT_UNKNOWN = 0;
static const int FORCE_CRT_UNSUPPORTED = 0;
static const int FORCE_SNAPSHOT_TOO_OLD = 0;
static const int FORCE_SNAPSHOT_TOO_NEW = 0;
static const int FORCE_RECORDING_ERROR = 0;
#ifdef RELEASEBUILD
static const int releaseBuild = 1;
#define NDEBUG
#else
static const int releaseBuild = 0;
#endif
#include <assert.h>
// IDEAS:
// Update IEC bus inside CIA and VIA. Use delay flags if neccessary.
// Call CA1 action in VIA class only if the pin value really has changed.