aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
Commit message (Collapse)AuthorAge
...
| | | * Loader: Don’t duplicate the docstring into the cpp file.Gravatar Emmanuel Gil Peyrot2015-01-15
| | | |
| | | * Loader: Fix indentation, whitespace, and a few other such cosmetic stuff.Gravatar Emmanuel Gil Peyrot2015-01-15
| |_|/ |/| |
* | | Merge pull request #481 from Subv/hm_bGravatar bunnei2015-01-14
|\ \ \ | | | | | | | | APTU: Stubbed NotifyToWait, taken from 3dmoo.
| * | | APT: Fixed the comment style in some variablesGravatar Sebastian Valle2015-01-14
| | | |
* | | | Merge pull request #480 from Subv/arb_2Gravatar bunnei2015-01-14
|\ \ \ \ | | | | | | | | | | AddrArbiter: Implement arbitration types 3 and 4.
| | | * | GPU: Fix buffer overrun in Display TransfersGravatar Yuri Kunde Schlesner2015-01-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | | * | GSP: Fix appending of interrupts to the shared memory bufferGravatar Yuri Kunde Schlesner2015-01-14
| | | | | | | | | | | | | | | | | | | | | | | | | The code was previously appending the interrupt to after the end of the buffer, instead of at the end.
| | | * | GPU: Do periodic VBlank updates using CoreTimingGravatar Yuri Kunde Schlesner2015-01-14
| | | | |
| | | * | GPU: Correct wrong default framebuffer address for sub-screen.Gravatar Yuri Kunde Schlesner2015-01-14
| | | | | | | | | | | | | | | | | | | | | | | | | It appears this is a mistake, since the sub-screen has no right framebuffer.
| | | * | GSP: Update framebuffer info on all interruptsGravatar Yuri Kunde Schlesner2015-01-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | | * | GPU: Fire GPU interrupts at the correct places.Gravatar Yuri Kunde Schlesner2015-01-14
| |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | APTU: Stubbed NotifyToWait, taken from 3dmoo.Gravatar Subv2015-01-13
| |/ / |/| | | | | | | | | | | Also renamed some handles in the APT:U service to be more descriptive. Fixed a typo in InquireNotification
| * | AddrArbiter: Implement arbitration types 3 and 4.Gravatar Subv2015-01-13
| | |
* | | Services: Added some missing services.Gravatar Subv2015-01-13
|/ / | | | | | | | | cfg:s, ptm:sysm, apt:s. apt:s is almost exactly the same as apt:u as per 3dbrew
* | vfp: Remove dead codeGravatar Lioncash2015-01-12
| |
* | dyncom: Fix 32-bit ASR shifts for immediatesGravatar Lioncash2015-01-12
| |
* | dyncom: Remove unused flag macrosGravatar Lioncash2015-01-12
| |
* | Merge pull request #472 from lioncash/overflowGravatar bunnei2015-01-12
|\ \ | | | | | | dyncom: Fix some more V-flag setting ops. Plus some cleanup.
| * | dyncom: Get rid of unnecessary outer-scope variables in InterpreterMainLoopGravatar Lioncash2015-01-12
| | |
| * | dyncom: Fix overflow flag setting for ADD/RSB/RSC/SUB/SBCGravatar Lioncash2015-01-12
| | | | | | | | | | | | Also cleans up CMN, and CMP.
| * | dyncom: Add a helper function for addition with a carryGravatar Lioncash2015-01-12
| | |
* | | Fix building on MinGWGravatar darkf2015-01-11
|/ /
* | dyncom: Fix ADC overflow flag settingGravatar Lioncash2015-01-11
| |
* | Merge pull request #456 from Subv/waitsync1Gravatar bunnei2015-01-11
|\ \ | | | | | | SVC: Wake up the thread after the delay in WaitSync1
* | | dyncom: Fix conditional execution of MSRGravatar Lioncash2015-01-11
| | |
* | | Merge pull request #466 from Subv/wakeGravatar bunnei2015-01-11
|\ \ \ | | | | | | | | Thread: Prevent waking a thread multiple times.
| * | | Thread: Prevent waking a thread multiple times.Gravatar Subv2015-01-11
| | | | | | | | | | | | | | | | If a thread was woken up by something, cancel the wakeup timeout.
| | * | SVC: Wake up the thread after the delay in WaitSync1Gravatar Subv2015-01-11
| |/ / |/| |
* | | Stubbed y2r:u IsBusyConversionGravatar archshift2015-01-10
| | | | | | | | | | | | | | | 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.
* | | Added Archive ID to fs:USER debug logs involving opening the archive.Gravatar archshift2015-01-10
| | |
* | | Logging: Log all called service functions (under trace). Compile out all ↵Gravatar archshift2015-01-10
| | | | | | | | | | | | trace logs under release for performance.
* | | Kernel: Start using boost::intrusive_ptr for lifetime managementGravatar Yuri Kunde Schlesner2015-01-09
| | |
* | | Kernel: Don't re-assign object's handle when duplicating oneGravatar Yuri Kunde Schlesner2015-01-09
|/ /
* | Merge pull request #444 from yuriks/handle-reform2Gravatar bunnei2015-01-09
|\ \ | | | | | | Kernel Lifetime Reform Pt. 2
* \ \ Merge pull request #436 from kevinhartman/system-coreGravatar bunnei2015-01-09
|\ \ \ | | | | | | | | Warn if a new thread is intended to be run on the system CPU core
| | * | Thread: Fix nullptr access in a logging functionGravatar Yuri Kunde Schlesner2015-01-09
| | | |
| | * | Thread: Rename thread_queue => thread_listGravatar Yuri Kunde Schlesner2015-01-09
| | | |
| | * | Thread: Reduce use of Handles and move some funcs to inside the class.Gravatar Yuri Kunde Schlesner2015-01-09
| | | |
| | * | Kernel: Move Thread's definition to the header fileGravatar Yuri Kunde Schlesner2015-01-09
| | | |
| | * | Move ThreadContext to core/core.h and deal with the falloutGravatar Yuri Kunde Schlesner2015-01-09
| |/ / |/| |
* | | Merge pull request #255 from Subv/cbranch_3Gravatar bunnei2015-01-08
|\ \ \ | | | | | | | | Implemented timers
* | | | Core: Fixed a crash and removed some unused variables.Gravatar Subv2015-01-08
| | | | | | | | | | | | | | | | ARM_Disasm only has static methods, so there's no need to have an instance of it.
| * | | SVC: Implemented the Timer service calls.Gravatar Subv2015-01-08
| | | |
* | | | DynCom: Add a comment to GetTicks.Gravatar Subv2015-01-08
| | | |
* | | | Timing: Use CoreTiming::GetTicks to keep track of ticks.Gravatar Subv2015-01-08
| | | | | | | | | | | | | | | | This will keep track of idle ticks for us, and fixes some tickcount-related issues
* | | | Merge pull request #443 from Subv/sleep_threadGravatar bunnei2015-01-08
|\ \ \ \ | | | | | | | | | | SVC: Fixed SleepThread
| * | | | SVC: Fixed SleepThread.Gravatar Subv2015-01-08
| | |_|/ | |/| | | | | | | | | | It will now properly wait the specified number of nanoseconds and then wake up the thread.
* | | | Merge pull request #446 from lioncash/umaalGravatar bunnei2015-01-08
|\ \ \ \ | |/ / / |/| | | dyncom: Fix UMAAL
| * | | dyncom: Fix UMAALGravatar Lioncash2015-01-08
| | | | | | | | | | | | | | | | These need to be done as a 64-bit operation.
* | | | Threads: Use a dummy idle thread when no other are ready.Gravatar Subv2015-01-07
| | | | | | | | | | | | | | | | 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.