Exemple #1
0
static void SetSys (const char* Sys)
/* Define a target system */
{
    switch (Target = FindTarget (Sys)) {

        case TGT_NONE:
            break;

        case TGT_MODULE:
            AbEnd ("Cannot use `module' as a target for the assembler");
            break;

        case TGT_ATARI:
            NewSymbol ("__ATARI__", 1);
            break;

        case TGT_ATARIXL:
            NewSymbol ("__ATARI__", 1);
            NewSymbol ("__ATARIXL__", 1);
            break;

        case TGT_C16:
            CBMSystem ("__C16__");
            break;

        case TGT_C64:
            CBMSystem ("__C64__");
            break;

        case TGT_VIC20:
            CBMSystem ("__VIC20__");
            break;

        case TGT_C128:
            CBMSystem ("__C128__");
            break;

        case TGT_PLUS4:
            CBMSystem ("__C16__");
            NewSymbol ("__PLUS4__", 1);
            break;

        case TGT_CBM510:
            CBMSystem ("__CBM510__");
            break;

        case TGT_CBM610:
            CBMSystem ("__CBM610__");
            break;

        case TGT_PET:
            CBMSystem ("__PET__");
            break;

        case TGT_BBC:
            NewSymbol ("__BBC__", 1);
            break;

        case TGT_APPLE2:
            NewSymbol ("__APPLE2__", 1);
            break;

        case TGT_APPLE2ENH:
            NewSymbol ("__APPLE2__", 1);
            NewSymbol ("__APPLE2ENH__", 1);
            break;

        case TGT_GEOS_CBM:
            /* Do not handle as a CBM system */
            NewSymbol ("__GEOS__", 1);
            NewSymbol ("__GEOS_CBM__", 1);
            break;

        case TGT_GEOS_APPLE:
            NewSymbol ("__GEOS__", 1);
            NewSymbol ("__GEOS_APPLE__", 1);
            break;

        case TGT_LUNIX:
            NewSymbol ("__LUNIX__", 1);
            break;

        case TGT_ATMOS:
            NewSymbol ("__ATMOS__", 1);
            break;

        case TGT_NES:
            NewSymbol ("__NES__", 1);
            break;

        case TGT_SUPERVISION:
            NewSymbol ("__SUPERVISION__", 1);
            break;

        case TGT_SNES:
            NewSymbol ("__SNES__", 1);
            break;

        case TGT_LYNX:
            NewSymbol ("__LYNX__", 1);
            break;

        case TGT_SIM6502:
            NewSymbol ("__SIM6502__", 1);
            break;

        case TGT_SIM65C02:
            NewSymbol ("__SIM65C02__", 1);
            break;

        default:
            AbEnd ("Invalid target name: `%s'", Sys);

    }

    /* Initialize the translation tables for the target system */
    TgtTranslateInit ();
}
Exemple #2
0
static void SetSys (const char* Sys)
/* Define a target system */
{
    switch (Target = FindTarget (Sys)) {

        case TGT_NONE:
            break;

        case TGT_MODULE:
            AbEnd ("Cannot use `module' as a target for the compiler");
            break;

        case TGT_ATARI:
            DefineNumericMacro ("__ATARI__", 1);
            break;

        case TGT_ATARIXL:
            DefineNumericMacro ("__ATARI__", 1);
            DefineNumericMacro ("__ATARIXL__", 1);
            break;

        case TGT_C16:
            cbmsys ("__C16__");
            break;

        case TGT_C64:
            cbmsys ("__C64__");
            break;

        case TGT_VIC20:
            cbmsys ("__VIC20__");
            break;

        case TGT_C128:
            cbmsys ("__C128__");
            break;

        case TGT_PLUS4:
            cbmsys ("__C16__");
            DefineNumericMacro ("__PLUS4__", 1);
            break;

        case TGT_CBM510:
            cbmsys ("__CBM510__");
            break;

        case TGT_CBM610:
            cbmsys ("__CBM610__");
            break;

        case TGT_PET:
            cbmsys ("__PET__");
            break;

        case TGT_BBC:
            DefineNumericMacro ("__BBC__", 1);
            break;

        case TGT_APPLE2:
            DefineNumericMacro ("__APPLE2__", 1);
            break;

        case TGT_APPLE2ENH:
            DefineNumericMacro ("__APPLE2__", 1);
            DefineNumericMacro ("__APPLE2ENH__", 1);
            break;

        case TGT_GEOS_CBM:
            /* Do not handle as a CBM system */
            DefineNumericMacro ("__GEOS__", 1);
            DefineNumericMacro ("__GEOS_CBM__", 1);
            break;

        case TGT_GEOS_APPLE:
            DefineNumericMacro ("__GEOS__", 1);
            DefineNumericMacro ("__GEOS_APPLE__", 1);
            break;

        case TGT_LUNIX:
            DefineNumericMacro ("__LUNIX__", 1);
            break;

        case TGT_ATMOS:
            DefineNumericMacro ("__ATMOS__", 1);
            break;

        case TGT_NES:
            DefineNumericMacro ("__NES__", 1);
            break;

        case TGT_SUPERVISION:
            DefineNumericMacro ("__SUPERVISION__", 1);
            break;

        case TGT_LYNX:
            DefineNumericMacro ("__LYNX__", 1);
            break;

        case TGT_SIM6502:
            DefineNumericMacro ("__SIM6502__", 1);
            break;

        case TGT_SIM65C02:
            DefineNumericMacro ("__SIM65C02__", 1);
            break;

        default:
            AbEnd ("Unknown target system type %d", Target);
    }

    /* Initialize the translation tables for the target system */
    TgtTranslateInit ();
}