Fixed numeric OS ids. Added new OS OPENCBM

git-svn-id: svn://svn.cc65.org/cc65/trunk@3435 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz 2005-03-30 19:28:28 +00:00
parent 43a9802473
commit d194bdd702
4 changed files with 12 additions and 10 deletions

View file

@ -865,6 +865,7 @@ static void ParseO65 (void)
{ "LUNIX", CFGTOK_LUNIX },
{ "OSA65", CFGTOK_OSA65 },
{ "CC65", CFGTOK_CC65 },
{ "OPENCBM", CFGTOK_OPENCBM },
};
/* Bitmask to remember the attributes we got already */
@ -976,10 +977,11 @@ static void ParseO65 (void)
} else {
CfgSpecialToken (OperatingSystems, ENTRY_COUNT (OperatingSystems), "OS type");
switch (CfgTok) {
case CFGTOK_LUNIX: OS = O65OS_LUNIX; break;
case CFGTOK_OSA65: OS = O65OS_OSA65; break;
case CFGTOK_CC65: OS = O65OS_CC65; break;
default: CfgError ("Unexpected OS token");
case CFGTOK_LUNIX: OS = O65OS_LUNIX; break;
case CFGTOK_OSA65: OS = O65OS_OSA65; break;
case CFGTOK_CC65: OS = O65OS_CC65; break;
case CFGTOK_OPENCBM: OS = O65OS_OPENCBM; break;
default: CfgError ("Unexpected OS token");
}
}
break;

View file

@ -1155,11 +1155,6 @@ void O65SetOS (O65Desc* D, unsigned OS, unsigned Version, unsigned Id)
/* Write the correct option length */
switch (OS) {
case O65OS_OSA65:
case O65OS_LUNIX:
/* No id for these two */
O65SetOption (D, O65OPT_OS, Opt, 2);
break;
case O65OS_CC65:
/* Set the 16 bit id */
@ -1169,7 +1164,10 @@ void O65SetOS (O65Desc* D, unsigned OS, unsigned Version, unsigned Id)
break;
default:
Internal ("Trying to set invalid O65 operating system: %u", OS);
/* No id for OS/A65, Lunix, and unknown OSes */
O65SetOption (D, O65OPT_OS, Opt, 2);
break;
}
}

View file

@ -66,6 +66,7 @@ typedef struct O65Desc O65Desc;
#define O65OS_OSA65 1
#define O65OS_LUNIX 2
#define O65OS_CC65 3
#define O65OS_OPENCBM 4
#define O65OS_MAX 255

View file

@ -105,6 +105,7 @@ typedef enum {
CFGTOK_LUNIX,
CFGTOK_OSA65,
CFGTOK_CC65,
CFGTOK_OPENCBM,
CFGTOK_CONDES,
CFGTOK_STARTADDRESS,