adjust palettes
This commit is contained in:
+636
-620
File diff suppressed because it is too large
Load Diff
@@ -92,10 +92,6 @@ union core_cmd {
|
|||||||
uint32_t full;
|
uint32_t full;
|
||||||
};
|
};
|
||||||
|
|
||||||
void nextPalette();
|
|
||||||
|
|
||||||
void prevPalette();
|
|
||||||
|
|
||||||
void lcd_init(bool isCore1);
|
void lcd_init(bool isCore1);
|
||||||
void lcd_draw_line(struct gb_s* gb, const uint8_t* pixels, const uint_fast8_t line);
|
void lcd_draw_line(struct gb_s* gb, const uint8_t* pixels, const uint_fast8_t line);
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,8 @@ extern i2s_config_t i2s_config;
|
|||||||
|
|
||||||
extern uint8_t gamma_int;
|
extern uint8_t gamma_int;
|
||||||
|
|
||||||
|
static uint8_t palette_selected = 0;
|
||||||
|
|
||||||
static struct
|
static struct
|
||||||
{
|
{
|
||||||
unsigned a : 1;
|
unsigned a : 1;
|
||||||
@@ -108,6 +110,27 @@ void initJoypad() {
|
|||||||
Serial.println("Joypad IOs initialized");
|
Serial.println("Joypad IOs initialized");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define PALETTE_COUNT 15
|
||||||
|
|
||||||
|
void updatePalette() {
|
||||||
|
if (palette_selected == 0) {
|
||||||
|
char rom_title[16];
|
||||||
|
auto_assign_palette(palette, gb_colour_hash(&gb), gb_get_rom_name(&gb, rom_title));
|
||||||
|
} else {
|
||||||
|
manual_assign_palette(palette, palette_selected - 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void nextPalette() {
|
||||||
|
palette_selected = (palette_selected + 1) % PALETTE_COUNT;
|
||||||
|
updatePalette();
|
||||||
|
}
|
||||||
|
|
||||||
|
void prevPalette() {
|
||||||
|
palette_selected = (palette_selected + PALETTE_COUNT - 1) % PALETTE_COUNT;
|
||||||
|
updatePalette();
|
||||||
|
}
|
||||||
|
|
||||||
void handleSerial() {
|
void handleSerial() {
|
||||||
static uint64_t start_time = time_us_64();
|
static uint64_t start_time = time_us_64();
|
||||||
|
|
||||||
|
|||||||
@@ -53,8 +53,6 @@ uint16_t* stream;
|
|||||||
i2s_config_t i2s_config;
|
i2s_config_t i2s_config;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static uint8_t manual_palette_selected = 0;
|
|
||||||
|
|
||||||
uint_fast32_t frames = 0;
|
uint_fast32_t frames = 0;
|
||||||
|
|
||||||
void startEmulator() {
|
void startEmulator() {
|
||||||
@@ -170,16 +168,6 @@ void setup() {
|
|||||||
startEmulator();
|
startEmulator();
|
||||||
}
|
}
|
||||||
|
|
||||||
void nextPalette() {
|
|
||||||
manual_palette_selected = manual_palette_selected < 12 ? manual_palette_selected + 1 : 0;
|
|
||||||
manual_assign_palette(palette, manual_palette_selected);
|
|
||||||
}
|
|
||||||
|
|
||||||
void prevPalette() {
|
|
||||||
manual_palette_selected = manual_palette_selected > 0 ? manual_palette_selected - 1 : 12;
|
|
||||||
manual_assign_palette(palette, manual_palette_selected);
|
|
||||||
}
|
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
gb.gb_frame = 0;
|
gb.gb_frame = 0;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user