Commit graph

80 commits

Author SHA1 Message Date
Tyler J. Stachecki
e2df86b218 Work on cleaning up the build system somewhat. 2015-05-16 17:20:37 -04:00
Tyler J. Stachecki
58c1a0e9f1 More cleanup/streamlining of UI pullup. 2015-05-16 15:54:55 -04:00
Tyler J. Stachecki
09903148f4 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:54:48 -04:00
Tyler J. Stachecki
e01f0b6214 Fix comment styles and such things. 2015-05-16 15:54:42 -04:00
Tyler J. Stachecki
ed6ec42089 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:54:30 -04:00
Tyler Stachecki
cd56dc2e20 unix/x11: Use synchronous I/O multiplexing for the UI. 2015-01-27 16:59:24 -05:00
Tyler Stachecki
cacfa9fd98 Eliminate laggy input on Linux/OS X when VI/s is low. 2015-01-25 12:32:26 -05:00
Tyler Stachecki
df53e0df0b Start ramming in the network API. 2015-01-17 21:06:45 -05:00
Augustin Cavalier
6d0495b4c8 *_window: include gl_window.h 2015-01-13 14:07:24 -05:00
Augustin Cavalier
99b0723142 os: move MAX_FRAME_DATA_SIZE to gl_window.h 2015-01-13 13:42:59 -05:00
Augustin Cavalier
2c89f533d8 keycodes: remove duplicate definition of CEN64_KEY_PERIOD. 2015-01-13 12:20:24 -05:00
Augustin Cavalier
4ed2e8903c OS: move glx_window & keycodes to an "x11" subdir.
UNIX does not imply X11.
2015-01-13 11:33:05 -05:00
Tyler Stachecki
cd4163226a Fix OS X builds, courtesy of dtm. 2015-01-12 21:36:00 -05:00
Tyler Stachecki
55c6c329d5 Add -ddrom to the command line. 2015-01-08 11:58:27 -05:00
Tyler Stachecki
c0def926d9 Start filling in lots of 64DD implementation.
Also, fix a few bugs in the past two commits.
2015-01-06 16:50:19 -05:00
Tyler Stachecki
5229996ecd Trim off a few hundred bytes of code. 2015-01-05 23:00:49 -05:00
Tyler Stachecki
109c9b0875 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:13:57 -05:00
Tyler Stachecki
8bf8898e97 Add support for building on OS X. 2015-01-01 19:45:48 -05:00
Tyler Stachecki
6a709a4125 Get the Windows build in running condition. 2015-01-01 12:37:26 -05:00
Tyler Stachecki
28db246373 os/unix: Shuffle things around to align with WINAPI.
Conflicts:
	device/device.c
2015-01-01 11:37:33 -05:00
Tyler Stachecki
b07cd4556f os/unix: Don't race during window initialization. 2014-12-31 10:54:05 -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