Commit Graph

275 Commits

Author SHA1 Message Date
Stefanos Kornilios Mitsis Poiitidis e5965e356d gles: Disable glChecks by default, glGetError can be painfully slow 2015-05-07 23:27:22 +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 0614680f8c WinThreading: DEBUG_THREADS for random sleep around sync primitives 2015-05-07 21:32:11 +02:00
Stefanos Kornilios Mitsis Poiitidis 330a60bcf4 Merge branch 'master' of github.com:reicast/reicast-emulator 2015-04-12 22:48:31 +02:00
Stefanos Kornilios Mitsis Poiitidis 64b2fcbb1c Disable glCheck by default, move to validate:OpenGlChecks config 2015-04-12 22:48:16 +02:00
Stefanos Kornilios Mitsis Poiitidis e98f69ebd9 Merge pull request #629 from Holzhaus/fix-typedef-default-args
Remove arm_dyna typedef default args
2015-04-12 22:35:09 +02:00
Jan Holthuis b3faffacc9 Remove arm_dyna typedef default args
Using default arguments is only allowed in function declarations, not
in typedefs. This fixes the invalid code that caused compilation errors
on systems using GNU g++ 4.9.2, i.e.:

> ../../core/rec-ARM/arm_dyna.cpp: At global scope:
> ../../core/rec-ARM/arm_dyna.cpp:186:79: error: default arguments are only permitted for function parameters
>  typedef void FPBinOP        (eFSReg Sd, eFSReg Sn, eFSReg Sm, ConditionCode CC=CC_AL);
>                                                                                ^
> ../../core/rec-ARM/arm_dyna.cpp:187:79: error: default arguments are only permitted for function parameters
>  typedef void FPUnOP         (eFSReg Sd, eFSReg Sm,            ConditionCode CC=CC_AL);
>                                                                                ^
> ../../core/rec-ARM/arm_dyna.cpp:188:79: error: default arguments are only permitted for function parameters
>  typedef void BinaryOP       (eReg Rd, eReg Rn, eReg Rm,       ConditionCode CC=AL);
>                                                                                ^
> ../../core/rec-ARM/arm_dyna.cpp:189:79: error: default arguments are only permitted for function parameters
>  typedef void BinaryOPImm    (eReg Rd, eReg Rn, s32 sImm8,     ConditionCode CC=AL);
>                                                                                ^
> ../../core/rec-ARM/arm_dyna.cpp:771:10: warning: anonymous type with no linkage used to declare variable '<anonymous struct> op_table []' with linkage
>  op_table[]=
>           ^
> Makefile:89: recipe for target 'obj/rec-ARM/arm_dyna.build_obj' failed
> make: *** [obj/rec-ARM/arm_dyna.build_obj] Error 1
2015-04-04 19:04:23 +02:00
Stefanos Kornilios Mitsis Poiitidis 014d739495 Update for ndk-10d, improved build options 2015-03-29 06:02:24 +02:00
Stefanos Kornilios Mitsis Poiitidis 0c04adba67 reios: Add support for elf booting 2015-03-22 01:30:19 +01:00
Stefanos Kornilios Mitsis Poiitidis 3b1c38ad55 sh4/driver: don't log on div32 missmatch 2015-03-22 01:26:43 +01:00
~skmp 0285e2c5da reios: Fix unaligned reads (emscripten, arm), more logging, u32be for LBA/sizes 2015-02-26 05:09:52 +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 13f67e2d17 reios: CD/descrambling support, reduced log spam, improved boot context, hle address aliasing, bios memset to catch accesses 2015-02-25 19:47:09 +01:00
Stefanos Kornilios Mitsis Poiitidis 578bb6dadc reios/gdrom_hle: Fix TOC, better CHECK_COMMAND handling, split logspam to debugf 2015-02-25 19:33:36 +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 952b1ae6e9 reios/hleboot: support cdroms, descramble, slightly smarter bootfile search 2015-02-25 15:21:22 +01:00
TwistedUmbrella ab0e67edc7 Merge pull request #585 from reicast/skmp/improve-coreio
http support for cdi & gdi, updated based gdipsr
2015-01-24 08:53:53 -05: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 4a917a003e Merge branch 'master' of github.com:reicast/reicast-emulator 2015-01-16 21:38:09 +01:00
Stefanos Kornilios Mitsis Poiitidis 977dff25ab Basic support for recording frames 2015-01-16 21:37:30 +01:00
Stefanos Kornilios Mitsis Poiitidis d9d9b76d79 TA/VTX: Reset current list on vdec_init
Fixes some rare cases where it's invalid or left over to some list, without a CurrentList set, leading to crash.
2015-01-15 14:23:56 +01:00
~skmp 33556f3863 64 bit fixes 2015-01-10 21:15:15 +02:00
Stefanos Kornilios Mitsis Poiitidis 0f60e72eb0 Add #include <cctype>, that's what isalnum is defined 2015-01-09 16:07:11 +01:00
Stefanos Kornilios Mitsis Poiitidis 3ca3b1220d http support for cdi & gdi, updated based gdipsr
- Fix coreio fsize
- Fix coreio fopen to seek to 0
- Fix coreio/http to smart-escape urls
-  For urls that include \ or % in the filenames, you have to pass them
   escaped
- Update gdi parser to use (mostly) streamstream. That code is horrible
  and should be rewritten
- coreio core is hacky and horrible at places as well
- Update imgreader to use coreio
- Update cdi parser + driver to use coreio
2015-01-09 15:50:07 +01: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 118e9bb1d2 Merge branch 'master' of github.com:reicast/reicast-emulator 2015-01-06 15:02:16 +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
~skmp 0783875b84 Linux GLX/3.1 support
My setup is only 2.1 right now, so this is totally untested
2014-12-30 13:21:05 +02:00
~skmp 0bf6272b9c Avoid use of C++11, still too many compilers without support for auto :< 2014-12-30 10:58:13 +02:00
~skmp 78e4b3c5db Use netinet/tcp.h, not linux/tcp.h 2014-12-30 10:29:49 +02:00
~skmp 83752b9761 Fix building for linux (-DGLES && eglCreateWindowSurface) 2014-12-30 10:00:20 +02:00
TwistedUmbrella 28d0e0a08b Change directions on the path to success 2014-12-29 22:12:25 -05:00
Stefanos Kornilios Mitsis Poiitidis 65d19d8b9d Fix reios makefile building 2014-12-30 02:05:01 +01:00
Stefanos Kornilios Mitsis Poiitidis 088bbfd5e7 More work on reios 2014-12-30 01:57:13 +01: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 9d7cac160a PVR: Fix hscale, VO vs FB_W scissor
Fixes w320 games (bangai-o, kof99, etc), and Half-x clip (Ready2Rumble,
more)
2014-12-22 16:46:40 +01:00
Stefanos Kornilios Mitsis Poiitidis 5b9ac040a4 FB_R_SIZE_type should be 32 bits, not 42 2014-12-22 16:45:32 +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 2978074fa6 Merge branch 'master' of https://github.com/reicast/reicast-emulator 2014-12-17 03:11:14 -08:00
Stefanos Kornilios Mitsis Poiitidis 86e2408ace wip to get ios compiling 2014-12-17 03:10:18 -08:00
Stefanos Kornilios Mitsis Poiitidis 160d6f0c48 Linux is case sensitive 2014-12-17 10:44:11 +01:00
Stefanos Kornilios Mitsis Poiitidis 09caf4a55e Lock the entire texture, not just the pixel array.
Fixes #49
2014-12-17 08:45:19 +01:00
Stefanos Kornilios Mitsis Poiitidis 29906d8416 Texkill, palette_update on correct place.
- Texkill needs to be done before texture allocation, which is now done during parsing (texture-sync update)
- palette_update needs to be called from the emu thread, before kicking off the render
2014-12-17 08:42:28 +01:00
Stefanos Kornilios Mitsis Poiitidis 9a5c3160a3 Documentation for dsp.cpp 2014-12-17 07:12:08 +01:00
Stefanos Kornilios Mitsis Poiitidis e43271e448 fix for msvc 2013 / C++14. Rend is now used by stdlib 2014-12-17 06:48:45 +01:00
Stefanos Kornilios Mitsis Poiitidis b1f88f258b Merge branch 'master' of github.com:reicast/reicast-emulator 2014-12-11 14:02:43 +01: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 acda30f034 Emitter: use main types.h 2014-12-11 14:01:13 +01:00
Stefanos Kornilios Mitsis Poiitidis c69934f839 Force all allocates > 32bits on x64 debug mode to find porting issues 2014-12-11 14:00:53 +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 22e95de2d1 Merge pull request #572 from reicast/skmp/pandora-merge
pandora merge
2014-12-11 03:26:13 +01:00
Stefanos Kornilios Mitsis Poiitidis 4500cfb1d3 Remove white-space changes 2014-12-11 02:57:23 +01:00
Stefanos Kornilios Mitsis Poiitidis 63485e7a72 SetFloatStatusReg: support gcc for x86 2014-12-09 22:15:44 +01:00
Stefanos Kornilios Mitsis Poiitidis 77390f861e DSP only if HOST_NO_REC is not enabled 2014-12-09 22:15:00 +01:00
Stefanos Kornilios Mitsis Poiitidis 000f432548 No rend: fix process 2014-12-09 22:10:16 +01:00
Stefanos Kornilios Mitsis Poiitidis a4b3e8dc05 Auto detect gcc/vc 2014-12-09 22:09:51 +01:00
Stefanos Kornilios Mitsis Poiitidis 157c837ec0 Merge branch 'skmp/gl3.1' 2014-10-22 14:42:02 +02:00
Stefanos Kornilios Mitsis Poiitidis 2b1aaf061d Isolate GLES, add DESKTOPGL option to core.mk 2014-10-22 14:39:07 +02:00
Stefanos Kornilios Mitsis Poiitidis e4844a37c3 Merge branch 'skmp/label_list_fix' 2014-10-22 14:15:40 +02:00
Stefanos Kornilios Mitsis Poiitidis 468b0109c8 Fix label array system 2014-10-22 14:11:39 +02:00
Stefanos Kornilios Mitsis Poiitidis 286d6372b5 Merge pull request #540 from reicast/skmp/gdtool
hash support on gdtool
2014-10-05 23:28:55 +03:00
Stefanos Kornilios Mitsis Poiitids f14932c362 Building on osx w/o rec or rend 2014-09-30 12:00:46 +03:00
Stefanos Kornilios Mitsis Poiitidis 0825ca5a4b hash support on gdtool 2014-08-26 00:53:14 +03:00
ptitSeb 763e0948c0 Merge branch 'pandora' of https://github.com/reicast/emulator into pandora 2014-08-18 23:03:05 +02:00
Stefanos Kornilios Mitsis Poiitidis 4f3cee2d87 Improve async/mt rendering & sync logic.
Should fix texture staging issues for now, without degrading performance
Fixes #49 (mvsc2, sf3, etc sprites)
2014-08-18 22:39:21 +02:00
Stefanos Kornilios Mitsis Poiitidis b55fbef3a6 Stored TA command stream persists on TA_LIST_INIT, until first actual write.
Fixes #141, "Main menus on POD and Speed Devil show up black"

Seems like the TA doesn't touch any of the memory structures before first write (and probably later on, but we're not gonna support corrupted ta streams for now)

According to p1pkin

«At least in SpeedDevils, at title screen game do a bit weird thing
 - Init TA context
 - Send lists to TA
 - Init the same context again
 - Start Render

so, if you are clear stored poly/vertex data at "TA_LIST_INIT" pvr2 reg write - you'll get black screen instead game title»
2014-08-18 22:22:30 +02:00
Stefanos Kornilios Mitsis Poiitidis 1cf68c7b38 Webui for linux 2014-08-18 22:21:18 +02:00
Stefanos Kornilios Mitsis Poiitidis 778efcdf19 add libwebsocket 2014-08-18 22:15:27 +02:00
ptitSeb 15708686b9 Added back manual frameskip due to forum request 2014-08-18 21:57:16 +02:00
ptitSeb 229fa41b30 compilations fixes for Pandora 2014-08-18 21:57:15 +02:00
ptitSeb b7afa6a498 some fixes for Pandora 2014-08-18 21:57:15 +02:00
ptitSeb 6a9cdd7633 added frameskip back, has asked in openpandora forum 2014-08-18 21:57:14 +02:00
Stefanos Kornilios Mitsis Poiitidis 85d806c355 First idea for a gdrom tool 2014-08-18 21:56:04 +02:00
TwistedUmbrella d31f324212 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-08-18 21:56:02 +02:00
Karen Tsai 269ac637d3 …And fixed a typo that was somehow made during the process of cutting-and-pasting. 2014-08-18 21:56:01 +02:00
Karen Tsai bce423e877 Massive build fix for iOS, ngen_arm.S (ARM JIT core) now compiles! The next goal… fix OGLES2. Because that’s completely broken. Also, updated .gitignore to properly ignore iOS build artifacts. 2014-08-18 21:56:01 +02:00
ptitSeb b5dcc93766 PANDORA: No mic on Pandora for now 2014-08-18 21:55:58 +02:00
ptitSeb aa80f4a852 PANDORA: Options and GUI 2014-08-18 21:55:57 +02:00
Stefanos Kornilios Mitsis Poiitidis 734db8a743 Split CFLAGS/CXXFLAGS on core.mk, warning fixes 2014-08-18 21:54:30 +02:00
Stefanos Kornilios Mitsis Poiitidis 5de530d68e Echo state on websocket, hack abit the nacl makefile 2014-08-18 21:54:30 +02:00
TwistedUmbrella c2c7af68bf Compatibility with compilers on non-Ubuntu platforms 2014-08-18 21:54:25 +02:00
Stefanos Kornilios Mitsis Poiitidis 66d8b96ae3 Cleanup textures after they are dead for a while 2014-08-18 21:54:23 +02:00
Stefanos Kornilios Mitsis Poiitidis 9d438c3ff3 Improve async/mt rendering & sync logic.
Should fix texture staging issues for now, without degrading performance
Fixes #49 (mvsc2, sf3, etc sprites)
2014-08-18 21:54:21 +02:00
Stefanos Kornilios Mitsis Poiitidis 59fbb66a66 Stored TA command stream persists on TA_LIST_INIT, until first actual write.
Fixes #141, "Main menus on POD and Speed Devil show up black"

Seems like the TA doesn't touch any of the memory structures before first write (and probably later on, but we're not gonna support corrupted ta streams for now)

According to p1pkin

«At least in SpeedDevils, at title screen game do a bit weird thing
 - Init TA context
 - Send lists to TA
 - Init the same context again
 - Start Render

so, if you are clear stored poly/vertex data at "TA_LIST_INIT" pvr2 reg write - you'll get black screen instead game title»
2014-08-18 21:54:17 +02:00
Stefanos Kornilios Mitsis Poiitidis bcf299cfd4 Ignore group_en bit (via p1pkin, should fix "18 Wheeler - Minimap tiles / not confined to map boundaries") 2014-08-18 21:54:17 +02:00
Stefanos Kornilios Mitsis Poiitidis 7e1f639d6f Webui for linux 2014-08-18 21:54:16 +02:00
Stefanos Kornilios Mitsis Poiitidis 7d35000c18 WEBUI for android 2014-08-18 21:54:16 +02:00
Stefanos Kornilios Mitsis Poiitidis 528d0c6d7a Initial webui code (that does nothing useful)
I plan to port over the existing nulldc debugger stuff to a webui so we can do remote debugging on android and more
2014-08-18 21:54:16 +02:00
Stefanos Kornilios Mitsis Poiitidis eb3f1ca687 Add more missing files 2014-08-18 21:54:15 +02:00
Stefanos Kornilios Mitsis Poiitidis 1a063b8f0d Add missing file 2014-08-18 21:54:15 +02:00
Stefanos Kornilios Mitsis Poiitidis 5cccea4a71 add libwebsocket 2014-08-18 21:54:14 +02:00
ptitSeb b66de11664 PANDORA: No mic on Pandora for now 2014-08-18 21:54:11 +02:00
ptitSeb 891c0011bb Added back manual frameskip due to forum request 2014-08-18 21:44:10 +02:00