Commit Graph

4450 Commits

Author SHA1 Message Date
Brett Lawson
8e97e455de Added ability to force focus to a debugger window. 2016-06-11 15:03:22 -07:00
Brett Lawson
5e22179359 Use the scheduler lock to protect the loader crit-section. 2016-06-11 15:01:59 -07:00
Brett Lawson
576f982a42 Fixed bug with debugger key repeat delay. 2016-06-11 15:01:10 -07:00
Brett Lawson
24dbc842e3 Initial implementation for the on-screen debugger. 2016-06-11 04:10:52 -07:00
Brett Lawson
ac41166239 Fix issue with definition of cpu::this_core::resume. 2016-06-11 00:56:28 -07:00
Brett Lawson
e50baa741a Move all UI handling out to a new decaf-cli project.
This is a extremely large change that includes the following:
- The main executable is our default front-end: decaf-cli
- GLFW/SDL is moved from platform to the front-end
- Configuration handling is now moved to front-end
- The library now has a 'public binding' via decaf/decaf.h
- Input is now handled by the front-end through callbacks.
- GPU thread startup is now handled by the front-end.
- Rendering of the scan buffers to the screen is now handled by the front-end.
2016-06-11 00:34:43 -07:00
Brett Lawson
406391ff90 Use a spdlog formatter instead of linking hack. 2016-06-11 00:34:43 -07:00
Brett Lawson
83081d2aaf Use the games requested scan buffer configuration.
Previously the scan buffers were managed entirely by
the emulator which could cause issues with swapbuffer
behaviour in the future.
2016-06-10 00:39:56 -07:00
Brett Lawson
3f84ee5a65 Move kernel function call tracing up to kernel level. 2016-06-10 00:39:50 -07:00
Brett Lawson
2733ff9f23 Shutdown cores upon receiving SRESET. 2016-06-10 00:39:39 -07:00
Brett Lawson
367e46aa64 Update access violation handling code to work again.
This also integrates it with the CPU to allow the kernel to
catch it, and possibly send that to the debugger.
2016-06-09 14:45:24 -07:00
James Benton
ae82c15cd1 coreinit: Make OSPanic exit. 2016-06-09 00:53:03 +01:00
James Benton
6ff0d3105f Add FPS counter to window title. 2016-06-08 12:10:27 +01:00
Brett Lawson
3afbb4f61a Requeue threads when their affinity changes.
This is needed to ensure that the thread leaves any core
runqueues that it no longer belongs in.
2016-06-08 03:14:14 -07:00
Brett Lawson
0e99c2448d Don't try to reorder if a thread is suspended since it's not in the queue. 2016-06-08 02:54:59 -07:00
Brett Lawson
5ae583ba3a Update JIT to only JIT basic blocks.
This also fixes it as it was previously broken.
2016-06-08 02:33:23 -07:00
Brett Lawson
99e7136b44 Fix a bug where nameless threads would crash when debugging. 2016-06-08 02:28:57 -07:00
Brett Lawson
6990ddb9df Fix issue with INT_TO_FLOAT and UINT_TO_FLT.
This fixes an issue causing NESRemix gamepad graphics to "pop".
The issue is that the AluSource already indicates that the field
is indeed an integer, this caused us to to do the conversion twice.
2016-06-08 00:19:28 -07:00
Bleizo
a93976d681 Fix compile errors (const and includes) 2016-06-07 23:25:06 -04:00
Bleizo
27cb9f32b2 Fix CMakeLists to reflect recent change in directory structure 2016-06-07 23:06:00 -04:00
Bleizo
43b82df254 Remove unnecessary copies of std::string 2016-06-07 22:29:12 -04:00
Brett Lawson
25fafd2cda Fixed typo in latte to GL attribute format conversion.
Fixes bug causing text to render improperly.
2016-06-07 05:03:31 -07:00
Brett Lawson
2406520e2a Include disassembled shader source in the GLSL output. 2016-06-07 02:22:08 -07:00
James Benton
e3f85e369b opengl: Rename inner loop offset to index to avoid collision with function argument name. 2016-06-07 20:13:25 +01:00
James Benton
8e1de27afb opengl: Fix stridedMemcpy. 2016-06-07 20:12:55 +01:00
James Benton
6df7b1cc2f gx2: Dump shader loopVars, attribVars, intialValues. 2016-06-07 20:12:03 +01:00
James Benton
7d2dad7c15 latte: Update CB_SHADER_CONTROL to use Bitfield. 2016-06-07 20:11:31 +01:00
James Benton
ce1536bc0f latte: Use bool for LAST in SQ_ALU_WORD0. 2016-06-07 20:11:06 +01:00
James Benton
431c249607 opengl: Fix unpackQuadList not using proper indices after first quad. 2016-06-06 21:54:44 +01:00
James Benton
ad95b18725 pm4: Fix SQ_VTX_CONSTANT_WORD1_N having incorrect SIZE definition. 2016-06-06 21:54:40 +01:00
James Benton
a6b9622c62 opengl: Fixed checking if shader compiled succesfully or not. 2016-06-06 21:19:29 +01:00
Brett Lawson
3920040ff7 Implement support for internal functions and data.
This also implements support for host-side pointers on functions
in addition to the existing support for host-side pointers on data.
2016-06-07 02:37:50 -07:00
Brett Lawson
5737a1bb55 Get rid of gSystem entirely system.
This moves FileSystem and System Heap init to the kernel.
2016-06-07 01:45:43 -07:00
Brett Lawson
86f629d981 Move the loader to coreinit.
ELF file stuff needs some work...
2016-06-07 01:45:37 -07:00
Brett Lawson
6cf1a79639 Move all of the kernel HLE stuff to kernel module. 2016-06-07 01:45:32 -07:00
Brett Lawson
3074f1fca1 Move more ppc stuff to ppcutils module. 2016-06-07 01:45:18 -07:00
Brett Lawson
2fdf9159fa Make the disassembler be stand-alone rather than tied to cpu. 2016-06-06 03:59:25 -07:00
Brett Lawson
6442e8716c Make the kernel_cal_fn more descriptive.
This turns it into a structure rather than a pair.
2016-06-06 03:59:19 -07:00
Brett Lawson
7adc1f977e Allocate the right amount of stack space according to PowerPC EABI. 2016-06-06 10:38:23 -07:00
Brett Lawson
3de7abb984 Use saveContext to make preserve interrupted state.
In the past we called system alarm callback's without saving
the state of the interrupted fiber.  James fixes this to save
r3/r4, this just uses saveContext to make sure everything stays
sane in the future as well.
2016-06-06 02:32:59 -07:00
James Benton
635af1158b coreinit: Free pointer should be void *, not uint8_t *. 2016-06-06 01:26:18 +01:00
James Benton
95159e996d Make sure we use internal_ prefix for exported internal only functions.
They are only exported so they have an entry point in PPC for function
pointers.
2016-06-06 01:26:10 +01:00
James Benton
894a105ba0 coreinit: Implement MEM allocators.
Still need block heap in order to implement MEMInitAllocatorForBlockHeap,
note for issue #73.
2016-06-06 01:26:05 +01:00
James Benton
26884e1570 cpu: Add missing <cstring> include in cpu_breakpoints.cpp
Also alphabetti-spaghetti.
2016-06-06 00:32:43 +01:00
James Benton
4f654fa2d9 cmake: Fix CMakeLists. 2016-06-06 00:32:41 +01:00
James Benton
795e12ba88 cpu: Add missing <algorithm> include in espresso_disassembler. 2016-06-06 00:32:39 +01:00
James Benton
5a4d809c4c coreinit: Fix infinite loop in promote thread. 2016-06-06 00:36:07 +01:00
James Benton
97bf7816f2 coreinit: Fix internal alarms trampling r3,r4 registers during an interrupt. 2016-06-06 00:36:03 +01:00
James Benton
1e05beb9d5 loader: Fix SDA base address calculations. 2016-06-06 00:35:59 +01:00
Brett Lawson
4884b9fe21 Drop memory_translate and memory_untranslate.
Long ago they became just simple forwarder functions as
cpu/mem.h got simplified to provide essentially the same
interface.
2016-06-06 02:26:14 -07:00