/* */
/* */
/* */
-/* (C) 2003-2004 Ullrich von Bassewitz */
-/* Römerstrasse 52 */
-/* D-70794 Filderstadt */
-/* EMail: uz@cc65.org */
+/* (C) 2003-2011, Ullrich von Bassewitz */
+/* Roemerstrasse 52 */
+/* D-70794 Filderstadt */
+/* EMail: uz@cc65.org */
/* */
/* */
/* This software is provided 'as-is', without any expressed or implied */
/*****************************************************************************/
-/* Data */
+/* Data */
/*****************************************************************************/
/* CPUs */
typedef enum {
CPU_UNKNOWN = -1, /* Not specified or invalid target */
+ CPU_NONE, /* No CPU - for assembler */
CPU_6502,
CPU_6502X, /* "Extended", that is: with illegal opcodes */
CPU_65SC02,
CPU_65C02,
CPU_65816,
- CPU_SUNPLUS, /* Not in the freeware version - sorry */
- CPU_COUNT /* Number of different CPUs */
+ CPU_SWEET16,
+ CPU_HUC6280, /* Used in PC engine */
+ CPU_M740, /* Mitsubishi 740 series MCUs */
+ CPU_COUNT /* Number of different CPUs */
} cpu_t;
/* CPU instruction sets */
enum {
+ CPU_ISET_NONE = 1 << CPU_NONE,
CPU_ISET_6502 = 1 << CPU_6502,
CPU_ISET_6502X = 1 << CPU_6502X,
CPU_ISET_65SC02 = 1 << CPU_65SC02,
CPU_ISET_65C02 = 1 << CPU_65C02,
CPU_ISET_65816 = 1 << CPU_65816,
- CPU_ISET_SUNPLUS = 1 << CPU_SUNPLUS
+ CPU_ISET_SWEET16 = 1 << CPU_SWEET16,
+ CPU_ISET_HUC6280 = 1 << CPU_HUC6280,
+ CPU_ISET_M740 = 1 << CPU_M740,
};
/* CPU used */
/*****************************************************************************/
-/* Code */
+/* Code */
/*****************************************************************************/
+int ValidAddrSizeForCPU (unsigned char AddrSize);
+/* Check if the given address size is valid for the current CPU */
+
cpu_t FindCPU (const char* Name);
/* Find a CPU by name and return the target id. CPU_UNKNOWN is returned if
* the given name is no valid target.