Emmanuel Gil Peyrot
04622a859c
Loader: Don’t assume the file hasn’t been read before.
11 years ago
Emmanuel Gil Peyrot
b5237e885d
Loader: Keep a reference to the file and pass it to the correct AppLoader, instead of loading it multiple times.
11 years ago
Emmanuel Gil Peyrot
2d63df90a9
Loader: Initialize the default NCCH values in the class declaration, not in the constructor.
11 years ago
Emmanuel Gil Peyrot
9d3bb8b7c0
Loader: Remove the useless THREEDSXReader class.
11 years ago
Emmanuel Gil Peyrot
85030c6e6b
Loader: Never forget to change is_loaded.
11 years ago
Emmanuel Gil Peyrot
43e699d849
Loader: Don’t duplicate the docstring into the cpp file.
11 years ago
Emmanuel Gil Peyrot
bc2212106f
Loader: Fix indentation, whitespace, and a few other such cosmetic stuff.
11 years ago
bunnei
3ff5a80d46
Merge pull request #481 from Subv/hm_b
...
APTU: Stubbed NotifyToWait, taken from 3dmoo.
11 years ago
Sebastian Valle
fd1b600e05
APT: Fixed the comment style in some variables
11 years ago
bunnei
394d44cf74
Merge pull request #480 from Subv/arb_2
...
AddrArbiter: Implement arbitration types 3 and 4.
11 years ago
Yuri Kunde Schlesner
a09f71521e
GPU: Fix buffer overrun in Display Transfers
...
Display transfers with the horizontal downscaling flag were calculating
the wrong output size, causing them to write double the amount of data
intended. It is likely that this was perceived as correct due to a
separate bug in calculating source indices which caused the image to be
padded unless the previous bug was present.
This fixes both issues, correcting flickering issues in 3dscraft,
blargSnes and more (caused by the transfer overwriting the back buffer
which followed) as well as potentially fixing other crashes.
11 years ago
Yuri Kunde Schlesner
7630b31672
GSP: Fix appending of interrupts to the shared memory buffer
...
The code was previously appending the interrupt to after the end of the
buffer, instead of at the end.
11 years ago
Yuri Kunde Schlesner
9e084826b8
GPU: Do periodic VBlank updates using CoreTiming
11 years ago
Yuri Kunde Schlesner
e29dd76e12
GPU: Correct wrong default framebuffer address for sub-screen.
...
It appears this is a mistake, since the sub-screen has no right
framebuffer.
11 years ago
Yuri Kunde Schlesner
5961a2852d
GSP: Update framebuffer info on all interrupts
...
Hardware testing determined that the GSP processes shared memory
framebuffer update info even when no memory transfer or filling GX
commands are used. They are now updated on every interrupt, which isn't
confirmed correct but matches hardware behaviour more closely.
This also reverts the hack introduced in #404 . It made a few games
behave better, but I believe it's incorrect and also breaks other games.
11 years ago
Yuri Kunde Schlesner
98e3274935
GPU: Fire GPU interrupts at the correct places.
...
PDC0 and PDC1 are both VBlank interrupts. PDC0 was being treated as a
HBlank interrupt and fired many more times than it should. They now both
fire together at 60 Hz. This puzzlingly *improves* apparent framerate on
many applications.
A few other interrupts were being fired inside the GSP command
processing instead of on the actual GPU register writes, so they were
moved there, which should cover direct writes tho those registers not
going through the GX command queue.
11 years ago
Subv
728c932dba
APTU: Stubbed NotifyToWait, taken from 3dmoo.
...
Also renamed some handles in the APT:U service to be more descriptive.
Fixed a typo in InquireNotification
11 years ago
Subv
9e2ae289b8
AddrArbiter: Implement arbitration types 3 and 4.
11 years ago
Subv
cf071cd897
Services: Added some missing services.
...
cfg:s, ptm:sysm, apt:s.
apt:s is almost exactly the same as apt:u as per 3dbrew
11 years ago
Lioncash
9288893d29
vfp: Remove dead code
11 years ago
Lioncash
f7770b83d4
dyncom: Fix 32-bit ASR shifts for immediates
11 years ago
Lioncash
e16b35eb53
dyncom: Remove unused flag macros
11 years ago
bunnei
f3a7b66267
Merge pull request #472 from lioncash/overflow
...
dyncom: Fix some more V-flag setting ops. Plus some cleanup.
11 years ago
Lioncash
2843d1b98b
dyncom: Get rid of unnecessary outer-scope variables in InterpreterMainLoop
11 years ago
Lioncash
3ace75a49f
dyncom: Fix overflow flag setting for ADD/RSB/RSC/SUB/SBC
...
Also cleans up CMN, and CMP.
11 years ago
Lioncash
9c2c89b7e1
dyncom: Add a helper function for addition with a carry
11 years ago
darkf
67c644e317
Fix building on MinGW
11 years ago
Lioncash
d2a05bbbc6
dyncom: Fix ADC overflow flag setting
11 years ago
bunnei
b33380ca59
Merge pull request #456 from Subv/waitsync1
...
SVC: Wake up the thread after the delay in WaitSync1
11 years ago
Lioncash
eabfa5cf43
dyncom: Fix conditional execution of MSR
11 years ago
bunnei
542b0b0057
Merge pull request #466 from Subv/wake
...
Thread: Prevent waking a thread multiple times.
11 years ago
Subv
b68d51ed30
Thread: Prevent waking a thread multiple times.
...
If a thread was woken up by something, cancel the wakeup timeout.
11 years ago
Subv
38da198aa1
SVC: Wake up the thread after the delay in WaitSync1
11 years ago
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.
11 years ago
archshift
95be6ad7ae
Added Archive ID to fs:USER debug logs involving opening the archive.
11 years ago
archshift
228843c43e
Logging: Log all called service functions (under trace). Compile out all trace logs under release for performance.
11 years ago
Yuri Kunde Schlesner
8ad41775cc
Kernel: Start using boost::intrusive_ptr for lifetime management
11 years ago
Yuri Kunde Schlesner
d751de7341
Kernel: Don't re-assign object's handle when duplicating one
11 years ago
bunnei
6ae12424df
Merge pull request #444 from yuriks/handle-reform2
...
Kernel Lifetime Reform Pt. 2
11 years ago
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
11 years ago
Yuri Kunde Schlesner
78ea76e12f
Thread: Fix nullptr access in a logging function
11 years ago
Yuri Kunde Schlesner
7f1557fbbd
Thread: Rename thread_queue => thread_list
11 years ago
Yuri Kunde Schlesner
9bf8462b96
Thread: Reduce use of Handles and move some funcs to inside the class.
11 years ago
Yuri Kunde Schlesner
ba72208cd4
Kernel: Move Thread's definition to the header file
11 years ago
Yuri Kunde Schlesner
7b3452c730
Move ThreadContext to core/core.h and deal with the fallout
11 years ago
bunnei
d46f650036
Merge pull request #255 from Subv/cbranch_3
...
Implemented timers
11 years ago
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.
11 years ago
Subv
07044651ef
SVC: Implemented the Timer service calls.
11 years ago
Subv
fc842963c8
DynCom: Add a comment to GetTicks.
11 years ago
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
11 years ago
bunnei
cf1bbe8705
Merge pull request #443 from Subv/sleep_thread
...
SVC: Fixed SleepThread
11 years ago
Subv
dfc440785a
SVC: Fixed SleepThread.
...
It will now properly wait the specified number of nanoseconds and then wake up the thread.
11 years ago
bunnei
2432f317e4
Merge pull request #446 from lioncash/umaal
...
dyncom: Fix UMAAL
11 years ago
Lioncash
1cef6e92d5
dyncom: Fix UMAAL
...
These need to be done as a 64-bit operation.
11 years ago
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.
11 years ago
bunnei
b659cac2dc
Merge pull request #404 from bunnei/more-frame-synch-fixes
...
GPU: Toggle active framebuffer each frame
11 years ago
bunnei
f7a3f45f1e
GSP: Toggle active framebuffer each frame
11 years ago
bunnei
e6864a1f41
Merge pull request #431 from yuriks/thread-queue-cleanup
...
Common: Clean up ThreadQueueList
11 years ago
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.
11 years ago
bunnei
4c583732f2
Merge pull request #442 from lioncash/smul
...
dyncom: Fix SMULWB/SMULWT
11 years ago
Lioncash
df5e0f9f28
dyncom: Fix SMULWB/SMULWT
...
Wasn't doing proper sign-extension
11 years ago
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.
11 years ago
bunnei
3eca33c6a4
Merge pull request #425 from Subv/coretiming
...
Ported the CoreTiming namespace from PPSSPP
11 years ago
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.
11 years ago
Yuri Kunde Schlesner
a6ad68190f
Fix double-free in Service manager during shutdown
...
Fixes #423 .
11 years ago
bunnei
317fe1e528
Merge pull request #438 from lioncash/swp
...
dyncom: Fix SWPB
11 years ago
bunnei
5ae3a9657d
Merge pull request #434 from lioncash/sm
...
dyncom: Move over SMLALXY
11 years ago
Lioncash
75c211c10f
dyncom: Fix SWPB
11 years ago
Lioncash
511e13f3e3
dyncom: Move over SMLALXY
11 years ago
bunnei
088863c921
Merge pull request #376 from Subv/arc_reorder
...
Archives: Change the folder layout of some archives.
11 years ago
Subv
8fbe5d2dca
Archives/Exdata: Don't set concrete_mount_point in the ctor
11 years ago
Subv
32dbb76e00
Archives: Changed the unimplemented archives comment.
...
It now refers to me as the PoC
11 years ago
Subv
5244ac0e9c
Archives: Addressed some comments
11 years ago
bunnei
89bb0ecbd5
Merge pull request #417 from kevinhartman/exclusive-tag-fix
...
Added exclusive reservation granule from ARMv7 spec to dyncom...
11 years ago
bunnei
9eaef4e04a
Merge pull request #413 from purpasmart96/serv_clean
...
Services: Clean up a few things and add a few function names
11 years ago
Kevin Hartman
8132c01830
Added exclusive reservation granule from ARMv7 spec to dyncom to protect LDR/STREX.
11 years ago
bunnei
9b83f0e158
Merge pull request #272 from rohit-n/sign-compare
...
Silence some -Wsign-compare warnings.
11 years ago
purpasmart96
379b39e583
Services: Clean up a few things and add a few function names
11 years ago
Subv
123a76c9c8
SaveDataCheck: Fixed a typo
11 years ago
bunnei
6fad32ea98
Merge pull request #422 from lioncash/bxj
...
dyncom: Partially emulate BXJ
11 years ago
Lioncash
f75def619c
dyncom: Partially emulate BXJ
...
Just in case some game studio let the intern write inline assembly or something.
11 years ago
bunnei
4828d0b7af
Merge pull request #416 from bunnei/fake-dsp-interrupt
...
DSP: Signal (faked) interrupt on every frame.
11 years ago
Lioncash
e08a39a2f4
dyncom: Actually set the Q flag for SMLABB/SMLABT/SMLATB/SMLATT
...
Easy skyeye todo fix.
11 years ago
bunnei
8b1ec1a82a
Merge pull request #418 from lioncash/qd
...
dyncom: Implement QADD/QSUB/QDADD/QDSUB
11 years ago
Lioncash
d00c22c706
dyncom: Implement QADD/QSUB/QDADD/QDSUB
11 years ago
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.
11 years ago
bunnei
cc23269ff4
Merge pull request #407 from Subv/arbiter
...
AddressArbiter: Ported arbitration type 2 from 3dmoo.
11 years ago
bunnei
81e255a411
Merge pull request #415 from Dante38490/master
...
Loader: Add support for loading NCCH ROMs with the .3DS extension
11 years ago
bunnei
96e6b2aa50
Merge pull request #408 from Subv/mutex
...
Mutex: Add the calling thread to the waiting list when needed
11 years ago
Dante38490
e674aa31af
Fix correct espace
11 years ago
Dante38490
35a085d567
Add support load 3DS room
11 years ago
bunnei
26f31a2dfb
Merge pull request #386 from archshift/y2ru
...
Stub the y2r:u service
11 years ago
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.
11 years ago
Lioncash
41e1cb12e5
skyeye: Remove duplicate typedefs
...
citra already has its own typedefs like this.
11 years ago
Subv
90dffe3fc1
Archives: Make SYSTEM_ID and SDCARD_ID strings
11 years ago
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
11 years ago
Subv
cfd7b219f6
SaveDataCheck: Move the files to nand/title
...
under /nand/title/high/low/content/00000000.app.romfs
11 years ago
Yuri Kunde Schlesner
930e13cb2c
FileSys: Fix crash bug in DiskFile exposed by #400
11 years ago
archshift
48130b1eaa
Stub the y2r:u service
11 years ago
Yuri Kunde Schlesner
19b2e739c5
FileSys: Fix a few memory leaks
11 years ago
Subv
0276a75f24
AddressArbiter: Ported arbitration type 2 from 3dmoo.
...
(Thanks 3dmoo!)
11 years ago
bunnei
edbb47d967
Merge pull request #396 from bunnei/default-dyncom
...
Core: Change default CPU to dyncom.
11 years ago
bunnei
caa6d431ee
Merge pull request #398 from lioncash/sm
...
dyncom: Implement SMLAW
11 years ago
Lioncash
6adc0a4622
dyncom: Implement SMLAW
11 years ago
bunnei
b11518c272
VFP: Minor cleanup, functionally the same.
11 years ago
bunnei
dd21f986b8
Merge pull request #395 from lioncash/rev
...
dyncom: Implement REVSH
11 years ago
Lioncash
2f19acf064
dyncom: Implement REVSH
...
Also joins the REV ops into one common place.
11 years ago
bunnei
853b46c681
Core: Change default CPU to dyncom.
11 years ago
Lioncash
e0e54f55d7
dyncom: Implement SMLALD/SMLSLD
11 years ago
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
11 years ago
bunnei
031237e52c
Merge pull request #381 from Subv/savedatacheck
...
Implemented the SaveDataCheck archive
11 years ago
bunnei
3e230d6c9e
Merge pull request #392 from lioncash/sm
...
dyncom: Implement SMMLA/SMMUL/SMMLS
11 years ago
Lioncash
64161bcb41
dyncom: Implement SMMLA/SMMUL/SMMLS
11 years ago
Subv
22cfa55302
IVFCArchive: Use a critical log to notify of invalid operations.
11 years ago
Subv
0d03fdec71
SaveDataCheck: Remove unneeded constructor from a class
11 years ago
Subv
2f9a2d410d
Archives: Added some documentation to IVFCArchive
11 years ago
Subv
aade417b14
Archives: Reduced duplicate code in RomFS and SaveCheck.
...
Fixed a few warnings and cleaned up the code
11 years ago
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)
11 years ago
bunnei
3d9bf13439
Merge pull request #391 from lioncash/pedantic
...
archive/elf: Minor misc changes.
11 years ago
bunnei
dd8a57cb80
dyncom: Implemented LDREXD/STREXD/LDREXH/STREXH
11 years ago
bunnei
3b2da87080
Merge pull request #390 from lioncash/wut
...
dyncom: Remove dead function InterpreterInitInstLength
11 years ago
bunnei
6ae381ac9e
Merge pull request #388 from lioncash/sm
...
dyncom: Implement SMLAD/SMUAD/SMLSD/SMUSD
11 years ago
Lioncash
bf23f94571
elf: Make DidRelocate const
11 years ago
Lioncash
0d81b1e75b
archive: Fix initializer list order
11 years ago
Lioncash
67187c15a0
dyncom: Remove dead function InterpreterInitInstLength
...
Technically eliminates two memory leaks as well.
11 years ago
Lioncash
bdbd111c7e
soc_u: Fix a missing formatting argument
11 years ago
Lioncash
bee4ff8454
armemu: Fix missing Q flag check for SMLSD.
11 years ago
Lioncash
3337b84620
dyncom: Implement SMLAD/SMUAD/SMLSD/SMUSD
11 years ago
Lioncash
48bf0f9996
dyncom: Implement SXTAB16 and SXTB16
11 years ago
bunnei
7c8f6ca051
Merge pull request #358 from neobrain/pica_progress2
...
pica_progress followups
11 years ago
bunnei
fa4cc502e7
Merge pull request #379 from lioncash/sh
...
dyncom: Implement SHADD8/SHADD16/SHSUB8/SHSUB16/SHASX/SHSAX
11 years ago
Rohit Nirmal
c589d82052
Silence some -Wsign-compare warnings.
11 years ago
Lioncash
524da47698
dyncom: Implement SHADD8/SHADD16/SHSUB8/SHSUB16/SHASX/SHSAX
11 years ago
Lioncash
481a6c9652
Fix SADD8/SSUB8 in the armemu
11 years ago
Lioncash
4e2cb06b81
dyncom: Implement SADD8/SSUB8
11 years ago
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
11 years ago
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.
11 years ago
bunnei
59bba04628
Merge pull request #375 from lioncash/uops
...
dyncom: Implement UADD8/UADD16/USUB8/USUB16/UASX/USAX
11 years ago
Lioncash
3cc4af99d1
dyncom: Implement UADD8/UADD16/USUB8/USUB16/UASX/USAX
11 years ago
bunnei
631f13e462
dyncom: Massive refactor
11 years ago
bunnei
29da5da951
Merge pull request #369 from darkf/mingw_
...
Fix MinGW build (2)
11 years ago
Lioncash
5894c407c2
vfp: Get rid of a few warnings
11 years ago
Lioncash
6ce4b7b666
vfp: Implement VMOVBRRSS
11 years ago
Lioncash
cc9f458ad3
dyncom: Implement USAT16/SSAT16
11 years ago
bunnei
b3240f6455
Merge pull request #368 from purpasmart96/dsp_mem
...
MemMap: Add support for DSP Read & Writes in the memory map
11 years ago
Subv
545ded954d
APT:A: Some style changes
11 years ago
darkf
8ba9ac0f74
Fix merge conflicts
11 years ago
purpasmart96
d5049cbba5
MemMap: Add support for DSP Read & Writes in the memory map
11 years ago
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.
11 years ago
bunnei
021fb42075
dyncom: Implement USAT/SSAT
11 years ago