~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):
@[ -d $@ ] || mkdir -p $@
@make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
@make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile.gc
#---------------------------------------------------------------------------------
clean:

View File

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

View File

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

View File

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

View File

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

View File

@ -41,6 +41,7 @@ typedef struct
float hg;
uint8 region_detect;
uint8 force_dtack;
uint8 addr_error;
uint8 bios_enabled;
int16 xshift;
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 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,"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,"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},
};
/* 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,"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,"SVP Cycles: 1500", "Adjust SVP chip emulation speed", 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,"68k Address Error: ON", "Enable/disable 68k Address Error", 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 */
@ -409,12 +410,12 @@ static gui_menu menu_system =
{
"System Settings",
0,0,
4,4,6,
5,4,6,
items_system,
buttons_list,
bg_list,
{&action_cancel, &action_select},
{NULL,NULL},
{&arrow_up,&arrow_down},
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 == 3) sprintf (items[0].text, "Console Region: JAP");
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[3].text, "SVP Cycles: %d", SVP_cycles);
sprintf (items[2].text, "68k Address Error: %s", config.addr_error ? "ON" : "OFF");
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_SlideMenuTitle(m,strlen("System "));
@ -884,9 +896,16 @@ static void systemmenu ()
sprintf (items[1].text, "System Lockups: %s", config.force_dtack ? "OFF" : "ON");
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;
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))
{
system_init ();
@ -895,9 +914,9 @@ static void systemmenu ()
}
break;
case 3: /*** SVP emulation ***/
case 4: /*** SVP emulation ***/
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;
case -1:

View File

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

View File

@ -213,7 +213,7 @@ void vdp_reset(void)
/* reset border area */
bitmap.viewport.x = config.overscan ? 14 : 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) */
if (config.bios_enabled != 3)