#include "roms.h" /* Here comes the definition of the names of the ROMs to load for the */ /* various games. */ /* We load program data at 0x0000-0x3fff. */ const struct RomModule phoenixrom[] = { {"phoenix.45",0x0000,0x0800}, {"phoenix.46",0x0800,0x0800}, {"phoenix.47",0x1000,0x0800}, {"phoenix.48",0x1800,0x0800}, {"phoenix.49",0x2000,0x0800}, {"phoenix.50",0x2800,0x0800}, {"phoenix.51",0x3000,0x0800}, {"phoenix.52",0x3800,0x0800}, {0,0,0} /* end of table */ }; const struct GameInfo gameinfo[] = { {0,phoenixrom} /* generic entry */ }; /* We load charset A at 0x0000-0x0fff charset B at 0x1000-0x1fff. */ const struct RomModule phoenixgfx[] = { {"phoenix.39",0x0000,0x0800}, {"phoenix.40",0x0800,0x0800}, {"phoenix.23",0x1000,0x0800}, {"phoenix.24",0x1800,0x0800}, {0,0,0} /* end of table */ }; /* "What is the palette doing here", you might ask, "it's not a ROM!" */ /* Well, actually the palette and lookup table were stored in PROMs, whose */ /* image, unfortunately, is usually unavailable. So we have to supply our */ /* own. */ const unsigned char phoenixpalette[3 * TOTAL_COLORS] = { 0x00,0x00,0x00, /* BLACK */ 0xdb,0xdb,0xdb, /* WHITE */ 0xff,0x00,0x00, /* RED */ 0x00,0xff,0x00, /* GREEN */ 0x24,0x24,0xdb, /* BLUE */ 0x00,0xff,0xdb, /* CYAN, */ 0xff,0xff,0x00, /* YELLOW, */ 0xff,0xb6,0xdb, /* PINK */ 0xff,0xb6,0x49, /* ORANGE */ 0xff,0x24,0xb6, /* LTPURPLE */ 0xff,0xb6,0x00, /* DKORANGE */ 0xb6,0x24,0xff, /* DKPURPLE */ 0x00,0xdb,0xdb, /* DKCYAN */ 0xdb,0xdb,0x00, /* DKYELLOW */ 0x95,0x95,0xff, /* BLUISH */ 0xff,0x00,0xff, /* PURPLE */ }; enum {BLACK,WHITE,RED,GREEN,BLUE,CYAN,YELLOW,PINK,ORANGE,LTPURPLE,DKORANGE, DKPURPLE,DKCYAN,DKYELLOW,BLUISH,PURPLE}; #define UNUSED BLACK /* 4 colors per pixel * 8 groups of characters * 2 charsets * 2 pallettes */ const unsigned char phoenixcolortable[4 * COLOR_CODES] = { /* charset A pallette A */ BLACK,BLACK,CYAN,CYAN, /* Background, Unused, Letters, asterisks */ BLACK,YELLOW,RED,WHITE, /* Background, Ship middle, Numbers/Ship, Ship edge */ BLACK,YELLOW,RED,WHITE, /* Background, Ship middle, Ship, Ship edge/bullets */ BLACK,PINK,PURPLE,YELLOW, /* Background, Bird eyes, Bird middle, Bird Wings */ BLACK,PINK,PURPLE,YELLOW, /* Background, Bird eyes, Bird middle, Bird Wings */ BLACK,PINK,PURPLE,YELLOW, /* Background, Bird eyes, Bird middle, Bird Wings */ BLACK,WHITE,PURPLE,YELLOW, /* Background, Explosions */ BLACK,PURPLE,GREEN,WHITE, /* Background, Barrier */ /* charset A pallette B */ BLACK,BLUE,CYAN,CYAN, /* Background, Unused, Letters, asterisks */ BLACK,YELLOW,RED,WHITE, /* Background, Ship middle, Numbers/Ship, Ship edge */ BLACK,YELLOW,RED,WHITE, /* Background, Ship middle, Ship, Ship edge/bullets */ BLACK,YELLOW,GREEN,PURPLE, /* Background, Bird eyes, Bird middle, Bird Wings */ BLACK,YELLOW,GREEN,PURPLE, /* Background, Bird eyes, Bird middle, Bird Wings */ BLACK,YELLOW,GREEN,PURPLE, /* Background, Bird eyes, Bird middle, Bird Wings */ BLACK,WHITE,RED,PURPLE, /* Background, Explosions */ BLACK,PURPLE,GREEN,WHITE, /* Background, Barrier */ /* charset B pallette A */ BLACK,RED,BLUE,WHITE, /* Background, Starfield */ BLACK,PURPLE,BLUISH,DKORANGE, /* Background, Planets */ BLACK,DKPURPLE,GREEN,DKORANGE, /* Background, Mothership: turrets, u-body, l-body */ BLACK,BLUISH,DKPURPLE,LTPURPLE, /* Background, Motheralien: face, body, feet */ BLACK,PURPLE,BLUISH,GREEN, /* Background, Eagles: face, body, shell */ BLACK,PURPLE,BLUISH,GREEN, /* Background, Eagles: face, body, feet */ BLACK,PURPLE,BLUISH,GREEN, /* Background, Eagles: face, body, feet */ BLACK,PURPLE,BLUISH,GREEN, /* Background, Eagles: face, body, feet */ /* charset B pallette B */ BLACK,RED,BLUE,WHITE, /* Background, Starfield */ BLACK,PURPLE,BLUISH,DKORANGE, /* Background, Planets */ BLACK,DKPURPLE,GREEN,DKORANGE, /* Background, Mothership: turrets, upper body, lower body */ BLACK,BLUISH,DKPURPLE,LTPURPLE, /* Background, Motheralien: face, body, feet */ BLACK,BLUISH,LTPURPLE,GREEN, /* Background, Eagles: face, body, shell */ BLACK,BLUISH,LTPURPLE,GREEN, /* Background, Eagles: face, body, feet */ BLACK,BLUISH,LTPURPLE,GREEN, /* Background, Eagles: face, body, feet */ BLACK,BLUISH,LTPURPLE,GREEN, /* Background, Eagles: face, body, feet */ }; const struct GameVidInfo gamevidinfo[] = { {0,phoenixgfx,phoenixpalette,phoenixcolortable} /* generic entry */ };