wasmboy
Version:
Gameboy / Gameboy Color Emulator written for Web Assembly using AssemblyScript. Shell/Debugger in Preact
532 lines (455 loc) • 16.3 kB
text/typescript
// File for all of the colors for different GB Palletes
// https://i.imgur.com/HupBY.png
// https://www.libretro.com/index.php/gambatte-progress-report/
// https://tcrf.net/Notes:Game_Boy_Color_Bootstrap_ROM
// Our default wasmboy gb colors
export class WasmBoyGBColors {
//Bg
static readonly bgWhite: i32 = 0xf2f2f2;
static readonly bgLightGrey: i32 = 0xa0a0a0;
static readonly bgDarkGrey: i32 = 0x585858;
static readonly bgBlack: i32 = 0x080808;
// Obj 0
static readonly obj0White: i32 = 0xf2f2f2;
static readonly obj0LightGrey: i32 = 0xa0a0a0;
static readonly obj0DarkGrey: i32 = 0x585858;
static readonly obj0Black: i32 = 0x080808;
// Obj1
static readonly obj1White: i32 = 0xf2f2f2;
static readonly obj1LightGrey: i32 = 0xa0a0a0;
static readonly obj1DarkGrey: i32 = 0x585858;
static readonly obj1Black: i32 = 0x080808;
}
// Action Button: Right
export class GreenColors {
//Bg
static readonly bgWhite: i32 = 0xffffff;
static readonly bgLightGrey: i32 = 0x52ff00;
static readonly bgDarkGrey: i32 = 0xff4200;
static readonly bgBlack: i32 = 0x000000;
// Obj 0
static readonly obj0White: i32 = 0xffffff;
static readonly obj0LightGrey: i32 = 0x52ff00;
static readonly obj0DarkGrey: i32 = 0xff4200;
static readonly obj0Black: i32 = 0x000000;
// Obj1
static readonly obj1White: i32 = 0xffffff;
static readonly obj1LightGrey: i32 = 0x52ff00;
static readonly obj1DarkGrey: i32 = 0xff4200;
static readonly obj1Black: i32 = 0x000000;
}
// Action Button: A + Down
export class OrangeColors {
//Bg
static readonly bgWhite: i32 = 0xffffff;
static readonly bgLightGrey: i32 = 0xffff00;
static readonly bgDarkGrey: i32 = 0xff0000;
static readonly bgBlack: i32 = 0x000000;
// Obj 0
static readonly obj0White: i32 = 0xffffff;
static readonly obj0LightGrey: i32 = 0xffff00;
static readonly obj0DarkGrey: i32 = 0xff0000;
static readonly obj0Black: i32 = 0x000000;
// Obj1
static readonly obj1White: i32 = 0xffffff;
static readonly obj1LightGrey: i32 = 0xffff00;
static readonly obj1DarkGrey: i32 = 0xff0000;
static readonly obj1Black: i32 = 0x000000;
}
// Action Button: Up
export class BrownColors {
//Bg
static readonly bgWhite: i32 = 0xffffff;
static readonly bgLightGrey: i32 = 0xffad63;
static readonly bgDarkGrey: i32 = 0x843100;
static readonly bgBlack: i32 = 0x000000;
// Obj 0
static readonly obj0White: i32 = 0xffffff;
static readonly obj0LightGrey: i32 = 0xffad63;
static readonly obj0DarkGrey: i32 = 0x843100;
static readonly obj0Black: i32 = 0x000000;
// Obj1
static readonly obj1White: i32 = 0xffffff;
static readonly obj1LightGrey: i32 = 0xffad63;
static readonly obj1DarkGrey: i32 = 0x843100;
static readonly obj1Black: i32 = 0x000000;
}
// Action Button: B + Right
export class InvertedColors {
//Bg
static readonly bgWhite: i32 = 0x000000;
static readonly bgLightGrey: i32 = 0x008484;
static readonly bgDarkGrey: i32 = 0xffde00;
static readonly bgBlack: i32 = 0xffffff;
// Obj 0
static readonly obj0White: i32 = 0x000000;
static readonly obj0LightGrey: i32 = 0x008484;
static readonly obj0DarkGrey: i32 = 0xffde00;
static readonly obj0Black: i32 = 0xffffff;
// Obj1
static readonly obj1White: i32 = 0x000000;
static readonly obj1LightGrey: i32 = 0x008484;
static readonly obj1DarkGrey: i32 = 0xffde00;
static readonly obj1Black: i32 = 0xffffff;
}
// Action Button: B + Left
export class GrayscaleColors {
//Bg
static readonly bgWhite: i32 = 0xffffff;
static readonly bgLightGrey: i32 = 0xa5a5a5;
static readonly bgDarkGrey: i32 = 0x525252;
static readonly bgBlack: i32 = 0x000000;
// Obj 0
static readonly obj0White: i32 = 0xffffff;
static readonly obj0LightGrey: i32 = 0xa5a5a5;
static readonly obj0DarkGrey: i32 = 0x525252;
static readonly obj0Black: i32 = 0x000000;
// Obj1
static readonly obj1White: i32 = 0xffffff;
static readonly obj1LightGrey: i32 = 0xa5a5a5;
static readonly obj1DarkGrey: i32 = 0x525252;
static readonly obj1Black: i32 = 0x000000;
}
// Action Button: Down
export class PastelMixColors {
//Bg
static readonly bgWhite: i32 = 0xffffa5;
static readonly bgLightGrey: i32 = 0xff9494;
static readonly bgDarkGrey: i32 = 0x9494ff;
static readonly bgBlack: i32 = 0x000000;
// Obj 0
static readonly obj0White: i32 = 0xffffa5;
static readonly obj0LightGrey: i32 = 0xff9494;
static readonly obj0DarkGrey: i32 = 0x9494ff;
static readonly obj0Black: i32 = 0x000000;
// Obj1
static readonly obj1White: i32 = 0xffffa5;
static readonly obj1LightGrey: i32 = 0xff9494;
static readonly obj1DarkGrey: i32 = 0x9494ff;
static readonly obj1Black: i32 = 0x000000;
}
// Action Button: B + Up
export class DarkBrownColors {
//Bg
static readonly bgWhite: i32 = 0xffe6c5;
static readonly bgLightGrey: i32 = 0xce9c84;
static readonly bgDarkGrey: i32 = 0x846b29;
static readonly bgBlack: i32 = 0x5a3108;
// Obj 0
static readonly obj0White: i32 = 0xffffff;
static readonly obj0LightGrey: i32 = 0xffad63;
static readonly obj0DarkGrey: i32 = 0x843100;
static readonly obj0Black: i32 = 0x000000;
// Obj1
static readonly obj1White: i32 = 0xffffff;
static readonly obj1LightGrey: i32 = 0xffad63;
static readonly obj1DarkGrey: i32 = 0x843100;
static readonly obj1Black: i32 = 0x000000;
}
// Action Button: A + Right
export class DarkGreenColors {
//Bg
static readonly bgWhite: i32 = 0xffffff;
static readonly bgLightGrey: i32 = 0x7bff31;
static readonly bgDarkGrey: i32 = 0x0063c5;
static readonly bgBlack: i32 = 0x000000;
// Obj 0
static readonly obj0White: i32 = 0xffffff;
static readonly obj0LightGrey: i32 = 0xff8484;
static readonly obj0DarkGrey: i32 = 0x943a3a;
static readonly obj0Black: i32 = 0x000000;
// Obj1
static readonly obj1White: i32 = 0xffffff;
static readonly obj1LightGrey: i32 = 0xff8484;
static readonly obj1DarkGrey: i32 = 0x943a3a;
static readonly obj1Black: i32 = 0x000000;
}
// Action Button: A + Left
export class DarkBlueColors {
//Bg
static readonly bgWhite: i32 = 0xffffff;
static readonly bgLightGrey: i32 = 0x8c8cde;
static readonly bgDarkGrey: i32 = 0x52528c;
static readonly bgBlack: i32 = 0x000000;
// Obj 0
static readonly obj0White: i32 = 0xffffff;
static readonly obj0LightGrey: i32 = 0xff8484;
static readonly obj0DarkGrey: i32 = 0x943a3a;
static readonly obj0Black: i32 = 0x000000;
// Obj1
static readonly obj1White: i32 = 0xffffff;
static readonly obj1LightGrey: i32 = 0xffad63;
static readonly obj1DarkGrey: i32 = 0x843100;
static readonly obj1Black: i32 = 0x000000;
}
// Action Button: A + Up
export class RedColors {
//Bg
static readonly bgWhite: i32 = 0xffffff;
static readonly bgLightGrey: i32 = 0xff8484;
static readonly bgDarkGrey: i32 = 0x943a3a;
static readonly bgBlack: i32 = 0x000000;
// Obj 0
static readonly obj0White: i32 = 0xffffff;
static readonly obj0LightGrey: i32 = 0x7bff31;
static readonly obj0DarkGrey: i32 = 0x008400;
static readonly obj0Black: i32 = 0x000000;
// Obj1
static readonly obj1White: i32 = 0xffffff;
static readonly obj1LightGrey: i32 = 0x63a5ff;
static readonly obj1DarkGrey: i32 = 0x0000ff;
static readonly obj1Black: i32 = 0x000000;
}
// Action Button: Left
export class BlueColors {
//Bg
static readonly bgWhite: i32 = 0xffffff;
static readonly bgLightGrey: i32 = 0x63a5ff;
static readonly bgDarkGrey: i32 = 0x0000ff;
static readonly bgBlack: i32 = 0x000000;
// Obj 0
static readonly obj0White: i32 = 0xffffff;
static readonly obj0LightGrey: i32 = 0xff8484;
static readonly obj0DarkGrey: i32 = 0x943a3a;
static readonly obj0Black: i32 = 0x000000;
// Obj1
static readonly obj1White: i32 = 0xffffff;
static readonly obj1LightGrey: i32 = 0x7bff31;
static readonly obj1DarkGrey: i32 = 0x008400;
static readonly obj1Black: i32 = 0x000000;
}
// Action Button: B + Down
export class YellowColors {
//Bg
static readonly bgWhite: i32 = 0xffffff;
static readonly bgLightGrey: i32 = 0xffff00;
static readonly bgDarkGrey: i32 = 0x7b4a00;
static readonly bgBlack: i32 = 0x000000;
// Obj 0
static readonly obj0White: i32 = 0xffffff;
static readonly obj0LightGrey: i32 = 0x63a5ff;
static readonly obj0DarkGrey: i32 = 0x0000ff;
static readonly obj0Black: i32 = 0x000000;
// Obj1
static readonly obj1White: i32 = 0xffffff;
static readonly obj1LightGrey: i32 = 0x7bff31;
static readonly obj1DarkGrey: i32 = 0x008400;
static readonly obj1Black: i32 = 0x000000;
}
// Assigned Color Palettes
// Alleyway
export class Table00Entry08Colors {
//Bg
static readonly bgWhite: i32 = 0xa59cff;
static readonly bgLightGrey: i32 = 0xffff00;
static readonly bgDarkGrey: i32 = 0x006300;
static readonly bgBlack: i32 = 0x000000;
// Obj 0
static readonly obj0White: i32 = 0xa59cff;
static readonly obj0LightGrey: i32 = 0xffff00;
static readonly obj0DarkGrey: i32 = 0x006300;
static readonly obj0Black: i32 = 0x000000;
// Obj1
static readonly obj1White: i32 = 0xa59cff;
static readonly obj1LightGrey: i32 = 0xffff00;
static readonly obj1DarkGrey: i32 = 0x006300;
static readonly obj1Black: i32 = 0x000000;
}
// Pokemon Blue
export class Table01Entry0BColors {
//Bg
static readonly bgWhite: i32 = 0xffffff;
static readonly bgLightGrey: i32 = 0x63a5ff;
static readonly bgDarkGrey: i32 = 0x0000ff;
static readonly bgBlack: i32 = 0x000000;
// Obj 0
static readonly obj0White: i32 = 0xffffff;
static readonly obj0LightGrey: i32 = 0xff8484;
static readonly obj0DarkGrey: i32 = 0x943a3a;
static readonly obj0Black: i32 = 0x000000;
// Obj1
static readonly obj1White: i32 = 0xffffff;
static readonly obj1LightGrey: i32 = 0x63a5ff;
static readonly obj1DarkGrey: i32 = 0x0000ff;
static readonly obj1Black: i32 = 0x000000;
}
// Pokemon Red
export class Table01Entry10Colors {
//Bg
static readonly bgWhite: i32 = 0xffffff;
static readonly bgLightGrey: i32 = 0xff8484;
static readonly bgDarkGrey: i32 = 0x943a3a;
static readonly bgBlack: i32 = 0x000000;
// Obj 0
static readonly obj0White: i32 = 0xffffff;
static readonly obj0LightGrey: i32 = 0x7bff31;
static readonly obj0DarkGrey: i32 = 0x008400;
static readonly obj0Black: i32 = 0x000000;
// Obj1
static readonly obj1White: i32 = 0xffffff;
static readonly obj1LightGrey: i32 = 0xff8484;
static readonly obj1DarkGrey: i32 = 0x943a3a;
static readonly obj1Black: i32 = 0x000000;
}
// Super Mario Land
export class Table03Entry0AColors {
//Bg
static readonly bgWhite: i32 = 0xb5b5ff;
static readonly bgLightGrey: i32 = 0xffff94;
static readonly bgDarkGrey: i32 = 0xad5a42;
static readonly bgBlack: i32 = 0x000000;
// Obj 0
static readonly obj0White: i32 = 0x000000;
static readonly obj0LightGrey: i32 = 0xffffff;
static readonly obj0DarkGrey: i32 = 0xff8484;
static readonly obj0Black: i32 = 0x943a3a;
// Obj1
static readonly obj1White: i32 = 0x000000;
static readonly obj1LightGrey: i32 = 0xffffff;
static readonly obj1DarkGrey: i32 = 0xff8484;
static readonly obj1Black: i32 = 0x943a3a;
}
// Super Mario Land 3 - WarioLand
export class Table05Entry00Colors {
//Bg
static readonly bgWhite: i32 = 0xffffff;
static readonly bgLightGrey: i32 = 0xadad84;
static readonly bgDarkGrey: i32 = 0x42737b;
static readonly bgBlack: i32 = 0x000000;
// Obj 0
static readonly obj0White: i32 = 0xffffff;
static readonly obj0LightGrey: i32 = 0xff7300;
static readonly obj0DarkGrey: i32 = 0x944200;
static readonly obj0Black: i32 = 0x000000;
// Obj1
static readonly obj1White: i32 = 0xffffff;
static readonly obj1LightGrey: i32 = 0x5abdff;
static readonly obj1DarkGrey: i32 = 0xff0000;
static readonly obj1Black: i32 = 0x0000ff;
}
// Donkey Kong
export class Table05Entry01Colors {
//Bg
static readonly bgWhite: i32 = 0xffff9c;
static readonly bgLightGrey: i32 = 0x94b5ff;
static readonly bgDarkGrey: i32 = 0x639473;
static readonly bgBlack: i32 = 0x003a3a;
// Obj 0
static readonly obj0White: i32 = 0xffc542;
static readonly obj0LightGrey: i32 = 0xffd600;
static readonly obj0DarkGrey: i32 = 0x943a00;
static readonly obj0Black: i32 = 0x4a0000;
// Obj1
static readonly obj1White: i32 = 0xffffff;
static readonly obj1LightGrey: i32 = 0xff8484;
static readonly obj1DarkGrey: i32 = 0x943a3a;
static readonly obj1Black: i32 = 0x000000;
}
// Tennis
export class Table05Entry02Colors {
//Bg
static readonly bgWhite: i32 = 0x6bff00;
static readonly bgLightGrey: i32 = 0xffffff;
static readonly bgDarkGrey: i32 = 0xff524a;
static readonly bgBlack: i32 = 0x000000;
// Obj 0
static readonly obj0White: i32 = 0xffffff;
static readonly obj0LightGrey: i32 = 0xffffff;
static readonly obj0DarkGrey: i32 = 0x63a5ff;
static readonly obj0Black: i32 = 0x0000ff;
// Obj1
static readonly obj1White: i32 = 0xffffff;
static readonly obj1LightGrey: i32 = 0xffad63;
static readonly obj1DarkGrey: i32 = 0x843100;
static readonly obj1Black: i32 = 0x000000;
}
// Kirby's Dream Land
export class Table05Entry08Colors {
//Bg
static readonly bgWhite: i32 = 0xa59cff;
static readonly bgLightGrey: i32 = 0xffff00;
static readonly bgDarkGrey: i32 = 0x006300;
static readonly bgBlack: i32 = 0x000000;
// Obj 0
static readonly obj0White: i32 = 0xff6352;
static readonly obj0LightGrey: i32 = 0xd60000;
static readonly obj0DarkGrey: i32 = 0x630000;
static readonly obj0Black: i32 = 0x000000;
// Obj1
static readonly obj1White: i32 = 0x0000ff;
static readonly obj1LightGrey: i32 = 0xffffff;
static readonly obj1DarkGrey: i32 = 0xffff7b;
static readonly obj1Black: i32 = 0x0084ff;
}
// Super Mario Land 2 BAYYYBEEE
export class Table05Entry09Colors {
//Bg
static readonly bgWhite: i32 = 0xffffce;
static readonly bgLightGrey: i32 = 0x63efef;
static readonly bgDarkGrey: i32 = 0x9c8431;
static readonly bgBlack: i32 = 0x5a5a5a;
// Obj 0
static readonly obj0White: i32 = 0xffffff;
static readonly obj0LightGrey: i32 = 0xff7300;
static readonly obj0DarkGrey: i32 = 0x944200;
static readonly obj0Black: i32 = 0x000000;
// Obj1
static readonly obj1White: i32 = 0xffffff;
static readonly obj1LightGrey: i32 = 0x63a5ff;
static readonly obj1DarkGrey: i32 = 0x0000ff;
static readonly obj1Black: i32 = 0x000000;
}
// Link's Awakening
export class Table05Entry11Colors {
// Bg
static readonly bgWhite: i32 = 0xffffff;
static readonly bgLightGrey: i32 = 0xff8484;
static readonly bgDarkGrey: i32 = 0x943a3a;
static readonly bgBlack: i32 = 0x000000;
// Obj 0
static readonly obj0White: i32 = 0xffffff;
static readonly obj0LightGrey: i32 = 0x00ff00;
static readonly obj0DarkGrey: i32 = 0x318400;
static readonly obj0Black: i32 = 0x004a00;
// Obj1
static readonly obj1White: i32 = 0xffffff;
static readonly obj1LightGrey: i32 = 0x63a5ff;
static readonly obj1DarkGrey: i32 = 0x0000ff;
static readonly obj1Black: i32 = 0x000000;
}
// Metroid 2
export class Table05Entry14Colors {
//Bg
static readonly bgWhite: i32 = 0xffffff;
static readonly bgLightGrey: i32 = 0x63a5ff;
static readonly bgDarkGrey: i32 = 0x0000ff;
static readonly bgBlack: i32 = 0x000000;
// Obj 0
static readonly obj0White: i32 = 0xffff00;
static readonly obj0LightGrey: i32 = 0xff0000;
static readonly obj0DarkGrey: i32 = 0x630000;
static readonly obj0Black: i32 = 0x000000;
// Obj1
static readonly obj1White: i32 = 0xffffff;
static readonly obj1LightGrey: i32 = 0x7bff31;
static readonly obj1DarkGrey: i32 = 0x008400;
static readonly obj1Black: i32 = 0x000000;
}
// WarioLand 2
export class Table05Entry15Colors {
//Bg
static readonly bgWhite: i32 = 0xffffff;
static readonly bgLightGrey: i32 = 0xadad84;
static readonly bgDarkGrey: i32 = 0x42737b;
static readonly bgBlack: i32 = 0x000000;
// Obj 0
static readonly obj0White: i32 = 0xffffff;
static readonly obj0LightGrey: i32 = 0xffad63;
static readonly obj0DarkGrey: i32 = 0xffad63;
static readonly obj0Black: i32 = 0x000000;
// Obj1
static readonly obj1White: i32 = 0xffffff;
static readonly obj1LightGrey: i32 = 0x63a5ff;
static readonly obj1DarkGrey: i32 = 0x0000ff;
static readonly obj1Black: i32 = 0x000000;
}