]> git.sur5r.net Git - cc65/blobdiff - src/common/cpu.h
Fixed LinuxDoc Tools issues in some verbatim blocks in the Atari document.
[cc65] / src / common / cpu.h
index f7347d30ce4a3286a316b689cd533aa6c452289f..dcf1815db2d5ab9579f092cacd50ee532520d6de 100644 (file)
@@ -6,10 +6,10 @@
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
-/* (C) 2003      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       */
@@ -39,7 +39,7 @@
 
 
 /*****************************************************************************/
-/*                                          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_4510,                   /* CPU of C65 */
+    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_ISET_4510       = 1 << CPU_4510,
 };
 
 /* CPU used */
@@ -76,21 +86,21 @@ extern const unsigned CPUIsets[CPU_COUNT];
 
 
 /*****************************************************************************/
-/*                                          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.
- */
+** the given name is no valid target.
+*/
 
 
 
 /* End of cpu.h */
 
 #endif
-
-
-