mirror of
https://github.com/ekeeke/Genesis-Plus-GX.git
synced 2025-02-13 09:59:16 +01:00
fixed stupid bug with video renderer
This commit is contained in:
parent
f2bf794996
commit
0bc38ba32c
@ -34,7 +34,7 @@ LDFLAGS = $(MACHDEP) -Wl,-Map,$(notdir $@).map
|
|||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
# any extra libraries we wish to link with the project
|
# any extra libraries we wish to link with the project
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
LIBS := -ldi -lfat -lwiiuse -lbte -logc -lm -lz -lsamplerate
|
LIBS := -ldi -lfat -lwiiuse -lbte -logc -lm -lz
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
# list of directories containing libraries, this must be the top level containing
|
# list of directories containing libraries, this must be the top level containing
|
||||||
|
12
history.txt
12
history.txt
@ -15,21 +15,21 @@ CURRENT:
|
|||||||
- improved HBLANK flag accuracy, fixes line flickering in "Gouketsuji Ichizoku"
|
- improved HBLANK flag accuracy, fixes line flickering in "Gouketsuji Ichizoku"
|
||||||
- re-enabled Z80 banked access to WRAM, fixes hang-up in "Mamono Hunter Youko"
|
- re-enabled Z80 banked access to WRAM, fixes hang-up in "Mamono Hunter Youko"
|
||||||
- modified JCART emulation, fixes corrupted tracks logo in "Micro Machines 2"
|
- modified JCART emulation, fixes corrupted tracks logo in "Micro Machines 2"
|
||||||
- added Blargg's NTSC Filters support (emulates NTSC composite video artifacts)
|
- added Blargg's NTSC Filters support (NTSC composite video artifacts emulation)
|
||||||
|
|
||||||
[NGC/Wii]
|
[NGC/Wii]
|
||||||
- remove useless libsamplerate settings in "HQ YM2612" mode, only keeps SRC_LINEAR (faster) and SRC_SINC_FAST (better)
|
- remove useless libsamplerate settings in "HQ YM2612" mode, only keeps SRC_LINEAR (faster) and SRC_SINC_FAST (better)
|
||||||
- implemented fast scrolling in menus using Wiimote D-PAD
|
- implemented fast scrolling in menus using Wiimote D-PAD
|
||||||
- fixed config file incompatibilities when switching between Gamecube and Wii versions
|
- fixed config file incompatibilities when switching between Gamecube and Wii versions
|
||||||
- added an option to enable/disable bilinear filtering (can reduce scroll tearing sometime)
|
- added an option to enable/disable bilinear filtering
|
||||||
- added antialiasing support (optional)
|
- rewrote video scaling code
|
||||||
- modified Xscale/Yscale values to show scaled width/height instead of scaling offsets
|
- removed embedded font, back to internal IPL font: it should still works for Qoob users (fix from emukiddid)
|
||||||
- removed embedded font, back to internal IPL font: it should still works for Qoob users (thanks to emukiddid !)
|
- improved SDCARD access speed (svpe's libogc patch)
|
||||||
|
- added SDHC support (marcan's libogc patch)
|
||||||
|
|
||||||
|
|
||||||
[NGC]
|
[NGC]
|
||||||
- added proper 480p menu detection for NTSC Gamecube users
|
- added proper 480p menu detection for NTSC Gamecube users
|
||||||
- prevents FAT automatic operations if no SDCARD is present
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,10 +4,9 @@
|
|||||||
#include <fat.h>
|
#include <fat.h>
|
||||||
#include <sys/dir.h>
|
#include <sys/dir.h>
|
||||||
|
|
||||||
#define CONFIG_VERSION "GENPLUS 1.2.6 "
|
#define CONFIG_VERSION "GENPLUS 1.2.2 "
|
||||||
|
|
||||||
t_config config;
|
t_config config;
|
||||||
bool use_FAT;
|
|
||||||
|
|
||||||
void config_save()
|
void config_save()
|
||||||
{
|
{
|
||||||
|
@ -857,15 +857,10 @@ int loadsavemenu (int which)
|
|||||||
if ((device == 0) || (device == 3))
|
if ((device == 0) || (device == 3))
|
||||||
{
|
{
|
||||||
PARTITION_INTERFACE dev = device ? PI_USBSTORAGE : PI_INTERNAL_SD;
|
PARTITION_INTERFACE dev = device ? PI_USBSTORAGE : PI_INTERNAL_SD;
|
||||||
if (FatIsMounted(dev)) fatSetDefaultInterface(dev);
|
fatSetDefaultInterface(dev);
|
||||||
else
|
fatEnableReadAhead (dev, 6, 64);
|
||||||
{
|
|
||||||
WaitPrompt ("Device not found!");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
fatEnableReadAhead (PI_DEFAULT, 6, 64);
|
|
||||||
if (which == 1) quit = ManageState(ret-1,device);
|
if (which == 1) quit = ManageState(ret-1,device);
|
||||||
else if (which == 0) quit = ManageSRAM(ret-1,device);
|
else if (which == 0) quit = ManageSRAM(ret-1,device);
|
||||||
if (quit) return 1;
|
if (quit) return 1;
|
||||||
@ -964,15 +959,10 @@ void loadmenu ()
|
|||||||
case 2:
|
case 2:
|
||||||
{
|
{
|
||||||
PARTITION_INTERFACE dev = (ret&2) ? PI_USBSTORAGE : PI_INTERNAL_SD;
|
PARTITION_INTERFACE dev = (ret&2) ? PI_USBSTORAGE : PI_INTERNAL_SD;
|
||||||
if (FatIsMounted(dev)) fatSetDefaultInterface(dev);
|
fatSetDefaultInterface(dev);
|
||||||
else
|
fatEnableReadAhead (dev, 6, 64);
|
||||||
{
|
|
||||||
WaitPrompt ("Device not found!");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
fatEnableReadAhead (PI_DEFAULT, 6, 64);
|
|
||||||
quit = OpenSD();
|
quit = OpenSD();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -100,6 +100,7 @@ void reloadrom ()
|
|||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
int FramesPerSecond = 0;
|
int FramesPerSecond = 0;
|
||||||
int frameticker = 0;
|
int frameticker = 0;
|
||||||
|
bool use_FAT = 0;
|
||||||
|
|
||||||
int main (int argc, char *argv[])
|
int main (int argc, char *argv[])
|
||||||
{
|
{
|
||||||
@ -125,12 +126,11 @@ int main (int argc, char *argv[])
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Initialize SDCARD Interface (LibFAT) */
|
/* Initialize SDCARD Interface (LibFAT) */
|
||||||
use_FAT = 0;
|
if (fatInitDefault() == true)
|
||||||
#ifdef HW_RVL
|
{
|
||||||
if (fatInit (8, false) == true) use_FAT = 1;
|
use_FAT = 1;
|
||||||
#else
|
fatEnableReadAhead (PI_DEFAULT, 6, 64);
|
||||||
if (fatInitDefault() == true) use_FAT = 1;
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Restore User Configuration */
|
/* Restore User Configuration */
|
||||||
set_config_defaults();
|
set_config_defaults();
|
||||||
|
@ -396,17 +396,24 @@ static void gxScale(GXRModeObj *rmode)
|
|||||||
{
|
{
|
||||||
int scale = 0;
|
int scale = 0;
|
||||||
|
|
||||||
/* GX filtering is disabled, VI handles full strecthing */
|
/* GX Scaler (by default, use EFB maximal width) */
|
||||||
if (!config.bilinear && (vwidth < 640)) rmode->fbWidth = vwidth;
|
rmode->fbWidth = 640;
|
||||||
else rmode->fbWidth = 640;
|
if (!config.bilinear)
|
||||||
|
{
|
||||||
|
/* try to prevent GX bilinear filtering */
|
||||||
|
/* if possible, let GX simply doubles the width, otherwise disable GX stretching completely */
|
||||||
|
if ((vwidth * 2) <= 640) rmode->fbWidth = vwidth * 2;
|
||||||
|
else if (vwidth <= 640) rmode->fbWidth = vwidth;
|
||||||
|
}
|
||||||
|
|
||||||
/* Configure GX scaler and VI width */
|
/* Horizontal Scaling (GX/VI) */
|
||||||
if (xscale > (rmode->fbWidth/2))
|
if (xscale > (rmode->fbWidth/2))
|
||||||
{
|
{
|
||||||
/* check max upscaling */
|
/* check max upscaling */
|
||||||
if (xscale > 360)
|
if (xscale > 360)
|
||||||
{
|
{
|
||||||
scale = xscale - 360; /* save offset for later */
|
/* save offset for later */
|
||||||
|
scale = xscale - 360;
|
||||||
xscale = 360;
|
xscale = 360;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -584,6 +591,8 @@ void ogc_video__update()
|
|||||||
/* check if viewport has changed */
|
/* check if viewport has changed */
|
||||||
if (bitmap.viewport.changed)
|
if (bitmap.viewport.changed)
|
||||||
{
|
{
|
||||||
|
bitmap.viewport.changed = 0;
|
||||||
|
|
||||||
/* update texture size */
|
/* update texture size */
|
||||||
vwidth = bitmap.viewport.w + 2 * bitmap.viewport.x;
|
vwidth = bitmap.viewport.w + 2 * bitmap.viewport.x;
|
||||||
vheight = bitmap.viewport.h + 2 * bitmap.viewport.y;
|
vheight = bitmap.viewport.h + 2 * bitmap.viewport.y;
|
||||||
|
@ -1170,10 +1170,10 @@ INLINE void chan_calc(FM_CH *CH)
|
|||||||
/* add support for 3 slot mode */
|
/* add support for 3 slot mode */
|
||||||
if ((ym2612.OPN.ST.mode & 0xC0) && (CH == &ym2612.CH[2]))
|
if ((ym2612.OPN.ST.mode & 0xC0) && (CH == &ym2612.CH[2]))
|
||||||
{
|
{
|
||||||
update_phase_lfo_slot(&ym2612.CH[2].SLOT[SLOT1], CH->pms, ym2612.OPN.SL3.block_fnum[1]);
|
update_phase_lfo_slot(&CH->SLOT[SLOT1], CH->pms, ym2612.OPN.SL3.block_fnum[1]);
|
||||||
update_phase_lfo_slot(&ym2612.CH[2].SLOT[SLOT2], CH->pms, ym2612.OPN.SL3.block_fnum[2]);
|
update_phase_lfo_slot(&CH->SLOT[SLOT2], CH->pms, ym2612.OPN.SL3.block_fnum[2]);
|
||||||
update_phase_lfo_slot(&ym2612.CH[2].SLOT[SLOT3], CH->pms, ym2612.OPN.SL3.block_fnum[0]);
|
update_phase_lfo_slot(&CH->SLOT[SLOT3], CH->pms, ym2612.OPN.SL3.block_fnum[0]);
|
||||||
update_phase_lfo_slot(&ym2612.CH[2].SLOT[SLOT4], CH->pms, CH->block_fnum);
|
update_phase_lfo_slot(&CH->SLOT[SLOT4], CH->pms, CH->block_fnum);
|
||||||
}
|
}
|
||||||
else update_phase_lfo_channel(CH);
|
else update_phase_lfo_channel(CH);
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,7 @@ NAME = ../gen_sdl.exe
|
|||||||
|
|
||||||
CC = gcc
|
CC = gcc
|
||||||
CFLAGS = `sdl-config --cflags` -O6 -march=i686 -fomit-frame-pointer
|
CFLAGS = `sdl-config --cflags` -O6 -march=i686 -fomit-frame-pointer
|
||||||
DEFINES = -DLSB_FIRST -DX86_ASM -DLOG_ERROR=1
|
DEFINES = -DLSB_FIRST -DX86_ASM -DLOGERROR=1
|
||||||
INCLUDES = -I. -I.. -I../z80 -I../m68k -I../dos -I../sound -I../sound/SRC -I../cart_hw -I../cart_hw/svp -I../ntsc
|
INCLUDES = -I. -I.. -I../z80 -I../m68k -I../dos -I../sound -I../sound/SRC -I../cart_hw -I../cart_hw/svp -I../ntsc
|
||||||
LIBS = `sdl-config --libs` -lz -lm
|
LIBS = `sdl-config --libs` -lz -lm
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user