aboutsummaryrefslogtreecommitdiff
path: root/src/core
AgeCommit message (Collapse)Author
2015-01-14GSP: Fix appending of interrupts to the shared memory bufferYuri Kunde Schlesner
The code was previously appending the interrupt to after the end of the buffer, instead of at the end.
2015-01-14GPU: Do periodic VBlank updates using CoreTimingYuri Kunde Schlesner
2015-01-14GPU: Correct wrong default framebuffer address for sub-screen.Yuri Kunde Schlesner
It appears this is a mistake, since the sub-screen has no right framebuffer.
2015-01-14GSP: Update framebuffer info on all interruptsYuri Kunde Schlesner
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.
2015-01-14GPU: Fire GPU interrupts at the correct places.Yuri Kunde Schlesner
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.
2015-01-13APTU: Stubbed NotifyToWait, taken from 3dmoo.Subv
Also renamed some handles in the APT:U service to be more descriptive. Fixed a typo in InquireNotification
2015-01-13AddrArbiter: Implement arbitration types 3 and 4.Subv
2015-01-13Services: Added some missing services.Subv
cfg:s, ptm:sysm, apt:s. apt:s is almost exactly the same as apt:u as per 3dbrew
2015-01-12vfp: Remove dead codeLioncash
2015-01-12dyncom: Fix 32-bit ASR shifts for immediatesLioncash
2015-01-12dyncom: Remove unused flag macrosLioncash
2015-01-12Merge pull request #472 from lioncash/overflowbunnei
dyncom: Fix some more V-flag setting ops. Plus some cleanup.
2015-01-12dyncom: Get rid of unnecessary outer-scope variables in InterpreterMainLoopLioncash
2015-01-12dyncom: Fix overflow flag setting for ADD/RSB/RSC/SUB/SBCLioncash
Also cleans up CMN, and CMP.
2015-01-12dyncom: Add a helper function for addition with a carryLioncash
2015-01-11Fix building on MinGWdarkf
2015-01-11dyncom: Fix ADC overflow flag settingLioncash
2015-01-11Merge pull request #456 from Subv/waitsync1bunnei
SVC: Wake up the thread after the delay in WaitSync1
2015-01-11dyncom: Fix conditional execution of MSRLioncash
2015-01-11Merge pull request #466 from Subv/wakebunnei
Thread: Prevent waking a thread multiple times.
2015-01-11Thread: Prevent waking a thread multiple times.Subv
If a thread was woken up by something, cancel the wakeup timeout.
2015-01-11SVC: Wake up the thread after the delay in WaitSync1Subv
2015-01-10Stubbed y2r:u IsBusyConversionarchshift
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-10Added Archive ID to fs:USER debug logs involving opening the archive.archshift
2015-01-10Logging: Log all called service functions (under trace). Compile out all ↵archshift
trace logs under release for performance.
2015-01-09Kernel: Start using boost::intrusive_ptr for lifetime managementYuri Kunde Schlesner
2015-01-09Kernel: Don't re-assign object's handle when duplicating oneYuri Kunde Schlesner
2015-01-09Merge pull request #444 from yuriks/handle-reform2bunnei
Kernel Lifetime Reform Pt. 2
2015-01-09Merge pull request #436 from kevinhartman/system-corebunnei
Warn if a new thread is intended to be run on the system CPU core
2015-01-09Thread: Fix nullptr access in a logging functionYuri Kunde Schlesner
2015-01-09Thread: Rename thread_queue => thread_listYuri Kunde Schlesner
2015-01-09Thread: Reduce use of Handles and move some funcs to inside the class.Yuri Kunde Schlesner
2015-01-09Kernel: Move Thread's definition to the header fileYuri Kunde Schlesner
2015-01-09Move ThreadContext to core/core.h and deal with the falloutYuri Kunde Schlesner
2015-01-08Merge pull request #255 from Subv/cbranch_3bunnei
Implemented timers
2015-01-08Core: Fixed a crash and removed some unused variables.Subv
ARM_Disasm only has static methods, so there's no need to have an instance of it.
2015-01-08SVC: Implemented the Timer service calls.Subv
2015-01-08DynCom: Add a comment to GetTicks.Subv
2015-01-08Timing: Use CoreTiming::GetTicks to keep track of ticks.Subv
This will keep track of idle ticks for us, and fixes some tickcount-related issues
2015-01-08Merge pull request #443 from Subv/sleep_threadbunnei
SVC: Fixed SleepThread
2015-01-08SVC: Fixed SleepThread.Subv
It will now properly wait the specified number of nanoseconds and then wake up the thread.
2015-01-08Merge pull request #446 from lioncash/umaalbunnei
dyncom: Fix UMAAL
2015-01-08dyncom: Fix UMAALLioncash
These need to be done as a 64-bit operation.
2015-01-07Threads: Use a dummy idle thread when no other are ready.Subv
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-07Merge pull request #404 from bunnei/more-frame-synch-fixesbunnei
GPU: Toggle active framebuffer each frame
2015-01-07GSP: Toggle active framebuffer each framebunnei
2015-01-07Merge pull request #431 from yuriks/thread-queue-cleanupbunnei
Common: Clean up ThreadQueueList
2015-01-07Warn if a new thread is intended to be run on the system CPU core until we ↵Kevin Hartman
implement correct scheduling for such a thread.
2015-01-07Merge pull request #442 from lioncash/smulbunnei
dyncom: Fix SMULWB/SMULWT
2015-01-07dyncom: Fix SMULWB/SMULWTLioncash
Wasn't doing proper sign-extension