Tyler J. Stachecki
391b967725
Work on cleaning up the build system somewhat.
2015-05-16 17:15:19 -04:00
Tyler J. Stachecki
1619e0fd98
More cleanup/streamlining of UI pullup.
2015-05-16 15:51:21 -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
bf38ee1879
Fix comment styles and such things.
2015-05-16 15:51:09 -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
2cd7582acb
unix/x11: Use synchronous I/O multiplexing for the UI.
2015-01-27 17:01:55 -05:00
Tyler Stachecki
9e6fe74b82
Eliminate laggy input on Linux/OS X when VI/s is low.
2015-01-25 12:35:30 -05:00
Tyler Stachecki
fd85f01b10
Start ramming in the network API.
2015-01-17 21:07:15 -05:00
Augustin Cavalier
4d206cb0cd
*_window: include gl_window.h
2015-01-13 14:10:44 -05:00
Augustin Cavalier
80a30663a5
os: move MAX_FRAME_DATA_SIZE to gl_window.h
2015-01-13 13:41:02 -05:00
Augustin Cavalier
bd04fc24fc
keycodes: remove duplicate definition of CEN64_KEY_PERIOD.
2015-01-13 12:22:41 -05:00
Augustin Cavalier
022e628fc5
OS: move glx_window & keycodes to an "x11" subdir.
...
UNIX does not imply X11.
2015-01-13 11:35:56 -05:00
Tyler Stachecki
75a90282c5
Fix OS X builds, courtesy of dtm.
2015-01-12 21:40:18 -05:00
Tyler Stachecki
67fca6c47f
Add -ddrom to the command line.
2015-01-08 12:17:17 -05:00
Tyler Stachecki
10fc81d7a3
Start filling in lots of 64DD implementation.
...
Also, fix a few bugs in the past two commits.
2015-01-06 22:21:00 -05:00
Tyler Stachecki
ec3748f0c2
Trim off a few hundred bytes of code.
2015-01-05 22:59:52 -05:00
Tyler Stachecki
1c1124bfd3
Temporarily patch the "render half frame" bug.
...
Not sure why copy_size should = 4 for a 16-bit frame, so
look into that. But for now, it won't cause any buffer
overruns, so enable it with a warning.
2015-01-04 12:18:10 -05:00
Tyler Stachecki
fca1cbe022
Add support for building on OS X.
2015-01-01 21:13:35 -05:00
Tyler Stachecki
267d56491e
Get the Windows build in running condition.
...
Conflicts:
rdp/n64video.c
2015-01-01 15:00:53 -05:00
Tyler Stachecki
64b9ce8f5f
os/unix: Shuffle things around to align with WINAPI.
2015-01-01 11:33:55 -05:00
Tyler Stachecki
d9d4ebcb8b
os/unix: Don't race during window initialization.
2015-01-01 10:47:00 -05:00
Tyler Stachecki
8b363895d1
Add missing #include for snprintf.
...
Thanks, balrog.
2014-11-19 10:42:15 -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
11afa4123d
Give os/unix's UI thread a good waxing.
...
Periodically (~1000x) poll for input instead of waiting for a frame
boundary. Also relinquish the render_lock more aggressively in an
attempt to step out of the way of the simulator.
2014-11-16 11:51:49 -05:00
Tyler Stachecki
c90e55a05d
Lock around input reads.
...
Fix some obvious memory consistency issues.
2014-11-16 10:19:56 -05:00
Tyler Stachecki
a00af95ce1
os/unix: Remove stray character from window title.
2014-11-12 07:38:27 -05:00
Tyler Stachecki
0fb96ebedd
Revamp the CMake generator file.
...
Add option to specify architecture support (SSE2, SSSE3, etc.)
for each compiler supported. Update UI window title to indicate
architecture folder and support.
2014-11-11 22:38:09 -05:00
Tyler Stachecki
538e344442
Add a -nointerface switch, remove spare '\t's.
2014-11-11 17:21:25 -05:00
Tyler Stachecki
2794b1c2a0
Don't flag os/main as cold.
2014-11-10 14:40:05 -05:00
Tyler Stachecki
316214d82d
(Finally) permit SSE2-only builds.
...
Add SSE2 codepaths where necessary (even if not complete), while
still allowing the project to be compiled with SSSE3+ intrinsics.
2014-11-10 14:29:13 -05:00
Tyler Stachecki
f70c1a5fc5
More _mm_set_s* over _mm_load_s* stuff.
2014-11-09 18:54:07 -05:00
Tyler Stachecki
a0f1eb5d7c
Move intrinsics to a common location.
2014-11-09 18:51:54 -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
2bb8fa3b83
os/unix: Output VI/s in window title.
2014-11-01 21:49:58 -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
08439c0f5f
Remove some calls to malloc(...).
2014-11-01 16:59:12 -04:00
Tyler Stachecki
1d339f8f74
Restructure a lot of OS-dependent stuff.
2014-11-01 14:36:48 -04:00
Tyler Stachecki
519f59f429
Start implementing some vector operators.
2014-10-22 18:15:44 -04:00
Tyler Stachecki
b921f65710
os/unix: Detect and delete auto-repeated keypresses.
...
Ignore auto-repeat KeyPress and KeyRelease events sent by X11.
Thanks go out to Nacho for originally reporting this bug.
2014-08-30 11:57:41 -04:00
Tyler Stachecki
0d15bd9ddc
Add some preliminary input support.
2014-08-27 23:13:08 -04:00
Tyler Stachecki
ee44e46abb
os/windows: Add keyboard press and release events.
2014-08-27 19:10:03 -04:00
Tyler Stachecki
99a6b1ee28
os/unix: Add keyboard press and release events.
2014-08-26 22:44:27 -04:00
Tyler Stachecki
5f5d4da9a6
Commit preliminary (untested) TLB support.
2014-08-23 14:24:21 -04:00
Tyler Stachecki
ced4183158
More restructuring of arch/ and os/ code.
2014-08-18 16:54:01 +00:00
Tyler Stachecki
3e8ba50851
Add common arch/ folder, move headers out of os/.
...
Much of the architecture-specific code uses compiler-agnostic
intrinsics. For this reason, split it out into an arch/ folder,
leaving only the compiler and environment-specific code in os/.
2014-08-18 16:08:45 +00:00
Tyler Stachecki
42f7833b62
Add support for ARM builds with GCC/Clang.
2014-08-17 16:29:48 +00:00
Tyler Stachecki
ab941a6854
Add os/timer, implement backends.
2014-08-03 03:02:14 -04:00
Tyler Stachecki
4fcd566f02
Add os/rom_file, implement backends.
2014-08-03 01:53:19 -04:00
Tyler Stachecki
c28f74ba98
Fix up warnings, clean up initialization code.
2014-07-31 12:07:12 -04:00