bunnei
f3a7b66267
Merge pull request #472 from lioncash/overflow
...
dyncom: Fix some more V-flag setting ops. Plus some cleanup.
2015-01-12 10:35:19 -05:00
Lioncash
2843d1b98b
dyncom: Get rid of unnecessary outer-scope variables in InterpreterMainLoop
2015-01-12 01:11:46 -05:00
Lioncash
3ace75a49f
dyncom: Fix overflow flag setting for ADD/RSB/RSC/SUB/SBC
...
Also cleans up CMN, and CMP.
2015-01-12 01:03:58 -05:00
Lioncash
9c2c89b7e1
dyncom: Add a helper function for addition with a carry
2015-01-12 00:44:28 -05:00
darkf
67c644e317
Fix building on MinGW
2015-01-11 20:22:08 -08:00
Lioncash
d2a05bbbc6
dyncom: Fix ADC overflow flag setting
2015-01-11 22:27:09 -05:00
bunnei
b33380ca59
Merge pull request #456 from Subv/waitsync1
...
SVC: Wake up the thread after the delay in WaitSync1
2015-01-11 18:52:09 -05:00
Lioncash
eabfa5cf43
dyncom: Fix conditional execution of MSR
2015-01-11 18:45:45 -05:00
bunnei
542b0b0057
Merge pull request #466 from Subv/wake
...
Thread: Prevent waking a thread multiple times.
2015-01-11 13:39:23 -05:00
Subv
b68d51ed30
Thread: Prevent waking a thread multiple times.
...
If a thread was woken up by something, cancel the wakeup timeout.
2015-01-11 13:18:52 -05:00
Subv
38da198aa1
SVC: Wake up the thread after the delay in WaitSync1
2015-01-11 10:42:59 -05:00
archshift
3b555e2512
Stubbed y2r:u IsBusyConversion
...
There is no documentation available on this function, but we set the result to false as a stub.
This allows Super Little Acorns to move all the way in game with pp3c.
2015-01-10 22:47:31 -08:00
archshift
95be6ad7ae
Added Archive ID to fs:USER debug logs involving opening the archive.
2015-01-10 14:32:11 -08:00
archshift
228843c43e
Logging: Log all called service functions (under trace). Compile out all trace logs under release for performance.
2015-01-10 14:32:10 -08:00
Yuri Kunde Schlesner
8ad41775cc
Kernel: Start using boost::intrusive_ptr for lifetime management
2015-01-09 19:43:52 -02:00
Yuri Kunde Schlesner
d751de7341
Kernel: Don't re-assign object's handle when duplicating one
2015-01-09 19:43:51 -02:00
bunnei
6ae12424df
Merge pull request #444 from yuriks/handle-reform2
...
Kernel Lifetime Reform Pt. 2
2015-01-09 12:59:35 -05:00
bunnei
86e07124ad
Merge pull request #436 from kevinhartman/system-core
...
Warn if a new thread is intended to be run on the system CPU core
2015-01-09 11:14:35 -05:00
Yuri Kunde Schlesner
78ea76e12f
Thread: Fix nullptr access in a logging function
2015-01-09 04:02:28 -02:00
Yuri Kunde Schlesner
7f1557fbbd
Thread: Rename thread_queue => thread_list
2015-01-09 04:02:17 -02:00
Yuri Kunde Schlesner
9bf8462b96
Thread: Reduce use of Handles and move some funcs to inside the class.
2015-01-09 04:02:15 -02:00
Yuri Kunde Schlesner
ba72208cd4
Kernel: Move Thread's definition to the header file
2015-01-09 03:51:55 -02:00
Yuri Kunde Schlesner
7b3452c730
Move ThreadContext to core/core.h and deal with the fallout
2015-01-09 03:51:55 -02:00
bunnei
d46f650036
Merge pull request #255 from Subv/cbranch_3
...
Implemented timers
2015-01-08 22:38:33 -05:00
Subv
40c1439c34
Core: Fixed a crash and removed some unused variables.
...
ARM_Disasm only has static methods, so there's no need to have an instance of it.
2015-01-08 21:49:41 -05:00
Subv
07044651ef
SVC: Implemented the Timer service calls.
2015-01-08 21:22:14 -05:00
Subv
fc842963c8
DynCom: Add a comment to GetTicks.
2015-01-08 19:46:00 -05:00
Subv
620d77b7e3
Timing: Use CoreTiming::GetTicks to keep track of ticks.
...
This will keep track of idle ticks for us, and fixes some tickcount-related issues
2015-01-08 19:39:14 -05:00
bunnei
cf1bbe8705
Merge pull request #443 from Subv/sleep_thread
...
SVC: Fixed SleepThread
2015-01-08 18:45:35 -05:00
Subv
dfc440785a
SVC: Fixed SleepThread.
...
It will now properly wait the specified number of nanoseconds and then wake up the thread.
2015-01-08 18:39:12 -05:00
bunnei
2432f317e4
Merge pull request #446 from lioncash/umaal
...
dyncom: Fix UMAAL
2015-01-08 11:22:20 -05:00
Lioncash
1cef6e92d5
dyncom: Fix UMAAL
...
These need to be done as a 64-bit operation.
2015-01-08 11:09:21 -05:00
Subv
60a373a786
Threads: Use a dummy idle thread when no other are ready.
...
This thread will not actually execute instructions, it will only advance the timing/events and try to yield immediately to the next ready thread, if there aren't any ready threads then it will be rescheduled and start its job again.
2015-01-07 20:31:31 -05:00
bunnei
b659cac2dc
Merge pull request #404 from bunnei/more-frame-synch-fixes
...
GPU: Toggle active framebuffer each frame
2015-01-07 18:13:48 -05:00
bunnei
f7a3f45f1e
GSP: Toggle active framebuffer each frame
2015-01-07 18:06:00 -05:00
bunnei
e6864a1f41
Merge pull request #431 from yuriks/thread-queue-cleanup
...
Common: Clean up ThreadQueueList
2015-01-07 17:58:31 -05:00
Kevin Hartman
63be6aaadd
Warn if a new thread is intended to be run on the system CPU core until we implement correct scheduling for such a thread.
2015-01-07 14:14:48 -08:00
bunnei
4c583732f2
Merge pull request #442 from lioncash/smul
...
dyncom: Fix SMULWB/SMULWT
2015-01-07 16:49:30 -05:00
Lioncash
df5e0f9f28
dyncom: Fix SMULWB/SMULWT
...
Wasn't doing proper sign-extension
2015-01-07 16:41:08 -05:00
Yuri Kunde Schlesner
122c2bb324
Common: Clean up ThreadQueueList
...
Replace all the C-style complicated buffer management with a std::deque.
In addition to making the code easier to understand it also adds support
for non-POD IdTypes.
Also clean the rest of the code to follow our code style.
2015-01-07 18:38:25 -02:00
bunnei
3eca33c6a4
Merge pull request #425 from Subv/coretiming
...
Ported the CoreTiming namespace from PPSSPP
2015-01-07 15:30:46 -05:00
Subv
9bf82beb4c
CoreTiming: Ported the CoreTiming namespace from PPSSPP
...
Implemented the required calls to make it work.
CoreTiming: Added a new logging class Core_Timing.
2015-01-07 15:08:35 -05:00
Yuri Kunde Schlesner
a6ad68190f
Fix double-free in Service manager during shutdown
...
Fixes #423 .
2015-01-07 17:32:31 -02:00
bunnei
317fe1e528
Merge pull request #438 from lioncash/swp
...
dyncom: Fix SWPB
2015-01-07 09:53:29 -05:00
bunnei
5ae3a9657d
Merge pull request #434 from lioncash/sm
...
dyncom: Move over SMLALXY
2015-01-07 09:51:06 -05:00
Lioncash
75c211c10f
dyncom: Fix SWPB
2015-01-07 09:36:06 -05:00
Lioncash
511e13f3e3
dyncom: Move over SMLALXY
2015-01-07 00:53:56 -05:00
bunnei
088863c921
Merge pull request #376 from Subv/arc_reorder
...
Archives: Change the folder layout of some archives.
2015-01-06 20:13:56 -05:00
Subv
8fbe5d2dca
Archives/Exdata: Don't set concrete_mount_point in the ctor
2015-01-06 16:12:25 -05:00
Subv
32dbb76e00
Archives: Changed the unimplemented archives comment.
...
It now refers to me as the PoC
2015-01-06 15:34:37 -05:00
Subv
5244ac0e9c
Archives: Addressed some comments
2015-01-06 15:02:30 -05:00
bunnei
89bb0ecbd5
Merge pull request #417 from kevinhartman/exclusive-tag-fix
...
Added exclusive reservation granule from ARMv7 spec to dyncom...
2015-01-06 12:42:10 -05:00
bunnei
9eaef4e04a
Merge pull request #413 from purpasmart96/serv_clean
...
Services: Clean up a few things and add a few function names
2015-01-05 22:48:58 -05:00
Kevin Hartman
8132c01830
Added exclusive reservation granule from ARMv7 spec to dyncom to protect LDR/STREX.
2015-01-05 22:29:51 -05:00
bunnei
9b83f0e158
Merge pull request #272 from rohit-n/sign-compare
...
Silence some -Wsign-compare warnings.
2015-01-05 22:10:56 -05:00
purpasmart96
379b39e583
Services: Clean up a few things and add a few function names
2015-01-05 16:07:15 -08:00
Subv
123a76c9c8
SaveDataCheck: Fixed a typo
2015-01-05 16:40:36 -05:00
bunnei
6fad32ea98
Merge pull request #422 from lioncash/bxj
...
dyncom: Partially emulate BXJ
2015-01-05 16:36:29 -05:00
Lioncash
f75def619c
dyncom: Partially emulate BXJ
...
Just in case some game studio let the intern write inline assembly or something.
2015-01-05 15:55:09 -05:00
bunnei
4828d0b7af
Merge pull request #416 from bunnei/fake-dsp-interrupt
...
DSP: Signal (faked) interrupt on every frame.
2015-01-05 15:51:36 -05:00
Lioncash
e08a39a2f4
dyncom: Actually set the Q flag for SMLABB/SMLABT/SMLATB/SMLATT
...
Easy skyeye todo fix.
2015-01-05 10:41:02 -05:00
bunnei
8b1ec1a82a
Merge pull request #418 from lioncash/qd
...
dyncom: Implement QADD/QSUB/QDADD/QDSUB
2015-01-05 09:59:12 -05:00
Lioncash
d00c22c706
dyncom: Implement QADD/QSUB/QDADD/QDSUB
2015-01-05 09:13:41 -05:00
bunnei
e9650f1c61
DSP: Signal (faked) interrupt on every frame.
...
- Hack to work around games checking that the DSP event has been signaled by a real DSP interrupt.
2015-01-05 00:25:37 -05:00
bunnei
cc23269ff4
Merge pull request #407 from Subv/arbiter
...
AddressArbiter: Ported arbitration type 2 from 3dmoo.
2015-01-05 00:05:50 -05:00
bunnei
81e255a411
Merge pull request #415 from Dante38490/master
...
Loader: Add support for loading NCCH ROMs with the .3DS extension
2015-01-04 23:10:04 -05:00
bunnei
96e6b2aa50
Merge pull request #408 from Subv/mutex
...
Mutex: Add the calling thread to the waiting list when needed
2015-01-04 22:55:53 -05:00
Dante38490
e674aa31af
Fix correct espace
2015-01-05 04:45:09 +01:00
Dante38490
35a085d567
Add support load 3DS room
2015-01-05 04:39:42 +01:00
bunnei
26f31a2dfb
Merge pull request #386 from archshift/y2ru
...
Stub the y2r:u service
2015-01-04 21:40:58 -05:00
Subv
ea80363cc2
Mutex: Add the calling thread to the waiting list when needed
...
This will happen when the mutex is already owned by another thread. Should fix some issues with games being stuck due to waiting threads not being awoken.
2015-01-04 12:52:34 -05:00
Lioncash
41e1cb12e5
skyeye: Remove duplicate typedefs
...
citra already has its own typedefs like this.
2015-01-04 12:34:02 -05:00
Subv
90dffe3fc1
Archives: Make SYSTEM_ID and SDCARD_ID strings
2015-01-04 09:10:27 -05:00
Subv
71a063f45c
Archives: Changed the way paths are built for the archives.
...
Each archive now takes a mount point of either NAND or SDMC, and builds its own directory structure there, trying to simulate an HLE-friendly hardware layout
2015-01-03 20:46:05 -05:00
Subv
cfd7b219f6
SaveDataCheck: Move the files to nand/title
...
under /nand/title/high/low/content/00000000.app.romfs
2015-01-03 19:01:46 -05:00
Yuri Kunde Schlesner
930e13cb2c
FileSys: Fix crash bug in DiskFile exposed by #400
2015-01-03 18:28:37 -02:00
archshift
48130b1eaa
Stub the y2r:u service
2015-01-03 16:42:39 -03:00
Yuri Kunde Schlesner
19b2e739c5
FileSys: Fix a few memory leaks
2015-01-03 17:16:16 -02:00
Subv
0276a75f24
AddressArbiter: Ported arbitration type 2 from 3dmoo.
...
(Thanks 3dmoo!)
2015-01-03 12:09:11 -05:00
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
bunnei
dc5d1a9061
Merge pull request #305 from lioncash/paren
...
armemu: Get rid of bitwise parenthesis warnings
2014-12-19 16:46:36 -05:00
Lioncash
4b506cec01
armemu: Implement QASX and QSAX
2014-12-19 14:09:18 -05:00
Lioncash
0f3a6a161c
armemu: Implement SMLSD
2014-12-19 09:53:54 -05:00
Lioncash
4a646ace1f
dyncom: Implement UMAAL
2014-12-19 04:02:14 -05:00
bunnei
017e6a488e
Merge pull request #302 from purpasmart96/flushshutup
...
GSP_GPU: Shut up FlushDataCache
2014-12-18 23:40:10 -05:00
Lioncash
00e8ec4a9e
armemu: Implement USAD8 and USADA8
2014-12-18 23:38:57 -05:00
Lioncash
92c53fe522
armemu: Fix SSAT16
...
The lower-bound would never be negative like it should
2014-12-18 20:35:14 -05:00
Lioncash
b9fc0b4b80
armemu: Clean up naming and formatting for SSAT16
2014-12-18 20:34:22 -05:00
purpasmart96
b2c64eb5ff
GSP_GPU: Shut up FlushDataCache
2014-12-18 16:39:55 -08:00
bunnei
765dbabdb6
Merge pull request #308 from Subv/more_savedata
...
SystemSaveData: Fixed a typo that was segfaulting
2014-12-18 18:05:03 -05:00
Subv
78e0f36857
SystemSaveData: Fixed a typo that was segfaulting
2014-12-18 18:01:47 -05:00
bunnei
24b5e87279
Merge pull request #304 from lioncash/sflags
...
armemu: Set GE flags properly for SSUB16, SADD16, SSAX, and SASX.
2014-12-18 17:46:10 -05:00
bunnei
4959e3b2c0
Merge pull request #307 from lioncash/usat16
...
armemu: Fix USAT16.
2014-12-18 17:45:25 -05:00
bunnei
c71f8840e5
Merge pull request #301 from Subv/more_savedata
...
SaveData: Implemented the SystemSaveData archive.
2014-12-18 17:29:34 -05:00
Subv
f9472eda0a
SystemSaveData: Added a TODO to move it to the NAND.
...
Maybe sometime when we actually implement that
2014-12-18 16:58:42 -05:00
Lioncash
e683f654ce
armemu: Fix lower-bounds clamping for USAT16
2014-12-18 16:54:01 -05:00
Subv
77f0cdfaf4
SaveData: Added some documentation to FormatSaveData
...
We still don't know what the other parameters do, but they appear to be very similar to those of FormatThisUserSaveData.
Most likely FormatThisUserSaveData is just an alias for FormatSaveData with LowPathType Empty
2014-12-18 15:30:28 -05:00
Lioncash
6b632bbe37
armemu: More concise names for USAT16-related variables
2014-12-18 14:25:07 -05:00
Lioncash
eaae0ad502
armemu: Get rid of bitwise parenthesis warnings
2014-12-18 12:07:18 -05:00
Lioncash
4dc8eb40be
armemu: Set GE flags correctly for SSUB16, SADD16, SSAX, and SASX.
2014-12-18 11:45:40 -05:00
bunnei
8ac22e7efc
Merge pull request #299 from lioncash/join
...
Combine SSUB16, SADD16, SASX, and SSAX.
2014-12-18 10:04:31 -05:00
Subv
bec527fa24
SaveData: Implemented the SystemSaveData archive.
...
It will be stored in the /syssavedata folder. This archive is user by various Services and possibly games via the FS:U service.
2014-12-17 23:44:32 -05:00
bunnei
797efbde1a
Merge pull request #298 from lioncash/flags
...
armemu: Unset GE flags for UADD8 if results are < 0x100
2014-12-17 22:06:27 -05:00
bunnei
a968adf50e
Merge pull request #295 from lioncash/umaal
...
armemu: Implement UMAAL
2014-12-17 21:44:13 -05:00
Lioncash
85c318078d
armemu: Combine SSUB16, SADD16, SASX, and SSAX.
2014-12-17 21:17:54 -05:00
bunnei
075126247f
Merge pull request #292 from lioncash/backports
...
Backport more skyeye fixes from 3dmoo
2014-12-17 20:58:00 -05:00
bunnei
e00e303275
Merge pull request #297 from lioncash/ssub16
...
armemu: Fix SSUB16
2014-12-17 20:56:37 -05:00
bunnei
7bae450379
Merge pull request #185 from purpasmart96/mem_perm
...
Kernel: Add missing permissions
2014-12-17 20:56:04 -05:00
Subv
ea9ce0fba7
Filesystem/Archives: Implemented the SaveData archive
...
The savedata for each game is stored in /savedata/<ProgramID> for NCCH files. ELF files and 3DSX files use the folder 0 because they have no ID information
Got rid of the code duplication in File and Directory
Files that deal with the host machine's file system now live in DiskFile, similarly for directories and DiskDirectory and archives with DiskArchive.
FS_U: Use the correct error code when a file wasn't found
2014-12-17 19:21:38 -05:00
Lioncash
41fee1c940
armemu: Unset GE flags for UADD8 if results are < 0x100
...
Reference manual states these must be set to zero if this case is true.
2014-12-17 17:54:49 -05:00
Lioncash
58dc554733
armemu: Fix SSUB16
...
Broken from the same reason SADD16 was.
The lo part of the result should only be constructed from the lo halfwords of rm and rn.
The hi part of the result should only be constructed from the hi halfwords of rm and rn.
2014-12-17 15:40:10 -05:00
bunnei
e6f440ea7f
Merge pull request #293 from lioncash/sops
...
armemu: Fix SADD16
2014-12-17 14:54:24 -05:00
bunnei
3e9d4a7917
Merge pull request #287 from lioncash/qaddsub16
...
armemu: Join QADD16/QSUB16 and fix saturation clamping.
2014-12-17 12:34:52 -05:00
Lioncash
5820dba6b7
armemu: Implement UMAAL
2014-12-17 12:21:21 -05:00
Lioncash
2d91164bb9
armemu: Narrow the scope of some variables in handle_v6_insn
...
There's no reason to have these in the outer-most scope.
2014-12-17 10:26:20 -05:00
Lioncash
5289a496a7
armemu: Fix SADD16
...
The lo and hi parts of the result were being constructed as a result of hi and lo halfword intermixing from the rm and rn regs. However the lo part of the result should be constructed only from the lo halfwords of rm and rn, and the hi part of the result should only be constructed from the hi halfwords of rm and rn.
2014-12-17 09:36:25 -05:00
Normmatt
73211dc8fe
armemu: Fix PKHTB
2014-12-17 03:26:12 -05:00
Normmatt
8045df14d2
armemu: Implement REVSH
2014-12-17 03:26:01 -05:00
Normmatt
bc81cc9490
armemu: Fix UXTAB/UXTAH
2014-12-17 03:24:25 -05:00
Normmatt
b5dbd6f2a2
armemu: Fix SXTAB
2014-12-17 03:17:44 -05:00
Normmatt
efebd5589a
armemu: Fix SXTAH
2014-12-17 03:16:40 -05:00
bunnei
fdb4ef5210
Merge pull request #289 from lioncash/smops
...
Join SMUAD, SMUSD, and SMLAD ops. Also fix them as well.
2014-12-17 00:08:43 -05:00
bunnei
ec9ac2f51a
Merge pull request #290 from lioncash/vsub
...
armemu: Backport some VFP fixes from 3dmoo.
2014-12-16 23:22:58 -05:00
Normmatt
9c127f4a01
armemu: Fix FTOUI NaN sign.
2014-12-16 05:56:06 -05:00
Normmatt
2ed03c10e0
armemu: Fix FSUBS bug where NaN shouldn't be negated
2014-12-16 05:54:00 -05:00
Lioncash
d5bcddb77c
armemu: Fix SMUAD, SMUSD, and SMLAD
...
Wrong values were being multiplied together.
2014-12-16 03:13:06 -05:00
Lioncash
0f9e3baf39
armemu: Join SMUAD, SMUSD, and SMLAD
2014-12-16 03:11:50 -05:00
Lioncash
4c53799229
armemu: Fix lower-bound signed saturation clamping for QADD16/QSUB16.
2014-12-16 00:11:51 -05:00
Lioncash
49817e89d9
armemu: Join QADD16 and QSUB16 together.
...
The only difference between these ops is one adds and one subtracts. Everything is literally the same.
2014-12-16 00:11:19 -05:00
bunnei
cdfa7157eb
Merge pull request #286 from yuriks/msvc-fix
...
Comment out empty arrays causing compile errors in MSVC
2014-12-15 22:52:35 -05:00
Yuri Kunde Schlesner
082bf803ab
Comment out empty arrays causing compile errors in MSVC
2014-12-16 01:37:13 -02:00
bunnei
a8098187aa
Merge pull request #285 from lioncash/uxtab16
...
armemu: Implement UXTAB16
2014-12-15 22:29:12 -05:00
bunnei
cd2a31eaf4
Merge pull request #283 from yuriks/archive-refactor
...
Archive refactor
2014-12-15 22:15:08 -05:00
Yuri Kunde Schlesner
666f6deb47
Work around libstdc++'s lack of support for std::hash on enums
2014-12-16 01:09:21 -02:00
Yuri Kunde Schlesner
83e6e4ffec
FS.Archive: Clean up treatment of archives and their handles
...
- Refactor FS::Archive internals to make Archive creation and lifetime
management clearer.
- Remove the "Archive as a File" hack.
- Implement 64-bit Archive handles.
2014-12-16 01:08:44 -02:00
Yuri Kunde Schlesner
0931a42af0
Service.FS: Rename FileSys::File to FileBackend
2014-12-16 01:08:43 -02:00
Yuri Kunde Schlesner
d51afab0bc
Service.FS: Rename FileSys::Directory to DirectoryBackend
2014-12-16 01:08:43 -02:00
Yuri Kunde Schlesner
82fe821e87
Service.FS: Rename FileSys::Archive to ArchiveBackend
2014-12-16 01:08:42 -02:00
Yuri Kunde Schlesner
f6153679b0
Service.FS: Do archive registration using IdCode instead of name
2014-12-16 01:08:42 -02:00
Yuri Kunde Schlesner
ca67bb7945
HLE: Rename namespaces to match move & fix initialization order
2014-12-16 01:08:38 -02:00
Yuri Kunde Schlesner
c72ccfa6db
HLE: Move kernel/archive.* to service/fs/
2014-12-16 01:08:14 -02:00
Lioncash
1c7f77334c
armemu: Implement UXTAB16
2014-12-15 20:47:27 -05:00
bunnei
5df176425b
Merge pull request #282 from archshift/services
...
Added stubs for ldr:ro, cecd:u, nim:aoc, and am:app services
2014-12-15 19:28:13 -05:00
bunnei
0fd731ee63
Merge pull request #281 from lioncash/uxtb16
...
armemu: Fix UXTB16
2014-12-15 18:56:02 -05:00
archshift
89eef9eb6d
Added stub for nim:aoc service...
2014-12-15 15:32:42 -08:00
archshift
1356a6b313
Added stub for cecd:u service...
...
I couldn't find any information about this service...
2014-12-15 15:32:42 -08:00
archshift
6117fad036
Added stub for ldr:ro service...
2014-12-15 15:32:42 -08:00
archshift
6b51683bb1
Added am:app service stub.
...
Apparently nothing at all is known about this service...
2014-12-15 15:32:41 -08:00
Yuri Kunde Schlesner
e321decf98
Remove SyncRequest from K::Object and create a new K::Session type
...
This is a first step at fixing the conceptual insanity that is our
handling of service and IPC calls. For now, interfaces still directly
derived from Session because we don't have the infrastructure to do it
properly. (That is, Processes and scheduling them.)
2014-12-15 18:26:17 -02:00
Lioncash
2b0acd36e1
armemu: Fix UXTB16
...
Rotation bits are 10 and 11, not 9 and 10.
2014-12-14 23:00:31 -05:00
bunnei
1ee740898a
Merge pull request #276 from lioncash/decrappify
...
Clean up armdefs.h a little.
2014-12-14 22:08:14 -05:00
bunnei
17b4d6747a
Merge pull request #246 from Subv/cbranch_1
...
SVC: Implemented Semaphores
2014-12-14 22:03:28 -05:00
bunnei
2cac148ff3
Merge pull request #273 from bunnei/more-skyeye-fixes
...
ARM: Pull some SkyEye fixes from 3dmoo.
2014-12-14 21:58:05 -05:00
bunnei
d26b7146ce
ARM: Pull some SkyEye fixes from 3dmoo.
2014-12-14 21:51:46 -05:00
Lioncash
f6cb8c1927
Clean up armdefs.h
2014-12-14 02:00:42 -05:00
purpasmart96
23ae8aa4d3
MemMap: Added AXI_WRAM & SHARED_PAGE along with other stuff
...
Got rid of I/O address's since the I/O addresses range's overlap with other
address's types such as vram, these I/O addresses need to be done in an different
way.
2014-12-13 18:29:57 -08:00
Subv
1051795c32
Kernel/Semaphores: Fixed build
2014-12-13 13:43:01 -05:00
Subv
ea95876431
Kernel/Semaphore: Small style change
2014-12-13 13:40:19 -05:00
Subv
effb181888
Kernel/Semaphores: Invert the available count checking.
...
Same semantics, idea by @yuriks
2014-12-13 13:40:18 -05:00
Subv
5e25986235
Kernel/Semaphores: Addressed some issues.
2014-12-13 13:40:16 -05:00
Subv
cc81a510e3
Semaphore: Removed an unneeded function
2014-12-13 13:40:15 -05:00
Subv
61434651d8
Semaphores: Addressed some style issues
2014-12-13 13:40:13 -05:00
Subv
abff4a7ee2
Semaphore: Implemented the initial_count parameter.
2014-12-13 13:40:12 -05:00
Subv
49b31badba
SVC: Implemented ReleaseSemaphore.
...
This behavior was tested on hardware, however i'm still not sure what use the "initial_count" parameter has
2014-12-13 13:40:10 -05:00
Subv
82c84883a5
SVC: Implemented svcCreateSemaphore
...
ToDo: Implement svcReleaseSemaphore
* Some testing against hardware needed
2014-12-13 13:40:09 -05:00
Lioncash
cfc0ee9c60
kernel: Remove unused log arguments
2014-12-13 10:15:58 -05:00
Yuri Kunde Schlesner
0e0a007a25
Add configurable per-class log filtering
2014-12-13 02:08:06 -02:00
Yuri Kunde Schlesner
0600e2d8b5
Convert old logging calls to new logging macros
2014-12-13 02:08:02 -02:00
Yuri Kunde Schlesner
616d874443
New logging system
2014-12-13 01:59:52 -02:00
bunnei
a6791e4fc7
Merge pull request #267 from bunnei/apt-shared-font
...
APT shared font loading
2014-12-12 22:12:12 -05:00
bunnei
6fe61d3deb
APT_U: Added GetSharedFont service function.
2014-12-12 22:06:10 -05:00
bunnei
988998cca5
DSP: Added stub for ReadPipeIfPossible.
2014-12-12 00:53:51 -05:00
bunnei
4cb7a44d4e
MemMap: Renamed "GSP" heap to "linear", as this is not specific to GSP.
...
- Linear simply indicates that the mapped physical address is always MappedVAddr+0x0C000000, thus this memory can be used for hardware devices' DMA (such as the GPU).
2014-12-12 00:15:47 -05:00
bunnei
3a75c8069e
Merge pull request #256 from Subv/mutex
...
Kernel/Mutex: Properly lock the mutex when a thread enters it
2014-12-10 22:52:55 -05:00
Emmanuel Gil Peyrot
5a3b1b5f44
CFG:U: Store country codes as u16 instead of char pointers, and return the correct error in GetCountryCodeID.
2014-12-10 22:33:23 +00:00
bunnei
f94d8f9603
GSP: Trigger GPU interrupts at more accurate locations.
2014-12-09 19:07:14 -05:00
bunnei
e90b37b935
GSP: Updated TriggerCmdReqQueue to return success code.
2014-12-09 19:07:14 -05:00
bunnei
3e1654eaa8
GSP: Updated RegisterInterruptRelayQueue to return expected magic number.
2014-12-09 19:07:14 -05:00
bunnei
170123982d
GPU: Fixed bug in command list size decoding.
2014-12-09 19:07:13 -05:00
Yuri Kunde Schlesner
521e1cb7e0
Remove unused NDMA module
2014-12-09 18:27:16 -02:00
bunnei
b7327f807c
Merge pull request #217 from archshift/cmd_buff
...
Log the cmd_buff arguments when citra comes across an unimplemented function
2014-12-08 23:13:07 -05:00
bunnei
dd203f7068
Thread: Fixed to wait on address when in arbitration.
2014-12-08 19:44:10 -05:00
bunnei
a6bf3fd613
Merge pull request #244 from bunnei/cleanup-memmap
...
MemMap: Updated memory map to subtract base address instead of mask.
2014-12-08 19:34:54 -05:00
bunnei
f1ec1a0d2c
Merge pull request #263 from lioncash/sasx
...
Fix emulation of SASX and SSAX instructions.
2014-12-08 19:17:54 -05:00
bunnei
ff560a9428
Merge pull request #259 from ichfly/master
...
Loader: Add 3DSX support
2014-12-08 19:16:40 -05:00
bunnei
1f4953e1bb
Merge pull request #264 from Subv/files
...
Kernel/File: Fixed file read/write hwtests
2014-12-08 18:05:03 -05:00
bunnei
72ad73519c
Merge pull request #260 from archshift/opendir
...
Make OpenDirectory fail if the directory doesn't exist
2014-12-08 18:03:48 -05:00
Subv
1d1078fd8b
Kernel/File: Fixed file read/write hwtests
...
The 3DS allows the user to read from files opened with the Write access modifier, even if he did not specify the Read access modifier.
Open the files in binary mode so that we can prevent CR/LF problems in Windows, where a line-end is replaced by these two bytes instead of just 0xA, this was causing problems with the GetSize test
2014-12-08 17:45:17 -05:00
Lioncash
905e3b616a
armemu: Fix SSAX
2014-12-08 15:47:20 -05:00
ichfly
1aa969741d
Loader: Add 3DSX support
2014-12-08 18:06:43 +01:00
Lioncash
62fd564854
armemu: Fix SASX
2014-12-08 01:44:37 -05:00
Lioncash
b4256431aa
armemu: Fix parenthesis warnings regarding bitwise ops
2014-12-07 23:58:12 -05:00
archshift
20d2ed0950
Make OpenDirectory fail if the directory doesn't exist
...
This is in line with what the hardware itself does.
It does this by splitting the initial directory opening into Directory.Open(), which will return false if a stat fails.
Then, Archive::OpenDirectory will return nullptr, and archive.cpp will return an error code .
2014-12-07 14:47:14 -08:00
Subv
bc318c464b
Mutex: Remove some forward declarations
...
Moved Mutex::WaitSynchronization to the end of the file.
2014-12-07 15:57:28 -05:00
Subv
64128aa61a
Mutex: Release all held mutexes when a thread exits.
2014-12-07 15:44:21 -05:00
bunnei
2aa2d341d0
Merge pull request #245 from rohit-n/null-nullptr
...
Change NULLs to nullptrs.
2014-12-07 13:40:04 -05:00
Subv
e3c8e4901c
Mutex: Properly lock the mutex when a thread enters it
...
Also resume only the next immediate thread waiting for the mutex when it is released, instead of resuming them all.
2014-12-05 23:40:43 -05:00
bunnei
17fae11fc7
Merge pull request #250 from Subv/cbranch_2
...
SVC: Implemented GetThreadId.
2014-12-04 22:15:03 -05:00
bunnei
5056329a80
Merge pull request #222 from archshift/renamexyz
...
Implemented RenameFile and RenameDirectory in FS:USER
2014-12-04 22:07:47 -05:00
bunnei
21d183e1e6
Merge pull request #248 from lioncash/kernel
...
Misc minor kernel-related changes.
2014-12-04 22:05:20 -05:00
Subv
6fac2bf0ab
Threads: Remove a redundant function.
...
Use the next_thread_id variable directly.
2014-12-04 14:59:56 -05:00
Subv
ef1d5cda06
Threads: Implemented a sequential thread id
2014-12-04 08:13:53 -05:00
archshift
139a4d91d9
Updated archive.cpp functions for proper error handling
2014-12-03 22:50:44 -08:00
Subv
029ff9f1fd
SVC: Implemented GetThreadId.
...
For now threads are using their Handle value as their Id, it should not really cause any problems because Handle values are unique in Citra, but it should be changed. I left a ToDo there because this is not correct behavior as per hardware.
2014-12-04 00:25:35 -05:00
bunnei
846dc72a37
Merge pull request #249 from lioncash/enum
...
mem_map: Make enum for addresses use u32 as the underlying type
2014-12-04 00:01:13 -05:00
bunnei
306b5392ca
Merge pull request #247 from lioncash/const
...
hid_user: Pass by reference with PadButtonPress/PadButtonRelease
2014-12-03 23:56:35 -05:00
Lioncash
3ba32d2b53
mem_map: Make enum for addresses use u32 as the underlying type
2014-12-03 23:36:45 -05:00
bunnei
abbc340957
Merge pull request #238 from archshift/dsp
...
Add stub for ConvertProcessFromDspDram
2014-12-03 23:35:06 -05:00
archshift
a404ad5272
Add stub for ConvertProcessFromDspDram
...
Should theoretically push retail stuff further along
2014-12-03 20:03:57 -08:00
Lioncash
208598dbe2
kernel: Shorten GetCount
2014-12-03 22:52:02 -05:00
Lioncash
9b68d5e074
kernel: Make some functions const
2014-12-03 19:48:34 -05:00
Lioncash
7ff8f0d916
hid_user: Pass by reference with PadButtonPress/PadButtonRelease
2014-12-03 19:33:54 -05:00
purpasmart96
16fc98af64
PTM_U: Added a stub for GetBatteryLevel & GetBatteryChargeState & GetAdapterState
2014-12-03 15:09:59 -08:00
Rohit Nirmal
8a62423970
Change NULLs to nullptrs.
2014-12-03 12:57:57 -06:00
bunnei
e5b2733801
Merge pull request #231 from purpasmart96/serv_ac_wifi_status
...
AC_U: Added a stub for GetWifiStatus
2014-12-03 10:00:13 -05:00
bunnei
e2e56c7bac
Merge pull request #219 from Subv/ptm
...
PTM_U: Implemented the GetShellState function.
2014-12-03 09:58:52 -05:00
bunnei
e3886adc22
MemMap: Updated memory map to subtract base address instead of mask.
...
- More readable, a little less error prone.
Conflicts:
src/core/mem_map.h
src/core/mem_map_funcs.cpp
2014-12-03 01:23:29 -05:00
purpasmart96
32d420330d
AC_U: Added a stub for GetWifiStatus
2014-12-02 15:30:42 -08:00
bunnei
884ecd58ea
Merge pull request #224 from bunnei/dsp-service-improvements
...
Dsp service improvements
2014-11-30 23:21:34 -05:00
bunnei
b0a5b3d986
Merge pull request #214 from Subv/master
...
CFG:U: Implemented the GetCountryCodeID and GetCountryCodeString
2014-11-30 23:19:07 -05:00
bunnei
3e286fff7c
DSP: Added stubs for several commonly used DSP service functions.
2014-11-30 23:14:57 -05:00
bunnei
45fd3fe5c4
DSP: Fixed typo in port name.
2014-11-30 23:14:48 -05:00
Subv
4cdaac44d3
PTM_U: Implemented the GetShellState function.
2014-11-30 19:50:14 -05:00
bunnei
e3d1ffff4b
Merge pull request #225 from bunnei/fix-release-mutex
...
Mutex: Changed behavior to always release mutex for all threads.
2014-11-30 08:47:49 -05:00
bunnei
a5afad0937
Merge pull request #226 from bunnei/svc-and-thread-fixes
...
Svc and thread fixes
2014-11-30 08:41:49 -05:00
bunnei
13005d54aa
Merge pull request #235 from yuriks/dyncom-map
...
dyncom: Use unordered_map rather than the terrible 2-level bb_map
2014-11-30 08:35:03 -05:00
Subv
5753da89e4
CFG:U: Implemented the GetCountryCodeID and GetCountryCodeString.
2014-11-29 21:16:28 -05:00
Yuri Kunde Schlesner
4a68e91a62
dyncom: Use unordered_map rather than the terrible 2-level bb_map
...
Seems (probably just placebo/wishful thinking) to make it slightly
faster. Also reduces memory usage and makes shutdown when debugging from
MSVC fast.
2014-11-29 17:42:39 -02:00
Lioncash
4f28861008
arm_dyncom_interpreter: Get rid of unused var warnings
2014-11-29 14:13:29 -05:00
darkf
a19354aced
Add comment regarding __WIN32__ in SkyEye code
2014-11-28 21:50:50 -08:00
darkf
459502e48c
Fix MinGW build
2014-11-28 21:38:20 -08:00
vaguilar
223e76d51d
Fixed formatting and switch statement warnings
2014-11-27 02:59:14 -08:00
bunnei
de851ba1a1
Thread: Check that thread is actually in "wait state" when verifying wait.
2014-11-26 15:04:08 -05:00
bunnei
f985469901
SVC: Add debug log to ArbitrateAddress.
2014-11-26 15:04:07 -05:00
bunnei
e0e7443517
SVC: SleepThread should yield to the next ready thread.
2014-11-26 15:04:07 -05:00
bunnei
a449e0e11a
Mutex: Changed behavior to always release mutex for all threads.
2014-11-26 14:38:42 -05:00
Emmanuel Gil Peyrot
f8c05e53c4
Remove unused includes to common/thread.h
2014-11-25 20:39:25 +00:00
archshift
43a682a106
Log the cmd_buff arguments when citra comes across an unimplemented function
2014-11-24 15:51:48 -08:00
archshift
e5ff01c2cd
Implemented RenameDirectory in FS:USER
2014-11-24 15:09:12 -08:00
archshift
45afc15aa6
Implemented RenameFile in FS:USER
2014-11-24 15:09:11 -08:00
Yuri Kunde Schlesner
8189593255
Use pointers instead of passing handles around in some functions.
2014-11-24 17:08:37 -02:00
Yuri Kunde Schlesner
22c86824a4
Remove duplicated docs/update them for changed parameters.
2014-11-24 17:08:36 -02:00
Yuri Kunde Schlesner
c2588403c0
HLE: Revamp error handling throrough the HLE code
...
All service calls in the CTR OS return result codes indicating the
success or failure of the call. Previous to this commit, Citra's HLE
emulation of services and the kernel universally either ignored errors
or returned dummy -1 error codes.
This commit makes an initial effort to provide an infrastructure for
error reporting and propagation which can be use going forward to make
HLE calls accurately return errors as the original system. A few parts
of the code have been updated to use the new system where applicable.
One part of this effort is the definition of the `ResultCode` type,
which provides facilities for constructing and parsing error codes in
the structured format used by the CTR.
The `ResultVal` type builds on `ResultCode` by providing a container for
values returned by function that can report errors. It enforces that
correct error checking will be done on function returns by preventing
the use of the return value if the function returned an error code.
Currently this change is mostly internal since errors are still
suppressed on the ARM<->HLE border, as a temporary compatibility hack.
As functionality is implemented and tested this hack can be eventually
removed.
2014-11-24 17:08:36 -02:00
Yuri Kunde Schlesner
924bbde89b
Change some SkyEye defines to const ints
...
This prevents them from interfering with other constants defined in
different namespaces.
2014-11-24 16:47:01 -02:00
bunnei
ef1b16a7eb
Merge pull request #191 from archshift/deletexyz
...
Added DeleteFile and DeleteDirectory functions to FS:USER and the archives.
2014-11-23 20:02:23 -05:00
archshift
8aeadbd95a
Added DeleteFile and DeleteDirectory functions to FS:USER and the archives.
2014-11-23 00:33:43 -08:00
purpasmart96
9821bfcb8e
Add more services and some fixes, along with more "override"
...
in the service's headers
2014-11-20 17:09:57 -08:00
bunnei
c0cd0fa78e
Merge pull request #211 from linkmauve/master
...
Remove trailing spaces from the entire project
2014-11-19 15:24:46 -05:00
bunnei
112768f436
Merge pull request #208 from lioncash/statics
...
Add static to some variables
2014-11-19 09:39:20 -05:00
Emmanuel Gil Peyrot
739bb58c3a
Remove tabs in all files except in skyeye imports and in generated GL code
2014-11-19 09:04:03 +00:00
Emmanuel Gil Peyrot
f5d38649c7
Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generated
2014-11-19 09:03:07 +00:00
Lioncash
7cbecde2ca
Add static to some variables
2014-11-18 20:04:00 -05:00
purpasmart96
66431bceda
Kernel:Add missing permissions in shared memory & svc
2014-11-18 15:57:25 -08:00
Tony Wasserka
219628d1c8
Merge pull request #207 from lioncash/docs
...
Fix documentation of parameters
2014-11-18 16:55:58 +01:00
Tony Wasserka
d218a547fa
Merge pull request #209 from lioncash/warn
...
directory_sdmc: Fix a signed/unsigned mismatch comparison
2014-11-18 16:54:56 +01:00
Tony Wasserka
ed4e599008
Merge pull request #210 from lioncash/typedef
...
system: Get rid of an unnecessary enum typedef
2014-11-18 16:54:37 +01:00
Lioncash
b37f91c617
system: Get rid of an unnecessary enum typedef
2014-11-18 09:00:32 -05:00
Lioncash
548c49dfe9
directory_sdmc: Fix a signed/unsigned mismatch comparison
2014-11-18 08:51:03 -05:00
Lioncash
64cc6cb6cf
Fix documentation of parameters
2014-11-18 08:31:24 -05:00
Lioncash
1a8f466217
Remove extraneous semicolons
2014-11-18 08:27:16 -05:00
Lioncash
72846c418e
core: Mark some hle functions as static
...
These functions are not referred to by their linkage name outside of the translation unit, so they can be marked as static.
2014-11-17 22:41:49 -05:00
bunnei
11641b5e79
Archive: Fixed to not destroy archive handle on close.
2014-11-17 22:19:14 -05:00
bunnei
bcb0dbf7e1
Archive: Fixed close archive before freeing.
2014-11-17 22:19:14 -05:00
bunnei
3e09c07378
FS_User: Support FileSye::Path in a more generic way.
...
added a todo to kernel archive
2014-11-17 22:18:58 -05:00
bunnei
a3107a6b57
FileSys: Updated backend code to use FileSys::Path instead of string for paths.
2014-11-17 21:49:24 -05:00
bunnei
c04a04189a
FileSys: Added DebugStr method to Path class.
2014-11-17 18:42:37 -05:00
bunnei
4ac4c3caf1
Merge pull request #201 from archshift/boss
...
Add missing boss:U service
2014-11-17 17:46:18 -05:00
archshift
e27f169acb
Add missing boss:U service, needed according to Nintendo Zone logs.
2014-11-17 07:31:37 -08:00
Lioncash
cfea27a615
mem_map: Add missing prototype for Write64
2014-11-16 22:50:13 -05:00
Tony Wasserka
80e9c02bd6
Merge pull request #159 from SeannyM/enable_log
...
Add support for disabling log from settings
2014-11-15 12:42:08 +01:00
bunnei
26622818ae
Merge pull request #193 from lioncash/fmt
...
Fix two format strings.
2014-11-15 01:41:28 -05:00
bunnei
613627205c
Merge pull request #194 from lioncash/virt
...
ARM_Interface: Make destructor virtual
2014-11-15 01:38:51 -05:00
Lioncash
e8f4361d76
ARM_Interface: Make destructor virtual
...
Fixes some warnings on OSX.
2014-11-14 12:10:35 -05:00
Lioncash
ac58b76e71
Fix two format strings.
2014-11-14 12:08:26 -05:00
bunnei
3cfdabb2e3
Merge pull request #183 from archshift/lowpath
...
Add support for UTF-16 strings for LowPaths in FS:USER
2014-11-12 22:56:27 -05:00
archshift
1f7c4ab7f6
Use std::u16string for conversion between UTF-8 and UTF-16, FS:USER functions
2014-11-12 19:30:17 -08:00
bunnei
a490490336
Merge pull request #188 from bunnei/apt-fixes
...
APT_U: Various improvements and bug fixes.
2014-11-12 00:06:45 -05:00
bunnei
9fb549cb84
APT_U: Added stub for function AppletUtility.
2014-11-11 23:51:54 -05:00
bunnei
19cfcfe8c0
APT_U: Set a valid parameter buffer size in GlanceParameter.
...
- Also Clarified GlanceParameter/ReceiveParameter documentation.
2014-11-11 23:51:54 -05:00
bunnei
8eced1b697
APT_U: Release service lock on initialization.
2014-11-11 23:51:54 -05:00
bunnei
0df9c34410
APT_U: Fixes for GetLockHandle to boot system titles.
...
- Also added comment to GetLockHandle function.
2014-11-11 23:51:33 -05:00
bunnei
b8e6f52419
ARM: Fixed dyncom to use reg15 for PC (this core doesn't use pc variable).
...
- Fixes single stepping in debugger.
2014-11-11 19:54:18 -05:00
bunnei
ce1125d490
Core: Changed RunLoop iterations to 1000 (slightly better performance).
2014-11-11 19:54:09 -05:00
bunnei
573756e241
ARM: Removed unnecessary goto with each instruction.
2014-11-11 19:53:46 -05:00
bunnei
3409790668
ARM: Fixed several dyncom bugs.
...
- Fixed NZCVT flags to properly save state when function returns.
- Fixed counter to keep track of the actual number of instructions executed.
- Fixed single-step mode to only execute one instruction at a time.
- DefaultIni: Removed comment that no longer applied to dyncom.
2014-11-11 19:53:19 -05:00
archshift
37e582c395
Add FRD:U service and functions
2014-11-10 22:43:45 -08:00
archshift
0ad5964c8b
Add support for UTF-16 strings for LowPaths in FS:USER
2014-11-10 10:53:26 -08:00
Sean
371b61f3ea
Add support for disabling log from settings
2014-11-03 17:00:32 -05:00
Sean Maas
d06420807c
Fix compilation errors
2014-11-02 18:43:52 -05:00
bunnei
9be17e4d84
Merge pull request #163 from archshift/create-directory
...
Added CreateDirectory function to service/fs.cpp, and in Archive.
2014-11-02 17:15:52 -05:00
bunnei
7f9bcacdf7
Merge pull request #166 from bunnei/skyeye-vfp-fixes
...
SkyEye ARM/VFP fixes
2014-11-02 17:09:35 -05:00
archshift
04c90c395d
Added CreateDirectory function to service/fs.cpp, and in Archive.
2014-11-02 10:48:28 -08:00
archshift
40a84833ae
Added ReceiveNotification, PublishToSubscriber unimplemented functions to SRV
2014-11-01 23:15:38 -07:00
bunnei
0832cf7cd7
ARM: Merged additional ARMv6 instructions implemented by 3dmoo.
2014-11-02 01:04:54 -05:00
bunnei
bc6989b075
ARM: Merge latest VFP fixes from 3dmoo team.
2014-11-02 01:04:41 -05:00
archshift
c22923f8c4
Added stub err:f service.
2014-11-01 20:07:59 -07:00
bunnei
6e6947118b
Merge pull request #135 from purpasmart96/master
...
Added a bunch of services
2014-11-01 19:03:01 -04:00
purpasmart96
539b4c883d
Added a bunch of services
2014-11-01 15:28:35 -07:00
Yuri Kunde Schlesner
c6e3c7df62
Fix VFP compilation errors with gcc
2014-10-30 22:24:03 -02:00
bunnei
01e37962e7
Merge pull request #162 from SeannyM/warning-fixes
...
Fix some warnings
2014-10-29 21:07:27 -04:00
archshift
ed797a4354
FS:USER - Implemented IsSdmcDetected
2014-10-29 17:43:48 -07:00