Stefanos Kornilios Mitsis Poiitidis
9bc0a8ff0f
shrec/bm: BM lookup table size follows RAM_SIZE
2015-08-11 19:13:11 +02:00
Stefanos Kornilios Mitsis Poiitidis
365accfde2
windows: fix TARGET_NO_NVMEM
2015-08-11 19:12:20 +02:00
Stefanos Kornilios Mitsis Poiitidis
c3c2c68f21
Merge pull request #729 from reicast/wip/softrend
...
Basic and buggy software renderer
2015-08-11 17:43:47 +02:00
Stefanos Kornilios Mitsis Poiitidis
c60fca4973
sh4: Cleanup SetFloatStatusReg a bit
2015-08-11 07:57:23 -04:00
Stefanos Kornilios Mitsis Poiitidis
26cfcd79e9
OSX: Fiddling to get the rec-cpp/noexcept path running
2015-08-11 07:57:22 -04:00
Stefanos Kornilios Mitsis Poiitidis
e3845465f0
win64/jit: Generate unwind table for the jit code cache
...
This required moving the SH4_TCB outside the exe, as new tables that belong on the executable are ignored.
This isn't perfect, but there's a large area to scan for available address space so it shouldn't be a problem
2015-08-11 00:26:02 -04:00
TwistedUmbrella
bf75c95ae8
Update project for #755 and fix warnings
2015-08-17 07:59:39 -04:00
Stefanos Kornilios Mitsis Poiitidis
0343feffa6
Merge pull request #714 from reicast/wip/nacl-and-emscripten
...
NaCL & Emscripten targets
- CPU_GENERIC
- TARGET_NO_THREADS
- TARGET_NO_NIXPROF
- TARGET_NO_EXCEPTIONS
- TARGET_NO_NVMEM
- TARGET_BOUNDED_EXECUTION
- TARGET_NO_COREIO_HTTP
2015-08-03 11:28:29 +02:00
Stefanos Kornilios Mitsis Poiitidis
61394d7a44
shil: Disable external assembly implementations
...
Using external function pointers is broken after the rec-cpp structural changes,
and relatively low priority so disabled for now.
Fixes builds on arm, non-android (see #720 )
2015-08-03 10:41:34 +02:00
Stefanos Kornilios Mitsis Poiitidis
ac6bdddae3
Merge pull request #694 from randomstuff/cleanup
...
Minor Cleanup
2015-08-03 00:09:11 +02:00
Gabriel Corona
8c68f4a06b
Fix a 'permissive' warning
2015-07-31 20:37:39 +02:00
Stefanos Kornilios Mitsis Poiitidis
d8ccc9d2e7
emscripten: More rec-cpp progress
...
It almost builds now, except emscripten randomly gives up and crashes. No one likes my code these days...
2015-07-29 06:45:02 +02:00
Stefanos Kornilios Mitsis Poiitidis
17a4af378c
nacl: Post-merge cleanups
2015-07-29 04:58:41 +02:00
~skmp
2d9fbdda40
nacl: Fix sqw_nommu to work w/ non-linear nvmem allocation
2015-07-29 04:27:32 +02:00
Stefanos Kornilios Mitsis Poiitidis
b9bbb5c0c8
nacl: Work towards rec-cpp
2015-07-29 04:26:50 +02:00
~skmp
376a36bf57
Emscripten: Hacky support, can boot bios
...
- Add TARGET_BOUNDED_EXECUTION, TARGET_EMSCRIPTEN
- Add emscripten makefile
Of course, there's no jit at this point
2015-07-29 04:08:08 +02:00
Stefanos Kornilios Mitsis Poiitidis
a82f9704d6
shrec: Limit max blocksize to 511 shops
2015-07-29 02:29:16 +02:00
~skmp
5b67e3f090
rec-cpp: SH4_TCB doesn't need to be in .text if not executable
2015-07-29 02:28:39 +02:00
Stefanos Kornilios Mitsis Poiitidis
fb55e7f6f8
sh4/canonical: Provide impls for sync_sr and sync_fpscr
...
This shouldn't be a requirement as directly using shil_cf_ext should work,
but for some reason if I don't msvc optimizes the functions out.
2015-07-25 20:36:06 +02:00
Stefanos Kornilios Mitsis Poiitidis
cbda836a96
she/core: Less stupid register swap functions
2015-07-25 20:33:53 +02:00
Stefanos Kornilios Mitsis Poiitidis
b1f7015a98
rec/cpp: Mostly fully direct specialized dispatchers
...
- Nest shil implementations to shilop_##name::form::impl for easier template matching
- Add more direct handlers
- Add prints if a direct handler isn't found
- Remove multiple indirect handlers, leave them for fallback
2015-07-25 14:36:04 +02:00
Stefanos Kornilios Mitsis Poiitidis
39e369411c
shil/canonical: Fix decls, comment
2015-07-25 14:23:45 +02:00
Stefanos Kornilios Mitsis Poiitidis
9cf9bacd13
build: Refactor HOST_NO_REC everywhere
2015-07-25 13:19:26 +02:00
Stefanos Kornilios Mitsis Poiitidis
67a8ceabdd
shil/param: add imm_value()
2015-07-23 02:08:25 +02:00
Stefanos Kornilios Mitsis Poiitidis
e50cfe3010
x64 tinyjit: linux support
2015-07-14 03:35:34 +02:00
Stefanos Kornilios Mitsis Poiitidis
3852cf9ac8
Minimal x64 jit: Desync'd, but runs
2015-07-13 23:56:42 +02:00
Stefanos Kornilios Mitsis Poiitidis
b385575d6f
Get x64 building
2015-07-13 21:13:51 +02:00
Jan Holthuis
fb50c7570c
sh4_opcodes: Fix printf arguments
...
This partly resolves #660 (needs to applied to linux-64 branch, too).
2015-06-13 16:55:12 +02:00
Stefanos Kornilios Mitsis Poiitidis
9c2a4dc5a4
iOS fixes
2015-05-16 01:04:30 -07:00
Stefanos Kornilios Mitsis Poiitidis
65ca1382d8
Merge remote-tracking branch 'remotes/origin/skmp/ios-wip' into feat/segfault-context-consolidation
...
Android/windows builds fine again. Android not tested yet, iOS/OSX not compiled yet
2015-05-16 07:12:19 +02:00
Stefanos Kornilios Mitsis Poiitidis
8c469e4b5c
*nix: move context massaging to linux/context.cpp, ALIGN -> DECL_ALIGN
...
Yay some warnings gone from not conflicting with ALIGN anymore
2015-05-16 03:06:04 +02:00
Stefanos Kornilios Mitsis Poiitidis
5b609a6be4
linux: Sh4 dynarec works
2015-05-08 18:59:20 +02:00
Stefanos Kornilios Mitsis Poiitidis
5ef9d661a6
Merge remote-tracking branch 'origin/master' into skmp/linux86
2015-05-08 17:29:14 +02:00
Stefanos Kornilios Mitsis Poiitidis
5d3c71bee7
Merge master
2015-05-08 17:29:06 +02:00
Stefanos Kornilios Mitsis Poiitidis
3fe8f0eb94
tmu: Correctly schedule next interrupt in underflow, correctly differentiate between large values and underflows
...
- 32 bit code was "fudgy" on this, so simplified via 64bit counters for edge detection
- Maths to count cycles were wrong
- Let's not do 32 bit wrapped maths after beers without any kind of pen-and-paper design
Should fix #594 , also see #645
2015-05-08 02:29:24 +02:00
Stefanos Kornilios Mitsis Poiitidis
c25ce04b48
sh4_sched: Avoid scheduling to -1, because, magic values.
2015-05-07 22:10:00 +02:00
Stefanos Kornilios Mitsis Poiitidis
4b46de89bb
sh4_sched: Handle disabled events correctly
2015-05-07 22:03:55 +02:00
Stefanos Kornilios Mitsis Poiitidis
20f7a41fe9
sched: Do not re-fire expired callbacks, use sh4_sched_remaing on sh4_sched_tick
2015-05-07 21:33:36 +02:00
Stefanos Kornilios Mitsis Poiitidis
3b1c38ad55
sh4/driver: don't log on div32 missmatch
2015-03-22 01:26:43 +01:00
Stefanos Kornilios Mitsis Poiitidis
cca8558d08
Add Serial Console option (debug.SerialConsoleEnable) for KOS, etc
2015-02-25 20:56:58 +01:00
Stefanos Kornilios Mitsis Poiitidis
9ed6945826
sh4/cpu_iNimp: Nicer error output
2015-02-25 19:31:33 +01:00
Stefanos Kornilios Mitsis Poiitidis
ae8ce5ad23
sh4/rdv_CompilePC: Fix boot time automatic cache flushes
...
The bios boots from 0xA... addresses, not 0x8... so the flushes were never triggered
2015-02-25 19:30:08 +01:00
Stefanos Kornilios Mitsis Poiitidis
7c64d57b35
Merge branch 'master' into skmp/bios-hle
2015-02-25 15:21:59 +01:00
Stefanos Kornilios Mitsis Poiitidis
f2c07917c7
Partially working dyna for iOS. Very few games working atm.
...
This works, but is extremelly hacky. Must be started without attached debugger, lldb doesn't want to let go of EXC_BAD_ADDRESS, but reicast really depends on it getting delivered as SIGSEGV/SIGBUS. Also xcode has a really bad day upon seeing the jit code. Oh well.
There's some dynarec bug that causes color corruption on bios logo/boot triagles, TA crash on ikaruga and infinitive loop on crazy taxi. I'd guess some fp-memory-write thingy, abi, or smth. Too bad.
- Force code to compile in arm mode (arm jit -> thumb mem functions is complicated)
- SIGILL, SIGBUS. Works w/o Mach exceptions and EXC_BAD_ADDRESS
- Code buffers move to __TEXT, munmapped && memmapped to actually work
- Primitive input. Button + start, or left (works to get out of bios date screen)
- Fixup emitter for thumb2/interworking (didn't work though, reverted to arm cc)
- Block Manager: Disable mem saving / page fault alloc-on-demand logic
- Move cycle counter to r11, r9 is not clean on iOS. Remove r11 from reg alloc list
- Cache flushes for iOS
- log to log.txt
- load game.chd
2015-01-18 23:52:12 -08:00
Stefanos Kornilios Mitsis Poiitidis
d055dbd7cb
TMU: Also set the underflow flag. Fixes KOS.
2015-01-07 03:12:33 +02:00
Stefanos Kornilios Mitsis Poiitidis
6ad25b8f53
TMU: Improve interrupt handling
2015-01-06 21:50:00 +02:00
Stefanos Kornilios Mitsis Poiitidis
11e9ed167a
Fix building for android
2015-01-06 16:07:18 +02:00
Stefanos Kornilios Mitsis Poiitidis
605fa1c40a
TMU: Hello interrupts
...
Let's pretend that the TMU unit actually exists, it makes games like
Gaunlet Legends happy ~
2015-01-06 15:00:39 +02:00
Stefanos Kornilios Mitsis Poiitidis
c5cc2f1e50
Document sh4_shced, fix tmu a bit
2015-01-06 14:10:48 +02:00
Stefanos Kornilios Mitsis Poiitidis
25eee26ce5
First steps towards a HLE bios implementation
...
This is very simplistic, but can already boot and run many games
Known working so far
- Dead Or Alive 2 LE
- Head Hunter
- Marvel VS Capcom 2
Not working
- (Almost) all others
2014-12-29 22:05:35 +01:00
Stefanos Kornilios Mitsis Poiitidis
56ebda10a9
ios interpreter works, bios runs w/ 3d visulals
...
THIS IS A MESS. Sorry @angelXwind :p. We'll have to clean up and merge for r8, but most of the nasty work is there.
What works:
- full init, memalloc, mprotects, etc
- boot
- gles2
What doesn't:
- Exceptions for page faults
- Breaks texture cache
- Breaks dynarec because of fastpath
- segfaults don't work, needs special mach exc_server magic that still eludes me after 5 hours
- Dynarecs. RWX issues, and broken buffer mappings. Also some minnor linking stuff (most of it is taken care of)
- Audio. I just killed it off.
- All of the ui. Was getting in the way of me not knowing how to edit story boards...
- Input
Also, merged branch 'skmp/mac86-hackport' into skmp/ios-wip
Have fun~
2014-12-17 10:19:44 -08:00
Stefanos Kornilios Mitsis Poiitidis
86e2408ace
wip to get ios compiling
2014-12-17 03:10:18 -08:00
Stefanos Kornilios Mitsis Poiitidis
34bc42b7a4
Add x64 target, fix Sh4RCB pointer sizing, u32->unat in vmem
2014-12-11 14:02:10 +01:00
Stefanos Kornilios Mitsis Poiitidis
2f171e3596
Support HOST_NO_REC for windows
2014-12-11 13:59:31 +01:00
Stefanos Kornilios Mitsis Poiitidis
63485e7a72
SetFloatStatusReg: support gcc for x86
2014-12-09 22:15:44 +01:00
MrPsyMan
7916cd63f3
Removed commit ed8c25ef7c
as it causes compatibility problems.
2014-06-05 04:34:25 +03:00
TwistedUmbrella
c3b1e1087e
Add explicit casting for iOS, Import iOS EGL headers
...
EGL headers imported from https://github.com/alco/EGL_mac_ios for use
in iOS specialty directory
2014-05-20 23:45:38 -04:00
Stefanos Kornilios Mitsis Poiitidis
ee2a1b7d20
Split CFLAGS/CXXFLAGS on core.mk, warning fixes
2014-05-12 20:53:43 +03:00
Stefanos Kornilios Mitsis Poiitidis
ad054f1b96
Working on linux x86 dyna
2014-03-25 00:12:30 +02:00
Stefanos Kornilios Mitsis Poiitidis
4138440daa
Partial merge of the Pandora branch
2014-01-21 02:02:12 +02:00
Stefanos Kornilios Mitsis Poiitidis
ee6d3eadde
begone you silly typos
2014-01-21 01:04:58 +02:00
Stefanos Kornilios Mitsis Poiitidis
e512b95445
Force block (header) checks by default.
...
- Unstable opts disables them (and only lets hard-coded places)
- This fixes shenmue (and possibly many other dynarec crashes)
2014-01-20 23:10:00 +02:00
Stefanos Kornilios Mitsis Poiitidis
f65333ea01
dejcond breaks shenmue, disabled. Hrfm. This (might) reduce speed a tiny bit.
2014-01-01 11:15:02 +01:00
Stefanos Kornilios Mitsis Poiitidis
8653e5e0f8
dejcond breaks shenmue, disabled. Hrfm. This (might) reduce speed a tiny bit.
2013-12-30 00:52:14 +01:00
ptitSeb
320d99b280
use Defined value for SH4 speed
2013-12-29 13:43:19 +01:00
Stefanos Kornilios Mitsis Poiitidis
f5d29677b3
Merge branch 'androidui'
...
Conflicts:
core/hw/pvr/spg.cpp
core/hw/sh4/interpr/sh4_interpreter.cpp
reicast/android/src/com/reicast/emulator/MainActivity.java
2013-12-28 22:28:50 +01:00
Stefanos Kornilios Mitsis Poiitidis
7ef9de3cae
Moving code around, cleanups
2013-12-28 22:20:08 +01:00