mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-05 07:17:45 -04:00
core+platforms, add SMS option to select TMS palette for gfx modes 0-3
This commit is contained in:
parent
dca20effa2
commit
214a6c624c
7 changed files with 36 additions and 2 deletions
|
@ -741,6 +741,10 @@ void PicoFrameStartSMS(void)
|
|||
Pico.m.dirtyPal = 1;
|
||||
}
|
||||
|
||||
Pico.m.hardware &= ~PMS_HW_TMS;
|
||||
if (PicoIn.tmsPalette || (PicoIn.AHW & (PAHW_SG|PAHW_SC)))
|
||||
Pico.m.hardware |= PMS_HW_TMS;
|
||||
|
||||
// Copy LCD enable flag for easier handling
|
||||
Pico.m.hardware &= ~PMS_HW_LCD;
|
||||
if ((PicoIn.opt & POPT_EN_GG_LCD) && (PicoIn.AHW & PAHW_GG)) {
|
||||
|
@ -886,7 +890,7 @@ void PicoDoHighPal555SMS(void)
|
|||
* hence GG/SMS/TMS can all be handled the same here */
|
||||
for (j = cnt; j > 0; j--) {
|
||||
if (!(Pico.video.reg[0] & 0x4)) // fixed palette in TMS modes
|
||||
spal = (u32 *)tmspal + (PicoIn.AHW & (PAHW_SG|PAHW_SC) ? 16/2:0);
|
||||
spal = (u32 *)tmspal + (Pico.m.hardware & PMS_HW_TMS ? 16/2:0);
|
||||
for (i = 0x20/2; i > 0; i--, spal++, dpal++) {
|
||||
t = *spal;
|
||||
#if defined(USE_BGR555)
|
||||
|
|
|
@ -116,6 +116,7 @@ typedef struct PicoInterface
|
|||
unsigned short autoRgnOrder; // packed priority list of regions, for example 0x148 means this detection order: EUR, USA, JAP
|
||||
unsigned int hwSelect; // hardware preselected via option menu
|
||||
unsigned int mapper; // mapper selection for SMS, 0 = auto
|
||||
unsigned int tmsPalette; // palette used by SMS in TMS graphic modes
|
||||
|
||||
unsigned short quirks; // game-specific quirks: PQUIRK_*
|
||||
unsigned short overclockM68k; // overclock the emulated 68k, in %
|
||||
|
|
|
@ -346,7 +346,8 @@ struct PicoMisc
|
|||
#define PMS_HW_LCD 0x2 // GG LCD
|
||||
#define PMS_HW_JAP 0x4 // japanese system
|
||||
#define PMS_HW_FM 0x8 // FM sound
|
||||
#define PMS_HW_FMUSED 0x10 // FM sound accessed
|
||||
#define PMS_HW_TMS 0x10 // assume TMS9918
|
||||
#define PMS_HW_FMUSED 0x80 // FM sound accessed
|
||||
|
||||
#define PMS_MAP_AUTO 0
|
||||
#define PMS_MAP_SEGA 1
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue