Commit graph

999 commits

Author SHA1 Message Date
bunnei edbb47d967 Merge pull request #396 from bunnei/default-dyncom
Core: Change default CPU to dyncom.
2015-01-03 11:59:42 -05:00
bunnei caa6d431ee Merge pull request #398 from lioncash/sm
dyncom: Implement SMLAW
2015-01-03 11:47:01 -05:00
Lioncash 6adc0a4622 dyncom: Implement SMLAW 2015-01-03 03:13:49 -05:00
bunnei b11518c272 VFP: Minor cleanup, functionally the same. 2015-01-03 01:22:38 -05:00
bunnei dd21f986b8 Merge pull request #395 from lioncash/rev
dyncom: Implement REVSH
2015-01-02 22:44:39 -05:00
Lioncash 2f19acf064 dyncom: Implement REVSH
Also joins the REV ops into one common place.
2015-01-02 22:40:43 -05:00
bunnei 853b46c681 Core: Change default CPU to dyncom. 2015-01-02 22:33:53 -05:00
Lioncash e0e54f55d7 dyncom: Implement SMLALD/SMLSLD 2015-01-02 22:08:26 -05:00
Subv 3bc9f5509b Archives: Change the folder layout of some archives.
This is to better represent the hardware layout, they are still aren't quite accurate, but this better and will help a bit when implementing the other archives like NAND-RO and NAND-RW
2015-01-02 21:55:13 -05:00
bunnei 031237e52c Merge pull request #381 from Subv/savedatacheck
Implemented the SaveDataCheck archive
2015-01-02 21:50:57 -05:00
bunnei 3e230d6c9e Merge pull request #392 from lioncash/sm
dyncom: Implement SMMLA/SMMUL/SMMLS
2015-01-02 21:47:53 -05:00
Lioncash 64161bcb41 dyncom: Implement SMMLA/SMMUL/SMMLS 2015-01-02 21:40:29 -05:00
Subv 22cfa55302 IVFCArchive: Use a critical log to notify of invalid operations. 2015-01-02 21:39:31 -05:00
Subv 0d03fdec71 SaveDataCheck: Remove unneeded constructor from a class 2015-01-02 21:28:46 -05:00
Subv 2f9a2d410d Archives: Added some documentation to IVFCArchive 2015-01-02 21:13:55 -05:00
Subv aade417b14 Archives: Reduced duplicate code in RomFS and SaveCheck.
Fixed a few warnings and cleaned up the code
2015-01-02 21:13:54 -05:00
Subv 13efbdc201 SaveDataCheck: Preliminary work in this archive.
This allows Steel Diver to boot further, some files are needed.

This is still not ready and needs a big cleanup, this will possibly be delayed until the way we handle archives is fixed (with factory classes instead of ahead-of-time creation of archives)
2015-01-02 21:13:53 -05:00
bunnei 3d9bf13439 Merge pull request #391 from lioncash/pedantic
archive/elf: Minor misc changes.
2015-01-02 21:04:49 -05:00
bunnei dd8a57cb80 dyncom: Implemented LDREXD/STREXD/LDREXH/STREXH 2015-01-02 20:51:54 -05:00
bunnei 3b2da87080 Merge pull request #390 from lioncash/wut
dyncom: Remove dead function InterpreterInitInstLength
2015-01-02 20:40:29 -05:00
bunnei 6ae381ac9e Merge pull request #388 from lioncash/sm
dyncom: Implement SMLAD/SMUAD/SMLSD/SMUSD
2015-01-02 20:39:36 -05:00
Lioncash bf23f94571 elf: Make DidRelocate const 2015-01-02 20:32:16 -05:00
Lioncash 0d81b1e75b archive: Fix initializer list order 2015-01-02 20:30:57 -05:00
Lioncash 67187c15a0 dyncom: Remove dead function InterpreterInitInstLength
Technically eliminates two memory leaks as well.
2015-01-02 20:24:00 -05:00
Lioncash bdbd111c7e soc_u: Fix a missing formatting argument 2015-01-02 19:54:21 -05:00
Lioncash bee4ff8454 armemu: Fix missing Q flag check for SMLSD. 2015-01-02 18:29:36 -05:00
Lioncash 3337b84620 dyncom: Implement SMLAD/SMUAD/SMLSD/SMUSD 2015-01-02 18:29:30 -05:00
Lioncash 48bf0f9996 dyncom: Implement SXTAB16 and SXTB16 2015-01-01 21:59:37 -05:00
bunnei 7c8f6ca051 Merge pull request #358 from neobrain/pica_progress2
pica_progress followups
2015-01-01 20:54:45 -05:00
bunnei fa4cc502e7 Merge pull request #379 from lioncash/sh
dyncom: Implement SHADD8/SHADD16/SHSUB8/SHSUB16/SHASX/SHSAX
2015-01-01 20:43:04 -05:00
Rohit Nirmal c589d82052 Silence some -Wsign-compare warnings. 2015-01-01 16:38:36 -06:00
Lioncash 524da47698 dyncom: Implement SHADD8/SHADD16/SHSUB8/SHSUB16/SHASX/SHSAX 2015-01-01 10:34:20 -05:00
Lioncash 481a6c9652 Fix SADD8/SSUB8 in the armemu 2015-01-01 09:44:32 -05:00
Lioncash 4e2cb06b81 dyncom: Implement SADD8/SSUB8 2015-01-01 09:39:40 -05:00
Subv 97a7381d29 SOC_U: Preliminary implementation of sockets.
Stubbed CreateMemoryBlock

Using Berkeley sockets, and Winsock2.2 on Windows.
So far ftpony creates the socket and accepts incoming connections

SOC_U: Renamed functions to maintain consistency

Also prevents possible scope errors / conflicts with the actual Berkeley socket functions

SOCU: Close all the opened sockets when cleaning up SOCU
2014-12-31 10:51:44 -05:00
Tony Wasserka 18a5e888bb GPU: Pseudo-implement horizontal scaling.
It's not really known how this actually works. Some testing has shown that this probably performs no filtering, and common usage in games suggests it's not actually resizing the image at all.
However, this patch does seem to fix some homebrew showing quasi-duplicated images while still keeping other applications in a working state.
2014-12-31 16:32:55 +01:00
bunnei 59bba04628 Merge pull request #375 from lioncash/uops
dyncom: Implement UADD8/UADD16/USUB8/USUB16/UASX/USAX
2014-12-31 10:14:37 -05:00
Lioncash 3cc4af99d1 dyncom: Implement UADD8/UADD16/USUB8/USUB16/UASX/USAX 2014-12-31 06:45:41 -05:00
bunnei 631f13e462 dyncom: Massive refactor 2014-12-30 23:56:45 -05:00
bunnei 29da5da951 Merge pull request #369 from darkf/mingw_
Fix MinGW build (2)
2014-12-30 23:54:02 -05:00
Lioncash 5894c407c2 vfp: Get rid of a few warnings 2014-12-30 13:08:56 -05:00
Lioncash 6ce4b7b666 vfp: Implement VMOVBRRSS 2014-12-30 11:04:22 -05:00
Lioncash cc9f458ad3 dyncom: Implement USAT16/SSAT16 2014-12-30 09:43:24 -05:00
bunnei b3240f6455 Merge pull request #368 from purpasmart96/dsp_mem
MemMap: Add support for DSP Read & Writes in the memory map
2014-12-29 23:08:51 -05:00
Subv 545ded954d APT:A: Some style changes 2014-12-29 22:59:28 -05:00
darkf 8ba9ac0f74 Fix merge conflicts 2014-12-29 19:47:41 -08:00
purpasmart96 d5049cbba5 MemMap: Add support for DSP Read & Writes in the memory map 2014-12-29 19:35:06 -08:00
Subv 2c89d4d5cd Archives: Implemented ExtSaveData and SharedExtSaveData
They will be stored in /extsavedata/SDMC and /extsavedata/NAND respectively.
Also redirect some APT_A functions to their APT_U equivalents.
Implemented the gamecoin.dat file in SharedExtSaveData in the PTM module.
Implemented formatting the savegame.
Retake a previous savegame if it exists instead of reporting them as not formatted every time a game is loaded.
2014-12-29 22:29:55 -05:00
bunnei 021fb42075 dyncom: Implement USAT/SSAT 2014-12-29 22:15:15 -05:00
bunnei 78bb86293f Merge pull request #253 from purpasmart96/mem_map
MemMap: Removed I/O address's and added more stuff
2014-12-29 21:57:04 -05:00
bunnei aa49019afb dyncom: Various cleanups to match coding style, no functional changes. 2014-12-29 21:50:47 -05:00
bunnei 2d2aa2c0be Merge pull request #361 from lioncash/moreqops
dyncom/armemu: Implement QADD8/QSUB8.
2014-12-29 14:53:04 -05:00
Lioncash d08d9f8747 dyncom: Fix SMLALXY's instruction labels
They were erroneously labeled as SMLAL.
2014-12-29 12:04:34 -05:00
Tony Wasserka 13699f05e7 Merge pull request #303 from linkmauve/fs-cleanup
FileSys cleanup
2014-12-29 12:14:59 +01:00
Lioncash e412c0fc46 dyncom: Implement QADD8/QSUB8 2014-12-29 00:54:48 -05:00
Lioncash 7ad400d5a7 armemu: Implement QADD8/QSUB8 2014-12-29 00:49:10 -05:00
bunnei 472ec0d0cf Merge pull request #360 from lioncash/dynuxt
dyncom: Implement UXTB16/UXTAB16
2014-12-28 23:20:30 -05:00
Lioncash 5c198686ce dyncom: Implement UXTB16/UXTAB16 2014-12-28 22:45:04 -05:00
bunnei 487a80f9f7 Merge pull request #347 from bunnei/frameskip
Frameskip
2014-12-28 22:39:17 -05:00
bunnei df728cb4c2 Merge pull request #355 from lioncash/simp
armemu: Simplify some instructions.
2014-12-28 22:20:49 -05:00
bunnei 3b9d181b8e GPU: Implement frameskip and remove forced framebuffer swap hack. 2014-12-28 22:14:05 -05:00
bunnei 9a403d7dfb Merge pull request #359 from lioncash/vfp
vfp: Actually make the code somewhat readable
2014-12-28 21:54:53 -05:00
bunnei 77363d9590 Merge pull request #331 from yuriks/handle-reform
New Handle manager
2014-12-28 21:11:55 -05:00
Lioncash 9c7f2570f7 vfp: Actually make the code somewhat readable 2014-12-28 18:55:01 -05:00
bunnei bf9b33aa9f dyncom: Implement PKHBT and PKHTB. 2014-12-28 16:50:08 -05:00
bunnei 58cb62fe7b armemu: Fix PKHTB to do an arithmetic shift and correctly decode immediate field. 2014-12-28 16:18:52 -05:00
Lioncash 7d322b5c6f dyncom: Implement USAD8/USADA8 2014-12-28 12:40:51 -05:00
Lioncash 6ce2a38ec4 armemu: Simplify SSAT/SSAT16/SXTB/SXTAB 2014-12-28 12:19:31 -05:00
Lioncash 9f5b53f9ff armemu: Simplify REV/REV16/SXTH/SXTAH 2014-12-28 12:13:13 -05:00
bunnei 762f16c4ad Merge pull request #354 from lioncash/usaduflow
armemu: Fix underflows in USAD8/USADA8
2014-12-28 11:57:25 -05:00
Lioncash 914ecfe04f armemu: Simplify USAT16/UXTB/UXTAB 2014-12-28 11:57:14 -05:00
Lioncash 5e16216afb armemu: Simplify REVSH/UXTH/UXTAH 2014-12-28 11:57:09 -05:00
Yuri Kunde Schlesner 7e2903cb74 Kernel: New handle manager
This handle manager more closely mirrors the behaviour of the CTR-OS
one. In addition object ref-counts and support for DuplicateHandle have
been added.

Note that support for DuplicateHandle is still experimental, since parts
of the kernel still use Handles internally, which will likely cause
troubles if two different handles to the same object are used to e.g.
wait on a synchronization primitive.
2014-12-28 11:52:55 -02:00
Yuri Kunde Schlesner 23f2142009 Kernel: Replace GetStaticHandleType by HANDLE_TYPE constants 2014-12-28 11:52:53 -02:00
Yuri Kunde Schlesner 73fba22c01 Rename ObjectPool to HandleTable 2014-12-28 11:52:52 -02:00
Lioncash 059c65a27a armemu: Fix underflows in USAD8/USADA8
Initially reported by xdec.
2014-12-28 06:09:43 -05:00
Lioncash af69b0840b dyncom: Implement UQADD8, UQADD16, UQSUB8, UQSUB16, UQASX, and UQSAX. 2014-12-27 17:24:34 -05:00
Lioncash 60523113a9 armemu: Implement UQADD8, UQADD16, UQSUB16, UQASX, and UQSAX 2014-12-27 17:06:19 -05:00
Lioncash 52d889d85d dyncom: Implement UHADD8, UHADD16, UHSUB8, UHSUB16, UHASX, and UHSAX 2014-12-27 00:57:32 -05:00
Lioncash 84a0438cf5 armemu: Implement UHADD8, UHADD16, UHSUB8, UHSUB16, UHASX, and UHSAX 2014-12-26 23:55:39 -05:00
bunnei e5ddbfee02 Merge pull request #339 from bunnei/fixup-gsp-synch
Fixup gsp synch
2014-12-25 22:52:40 -05:00
bunnei 5d2ee78d8f Merge pull request #330 from purpasmart96/new_srv
More services & small clean ups
2014-12-25 22:51:38 -05:00
bunnei 5799025ac4 GPU: Further improve synchronization. 2014-12-25 22:46:55 -05:00
bunnei 4783133bbd ARM: Add a mechanism for faking CPU time elapsed during HLE.
- Also a few cleanups.
2014-12-25 22:46:44 -05:00
purpasmart96 9796bc1fa2 More services & small clean ups 2014-12-25 19:08:33 -08:00
bunnei 9c8ec675d9 Merge pull request #343 from lioncash/smmla
armemu: Implement SMMUL, SMMLA, and SMMLS.
2014-12-25 21:57:31 -05:00
bunnei 254567056f Merge pull request #341 from lioncash/moresmops
armemu: Implement SMLALD/SMLSLD
2014-12-25 21:46:54 -05:00
Lioncash 35dbfc7ab0 armemu: Implement SMMUL, SMMLA, and SMMLS. 2014-12-25 13:52:46 -05:00
Lioncash 82c3962b95 armemu: Implement SMLALD/SMLSLD 2014-12-24 09:29:48 -05:00
Lioncash 6b7808e412 armemu: Fix GE/Q flag setting semantics 2014-12-24 07:56:57 -05:00
Emmanuel Gil Peyrot bbe0bf1332 FileSys: Clean up according to the coding style, and remove redundant namespaced names. 2014-12-24 01:49:48 +00:00
bunnei 2bbbe68399 Merge pull request #328 from archshift/writeable
Stubbed IsSdmcWriteable to always return writeable.
2014-12-23 20:41:51 -05:00
archshift 81a538ccc2 Stubbed IsSdmcWriteable to always return writeable. 2014-12-23 22:22:48 -03:00
Lioncash 20fc5f2a35 armemu: Set the Q flag correctly for much of the other ops
They were setting the old S flag.
2014-12-23 09:59:37 -05:00
Lioncash 79a7a432c5 armemu: Set the Q flag properly for SMLAD/SMUAD 2014-12-23 09:58:21 -05:00
bunnei d31a94f06b Merge pull request #334 from lioncash/cpsr
armemu: Fix retrieval of the CPSR in MRS instructions.
2014-12-23 09:44:04 -05:00
bunnei 53447da142 Merge pull request #335 from lioncash/cpsrcreate
armemu: Emulate the GE and Q flags.
2014-12-23 09:43:46 -05:00
Lioncash 6446331938 armemu: Properly set the Q flag for SSAT16/USAT16 upon saturation. 2014-12-22 23:52:05 -05:00
Lioncash f66d356938 armemu: Fix SEL
Needs to use the updated state of the CPSR.
2014-12-22 23:52:05 -05:00
Lioncash 8e2accd974 armemu: Fix construction of the CPSR 2014-12-22 23:51:59 -05:00
Lioncash 8c72322422 armemu: Fix retrieval of the CPSR in MRS instructions. 2014-12-22 21:44:03 -05:00
Lioncash 97f3e884d2 dyncom: Move over QADD16/QASX/QSAX/QSUB16 2014-12-22 01:09:42 -05:00
bunnei 2188af4a65 Merge pull request #322 from chinhodado/master
More warning cleanups
2014-12-22 00:12:43 -05:00
bunnei ae76469373 Merge pull request #332 from lioncash/sel
dyncom: Move SEL over
2014-12-21 21:49:45 -05:00
bunnei ec1ddc17e2 Merge pull request #312 from Subv/still_more_savedata_stuff
CFG: Implemented the GetConfigInfoBlk2 function.
2014-12-21 21:47:25 -05:00
Lioncash 245276c9cc dyncom: Move SEL over 2014-12-21 21:19:15 -05:00
bunnei 770b274c86 Merge pull request #324 from lioncash/dync
dyncom: Move over SASX/SSAX/SADD16/SSUB16
2014-12-21 20:33:14 -05:00
Lioncash c6f27055c9 dyncom: Move over SASX/SSAX/SADD16/SSUB16 2014-12-21 19:50:36 -05:00
Subv 2030f9d946 CFG: Fixed some warnings and errors in Clang 2014-12-21 18:25:49 -05:00
Subv 304735fb52 CFG: More style changes 2014-12-21 18:02:27 -05:00
Subv f080e3ccfa CFGU: Indentation 2014-12-21 17:54:14 -05:00
Subv 6f304d3b00 CFG: Some indentation 2014-12-21 17:41:35 -05:00
Subv b3cee19289 CFG: Changed the CreateConfigInfoBlk search loop 2014-12-21 17:26:51 -05:00
Subv 3e94b9054c CFG: Corrected the licenses in cfg_i.cpp and cfg_u.cpp 2014-12-21 16:45:13 -05:00
Subv 6115f013a9 CFG: Create a new subfolder cfg inside service to handle cfg
Moved most of the shared CFG code there, implemented a few CFG:I functions
2014-12-21 16:41:06 -05:00
Subv 9e45240e23 CFGU: Some changes 2014-12-21 16:39:29 -05:00
Subv cdd78fa01d CFGU: Addressed some issues. 2014-12-21 16:39:26 -05:00
Subv 718a120754 CFGU: Addressed some comments. 2014-12-21 16:39:23 -05:00
Subv a1b9b80a55 Style: Addressed some comments 2014-12-21 16:39:20 -05:00
Subv a7cc7972de CFG_U: Use Common::make_unique instead of the std version 2014-12-21 16:39:17 -05:00
Subv 9029efd873 CFG:U: Implemented some more blocks 2014-12-21 16:39:14 -05:00
Subv 8b0ee93526 CFG: Implemented block 0x00070001 in the config savefile 2014-12-21 16:39:11 -05:00
Subv b3d1c8ba6a CFGU: Use an absolute offset in the config savefile blocks 2014-12-21 16:39:08 -05:00
Subv 95ca6ae1e1 CFG: Load the Config savedata file if it already exists. 2014-12-21 16:39:05 -05:00
Subv b49bdb6ba7 CFGU: Added block 0x000A0002 to the default savegame file
That's the language id block, we're using LANGUAGE_EN for now. This block allows some games to boot further
2014-12-21 16:39:02 -05:00
Subv 4cd21b43c1 CFG: Refactored how the config file works.
It is now kept in memory as per 3dbrew, all updates happen on memory, then they can be saved using UpdateConfigNANDSavegame.
2014-12-21 16:38:59 -05:00
Subv 462740278d CFG:U: Add some data to the 0x00050005 config block.
Seems to allow some games to boot further, thanks @Normmatt for sharing this information
2014-12-21 16:38:57 -05:00
Subv fa3d72ab3e CFG: Implemented the GetConfigInfoBlk2 function.
Added a "config" file to the CFG process service (CFG:U), and added a few default blocks to it.

Implemented GetSystemModel and GetModelNintendo2DS
2014-12-21 16:38:54 -05:00
bunnei 0de6a08d75 Merge pull request #291 from purpasmart96/license
License change
2014-12-21 16:05:44 -05:00
Chin 0199a7d9ef More warning cleanups 2014-12-21 10:58:55 -05:00
bunnei 572ce043c2 Merge pull request #271 from archshift/createf
Added CreateFile to the FS_USER service
2014-12-21 01:45:00 -05:00
archshift 0625dd09ea Added CreateFile to the FS_USER service
Tested with hwtests.
2014-12-21 02:21:49 -03:00
purpasmart96 ebfd831ccb License change 2014-12-20 21:20:24 -08:00
bunnei 0f696037f6 Merge pull request #323 from lioncash/saddsub
armemu: Implement SADD8/SSUB8
2014-12-21 00:10:12 -05:00
bunnei 4fcdbed9f6 Thread: Wait current thread on svc_SleepThread
- Removed unused VBLANK sleep mode
- Added error log for bad context switch
- Renamed VerifyWait to CheckWaitType to be more clear
2014-12-20 23:20:19 -05:00
Lioncash 855eda6f85 armemu: Implement SADD8/SSUB8 2014-12-20 23:10:35 -05:00
bunnei 2e5869c939 Merge pull request #316 from yuriks/thread-handle
Kernel: Implement support for current thread pseudo-handle
2014-12-20 16:36:01 -05:00
bunnei 0e9262885d Merge pull request #296 from lioncash/dyn
dyncom: Implement UMAAL
2014-12-20 16:24:12 -05:00
bunnei 993afd3bf0 Merge pull request #310 from lioncash/ssat16
armemu: Fix SSAT16.
2014-12-20 16:23:54 -05:00
Lioncash 2a097f0990 armemu: Should be using labs for USAD8/USADA8 2014-12-20 15:34:14 -05:00
bunnei 7095c4959b Merge pull request #311 from lioncash/usada
armemu: Implement USAD8 and USADA8
2014-12-20 15:21:25 -05:00
bunnei 52bc58283d Merge pull request #313 from lioncash/smlsd
armemu: Implement SMLSD
2014-12-20 15:18:52 -05:00
bunnei 1c50a036dd Merge pull request #314 from lioncash/qsax-qasx
armemu: Implement QASX and QSAX
2014-12-20 15:18:05 -05:00
bunnei 2b0d7a1d29 Merge pull request #315 from chinhodado/master
Clean up some warnings
2014-12-20 11:59:18 -05:00
Chin e795692614 Clean up some warnings 2014-12-20 10:03:36 -05:00
Yuri Kunde Schlesner 82528ba7df Common: Add a clone of std::make_unique 2014-12-20 03:45:02 -02:00
Yuri Kunde Schlesner adee775f44 Kernel: Implement support for current thread pseudo-handle
This boots a few (mostly Nintendo 1st party) games further.
2014-12-20 03:27:47 -02:00
bunnei f1309e6bf0 Merge pull request #306 from Subv/even_more_savedata
SaveData: Added some documentation to FormatSaveData
2014-12-19 23:20:31 -05:00
Subv fc73bef692 FS_U: Added the command to the docs of SaveData functions 2014-12-19 22:45:39 -05:00
bunnei 245abb4125 Merge pull request #294 from lioncash/var
armemu: Narrow the scope of some variables in handle_v6_insn
2014-12-19 16:46:56 -05:00