1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-11-26 08:49:37 +00:00

Corrects Rockwell and WDC references.

Also shuffles the NES CPU type up into the top position, so this is a strict progression in terms of functionality.
This commit is contained in:
Thomas Harte 2018-09-27 22:36:45 -04:00
parent a29a8e292b
commit 364859467f

View File

@ -37,17 +37,17 @@ enum Register {
The list of 6502 variants supported by this implementation.
*/
enum Personality {
P6502, // the original [NMOS] 6502, replete with various undocumented instructions
PNES6502, // the NES's 6502, which is like a 6502 but lacks decimal mode (though it retains the decimal flag)
P6502, // the original [NMOS] 6502, replete with various undocumented instructions
PSynertek65C02, // a 6502 extended with BRA, P[H/L][X/Y], STZ, TRB, TSB and the (zp) addressing mode and a few other additions
PWDC65C02, // like the Synertek, but with BBR, BBS, RMB and SMB
PRockwell65C02, // like the WDC, but with STP and WAI
PRockwell65C02, // like the Synertek, but with BBR, BBS, RMB and SMB
PWDC65C02, // like the Rockwell, but with STP and WAI
};
#define has_decimal_mode(p) ((p) >= Personality::P6502)
#define is_65c02(p) ((p) >= Personality::PSynertek65C02)
#define has_bbrbbsrmbsmb(p) ((p) >= Personality::PWDC65C02)
#define has_stpwai(p) ((p) >= Personality::PRockwell65C02)
#define has_decimal_mode(p) ((p) != Personality::PNES6502)
#define has_bbrbbsrmbsmb(p) ((p) >= Personality::PRockwell65C02)
#define has_stpwai(p) ((p) >= Personality::PWDC65C02)
/*
Flags as defined on the 6502; can be used to decode the result of @c get_value_of_register(Flags) or to form a value for