Commit graph

43 commits

Author SHA1 Message Date
Simon Eriksson fe81d08ca2 Remove unused global bus pointer variables 2020-05-15 21:28:24 +02:00
Nabile Rahmani fd4cb9be51 Clear the frame buffer to avoid garbage. (#133)
Some graphics stacks just suck (like AMD + Mesa), so we have to clear the frame buffer on each frame, otherwise garbage and/or flickering appears on undrawn areas.
Fixes #53.
2019-11-03 17:46:09 +01:00
PeterLemon e63fc96f15 OpenGL AA & Resample emulation 2018-04-29 20:30:21 +01:00
PeterLemon ed14563b0e set texture wrap s & t to clamp instead of repeat 2018-04-29 20:22:15 +01:00
PeterLemon 1de909981f Optimize OpenGL gamma boost emulation 2018-04-29 18:40:27 +01:00
PeterLemon 4335b0b210 OpenGL gamma boost emulation 2018-04-29 18:04:46 +01:00
Tyler J. Stachecki 6f6f7698e7 vi: Handle (non-)interlaced modes better.
I accidentally flipped the logic for a bit; if the LSB of
VI_V_SYNC_REG is clear, then interlaced mode is enabled and
vise-versa.
2016-10-18 23:14:22 -04:00
Tyler J. Stachecki d8f264eb09 vi: Make VI emulation less bad.
Somewhere in the world, somebody with more knowledge than
I is probably screaming about how wrong this NTSC signal
stuff is, but it's at least less worse than what was there
before!

The way interlaced signals are handled is still VERY wrong
(I need to swizzle in the lines from each field before
shipping a framebuffer off to the GPU).

That being said, some ROMs like LaC fire demo and one of
SonCrap's demos look correct now (there is no flickering).
2016-07-17 20:14:01 -04:00
Tyler J. Stachecki 51b83257f7 Remove unused cen64_context_* calls.
Originally these functions were intended to workaround
problems experienced by RSP vector register caching,
but we don't use it anymore so we can just nix them.

Fixes #41
2016-06-22 09:15:10 -04:00
Mike Ryan 73f4420a4c fix all build warnings, does not affect functionality 2016-06-16 20:40:51 -07:00
Simon Eriksson 135a6cab5e Change default window size and aspect to 640*474.
Fixes vertical stretching issues when the N64 framebuffer
has 240 or 480 lines.
2016-03-06 13:56:13 -05:00
Mike Ryan 4360b6923b build on OS X 2016-01-26 17:51:42 -08:00
Tyler J. Stachecki 7b57685baf Print VI/s when using -nointerface. 2016-01-24 16:30:53 -05:00
Tyler J. Stachecki f255fc94c3 Restore -nointerface functionality.
-nointerface was horribly broken when the device model was
refactored a few months ago. This commit unbreaks it and
restores functionality.
2016-01-24 16:13:43 -05:00
Derek "Turtle" Roe 8b89df2fdc See long description
Replaced all references to simulation with emulation
Updated copyright year
Updated .gitignore to reduce chances of random files being uploaded to
the repo
Added .gitattributes to normalize all text files, and to ignore binary
files (which includes the logo and the NEC PDF)
2015-07-01 18:44:21 -05:00
Tyler J. Stachecki 8b07f9ec6f VI: Save processor context before using floats. 2015-05-20 20:58:10 -04:00
Tyler J. Stachecki 4e6f11fa0c Prevent a possible crash on Windows/SSE2 builds. 2015-05-19 20:49:06 -04:00
Tyler J. Stachecki d348c23e2f Commit the new X11 user interface.
Streamline the design/layout of the UI code. An excellent,
unexpected side-effect of this commit resulted in a significant
increase in performance...
2015-05-16 15:51:17 -04:00
Tyler J. Stachecki b4b6a1d9a2 Refactor windowing component of VI. 2015-05-16 15:51:01 -04:00
Tyler J. Stachecki 7f203b7175 Start working in the new interfaces.
Seriously broken WinAPI stuff, no input, no multi-
threading a bunch of other terrible stuff (yet).
2015-05-16 15:50:54 -04:00
Tyler Stachecki 3cc07a7ae4 Unroll the top-level hot functions. 2015-01-22 14:31:54 -05:00
Tyler Stachecki ec3748f0c2 Trim off a few hundred bytes of code. 2015-01-05 22:59:52 -05:00
Tyler Stachecki 64b9ce8f5f os/unix: Shuffle things around to align with WINAPI. 2015-01-01 11:33:55 -05:00
Tyler Stachecki 459aed5e8d Generate two binaries.
Generate a 'fast' release binary and a developer binary. The
developer binary contains extra calls that permit debugging and
such things.
2014-11-16 13:32:04 -05:00
Tyler Stachecki 7ce889135c Catch SIGINT when passed -nointerface. 2014-11-11 17:44:43 -05:00
Tyler Stachecki 538e344442 Add a -nointerface switch, remove spare '\t's. 2014-11-11 17:21:25 -05:00
Tyler Stachecki 71a126e425 Don't hangup the UI when the VI doesn't ack. 2014-11-11 17:02:21 -05:00
Tyler Stachecki e89f054674 Optimize extremely aggressively.
Tell GCC to optimize cold functions for size and stash them away in
a separate part of the binary. Put the simulate core, meanwhile, on
the hot path. Also, bump optimization to -O3 as we can now "afford"
to do so.
2014-11-05 08:39:47 -05:00
Tyler Stachecki 1394c48f6b Cleanup vi/controller.c. 2014-11-01 23:37:17 -04:00
Tyler Stachecki 238d61d32e Cleanup hairy edges from the last commit. 2014-11-01 21:25:08 -04:00
Tyler Stachecki 9c9bdbe8bd os/unix: Thread the renderer and event system. 2014-11-01 20:42:40 -04:00
Tyler Stachecki ab941a6854 Add os/timer, implement backends. 2014-08-03 03:02:14 -04:00
Tyler Stachecki 850c278cd9 os/unix: Stop using pthreads improperly. 2014-07-27 09:08:54 -04:00
Tyler Stachecki 07a3a079f6 Cleanup the OS interface somewhat. 2014-05-22 17:42:28 -04:00
Tyler Stachecki f1b32654bc os/unix: Handle X11 window close and resize events. 2014-05-19 21:06:27 -04:00
Tyler Stachecki 9b0a04fcf7 Commit initial OS interface. 2014-05-18 14:13:27 -04:00
Tyler Stachecki 99d5eea419 VR4300: Add support for SWL, SWR instructions. 2014-04-20 13:21:08 -04:00
Tyler Stachecki cab3a7cbac Fix another handful of remaining bugs. 2014-04-20 12:35:14 -04:00
Tyler Stachecki 454033499d Start integrating OpenGL (GLFW) and friends. 2014-04-19 17:14:45 -04:00
Tyler Stachecki b951f9ccf5 Start integrating interrupt support. 2014-04-18 22:59:48 -04:00
Tyler Stachecki 25a6ae8431 Mask bus writes to requested type, etc. 2014-04-18 13:34:23 -04:00
Tyler Stachecki d114038a2b Add option for debugging MMIO register access. 2014-04-18 12:44:57 -04:00
Tyler Stachecki 4560adf7a7 Populate with interfaces and devices. 2014-04-18 11:24:43 -04:00