mirror of
https://github.com/libretro/gambatte-libretro.git
synced 2025-02-14 22:03:15 +00:00
![sinamas](/assets/img/avatar_default.png)
fourier transforms and optimal cost equations. Fast 2-tap linear as a low quality alternative. - libgambatte: Use deltas and a running sum to decrease buffer writes in sound emulation sample generation. - libgambatte: Rearrange sound emulation event loop to optimize for high-frequency event units. - libgambatte: Initialize palette arrays to avoid valgrind noise. - Don't do resampling in libgambatte. Update API to reflect this. - Move non-emulation common code to a common directory to avoid duplication. - Update front-ends to new libgambatte API. - Utilize resampling framework in front-ends. Selectable resamplers. - Improved adaptive sleep class that estimates oversleep. - Gambatte SDL: Estimate actual output sample rate in terms of OS timers and derive frame rate from it. - Gambatte SDL: Move AudioData and RingBuffer classes to separate files. - Gambatte SDL: Make underruns slightly less painful, by resetting buffer positions. - Gambatte Qt: Update AudioEngine to support sample rate estimation in terms of OS timers. - Gambatte Qt: Implement sample rate estimation in ALSA and OSS audio engines. - Gambatte Qt: AlsaEngine: Revert to using snd_pcm_avail_update for buffer status since snd_pcm_delay may consider external latencies. - Gambatte Qt: AlsaEngine: Use snd_pcm_hw_params_set_buffer_time_near. Don't request a particular number of periods per buffer. - Gambatte Qt: AlsaEngine: Use hw as default custom device string, rather than hw:0,0. - Gambatte Qt: OssEngine: Don't trust GETOSPACE fragment info. - Gambatte Qt: Estimate optimal frame rate based on sample rate estimations. - Gambatte Qt: Extend BlitterWidget to support estimation of vsynced frame rate in terms of OS timers. - Gambatte Qt: Implement vsync frame rate estimation in QGlBlitter, Direct3DBlitter and DirectDrawBlitter. - Gambatte Qt: Use a combination of OS timer sample rate estimation and vsync frame rate estimation to derive resampling ratio for no-frame-duplication vsync. - Gambatte Qt: Change API to reflect MediaSources not being responsible for resampling. - Gambatte Qt: Make sure to parent PaletteDialog list model, so it gets deleted properly. - Various refactoring, small changes and stuff I forgot. git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@165 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
64 lines
1.8 KiB
Python
64 lines
1.8 KiB
Python
global_cflags = ARGUMENTS.get('CFLAGS', '-Wall -Wextra -O2 -fomit-frame-pointer')
|
|
global_cxxflags = ARGUMENTS.get('CXXFLAGS', global_cflags + ' -fno-exceptions -fno-rtti')
|
|
global_defines = ' -DHAVE_STDINT_H -DCHAR_WIDTH_8'
|
|
|
|
env = Environment(CPPPATH = ['src', 'include', '../common'],
|
|
CFLAGS = global_cflags + global_defines,
|
|
CXXFLAGS = global_cxxflags + global_defines)
|
|
|
|
sourceFiles = Split('''
|
|
src/bitmap_font.cpp
|
|
src/colorconversion.cpp
|
|
src/cpu.cpp
|
|
src/gambatte.cpp
|
|
src/initstate.cpp
|
|
src/interrupter.cpp
|
|
src/memory.cpp
|
|
src/rtc.cpp
|
|
src/sound.cpp
|
|
src/state_osd_elements.cpp
|
|
src/statesaver.cpp
|
|
src/video.cpp
|
|
src/sound/channel1.cpp
|
|
src/sound/channel2.cpp
|
|
src/sound/channel3.cpp
|
|
src/sound/channel4.cpp
|
|
src/sound/duty_unit.cpp
|
|
src/sound/envelope_unit.cpp
|
|
src/sound/length_counter.cpp
|
|
src/video/basic_add_event.cpp
|
|
src/video/break_event.cpp
|
|
src/video/irq_event.cpp
|
|
src/video/ly_counter.cpp
|
|
src/video/lyc_irq.cpp
|
|
src/video/m3_extra_cycles.cpp
|
|
src/video/mode3_event.cpp
|
|
src/video/mode0_irq.cpp
|
|
src/video/mode1_irq.cpp
|
|
src/video/mode2_irq.cpp
|
|
src/video/sc_reader.cpp
|
|
src/video/scx_reader.cpp
|
|
src/video/sprite_mapper.cpp
|
|
src/video/we_master_checker.cpp
|
|
src/video/we.cpp
|
|
src/video/wx_reader.cpp
|
|
src/video/wy.cpp
|
|
src/video/filters/catrom2x.cpp
|
|
src/video/filters/catrom3x.cpp
|
|
src/video/filters/kreed2xsai.cpp
|
|
src/video/filters/maxsthq2x.cpp
|
|
''')
|
|
|
|
conf = env.Configure()
|
|
|
|
if conf.CheckHeader('zlib.h') and conf.CheckLib('z'):
|
|
sourceFiles.append('src/file/unzip/unzip.c')
|
|
sourceFiles.append('src/file/unzip/ioapi.c')
|
|
sourceFiles.append('src/file/file_zip.cpp')
|
|
else:
|
|
sourceFiles.append('src/file/file.cpp')
|
|
|
|
conf.Finish()
|
|
|
|
env.Library('gambatte', sourceFiles)
|