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