Commit Graph

412 Commits

Author SHA1 Message Date
aliaspider
d231ef8677 add an allegrex (PSP) assembly version of the CC audio resampler. 2014-03-14 16:32:02 +01:00
aliaspider
f97f46a8b8 move alternate resampler to a seperate file 2014-03-07 12:51:52 +01:00
aliaspider
56630a5f21 added an optional audio resampler for systems not powerful enough for
the blipper ( like the psp ).
2014-03-01 02:26:37 +01:00
twinaphex
6882ef2662 Add blipper.c to MSVC solutions 2014-01-10 22:16:46 +01:00
twinaphex
4c97fae0e4 Fixup logging 2014-01-02 03:22:56 +01:00
twinaphex
0a424b1845 Update libretro.h 2013-12-18 20:31:39 +01:00
twinaphex
844de796ef (Libretro) Go through new logger interface 2013-12-16 14:12:21 +01:00
twinaphex
5190180e49 (QNX) Build fix - Drop -std=gnu99 2013-12-16 01:17:55 +01:00
twinaphex
f12db74675 (iOS) Add -miphone-version-min=5.0 2013-11-29 22:58:33 +01:00
twinaphex
afbf4e4b66 (iOS) Links for iOS again 2013-11-29 17:05:04 +01:00
Alcaro
fbdf0ccfb1 Make GB colorization look like this SML2 SGB video (Hssq8F-FUWk). Apparently someone mixed up RGB and BGR. 2013-11-25 19:50:35 +01:00
Alcaro
a2bb744402 I love it when I leave in debug code. 2013-11-23 12:23:48 +01:00
Alcaro
4f013b79aa This should fix Mario Land 2 being purple... should... 2013-11-23 12:21:24 +01:00
Alcaro
d2ec273a59 Forgot this one again. 2013-11-22 23:39:07 +01:00
Alcaro
9aa7365b24 Merge branch 'master' of github.com:Alcaro/gambatte-libretro 2013-11-22 23:35:25 +01:00
Alcaro
27b63eb4bb Whoops, forgot this one. 2013-11-22 23:12:46 +01:00
Alcaro
ae0161038a Seems to work from five seconds of testing Oracle of Seasons. Now for a GB game. 2013-11-22 22:06:16 +01:00
Alcaro
434ea5dfab Shift all those uint_least32 to a custom, variable typedef. Still tries rendering 32bpp to a 16bpp buffer, though. 2013-11-22 22:01:44 +01:00
Alcaro
255e0f7af5 Sanitize variable name. 2013-11-22 17:51:32 +01:00
Alcaro
fcb9280caa Don't mark nonexecutable files executable. 2013-11-22 17:46:24 +01:00
Alcaro
cb5db24bd1 Don't vary pitch for duped frames. 2013-11-22 17:45:55 +01:00
twinaphex
22dd118e37 (PS3) Fixes linking error on PS3 2013-11-07 01:32:19 +01:00
Themaister
246a88ff40 Update blipper. 2013-11-03 19:22:56 +01:00
Themaister
b2240b89de Update blipper. 2013-11-02 19:58:38 +01:00
Themaister
576c889af6 Add updated blipper. 2013-11-02 19:20:08 +01:00
Themaister
2b5322e942 Minor fixups. 2013-11-02 18:18:39 +01:00
Themaister
c1a22c7e96 Replace gambatte resampler with much faster blipper. 2013-11-02 17:36:59 +01:00
ToadKing
cfa793742f emscripten support 2013-09-15 17:10:24 -04:00
twinaphex
ff69a309ba (Makefile) Add ARM target 2013-07-14 03:36:28 +02:00
Themaister
2685b6a3ef Don't poll input every time input is fetched. 2013-05-19 22:46:50 +02:00
twinaphex
4141dae1ac Cleanup Makefile wrt static linking 2013-05-18 17:51:30 +02:00
twinaphex
254b62dca7 (iOS) Standardize target name 2013-05-18 03:44:56 +02:00
twinaphex
aa6719e4af Update extensions 2013-05-01 00:00:39 +02:00
twinaphex
89cd650fa5 (QNX) Update target output filename 2013-04-30 15:53:08 +02:00
Themaister
0f1ce939d4 Fix SRAM clear on reset. 2013-04-28 14:12:12 +02:00
twinaphex
f258d1751e Update target names in Makefile 2013-04-17 18:44:27 +02:00
Themaister
f57b66b5eb Fixups to palette handling.
Don't require retro_reset() on colorization change.
Fix a broke use of rom_name in palette code.
2013-04-15 15:59:19 +02:00
twinaphex
45fac8872d Build fix for MSVC XBox due to snprintf missing - didn't want to
do _snprintf ifdef for MSVC and didn't want to add and include
a msvc_compat.h header either - so just turned it into an
(unsafe) strcpy instead
2013-04-12 16:34:30 +02:00
twinaphex
efaaa30d08 GB Colorization now a runtime option 2013-04-08 04:53:43 +02:00
twinaphex
15bb08e15d Update libretro header 2013-04-08 02:40:27 +02:00
CatalystG
6491813878 (BlackBerry) Add NDK build project 2013-04-03 19:58:35 -04:00
twinaphex
da1d4f8d14 (QNX) Fixes build for QNX 2013-03-29 17:18:23 +01:00
twinaphex
1d77dccd6e (Blackberry) Add QNX initial Makefile target -doesn't compile and link
yet
2013-03-25 08:00:40 +01:00
meancoot
39f9dbb36d Add iOS build target 2013-03-17 19:04:58 -04:00
twinaphex
12abefce2e (Xbox 1 XDK) Use devenv for Xbox 1 building 2013-02-17 06:16:18 +01:00
twinaphex
b5e4eb80ca (Xbox 1) Add msvc-2003-xbox1.bat for building 2013-02-10 15:26:23 +01:00
twinaphex
7444ada3a8 (360) Add msvc-2010-360.bat for building 2013-02-09 08:23:07 +01:00
twinaphex
b16fd2f3d7 (MSVC 360) Update target output filenames 2013-02-03 07:00:35 +01:00
twinaphex
bec82a564a Update target names 2013-02-02 17:46:42 +01:00
Themaister
35f6989dba Fix indentation. 2013-01-14 09:46:51 +01:00
Andrea
4ac33deab9 Update libgambatte/libretro/libretro.cpp
fixed rom title reading
2013-01-13 06:20:04 +01:00
Andrea
0a8e6ce7e9 Update libgambatte/libretro/gbcpalettes.h
added more unofficial palettes
2013-01-12 03:40:44 +01:00
Andrea
18de468968 Update libgambatte/libretro/gbcpalettes.h
added includes and copyright notice
2013-01-12 03:01:25 +01:00
Andrea
d22bddcea7 Update libgambatte/libretro/libretro.cpp 2013-01-12 02:53:56 +01:00
Andrea
4e24a04d23 Update libgambatte/libretro/libretro.cpp 2013-01-12 02:47:43 +01:00
Andrea
08d84cb61a Update libgambatte/libretro/libretro.cpp 2013-01-12 02:26:23 +01:00
eadmaster
96b23d9227 implementing GBC BIOS palettes 2013-01-12 02:24:37 +01:00
Themaister
024d6a5c4d Stylistic changes. 2013-01-08 23:41:39 +01:00
Andrea
367cc37cb4 Update libgambatte/libretro/libretro.cpp 2013-01-08 22:15:10 +01:00
Andrea
9bfbb33f0c Update libgambatte/libretro/libretro.cpp 2013-01-08 22:05:23 +01:00
Andrea
056019f7d7 Update libgambatte/libretro/libretro.cpp 2013-01-08 21:11:42 +01:00
Andrea
43786f74b5 Update libgambatte/libretro/libretro.cpp 2013-01-08 20:52:57 +01:00
Andrea
f7eae9dcc6 Update libgambatte/libretro/libretro.cpp 2013-01-07 22:32:54 +01:00
Andrea
261b7e1511 Update libgambatte/libretro/libretro.cpp 2013-01-07 21:46:20 +01:00
Andrea
38555155c7 Update libgambatte/libretro/libretro.cpp 2013-01-07 21:44:12 +01:00
Andrea
5bb8877a1a Update libgambatte/libretro/libretro.cpp 2013-01-07 21:39:16 +01:00
Andrea
38071d308d Update libgambatte/libretro/libretro.cpp 2013-01-07 03:04:21 +01:00
Andrea
07fd2932d5 Update libgambatte/libretro/libretro.cpp 2013-01-06 22:00:55 +01:00
Andrea
99c01e286a Update libgambatte/libretro/libretro.cpp 2013-01-06 21:57:27 +01:00
Andrea
083801c0e0 Update libgambatte/libretro/libretro.cpp
added custom .pal lazy-parsing (skeleton code)
2013-01-06 21:50:27 +01:00
Andrea
fed0c07050 Update libgambatte/libretro/libretro.cpp 2013-01-05 02:38:27 +01:00
Andrea
3af71bf922 Update libgambatte/libretro/libretro.cpp 2013-01-05 02:36:30 +01:00
Themaister
1ae3ff037f Cleanups and tweaks for Android. 2012-12-28 21:34:20 +01:00
twinaphex
a290138104 Remove obsolete platform.mak now 2012-11-24 06:10:26 +01:00
twinaphex
b8ef1cffe6 (PSP libretro) Add -G0 2012-11-24 04:46:38 +01:00
twinaphex
741814c890 (Libretro) Add PSP1 target 2012-11-23 21:31:28 +01:00
twinaphex
cbe87962a3 (Libretro) Maintenance update 2012-10-22 22:01:54 +02:00
Themaister
4213ebe005 Update for XRGB8888. 2012-10-21 12:50:15 +02:00
twinaphex
d64ba0e4d9 (Android) Now compiles libraries for all Android platforms -
ARM, ARMv7a, MIPS, and x86
2012-10-19 04:19:15 +02:00
twinaphex
61a4c5ace2 (Android) Add JNI Makefiles - had to rename array.h and memory.h
to avoid system header include conflicts
2012-10-16 22:05:34 +02:00
Twinaphex
aa13231713 Add libretro target 'ngc' 2012-09-01 03:15:03 +02:00
Twinaphex
6589d12ba8 (Makefile) Updates - should compile on both Win32 and Linux now 2012-08-18 17:02:45 +02:00
twinaphex
fd52ca3d2d (Xbox 1 MSVC) Runs now on Xbox 1 2012-08-18 15:38:12 +02:00
Twinaphex
18e119b746 Revert "(Libretro) Add nonblock state"
This reverts commit 1fad2784a7.
2012-08-15 20:03:14 +02:00
Twinaphex
1fad2784a7 (Libretro) Add nonblock state 2012-08-15 09:53:58 +02:00
Toad King
25644517a0 fix wii makefile paths 2012-08-12 00:32:45 -04:00
Twinaphex
5db957bacc (Makefile libretro) Some target name changes 2012-08-11 14:59:39 +02:00
twinaphex
5985834932 (Xbox 1) Preliminary Xbox 1 solution - will need tweaks to
Gambatte in order to compile
2012-07-26 16:29:56 +02:00
twinaphex
3156da0216 (Libretro) Restructured libretro files 2012-07-26 16:09:27 +02:00
Twinaphex
db70001619 (PSL1GHT) Added PSL1GHT target 2012-07-01 19:17:34 +02:00
Twinaphex
cd7c084f0c Revert "Update libretro targets"
This reverts commit d94522ca06.
2012-07-01 19:15:22 +02:00
Twinaphex
d94522ca06 Update libretro targets 2012-06-30 14:58:05 +02:00
Themaister
a7c858cf51 Fix to the build. 2012-04-22 16:35:25 +02:00
Themaister
d4bae803e4 Merge branch 'master' of github.com:Themaister/gambatte-libretro
Conflicts:
	libgambatte/libretro/libretro.h
2012-04-16 19:12:21 +02:00
Themaister
433e5f3f30 Move to libretro. 2012-04-16 19:11:05 +02:00
TwinAphex51224
dd39051965 (360) MSVC solution now compiles + committed missing libretro.h
header file
2012-04-11 03:16:45 +02:00
Themaister
b3313a3a72 Build fixups. 2012-04-10 20:33:47 +02:00
Themaister
62a980f1c9 Update for libretro. 2012-04-10 20:31:45 +02:00
Themaister
3b347c1841 Moves. 2012-04-10 19:58:54 +02:00
Twinaphex
4ece23bab4 (Libretro) Add version string and audio batch callback 2012-04-03 23:47:23 +02:00
TwinAphex51224
284e5a6404 (360) Added 360 solution - 360 works now 2012-03-22 21:50:56 +01:00
Twinaphex
14ce465a1c Works on PS3 now 2012-03-22 20:35:33 +01:00
Themaister
33f1217ace Add target for Wii. 2011-12-14 17:31:12 +01:00
Themaister
e0b2995447 Use CAN_DUPE. 2011-11-22 17:26:49 +01:00
Themaister
183e40cee3 Use more accurate rates. Some other issue is affecting us. 2011-11-22 15:36:33 +01:00
Themaister
219438ac25 Update input rate. 2011-11-22 01:10:11 +01:00
Themaister
1086393d77 Ninja-fix. 2011-11-22 00:19:58 +01:00
Themaister
02f4ad0c06 Fixups for RTC, enforce uint64_t. 2011-11-21 20:38:46 +01:00
Themaister
1e975642dd Remove lots of file loading. 2011-11-21 20:23:48 +01:00
Themaister
bd7badaa51 Massive save state clean. 2011-11-21 19:15:55 +01:00
Themaister
600dc6307a Use correct timings. 2011-11-21 14:44:56 +01:00
Themaister
a20ae8aa2f Minor fixes. Add link script. 2011-10-30 10:48:40 +01:00
Themaister
f22236d06d Use extension. 2011-10-29 14:11:39 +02:00
Themaister
35521843a8 Build on Windows as well. 2011-09-25 19:29:53 +02:00
Themaister
90b705dd20 Hacky save states, but it's fast enough it seems :) 2011-09-25 18:55:08 +02:00
Themaister
6299e3a66a SRAM works ... 2011-09-25 18:08:51 +02:00
Themaister
b24171e88f Sound, yay. 2011-09-25 17:25:54 +02:00
Themaister
a97b7a7f48 Got picture! :) 2011-09-25 15:53:00 +02:00
Themaister
a04e2e2914 Add Makefile, fix warning. 2011-09-25 12:25:26 +02:00
sinamas
226b539d9c libgambatte: compilation and warning fixes for clang.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@276 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2011-09-24 19:54:17 +00:00
sinamas
1270b96c6e Facilitate overriding CC and CXX from the command line.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@275 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2011-09-24 14:52:45 +00:00
sinamas
dfcfa2172e Add GBA CGB mode option.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@269 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2011-09-17 16:54:55 +00:00
sinamas
205f454f15 - Add save path selection.
- Stop using different file name for save files when forcing DMG.


git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@268 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2011-09-17 14:18:14 +00:00
sinamas
0e8757146b reenable some printing on load fail due to unsupported mbc.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@263 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2011-09-14 22:19:10 +00:00
sinamas
66c1af679e - Work around DWM compositor screwing up when duplicating frames by adding "DWM triple buffering" option (on by default) which sets presentparameters with frame queueing for all blitters.
- Work around DWM breaking windows with frame queuing after composition is disabled and re-enabled, by resetting present parameters on next video frame after composition enable event.
- Work around DWM breaking OpenGL window on minimize by unsetting present params on hide event, and setting on show event.
- Ignore sync to vblank when DWM composition is active.
- Deactivate sync to frame rate option when DWM composition is active.
- Make window size setting a menu rather than a part of video settings dialog.
- Work around Windows file dialog blocking events by waiting for pause to complete before launching such dialog.
- Work around events getting blocked when resizing on Windows by consuming pending blit requests on resizeEvent.
- WASAPI: Detect and use shared stream sampling rate in shared mode because all other rates appear to fail.
- Default screen names start at "1" rather than "0".
- Build fixes for mingw gcc 3.4.
- Refactoring.



git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@259 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2011-09-11 04:32:50 +00:00
sinamas
644441168c refactoring.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@256 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2011-08-25 17:35:27 +00:00
sinamas
3233abfabc refactoring.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@255 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2011-08-18 19:48:16 +00:00
sinamas
962dc11503 refactoring.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@254 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2011-08-18 18:15:49 +00:00
sinamas
e1470f5279 - libgambatte: *
- tons of re (cgb _and_ dmg).

$ ./run_tests.sh
...
Ran 2755 tests.
0 failures.



git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@246 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2011-07-23 17:02:32 +00:00
sinamas
3ee82abe80 - Optimize save state thumbnail generation.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@243 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2010-04-04 16:17:40 +00:00
sinamas
9588aef11c - Better (simpler and makes sense) hypothesis for mode3 sprite cycles.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@240 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2010-03-26 20:20:10 +00:00
sinamas
a42f267354 - Document libgambatte better.
- Document resampling framework better.
- Use a single constant for setting number of resampler channels rather 
than two.
- thread-safety -> thread safety


git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@239 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2010-02-04 00:14:08 +00:00
sinamas
350533a224 - Redesign Qt multimedia framework to use a worker thread for MediaSource updates. This was a ton of work, but should make underruns a lot less likely. The majority of
underruns are caused by video I/O blocking (even when not syncing to vblank). It also means that vsync blocking is a non-issue. Lots of thread-safety considerations had to 
be done. Lots of tools developed to deal with new problems. Things redesigned to be asynchronous to avoid blocking the worker thread. New interfaces developed to give 
clients access to these things without too much pain, as clients need to deal with thread-safety issues, and be able to do things asynchronously to avoid blocking and 
unnecessary synchronization. Things developed and then scrapped as I changed my mind. Lots of thinking and testing to ensure video smoothness.
- Make configuration of the multimedia framework way more flexible, by adding methods for configuring video and sound, rather than forcing the use of the SoundDialog or 
VideoDialog. Thus clients can make their own GUI for such things.
- Pass raw input events to MediaSources so that clients will not have to use the InputDialog with its Button system.
- Split BlitterWidget blitting into three methods: blit, draw, and sync, such that blitting is supposedly a fast pixel copy or buffer swap, while draw prepares for 
presentation, and sync presents the completed video frame ASAP. Blit needs to be fast to avoid blocking the worker thread to avoid underruns.
- Allow heavy MediaSource video work to be skipped when frames are skipped.
- Do some work in parallel on SMP systems.
- Adjust low audio buffer detection to make it more robust.
- Move variance calculation to the user of estimations, because the variance calculated by estimators is not well defined anyway.
- Add support for adjustable fast-forward speed.
- Fast-forward now outputs audio, by skipping entire segments of audio when skipping frames.
- Adjust blitters to conform to the new threaded model.
- Direct3DBlitter: Apparently vertices point to the center of pixels. Subtract 0.5 from vertex coordinates.
- DirectDrawBlitter: Sleep more when far from vblank.
- QGLBlitter: Get rid of makeCurrent calls, because they apparently block and can be slow and don't seem to be needed anyway. They also seem to cause instability with some 
drivers.
- XvBlitter: Double buffer to delay updates to sync time.
- X11Blitter: Double buffer when not scaling to delay updates to sync time.
- QPainterBlitter: Double buffer when not scaling to delay updates to sync time.
- SdlBlitter: Delay updates to sync time.
- AlsaEngine: Set max periods to 16 to work around stupid ALSA plugins and drivers that advertise smaller period sizes than properly supported. ALSA always picks the 
maximum number of periods allowed, which means it picks the smallest period size allowed for a given buffer size.
- QPainterBlitter: Don't disable updates when not paused, because this breaks macx.
- Support pause on focus out.
- Add MiscDialog to allow user configuration of fast-forward speed and focus policy.
- Separate sync to refresh rate logic from sync to vblank logic.
- Sync to refresh rate menu option.
- Use semi-bilinear filtering rather than bilinear filtering for soft-scaling blitters.
- MakeSincKernel: Consider rounding effects when computing absolute gain.
- MakeSincKernel: Use a function pointer rather than a template argument to reduce code bloat.
- Reorder sinc kernel phases.
- PolyPhaseConvoluter: Simplify some calculations.
- Replace Hamming and Blackman windowed sincs with Kaiser windowed sinc of appropriate betas, because they require a lower number of taps to achieve the same specs.
- Use rounding shifts in resamplers for higher precision and performance.
- libgambatte: Update returns on video frame completion rather than using a callback for notification.
- libgambatte: Move video filters and color conversion out of the library.
- libgambatte: Get rid of unnecessarily complex VideoBlitter interface.
- libgambatte: Use bit flags rather bools for input state.
- Change some parameters to constants in 2xsai and hqx video filters.
- Probably other stuff I've forgotten about.



git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@234 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2010-02-02 21:30:46 +00:00
sinamas
e2e5adcdc7 - Use MinKeeper to schedule Memory::events.
- Remove old incEndtime function since it's not worth the maintenance 
overhead.


git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@228 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2009-04-15 02:20:57 +00:00
sinamas
da5bc2b964 - Add data structure that efficiently keeps track of the minimum of a
small, fixed set of variables, using templates to autogenerate 
efficient, unrolled functions that update the binary tree for each 
variable. It also efficiently supports priorities among variables when 
their values are equal, and can give variables that change the most 
frequently a better spot in the tree if the number of variables isn't a 
power of 2. Will be used for event scheduling.


git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@227 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2009-04-15 02:18:34 +00:00
sinamas
a9ab1bea78 - Lyc0irq on display enable.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@226 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2009-03-23 21:25:14 +00:00
sinamas
692b98eb12 - Make sure to reset passed pointers when deleted. Fixes potential crash when loadin ROM during OAM busy.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@223 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2009-01-10 19:22:59 +00:00
sinamas
cbf173e0a8 Fix mbc2 not getting a rambank
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@203 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-11-03 20:42:50 +00:00
sinamas
7a939e1522 Fix HqXx pitch.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@202 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-11-01 07:38:24 +00:00
sinamas
03ca427b8d Lower opacity OSD text.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@197 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-10-26 15:11:07 +00:00
sinamas
7fb056af35 Actually add the hq3x code mentioned in previous commit.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@196 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-10-26 13:35:29 +00:00
sinamas
7d6b0db817 Add adapted and optimized hq3x.
Revert to big f'ing switch hq2x code, as there's less duplication now. Also optimized interpolation functions further. No idea how I missed that initially.


git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@195 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-10-26 13:34:13 +00:00
sinamas
bda7eaf108 saner ly write behaviour
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@194 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-10-26 13:21:06 +00:00
sinamas
12d33eca65 Append "_dmg" to save base name when forcing DMG mode, to avoid corrupting CGB save files and vice versa.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@193 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-10-26 06:23:42 +00:00
sinamas
1f6c8dc2d4 Tile loading and tile rendering can seemingly get out of sync when modifying scx at a critical time. Another pessimation with little gain in the name of accuracy.
Use a look-up table to do tile byte merging.


git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@192 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-10-26 05:44:56 +00:00
sinamas
ec9199c334 no sprites or sprite mapping busy cycles on first line after display enable. slight cleanup. small oam accessibility correction.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@191 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-10-25 10:41:53 +00:00
sinamas
5fc35493a6 revert DMG window display while bg disabled change
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@190 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-10-24 08:43:19 +00:00
sinamas
bdba031382 No rambanks for ROMs that don't request any.
Route invalid rombank addresses in non-power-of-2 number of rombanks cases to disabled area assuming ceiled power of 2 address bus.
DMG window display disregards bg enable bit.


git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@189 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-10-24 08:19:15 +00:00
sinamas
b061b5db6c Add "force DMG mode" option.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@188 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-10-24 05:09:37 +00:00
sinamas
5bbabdcfdd - Real-time, sophisticated resampling framework with several performance/quality profiles for dynamically generated windowed sinc and CIC chains based on analysis of
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
2008-10-13 21:08:08 +00:00
sinamas
6aff6b2cbd Fix LY display disable regression
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@164 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-10-01 10:26:05 +00:00
sinamas
378db29118 Correct unhalttime when resetting counters. Fixes perodic infinite halt issue in Kirby's Star Stacker and probably other games.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@163 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-07-16 21:27:11 +00:00
sinamas
dd884dd74f Fix GCC 4.3 warnings about people getting confused by operator precedence by adding parentheses.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@159 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-07-11 20:56:40 +00:00
sinamas
3f386309ea Fix potential problem with rgb32ToUyvy cache init values on 16-bit systems
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@158 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-07-09 01:38:26 +00:00
sinamas
d96388dd8e Fix wrong pitch passed to filter if color conversion is needed.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@157 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-07-09 01:36:21 +00:00
sinamas
3b3a1a6d59 fix gcc-4.3 compilation
avoid signed overflow in constant (which is both undefined and likely to cause problems on architectures where sizeof(long) != sizeof(int)) in rgb2yuv code.


git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@156 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-07-07 16:27:47 +00:00
sinamas
53ff519f87 std::ifstream construction missing binary flag
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@155 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-07-07 00:37:12 +00:00
sinamas
e984450f7b missing includes
missing virtual destructor


git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@146 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-05-20 11:21:03 +00:00
sinamas
a55d12f145 add save state actions to GUI menu
clean up GUI menu creation code
move GUI recent files to submenu
move state 0 OSD pos to rightmost to match kbd layout
state 1 default on ROM load
support external save state files
add number key slot selection shortcuts


git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@145 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-05-20 07:59:18 +00:00
sinamas
b86280ae0a utilize templates for more flexible osd text printing
use grey osd text with black outline for save/load state messages


git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@144 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-05-19 16:21:40 +00:00
sinamas
6c84775d0e add bitmap font rendering with font based on Bitstream Vera Sans
osd state n saved/loaded text
empty state osd thumbs marked with "Empty" text
adjust thumbnail interpolation weighing slightly


git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@143 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-05-05 23:20:34 +00:00
sinamas
686e286d6a save state selection
save state osd preview snapshots
fix a few potential security holes when loading invalid state
get rid of some undefined behaviour in statesaver
always draw in rgb32, color convert afterwards, too bad for maemo/16-bit
depth users
get rid of silly c string stuff


git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@142 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-05-05 01:07:25 +00:00
sinamas
b5e5dc54df fix silly initstate ifreg regression
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@136 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-03-18 10:25:23 +00:00
sinamas
8c83879e7f save savedata before loading state
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@129 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-03-04 06:07:32 +00:00
sinamas
8a07c109f3 save state infrastructure,
clean up video timing code,
use save state for initialization and reset,
do color conversion outside filters, fast rgb32ToUyvy,
add overlooked oamdma event,
adjust subcycle irq timing (shouldn't affect anything),
various refactoring


git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@126 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-03-03 11:59:46 +00:00
sinamas
b0a08bd380 Decouple Qt GUI from gambatte.
Lots of cleanups, flexibility added, setting of various properties, frame time,
aspect ratio, button events, video sources, sample rates, pauseOnDialogExec, custom menus etc.
Document some interfaces.
Support for setting approximate sound buffer latency.
Use rational math for 100% exact timers (even though the actual system timers are unlikely to be accurate).
Add fast-forward to input settings.
Scalebuffer dstpitch aware.
timeGetTime() fallback for win32
Store full screen mode values/text rather than less reliable indexes.
Repaint on xvblitter port changes to avoid color key not getting repainted.
stuff I forgot


git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@120 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-02-12 12:59:18 +00:00
sinamas
f3a6c902ff preoffset mem pointers. get rid of unused memory.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@119 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-01-31 11:36:04 +00:00
sinamas
d7e9f01a3f various oamdma accuracy. oamdma bus conflicts with cpu, ppu, cgbdma. rewritten memory read/write methods. accurate timing of ppu sprite mapping reads. fix recent cgb sprite cycles sorting slip up.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@118 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-01-31 07:43:54 +00:00
sinamas
695fd65c9d 0xFEA0-0xFEFF not writable when OAM isn't. unusable ioram bits fixes. dmg ioram startup state fixes.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@115 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-01-10 04:47:59 +00:00
sinamas
fd8836c6ae cgb dma from various areas results in 0xFF being written.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@114 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-01-09 01:08:46 +00:00
sinamas
8b1a6d8e7d wx affects sprite m3 cycles. cache m3 cycles, related refactoring. readjust cgb dma cycles to previously changed m3 timing. clean up goofy lyc calculation.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@113 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2008-01-08 05:02:29 +00:00
sinamas
0efb5148f3 int width deps. Gambatte namespace
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@112 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-12-25 19:32:18 +00:00
sinamas
0aa93707ce more type width dependency fixes
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@111 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-11-28 16:57:26 +00:00
sinamas
546de53beb less int > 16-bits assumptions
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@110 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-11-27 05:01:13 +00:00
sinamas
9ee4396f64 fix broken volume on/off event notification
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@106 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-11-18 13:10:36 +00:00
sinamas
a2c291b48f do sprite sorting and cycle calculations pr line as needed instead of all at once
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@105 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-11-17 23:31:39 +00:00
sinamas
e899db1bf5 Skip potential high frequency events when they don't matter.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@104 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-11-16 22:15:46 +00:00
sinamas
6ae619f2b3 slightly faster sprite mapping
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@102 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-11-10 05:22:12 +00:00
sinamas
40524c502c less fixed-width type dependencies. don't assume unsigned int > 16 bits
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@101 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-11-10 05:19:42 +00:00
sinamas
4a295491c7 avoid signed conversion warning
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@95 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-10-25 13:24:08 +00:00
sinamas
635d90090e Add support for DMG palette customization.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@93 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-10-25 08:04:24 +00:00
sinamas
5453bf8d02 Always shift full lfsr. Trigger increments lfsr counter by 8.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@87 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-10-06 20:47:27 +00:00
sinamas
4a5f0e22f0 check for resampling ratio < 0
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@83 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-10-06 15:24:56 +00:00
sinamas
63d7aab087 fix initial endtime value
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@82 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-10-06 15:22:53 +00:00
sinamas
b962f1cdff remove unnecessary include
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@80 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-10-05 14:50:12 +00:00
sinamas
dd6dc9d2ec Update sound core according to blargg's findings. Improve resampling quality and performance. Fix overlooked "add hl,sp" flag calculation.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@79 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-10-05 14:11:28 +00:00
sinamas
ace94a6c1a document HF2 better
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@69 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-09-15 08:38:00 +00:00
sinamas
4968e85afc Fix adc/sbc and add_hl_rr hfc calc, sp_plus_n cf/hcf calc and daa thanks to blargg.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@68 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-09-15 07:34:31 +00:00
sinamas
449ef8064b get rid of some valgrind warnings
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@64 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-09-05 17:48:00 +00:00
sinamas
0b6aa4b73c remove unused doubleSpeed parameter from m3ExtraCycles call
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@63 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-09-05 16:22:50 +00:00
sinamas
21239417e7 add -Wextra to default compile flags
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@62 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-09-05 16:22:06 +00:00
sinamas
b3bafec378 make sure to use std:: despite sloppy compilers allowing omission. thanks to blargg for the reminder.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@61 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-09-05 16:08:46 +00:00
sinamas
06cf7a007c resync to scxreader.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@57 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-09-03 10:31:33 +00:00
sinamas
f45325f760 Several PPU reads timings depend on wx.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@56 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-09-02 23:10:47 +00:00
sinamas
13e50c34eb fix ch4 frequency
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@52 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-08-31 10:25:24 +00:00
sinamas
05e5423dc7 Add zip support. Thanks to Nach.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@50 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-08-30 12:26:25 +00:00
sinamas
b3d6ca5ea1 Realry fix 64-bit segfault?
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@49 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-08-30 09:04:12 +00:00
sinamas
7a3ac35a66 fix 64-bit compile and segfault
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@48 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-08-30 08:28:52 +00:00
sinamas
7409939b67 Only accept valid filter indexes
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@43 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-08-28 22:16:17 +00:00
sinamas
3fe2335902 Support external CPPFLAGS and sdl-config
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@42 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-08-28 14:14:00 +00:00
sinamas
8e126d5e69 don't overflow in converion to rgb16
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@35 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-08-28 05:35:20 +00:00
sinamas
59c329e61a Remove more ancient commented cruft.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@22 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-08-26 11:21:26 +00:00
sinamas
5acda0955b Remove ancient commented cruft.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@21 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-08-26 11:19:07 +00:00
sinamas
8ede3686c5 Move COPYING file to root directory. We only need one.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@15 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-08-26 10:05:47 +00:00
sinamas
da74f640c3 Revert sound volume change.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@14 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-08-24 05:17:30 +00:00
sinamas
37a4014abb Increase sound volume.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@13 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-08-24 05:11:08 +00:00
sinamas
6d38c2db1d Remove potentially undefined memcpy.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@12 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-08-24 05:05:38 +00:00
sinamas
79a82fc0a2 Add copyright notice.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@8 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-08-22 04:26:53 +00:00
sinamas
7adae22660 Add copyright notice.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@7 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-08-22 04:19:57 +00:00
sinamas
f2f4fb6d4b Add license.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@5 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-08-22 01:38:15 +00:00
sinamas
d725671488 Remove garbage files.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@4 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-08-22 01:31:51 +00:00
sinamas
8a034c0ee1 Initial commit.
git-svn-id: https://gambatte.svn.sourceforge.net/svnroot/gambatte@1 9dfb2916-2d38-0410-aef4-c5fe6c9ffc24
2007-08-22 01:23:50 +00:00