Added basic frame for new target 'creativision'.

Kym Greenshields <kym.greenshields@gmail.com> has expressed interest
in contributing and maintaining support for the VTech CreatiVision system.
This commit is contained in:
Oliver Schmidt
2013-11-25 22:52:04 +01:00
parent ed100f67b9
commit 8e6b8dd0af
7 changed files with 210 additions and 61 deletions

View File

@@ -114,7 +114,7 @@ static const unsigned char CTPET [256] = {
/* One entry in the target map */
typedef struct TargetEntry TargetEntry;
struct TargetEntry {
char Name[12]; /* Target name */
char Name[13]; /* Target name */
target_t Id; /* Target id */
};
@@ -133,6 +133,7 @@ static const TargetEntry TargetMap[] = {
{ "c64", TGT_C64 },
{ "cbm510", TGT_CBM510 },
{ "cbm610", TGT_CBM610 },
{ "creativision", TGT_CREATIVISION},
{ "geos", TGT_GEOS_CBM },
{ "geos-apple", TGT_GEOS_APPLE },
{ "geos-cbm", TGT_GEOS_CBM },
@@ -166,18 +167,19 @@ static const TargetProperties PropertyTable[TGT_COUNT] = {
{ "cbm510", CPU_6502, BINFMT_BINARY, CTPET },
{ "cbm610", CPU_6502, BINFMT_BINARY, CTPET },
{ "pet", CPU_6502, BINFMT_BINARY, CTPET },
{ "bbc", CPU_6502, BINFMT_BINARY, CTNone },
{ "apple2", CPU_6502, BINFMT_BINARY, CTNone },
{ "apple2enh", CPU_65C02, BINFMT_BINARY, CTNone },
{ "geos-cbm", CPU_6502, BINFMT_BINARY, CTNone },
{ "geos-apple", CPU_65C02, BINFMT_BINARY, CTNone },
{ "lunix", CPU_6502, BINFMT_O65, CTNone },
{ "atmos", CPU_6502, BINFMT_BINARY, CTNone },
{ "nes", CPU_6502, BINFMT_BINARY, CTNone },
{ "supervision", CPU_65SC02, BINFMT_BINARY, CTNone },
{ "bbc", CPU_6502, BINFMT_BINARY, CTNone },
{ "creativision", CPU_6502, BINFMT_BINARY, CTNone },
{ "geos-apple", CPU_65C02, BINFMT_BINARY, CTNone },
{ "geos-cbm", CPU_6502, BINFMT_BINARY, CTNone },
{ "lunix", CPU_6502, BINFMT_O65, CTNone },
{ "lynx", CPU_65C02, BINFMT_BINARY, CTNone },
{ "nes", CPU_6502, BINFMT_BINARY, CTNone },
{ "sim6502", CPU_6502, BINFMT_BINARY, CTNone },
{ "sim65c02", CPU_65C02, BINFMT_BINARY, CTNone },
{ "supervision", CPU_65SC02, BINFMT_BINARY, CTNone },
};
/* Target system */

View File

@@ -64,25 +64,26 @@ typedef enum {
TGT_CBM510,
TGT_CBM610,
TGT_PET,
TGT_BBC,
TGT_APPLE2,
TGT_APPLE2ENH,
TGT_GEOS_CBM,
TGT_GEOS_APPLE,
TGT_LUNIX,
TGT_ATMOS,
TGT_NES,
TGT_SUPERVISION,
TGT_BBC,
TGT_CREATIVISION,
TGT_GEOS_APPLE,
TGT_GEOS_CBM,
TGT_LUNIX,
TGT_LYNX,
TGT_NES,
TGT_SIM6502,
TGT_SIM65C02,
TGT_SUPERVISION,
TGT_COUNT /* Number of target systems */
} target_t;
/* Collection of target properties */
typedef struct TargetProperties TargetProperties;
struct TargetProperties {
const char Name[12]; /* Name of the target */
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 */