summaryrefslogtreecommitdiffstats
path: root/src/core/hw (unfollow)
Commit message (Collapse)AuthorFilesLines
2015-05-15Memmap: Re-organize memory function in two filesYuri Kunde Schlesner1-1/+1
memory.cpp/h contains definitions related to acessing memory and configuring the address space mem_map.cpp/h contains higher-level definitions related to configuring the address space accoording to the kernel and allocating memory.
2015-05-09Memory: Add GetPhysicalPointer helper functionYuri Kunde Schlesner1-5/+5
2015-05-07Common: Remove common.hYuri Kunde Schlesner4-2/+9
2015-05-02HW: Properly initialize and shutdown all modules.bunnei3-3/+8
2015-04-07gpu: Fix a missing format specifierLioncash1-1/+1
2015-04-03Services: Stubs and minor changespurpasmart961-1/+1
2015-03-16GPU/DisplayTransfer: Made the scaling bits a single 2bit valueSubv2-6/+17
Rephrased some comments.
2015-03-14GPU: Implemented the flip_data (bit 0) bit in display transfers.Subv2-6/+15
2015-03-11HID: Complete refactor of pad/touch input to fix threading issues.bunnei1-0/+4
2015-03-10GPU: Fixed the bit 25 in the display transfer flags.Subv2-5/+5
It is used to downscale the input image horizontally and vertically, previously we were only downscaling it vertically so this caused a hard-to-debug memory corruption problem.
2015-03-10GPU: Added the stencil test structure to the Pica Regs struct.Subv2-5/+5
2015-03-10GPU: Implemented more depth buffer formats.Subv2-5/+5
This fixes the horizontal lines in Picross E, Cubic Ninja, Cave Story 3D and possibly others
2015-03-09Added LCD registers, and implementation for color filling in OGL code.archshift5-9/+167
2015-03-09GPU: Use the correct position for the finished bit in memory fillsSubv1-1/+1
2015-03-09GPU: Corrected the 24 bit memory fills component orderSubv2-5/+5
2015-03-06Implement SetLcdForceBlack, move register enum to hw.harchshift3-31/+30
2015-03-04GPU: Added RGB565/RGB8 framebuffer support and various cleanups.bunnei1-50/+25
- Centralizes color format encode/decode functions. - Fixes endianness issues. - Implements remaining framebuffer formats in the debugger.
2015-02-28Added RGBA5551 compatibility in the rasterizerarchshift1-1/+1
This allows Virtual Console games to display properly.
2015-02-27GPU: Implemented bits 3 and 1 from the display transfer flags.Subv2-23/+64
Bit 3 is used to specify a raw copy, where no processing is done to the data, seems to behave exactly as a DMA. Bit 1 is used to specify whether to convert from a tiled format to a linear format or viceversa.
2015-02-22GPU: Fixed RGBA8 as output format in a display transfer.Subv1-8/+7
Verified with hwtests
2015-02-22GPU: Add support for more framebuffer formats in display transfers.Tony Wasserka1-0/+37
2015-02-22GPU: Fixed the RGBA8 input format and RGB8 output formatSubv1-8/+6
in Display Transfers, tested with hwtests.
2015-02-20Remove duplication of INSERT_PADDING_WORDS between pica.h and gpu.harchshift1-11/+0
2015-02-18GPU: Properly implement memory fills.Tony Wasserka2-16/+57
2015-02-15video_core: Implement the remaining framebuffer formats in the OpenGL renderer.Emmanuel Gil Peyrot1-0/+19
2015-02-11Asserts: break/crash program, fit to style guide; log.h->assert.harchshift1-1/+1
Involves making asserts use printf instead of the log functions (log functions are asynchronous and, as such, the log won't be printed in time) As such, the log type argument was removed (printf obviously can't use it, and it's made obsolete by the file and line printing) Also removed some GEKKO cruft.
2015-02-03core: Fix some warnings on OSXLioncash1-2/+0
2015-01-14GPU: Fix buffer overrun in Display TransfersYuri Kunde Schlesner1-9/+12
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.
2015-01-14GPU: Do periodic VBlank updates using CoreTimingYuri Kunde Schlesner3-51/+44
2015-01-14GPU: Correct wrong default framebuffer address for sub-screen.Yuri Kunde Schlesner1-2/+2
It appears this is a mistake, since the sub-screen has no right framebuffer.
2015-01-14GPU: Fire GPU interrupts at the correct places.Yuri Kunde Schlesner1-15/+18
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-09Move ThreadContext to core/core.h and deal with the falloutYuri Kunde Schlesner1-0/+2
2015-01-05DSP: Signal (faked) interrupt on every frame.bunnei1-1/+7
- Hack to work around games checking that the DSP event has been signaled by a real DSP interrupt.
2014-12-31GPU: Pseudo-implement horizontal scaling.Tony Wasserka2-1/+8
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-29GPU: Implement frameskip and remove forced framebuffer swap hack.bunnei2-27/+37
2014-12-26GPU: Further improve synchronization.bunnei1-22/+20
2014-12-21License changepurpasmart964-4/+4
2014-12-13Convert old logging calls to new logging macrosYuri Kunde Schlesner2-12/+12
2014-12-10GPU: Fixed bug in command list size decoding.bunnei2-3/+2
2014-12-09Remove unused NDMA moduleYuri Kunde Schlesner3-86/+0
2014-11-27Fixed formatting and switch statement warningsvaguilar3-5/+5
2014-11-19Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generatedEmmanuel Gil Peyrot1-3/+3
2014-10-30Fix some warningsSean3-6/+6
2014-10-29Renamed souce files of services to match port namesGareth Poole1-1/+1
2014-10-28Added `gpu_refresh_rate` config setting for the new interpreter speed hack.archshift1-10/+1
2014-10-28Use configuration files to enable or disable the new dyncom interpreter.archshift2-3/+16
2014-10-12Rename GPU::Regs::FramebufferFormat to PixelFormatYuri Kunde Schlesner2-14/+10
This name better represents what the enum does, and is less overloaded in the context. (The whole register the enum is part of is also called 'format'.)
2014-10-08Fix warnings in video_coreLioncash2-3/+3
2014-09-14Core: Fix warnings in gpu.cppLioncash1-6/+6
2014-09-09core: Prune redundant includesarchshift3-4/+0
2014-08-31GPU: Improve frame synchronization, increases compatibility with both homebrew and retail applications.bunnei1-13/+31
2014-08-26VideoCore: Fixes rendering issues on Qt and corrects framebuffer output size.bunnei1-9/+8
2014-08-25GPU: Fix a compiler warning about redundant semicolons.Tony Wasserka1-2/+2
2014-08-12Pica: Add command processor.Tony Wasserka1-3/+5
2014-08-12Pica/GPU: Change hardware registers to use physical addresses rather than virtual ones.Tony Wasserka2-150/+18
This cleans up the mess that address reading/writing had become and makes the code a *lot* more sensible. This adds a physical<->virtual address converter to mem_map.h. For further accuracy, we will want to properly extend this to support a wider range of address regions. For now, this makes simply homebrew applications work in a good manner though.
2014-08-12Remove the fancy RegisterSet class introduced in 4c2bff61e.Tony Wasserka2-132/+212
While it was some nice and fancy template usage, it ultimately had many practical issues regarding length of involved expressions under regular usage as well as common code completion tools not being able to handle the structures. Instead, we now use a more conventional approach which is a lot more clean to use.
2014-08-07GPU: Updated g_last_ticks variable to be more descriptive (represents CPU tick count of last vertical line).bunnei1-5/+5
2014-08-07GPU: Updated horizontal sync line counter to use framebuffer height.bunnei1-2/+3
2014-08-06GSP: Removed dumb GX prefixes to functions/structs in GSP namespace.bunnei1-2/+2
- Various other cleanups.
2014-08-06GSP: Implements preliminary command synchronization via GPU interrupts.bunnei1-3/+19
Core: Added a comment to explain the logic for the RunLoop iterations.
2014-07-23Use uniform formatting when printing hexadecimal numbers.Tony Wasserka1-3/+3
2014-07-23Fix a few warnings.Tony Wasserka2-4/+4
Templates shouldn't be marked as inline if they aren't defined in the header.
2014-07-23GPU: Clarify display transfer code.Tony Wasserka1-12/+15
Also makes the illogical component order more obvious.
2014-07-23GPU: Add documentation.Tony Wasserka1-2/+14
2014-07-23RegisterSet: Simplify code by using structs for register definition instead of unions.Tony Wasserka2-133/+123
2014-07-23GPU: Make use of RegisterSet.Tony Wasserka2-306/+172
2014-07-23GPU: Make framebuffer code format-aware.Tony Wasserka1-6/+47
2014-07-23GPU: Interface cleanup.Tony Wasserka2-13/+20
2014-07-23GPU: Initialize GPU registers to some sensible default state.Tony Wasserka1-1/+16
2014-07-23GPU: Emulate memory fills.Tony Wasserka2-2/+80
2014-07-23GPU: Add proper framebuffer register handling.Tony Wasserka2-11/+105
2014-07-23GPU: Properly implement display transfers.Tony Wasserka1-1/+19
2014-07-23GPU: Add display transfer configuration.Tony Wasserka2-0/+92
2014-07-23GSP: HLE GXCommandId::SET_DISPLAY_TRANSFER and GXCommandId::SET_TEXTURE_COPY.Tony Wasserka1-0/+8
2014-07-22Use a more compatible choice of initial framebuffer addresses.Tony Wasserka1-10/+22
2014-06-13Core: Cleaned up SingleStep(), updated default LCD refresh to assume each instruction is ~3 cyclesbunnei1-1/+2
2014-06-12GPU: Cleanup register definitions.Tony Wasserka2-28/+28
2014-06-12Rename LCD to GPU.Tony Wasserka4-20/+20
2014-06-12Pica: Add command list registers.Tony Wasserka2-5/+52
2014-05-29lcd: moved kFrameTicks to lcd.h for use in other modulesbunnei2-2/+2
2014-05-23lcd: added thread wait after (faked) vblank interrupt (would have) occurredbunnei1-0/+4
2014-04-27added code to LCD modules keep track of framebuffer location in FCRAM or VRAMbunnei2-15/+153
2014-04-26- changed HW IO map to use virtual addressesbunnei2-39/+51
- added hooks to catch LCD IO read/writes
2014-04-26added (fake) physical addresses for where to put framebuffer in VRAMbunnei1-0/+10
2014-04-18renamed hw_lcd module to just lcdbunnei3-2/+2
2014-04-18added NDMA hardware interfacebunnei3-2/+133
2014-04-13fixed hw write declarations to not be constbunnei1-4/+4
2014-04-11updated logging messagebunnei1-2/+2
2014-04-11cleaned up some logging messagesbunnei1-4/+4
2014-04-09fixed project includes to use new directory structurebunnei4-9/+14
2014-04-09got rid of 'src' folders in each sub-projectbunnei4-0/+164