adjust palettes

This commit is contained in:
Tobias Gunkel
2025-08-24 00:04:24 +02:00
parent b5532392b7
commit e14faf7df7
4 changed files with 659 additions and 636 deletions
+621 -605
View File
File diff suppressed because it is too large Load Diff
-4
View File
@@ -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);
+23
View File
@@ -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();
-12
View File
@@ -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;