]> git.sur5r.net Git - cc65/blobdiff - src/common/target.h
Cleanups for Creativision.
[cc65] / src / common / target.h
index 33ef51f14b7492bb195350f6916c52ee7ab67e68..054c4f2baf5d323f5b4cc550880cebef138c93ed 100644 (file)
@@ -1,15 +1,15 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                target.h                                  */
+/*                                 target.h                                  */
 /*                                                                           */
-/*                          Target specification                            */
+/*                           Target specification                            */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
-/* (C) 2000      Ullrich von Bassewitz                                       */
-/*               Wacholderweg 14                                             */
-/*               D-70597 Stuttgart                                           */
-/* EMail:        uz@musoftware.de                                            */
+/* (C) 2000-2011, Ullrich von Bassewitz                                      */
+/*                Roemerstrasse 52                                           */
+/*                D-70794 Filderstadt                                        */
+/* EMail:         uz@cc65.org                                                */
 /*                                                                           */
 /*                                                                           */
 /* This software is provided 'as-is', without any expressed or implied       */
 
 
 
+/* common */
+#include "cpu.h"
+
+
+
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Supported target systems */
 typedef enum {
-    TGT_UNKNOWN = -1,          /* Not specified or invalid target */
+    TGT_UNKNOWN = -1,           /* Not specified or invalid target */
     TGT_NONE,
+    TGT_MODULE,
     TGT_ATARI,
+    TGT_ATARI2600,
+    TGT_ATARI5200,
+    TGT_ATARIXL,
+    TGT_VIC20,
+    TGT_C16,
     TGT_C64,
     TGT_C128,
-    TGT_ACE,
     TGT_PLUS4,
+    TGT_CBM510,
     TGT_CBM610,
+    TGT_OSIC1P,
     TGT_PET,
     TGT_BBC,
     TGT_APPLE2,
-    TGT_GEOS,
-    TGT_COUNT                  /* Number of target systems */
+    TGT_APPLE2ENH,
+    TGT_GEOS_CBM,
+    TGT_CREATIVISION,
+    TGT_GEOS_APPLE,
+    TGT_LUNIX,
+    TGT_ATMOS,
+    TGT_NES,
+    TGT_SUPERVISION,
+    TGT_LYNX,
+    TGT_SIM6502,
+    TGT_SIM65C02,
+    TGT_PCENGINE,
+    TGT_GAMATE,
+    TGT_C65,
+    TGT_COUNT                   /* Number of target systems */
 } target_t;
 
+/* Collection of target properties */
+typedef struct TargetProperties TargetProperties;
+struct TargetProperties {
+    const char              Name[13];   /* Name of the target */
+    cpu_t                   DefaultCPU; /* Default CPU for this target */
+    unsigned char           BinFmt;     /* Default binary format for this target */
+    const unsigned char*    CharMap;    /* Character translation table */
+};
+
 /* Target system */
-extern target_t                Target;
+extern target_t         Target;
 
-/* Table with target names */
-extern const char* TargetNames [TGT_COUNT];
+/* Types of available output formats */
+#define BINFMT_DEFAULT          0       /* Default (binary) */
+#define BINFMT_BINARY           1       /* Straight binary format */
+#define BINFMT_O65              2       /* Andre Fachats o65 format */
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
 
 target_t FindTarget (const char* Name);
 /* Find a target by name and return the target id. TGT_UNKNOWN is returned if
- * the given name is no valid target.
- */
+** the given name is no valid target.
+*/
 
+const TargetProperties* GetTargetProperties (target_t Target);
+/* Return the properties for a target */
 
+const char* GetTargetName (target_t Target);
+/* Return the name of a target */
 
-/* End of target.h */
-
-#endif
 
 
+/* End of target.h */
 
+#endif