~fixed video width not being initialized when using BIOS

~added an option to enable/disable 68k Address Error support (required by some homebrew roms)
This commit is contained in:
ekeeke31 2009-06-17 07:58:56 +00:00
parent 405489769e
commit c35921ba3d
9 changed files with 44 additions and 25 deletions

View File

@ -102,7 +102,7 @@ export OUTPUT := $(CURDIR)/$(TARGET)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
$(BUILD): $(BUILD):
@[ -d $@ ] || mkdir -p $@ @[ -d $@ ] || mkdir -p $@
@make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile @make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile.gc
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
clean: clean:

View File

@ -102,7 +102,7 @@ export OUTPUT := $(CURDIR)/$(TARGET)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
$(BUILD): $(BUILD):
@[ -d $@ ] || mkdir -p $@ @[ -d $@ ] || mkdir -p $@
@make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile @make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile.wii
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
clean: clean:

View File

@ -1,6 +1,4 @@
cp Makefile.gc Makefile make -f Makefile.wii
make make -f Makefile.gc
cp Makefile.wii Makefile rm *.elf
make
rm Makefile
cp genplus_wii.dol boot.dol cp genplus_wii.dol boot.dol

View File

@ -382,7 +382,7 @@ void cart_hw_init()
#if M68K_EMULATE_ADDRESS_ERROR #if M68K_EMULATE_ADDRESS_ERROR
/* default behavior */ /* default behavior */
emulate_address_error = 1; emulate_address_error = config.addr_error;
#endif #endif
/* detect ROM files larger than 4MB */ /* detect ROM files larger than 4MB */

View File

@ -78,6 +78,7 @@ void config_default(void)
/* system options */ /* system options */
config.region_detect = 0; config.region_detect = 0;
config.force_dtack = 0; config.force_dtack = 0;
config.addr_error = 1;
config.bios_enabled = 0; config.bios_enabled = 0;
/* video options */ /* video options */

View File

@ -41,6 +41,7 @@ typedef struct
float hg; float hg;
uint8 region_detect; uint8 region_detect;
uint8 force_dtack; uint8 force_dtack;
uint8 addr_error;
uint8 bios_enabled; uint8 bios_enabled;
int16 xshift; int16 xshift;
int16 yshift; int16 yshift;

View File

@ -223,19 +223,20 @@ static gui_item items_audio[8] =
{NULL,NULL,"PSG Noise Boost: OFF", "Boost PSG Noise Channel", 52,132,276,48}, {NULL,NULL,"PSG Noise Boost: OFF", "Boost PSG Noise Channel", 52,132,276,48},
{NULL,NULL,"PSG Volume: 2.50", "Adjust SN76489 output level", 52,132,276,48}, {NULL,NULL,"PSG Volume: 2.50", "Adjust SN76489 output level", 52,132,276,48},
{NULL,NULL,"FM Volume: 1.00", "Adjust YM2612 output level", 52,132,276,48}, {NULL,NULL,"FM Volume: 1.00", "Adjust YM2612 output level", 52,132,276,48},
{NULL,NULL,"Filtering: 3-BAND EQ", "Setup Audio filtering", 52,132,276,48}, {NULL,NULL,"Filtering: 3-BAND EQ", "Setup Audio filtering", 52,132,276,48},
{NULL,NULL,"Low Gain: 1.00", "Adjust EQ Low Gain", 52,132,276,48}, {NULL,NULL,"Low Gain: 1.00", "Adjust EQ Low Gain", 52,132,276,48},
{NULL,NULL,"Middle Gain: 1.00", "Adjust EQ Middle Gain", 52,132,276,48}, {NULL,NULL,"Middle Gain: 1.00", "Adjust EQ Middle Gain", 52,132,276,48},
{NULL,NULL,"High Gain: 1.00", "Adjust EQ High Gain", 52,132,276,48}, {NULL,NULL,"High Gain: 1.00", "Adjust EQ High Gain", 52,132,276,48},
}; };
/* System options menu */ /* System options menu */
static gui_item items_system[4] = static gui_item items_system[5] =
{ {
{NULL,NULL,"Console Region: AUTO","Select system region", 52,132,276,48}, {NULL,NULL,"Console Region: AUTO", "Select system region", 52,132,276,48},
{NULL,NULL,"System Lockups: OFF", "Enable/disable original system lock-ups",52,132,276,48}, {NULL,NULL,"System Lockups: OFF", "Enable/disable original system lock-ups", 52,132,276,48},
{NULL,NULL,"System BIOS: OFF", "Enable/disable TMSS BIOS support", 52,132,276,48}, {NULL,NULL,"68k Address Error: ON", "Enable/disable 68k Address Error", 52,132,276,48},
{NULL,NULL,"SVP Cycles: 1500", "Adjust SVP chip emulation speed", 52,132,276,48} {NULL,NULL,"System BIOS: OFF", "Enable/disable TMSS BIOS support", 52,132,276,48},
{NULL,NULL,"SVP Cycles: 1500", "Adjust SVP chip emulation speed", 52,132,276,48}
}; };
/* Video options menu */ /* Video options menu */
@ -409,12 +410,12 @@ static gui_menu menu_system =
{ {
"System Settings", "System Settings",
0,0, 0,0,
4,4,6, 5,4,6,
items_system, items_system,
buttons_list, buttons_list,
bg_list, bg_list,
{&action_cancel, &action_select}, {&action_cancel, &action_select},
{NULL,NULL}, {&arrow_up,&arrow_down},
FALSE FALSE
}; };
@ -835,8 +836,19 @@ static void systemmenu ()
else if (config.region_detect == 2) sprintf (items[0].text, "Console Region: EUR"); else if (config.region_detect == 2) sprintf (items[0].text, "Console Region: EUR");
else if (config.region_detect == 3) sprintf (items[0].text, "Console Region: JAP"); else if (config.region_detect == 3) sprintf (items[0].text, "Console Region: JAP");
sprintf (items[1].text, "System Lockups: %s", config.force_dtack ? "OFF" : "ON"); sprintf (items[1].text, "System Lockups: %s", config.force_dtack ? "OFF" : "ON");
sprintf (items[2].text, "System BIOS: %s", (config.bios_enabled & 1) ? "ON":"OFF"); sprintf (items[2].text, "68k Address Error: %s", config.addr_error ? "ON" : "OFF");
sprintf (items[3].text, "SVP Cycles: %d", SVP_cycles); sprintf (items[3].text, "System BIOS: %s", (config.bios_enabled & 1) ? "ON":"OFF");
if (svp)
{
sprintf (items[4].text, "SVP Cycles: %d", SVP_cycles);
m->max_items = 5;
}
else
{
m->max_items = 4;
m->offset = 0;
}
GUI_InitMenu(m); GUI_InitMenu(m);
GUI_SlideMenuTitle(m,strlen("System ")); GUI_SlideMenuTitle(m,strlen("System "));
@ -884,9 +896,16 @@ static void systemmenu ()
sprintf (items[1].text, "System Lockups: %s", config.force_dtack ? "OFF" : "ON"); sprintf (items[1].text, "System Lockups: %s", config.force_dtack ? "OFF" : "ON");
break; break;
case 2: /*** BIOS support ***/ case 2: /*** 68k Address Error ***/
config.addr_error ^= 1;
cart_hw_init ();
sprintf (items[2].text, "68k Address Error: %s", config.addr_error ? "ON" : "OFF");
break;
case 3: /*** BIOS support ***/
config.bios_enabled ^= 1; config.bios_enabled ^= 1;
sprintf (items[2].text, "System BIOS: %s", (config.bios_enabled & 1) ? "ON":"OFF"); sprintf (items[3].text, "System BIOS: %s", (config.bios_enabled & 1) ? "ON":"OFF");
if (genromsize || (config.bios_enabled == 3)) if (genromsize || (config.bios_enabled == 3))
{ {
system_init (); system_init ();
@ -895,9 +914,9 @@ static void systemmenu ()
} }
break; break;
case 3: /*** SVP emulation ***/ case 4: /*** SVP emulation ***/
GUI_OptionBox(m,0,"SVP Cycles",(void *)&SVP_cycles,1,1,1500,1); GUI_OptionBox(m,0,"SVP Cycles",(void *)&SVP_cycles,1,1,1500,1);
sprintf (items[3].text, "SVP Cycles: %d", SVP_cycles); sprintf (items[4].text, "SVP Cycles: %d", SVP_cycles);
break; break;
case -1: case -1:

View File

@ -27,9 +27,9 @@
#define DEFAULT_PATH "/genplus" #define DEFAULT_PATH "/genplus"
#ifdef HW_RVL #ifdef HW_RVL
#define VERSION "version 1.3.2bW" #define VERSION "version 1.3.2cW"
#else #else
#define VERSION "version 1.3.2bG" #define VERSION "version 1.3.2cG"
#endif #endif
/* globals */ /* globals */

View File

@ -213,7 +213,7 @@ void vdp_reset(void)
/* reset border area */ /* reset border area */
bitmap.viewport.x = config.overscan ? 14 : 0; bitmap.viewport.x = config.overscan ? 14 : 0;
bitmap.viewport.y = config.overscan ? (vdp_pal ? 32 : 8) : 0; bitmap.viewport.y = config.overscan ? (vdp_pal ? 32 : 8) : 0;
bitmap.viewport.changed = 1; bitmap.viewport.changed = 2;
/* initialize some registers (normally set by BIOS) */ /* initialize some registers (normally set by BIOS) */
if (config.bios_enabled != 3) if (config.bios_enabled != 3)