openMSX
RomTypes.hh
Go to the documentation of this file.
1 #ifndef ROMTYPES_HH
2 #define ROMTYPES_HH
3 
4 namespace openmsx {
5 
6 enum RomType {
7  // Order doesn't matter (I sorted them alphabetically)
68 
69  ROM_END_OF_UNORDERED_LIST, // not an actual romtype
70 
71  // For these the numeric value does matter
72  ROM_PAGE0 = 128 + 1, // value of lower 4 bits matters
73  ROM_PAGE1 = 128 + 2,
74  ROM_PAGE01 = 128 + 3,
75  ROM_PAGE2 = 128 + 4,
76  ROM_PAGE12 = 128 + 6,
77  ROM_PAGE012 = 128 + 7,
78  ROM_PAGE3 = 128 + 8,
79  ROM_PAGE23 = 128 + 12,
80  ROM_PAGE123 = 128 + 14,
81  ROM_PAGE0123 = 128 + 15,
82  ROM_MIRRORED0000 = 144 + 0, // value of lower 3 bits matters
83  ROM_MIRRORED4000 = 144 + 2,
84  ROM_MIRRORED8000 = 144 + 4,
85  ROM_MIRROREDC000 = 144 + 6,
86  ROM_NORMAL0000 = 152 + 0, // value of lower 3 bits matters
87  ROM_NORMAL4000 = 152 + 2,
88  ROM_NORMAL8000 = 152 + 4,
89  ROM_NORMALC000 = 152 + 6,
90 
91  ROM_UNKNOWN = 256,
92  ROM_ALIAS = 512, // no other enum value can have this bit set
93 };
94 
95 // Make sure there is no overlap in numeric enum values between the unordered
96 // and ordered part of the enum list.
97 static_assert(int(ROM_END_OF_UNORDERED_LIST) < int(ROM_PAGE0), "renumber romtypes");
98 
99 } // namespace openmsx
100 
101 #endif
openmsx::ROM_PADIAL8
Definition: RomTypes.hh:54
openmsx::ROM_ASCII8_8
Definition: RomTypes.hh:12
openmsx::ROM_PAGE123
Definition: RomTypes.hh:80
openmsx::ROM_SUPERLODERUNNER
Definition: RomTypes.hh:61
openmsx::ROM_MULTIROM
Definition: RomTypes.hh:50
openmsx::ROM_MEGAFLASHROMSCCPLUS
Definition: RomTypes.hh:44
openmsx::ROM_PADIAL16
Definition: RomTypes.hh:55
openmsx::ROM_ASCII8_32
Definition: RomTypes.hh:11
openmsx::ROM_ARC
Definition: RomTypes.hh:8
openmsx::ROM_R_TYPE
Definition: RomTypes.hh:58
openmsx::ROM_NETTOU_YAKYUU
Definition: RomTypes.hh:52
openmsx::ROM_NORMAL
Definition: RomTypes.hh:53
openmsx::ROM_GAME_MASTER2
Definition: RomTypes.hh:22
openmsx::ROM_NORMAL4000
Definition: RomTypes.hh:87
openmsx::ROM_HOLY_QURAN
Definition: RomTypes.hh:28
openmsx::ROM_ASCII16_8
Definition: RomTypes.hh:15
openmsx::ROM_CROSS_BLAIM
Definition: RomTypes.hh:17
openmsx::ROM_MIRRORED0000
Definition: RomTypes.hh:82
openmsx::ROM_ASCII16
Definition: RomTypes.hh:13
openmsx::ROM_MEGAFLASHROMSCC
Definition: RomTypes.hh:43
openmsx::ROM_MIRROREDC000
Definition: RomTypes.hh:85
openmsx::ROM_ZEMINA126IN1
Definition: RomTypes.hh:67
openmsx::ROM_HOLY_QURAN2
Definition: RomTypes.hh:29
openmsx::ROM_DOOLY
Definition: RomTypes.hh:18
openmsx::ROM_SYNTHESIZER
Definition: RomTypes.hh:63
openmsx::ROM_ASCII16_2
Definition: RomTypes.hh:14
openmsx::ROM_MAJUTSUSHI
Definition: RomTypes.hh:38
openmsx::ROM_MSXWRITE
Definition: RomTypes.hh:49
openmsx::ROM_WIZARDRY
Definition: RomTypes.hh:64
openmsx::ROM_MIRRORED
Definition: RomTypes.hh:45
openmsx::ROM_PAGE2
Definition: RomTypes.hh:75
openmsx::ROM_KOEI_32
Definition: RomTypes.hh:32
openmsx::ROM_FSA1FM2
Definition: RomTypes.hh:21
openmsx::ROM_MIRRORED4000
Definition: RomTypes.hh:83
openmsx::ROM_ZEMINA90IN1
Definition: RomTypes.hh:66
openmsx::ROM_NORMAL8000
Definition: RomTypes.hh:88
openmsx::ROM_MSXDOS2
Definition: RomTypes.hh:47
openmsx::ROM_MITSUBISHIMLTS2
Definition: RomTypes.hh:46
openmsx::ROM_REPRO_CARTRIDGE2
Definition: RomTypes.hh:36
openmsx::ROM_MANBOW2_2
Definition: RomTypes.hh:40
openmsx::ROM_ASCII8_2
Definition: RomTypes.hh:10
openmsx::ROM_MATRAINK
Definition: RomTypes.hh:41
openmsx::ROM_COLECOMEGACART
Definition: RomTypes.hh:16
openmsx::ROM_PAGE1
Definition: RomTypes.hh:73
openmsx::ROM_NATIONAL
Definition: RomTypes.hh:51
openmsx::ROM_MSXTRA
Definition: RomTypes.hh:48
openmsx::ROM_ROMHUNTERMK2
Definition: RomTypes.hh:60
openmsx::ROM_KONAMI_SCC
Definition: RomTypes.hh:34
openmsx::ROM_PANASONIC
Definition: RomTypes.hh:56
openmsx::ROM_ALIAS
Definition: RomTypes.hh:92
openmsx::ROM_REPRO_CARTRIDGE1
Definition: RomTypes.hh:35
openmsx::ROM_PAGE23
Definition: RomTypes.hh:79
openmsx::ROM_NORMAL0000
Definition: RomTypes.hh:86
openmsx::ROM_HARRY_FOX
Definition: RomTypes.hh:27
openmsx::ROM_MANBOW2
Definition: RomTypes.hh:39
openmsx::ROM_KONAMI_ULTIMATE_COLLECTION
Definition: RomTypes.hh:37
openmsx::ROM_PLAYBALL
Definition: RomTypes.hh:57
openmsx::ROM_ASCII8
Definition: RomTypes.hh:9
openmsx::ROM_SUPERSWANGI
Definition: RomTypes.hh:62
openmsx::ROM_RAMFILE
Definition: RomTypes.hh:59
openmsx::ROM_PAGE012
Definition: RomTypes.hh:77
openmsx::ROM_PAGE0
Definition: RomTypes.hh:72
openmsx::ROM_MIRRORED8000
Definition: RomTypes.hh:84
openmsx::ROM_FSA1FM1
Definition: RomTypes.hh:20
openmsx::ROM_PAGE0123
Definition: RomTypes.hh:81
openmsx::ROM_PAGE01
Definition: RomTypes.hh:74
openmsx::ROM_UNKNOWN
Definition: RomTypes.hh:91
openmsx::ROM_ZEMINA80IN1
Definition: RomTypes.hh:65
openmsx::ROM_KONAMI
Definition: RomTypes.hh:33
openmsx::ROM_KBDMASTER
Definition: RomTypes.hh:30
openmsx::ROM_NORMALC000
Definition: RomTypes.hh:89
openmsx::RomType
RomType
Definition: RomTypes.hh:6
openmsx
Thanks to enen for testing this on a real cartridge:
Definition: Autofire.cc:5
openmsx::ROM_GENERIC_8KB
Definition: RomTypes.hh:23
openmsx::ROM_PAGE12
Definition: RomTypes.hh:76
openmsx::ROM_PAGE3
Definition: RomTypes.hh:78
openmsx::ROM_HAMARAJANIGHT
Definition: RomTypes.hh:26
openmsx::ROM_END_OF_UNORDERED_LIST
Definition: RomTypes.hh:69
openmsx::ROM_GENERIC_16KB
Definition: RomTypes.hh:24
openmsx::ROM_MATRACOMPILATION
Definition: RomTypes.hh:42
openmsx::ROM_KOEI_8
Definition: RomTypes.hh:31
openmsx::ROM_HALNOTE
Definition: RomTypes.hh:25
openmsx::ROM_DRAM
Definition: RomTypes.hh:19