Subv
64da2bf0cd
Memory: Fixed a regression caused by #1695 and #1689 .
...
Reserve enough space in the vector that holds the linear heap memory to prevent relocations of the backing memory when growing too much.
Closes #1790
2016-05-14 11:24:19 -05:00
Subv
ac2de12ed8
HLE/Applets: Give each applet its own block of heap memory, and use that when creating the framebuffer shared memory block.
2016-05-12 20:01:59 -05:00
Subv
d261984f54
Kernel: Account for automatically-allocated shared memories in the amount of used linear heap memory.
2016-05-12 20:01:59 -05:00
Subv
abf8dcd700
APT: Move the shared font loading and relocation functions to their own subdirectory services/apt/bcfnt.
2016-05-12 20:01:54 -05:00
Subv
5679d066b5
Kernel/SharedMemory: Log an error when Map fails.
2016-05-12 20:01:27 -05:00
Subv
0fb6d2a247
Kernel: Implemented shared memory permissions.
2016-05-12 20:01:26 -05:00
Subv
9005cda664
APT: Implement relocating the shared font to its true address.
2016-05-12 20:01:20 -05:00
Subv
f72bd57212
Kernel/Memory: Remove the Shared Memory region from the legacy memory map.
2016-05-12 20:00:33 -05:00
Subv
1bd0cf542f
Kernel/SharedMemory: Properly implemented shared memory support.
...
Applications can request the kernel to allocate a piece of the linear heap for them when creating a shared memory object.
Shared memory areas are now properly mapped into the target processes when calling svcMapMemoryBlock.
Removed the APT Shared Font hack as it is no longer needed.
2016-05-12 20:00:32 -05:00
Subv
42a50da76b
Kernel/SVC: Fixed the register order for svcCreateMemoryBlock.
...
R0 is used as the last parameter instead of R4.
2016-05-12 20:00:29 -05:00
Subv
5b7f86708c
Kernel/Threading: Warn when a thread can be scheduled in the Syscore (Core 1).
...
We do not currently implement any cores other than the AppCore (Core 0).
2016-05-07 10:23:03 -05:00
Subv
d192fb066d
Kernel/Threads: Dynamically allocate the TLS region for threads in the BASE region of the linear heap.
...
Each thread gets a 0x200-byte area from the 0x1000-sized page, when all 8 thread slots in a single page are used up, the kernel allocates a new page to hold another 8 entries.
This is consistent with what the real kernel does.
2016-05-07 10:18:47 -05:00
Subv
6970b7d3d5
HLE/Applets: Use the correct size for the framebuffer SharedMemory in the swkbd and MiiSelector applets.
2016-05-07 10:01:40 -05:00
Sebastian Valle
24d064e830
Merge pull request #1706 from mailwl/mii-selector
...
Layout Mii parameters input/output, and return success as result of applet work
2016-05-05 12:56:36 -07:00
Subv
f707026ac5
HLE/FS: Change the error code returned when an ExtSaveData archive is not found.
...
This allows Fire Emblem to boot again.
2016-03-20 14:52:50 -05:00
Subv
3aa42627a3
HLE/FS: Corrected some style concerns.
2016-03-20 14:52:26 -05:00
Subv
95380d8950
HLE/FS: Fixed creating the config savefile when it doesn't exist.
...
This fixes a regression.
2016-03-20 14:30:03 -05:00
Subv
d26c6b3212
HLE/FS: Implemented GetFormatInfo
...
Format information is currently only implemented for the ExtSaveData, SharedExtSaveData and SaveData archives, the information is stored in a file alongside the root folder of the archive.
2016-03-20 14:30:01 -05:00
Subv
9b2d643451
HLE/FS: Don't return an error when deleting the ExtSaveData if it does not exist.
2016-03-20 14:28:24 -05:00
Subv
95b34f8081
HLE/FS: Return the proper error codes when opening files.
2016-03-20 14:28:22 -05:00
Subv
802ef6d099
HLE/FS: Fixed the OpenDirectory error code
2016-03-20 14:28:19 -05:00
Subv
96f0e32f83
HLE/FS: Return the proper error codes on file Read/Write operations.
...
These operations are limited by the open flags specified while opening the file.
2016-03-20 14:28:17 -05:00
Subv
09b0564c75
HLE/FS: Corrected the error codes for DeleteFile
2016-03-20 14:28:14 -05:00
Subv
b350f192bb
HLE/FS: Corrected the error codes for CreateFile
2016-03-20 14:28:10 -05:00
Subv
381a5c053f
HLE/FS: FS::CreateFile takes an u64 for the file size.
2016-03-20 14:28:08 -05:00
Subv
0f8be2d2cc
HLE/Applets: Implemented a dummy Mii Selector applet.
...
This prevents some games (like Super Mario 3D Land) from freezing when trying to launch it, however, it's not complete and won't let you go past Mii selection as the parameter structure hasn't been reverse engineered yet.
2016-03-12 10:59:37 -05:00
Subv
922b31ebbd
DiskDirectory: Initialize the directory member with valid info.
2016-01-16 09:30:29 -05:00
Subv
d90d5a0ee6
HLE/SVC: Implement UnmapMemoryBlock.
...
This implementation will need to be (almost completely) changed when we implement multiprocess support.
2016-01-14 11:29:19 -05:00
Subv
6cccc36505
HLE/Timers: Reset OneShot timers when they are acquired instead of when they're triggered.
...
Closes #1139
2015-12-29 20:35:25 -05:00
Subv
29032ce9b6
SVC: Fixed ArbitrateAddress to behave as it does on hardware.
...
This was verified with hwtests that i plan to upload later on.
2015-12-27 18:44:42 -05:00
Subv
282f2c8042
HLE/Sockets: Fixed the buffer offset in recvfrom.
...
Closes #1277
2015-12-24 09:19:27 -05:00
Subv
7b33e163b9
GPU/PrimitiveAssembler: Fixed drawing triangle fans.
...
It was skipping the second vertex assignment and using uninitialized garbage when assembling the corresponding triangle.
2015-12-06 10:48:05 -05:00
Subv
1d02eb0587
Core/ARM11: Correct the size of the VFP register array in the ThreadContext structure.
...
The VFP registers are 64 bits each, and there are 32 of them.
2015-11-29 13:06:45 -05:00
Subv
434ae89a6a
Services/Cam: Added new log type and camera enums from 3dbrew.
...
Followup to #1102
Original author @mailwl
2015-11-23 17:17:28 -05:00
Subv
823ce62f2f
FragShader: Use an UBO instead of several individual uniforms
2015-11-18 21:03:56 -05:00
Subv
7a37dba75b
GPU/Loaders: Log an error when a loader tries to load from a component beyond the available ones (12).
...
Related to #1170
2015-11-09 21:16:11 -05:00
Subv and bunnei
e3f4233cef
Initial implementation of fragment shader generation with caching.
2015-10-21 21:51:23 -04:00
Subv
58a04c0776
Pica: Added the primitive_restart register (0x25f) to the registers map.
2015-08-31 09:14:18 -05:00
Subv
149ea561a6
Pica: Add the vertex_offset register to the Pica registers map.
2015-08-31 07:02:30 -05:00
Subv
12a11472f1
GPU: Implemented register 0x22A.
...
This is the equivalent of the "first" parameter in glDrawArrays, it tells the GPU the vertex index at which to start rendering.
Register 0x22A doesn't affect indexed rendering.
2015-08-30 15:46:22 -05:00
Subv
ce6a65cec9
Services/FS: Correctly tell the guest app whether a file was correctly opened or not.
...
Closes #1067
2015-08-28 22:01:03 -05:00
Subv
583d777b1a
HWRenderer: Added a workaround for the Intel Windows driver bug that causes glTexSubImage2D to not change the stencil buffer.
...
Reported here https://communities.intel.com/message/324464
2015-08-24 11:28:28 -05:00
Subv
d1b9383d86
HWRenderer: Only reload the framebuffer from gpu memory if the hw renderer is in use during a breakpoint.
2015-08-23 15:26:17 -05:00
Subv
0c7da9b815
HWRasterizer: Implemented stencil ops 6 and 7.
2015-08-21 11:05:56 -05:00
Subv
7c1f84a92b
SWRasterizer: Implemented stencil ops 6 and 7.
...
IncrementWrap and DecrementWrap, verified with hwtests.
2015-08-21 11:01:42 -05:00
Subv
e43eb130d4
HWRasterizer: Implemented stencil op 1 (GL_ZERO)
2015-08-21 10:59:49 -05:00
Subv
fef1462371
SWRasterizer: Implemented stencil action 1 (GL_ZERO).
...
Verified with hwtests.
2015-08-21 10:35:25 -05:00
Subv
b3e530d005
SWRasterizer: Removed a todo. Verified with hwtests.
2015-08-21 10:09:15 -05:00
Subv
8e6336d96b
SWRenderer: The stencil depth_pass action is executed even if depth testing is disabled.
...
The HW renderer already did this.
2015-08-21 09:48:43 -05:00
Subv
e74825e3d0
Rasterizer: Abstract duplicated stencil code into a lambda.
2015-08-21 09:45:36 -05:00
Subv
46f660a789
GLRasterizer: Implemented stencil testing in the hw renderer.
2015-08-20 10:11:09 -05:00
Subv
186873420f
GPU/Rasterizer: Corrected the stencil implementation.
...
Verified the behavior with hardware tests.
2015-08-20 10:10:35 -05:00
Subv
599744921d
Service/APT: Fixed a regression, PreloadLibraryApplet should also start an applet when called.
2015-07-23 21:32:30 -05:00
Subv
ce31184557
Service/APT: Return proper parameters in GetLockHandle.
...
Documented some APT functions
This allows applets to boot.
2015-07-23 20:46:11 -05:00
Subv
23fd13dd64
Qt/GPU Breakpoints: Changed the widget so that we don't have to select and click the Enable button when enabling/disabling a breakpoint, now it is done via a checkbox next to the breakpoint's name.
2015-07-23 19:37:52 -05:00
Subv
6c0ea5f5e8
Qt/GPU Breakpoints: Added three more breakpoint types:
...
* IncomingDisplayTransfer: Triggered just before a display transfer is performed.
* GSPCommandProcessed: Triggered right after a GSP command is processed.
* BufferSwapped: Triggered when the frames flip
2015-07-23 11:47:34 -05:00
Subv
7b4961e968
Rasterizer/GL: Set the border color when binding a texture.
2015-07-22 18:41:37 -05:00
Subv
009e34f08a
GPU: Added registers for min and mag texture filters and implemented them in the hw renderer.
2015-07-21 16:26:09 -05:00
Subv
f5bff67b0b
Services/Logging: Log more useful information when some operations fail.
...
Namely OpenFileDirectly, OpenDirectory and OpenArchive
2015-07-21 13:49:08 -05:00
Sebastian Valle
baba0efcd1
Merge pull request #959 from Subv/home
...
Services/CFG: Added some missing functions to cfg:s
2015-07-21 01:28:02 -05:00
Subv
13f93a0188
Services/AM: Stubbed am:app::GetNumContentInfos to return 0 results.
...
Named the service functions in am:app as per 3dbrew.
This fixes an illegal read loop in Steel Diver
2015-07-21 00:12:13 -05:00
Subv
38a7f1b727
Services/CFG: Added some missing functions to cfg:s
2015-07-20 19:52:07 -05:00
Subv
275aaeef9c
Kernel/Scheduling: Clean up a thread's wait_objects when its scheduled.
...
They'll be reset if needed during the next svcWaitSynchronization call (if there's any pending)
2015-07-20 17:15:54 -05:00
Subv
63dbff9b1f
GPU/DisplayTransfer: Implemented bit 5 in the transfer flags.
...
It tells the GPU to not swizzle/de-swizzle the input during the transfer.
2015-07-19 21:30:42 -05:00
Subv
a694caeee0
GLRasterizer: Don't try to get a pointer to the depth buffer if it doesn't exist.
2015-07-19 14:09:23 -05:00
Subv
3600c32483
Rasterizer/Textures: Fixed a bug where the I4 format would get twice the real stride.
...
Also added its name to the texture viewer widget
2015-07-19 13:15:23 -05:00
Subv
83fa3f977d
Kernel/SVC: Implemented svcQueryProcessMemory
2015-07-17 14:55:35 -05:00
Subv
9e2962081a
Kernel/SVC: Implemented svcQueryMemory.
2015-07-17 11:03:56 -05:00
Subv
725d5eea78
Applets: Reworked how the Applet update event is handled.
...
Applets are now cleaned up in AppletUpdateEvent after calling their respective Update method.
2015-07-11 22:32:12 -05:00
Subv
621ee10eae
Applets: Add infrastructure to allow custom drawing and input handling in Applets.
2015-07-11 21:47:23 -05:00
Subv
2a6ebadf66
HLE/APT: Initial HLE support for applets.
...
Currently only the SWKBD is emulated, and there's currently no way to ask the user for input, so it always returns "Subv" as the text.
2015-07-11 21:47:22 -05:00
Subv
bd336cfdce
Services/SOC: Added command headers to some of the soc commands.
2015-06-25 12:55:27 -05:00
Subv
66c1db7288
ExtSavedata: Save the icon passed to CreateExtSaveData to the correct folder.
...
Organize the ExtSaveData folders as they are stored in the console.
2015-06-01 21:48:19 -05:00
Subv
fa397494b0
Service/GSP: Implemented ImportDisplayCaptureInfo.
2015-05-25 23:35:14 -05:00
Subv
732839b1f4
Core/SVC: Map the shared memory created in CreateMemoryBlock to the specified address.
...
This SharedMemory can be passed to service functions (Which should map the memory into their own address space).
2015-05-25 16:17:26 -05:00
Subv
24d9416930
GPU/DefaultAttributes: Clear up a comment in command_processor
2015-05-17 14:13:11 -05:00
Subv
658c44af5c
GPU/DefaultAttributes: Let the attribute data from the loaders overwrite the default attributes, if set.
...
closes #735
2015-05-17 11:52:17 -05:00
Subv
d3634d4bf4
Core/ResourceLimits: Implemented the basic structure of ResourceLimits.
...
Implemented svcs GetResourceLimit, GetResourceLimitCurrentValues and GetResourceLimitLimitValues.
Note that the resource limits do not currently keep track of used objects, since we have no way to distinguish between an object created by the application, and an object created by some HLE module once we're inside Kernel::T::Create.
2015-05-14 22:50:13 -05:00
Subv
dda94e56dd
Core/Memory: Add TLS support for creating up to 300 threads
2015-05-11 20:09:23 -05:00
Subv
dbc1320923
Core/Scheduling: Prepare the new priority in the thread queue when svcSetPriority is called
2015-05-11 19:38:10 -05:00
Subv
25c010dc7d
fixup!
2015-05-11 18:23:45 -05:00
Subv
41f74a16fd
Core/HLE: Implemented the SVCs GetProcessId and GetProcessIdOfThread
2015-05-11 09:15:10 -05:00
Subv
115ad8e16a
fixup! Set the TLS address in the scheduler
2015-05-10 18:43:59 -05:00
Subv
000876858d
Core/Memory: Give every emulated thread it's own TLS area.
...
The TLS area for thread T with id Ti is located at TLS_AREA_VADDR + (Ti - 1) * 0x200.
This allows some games like Mario Kart 7 to continue further.
2015-05-10 18:35:37 -05:00
Subv
0e5ca080a8
GPU: Implemented default vertex shader attributes.
...
Fixes some games crashing.
2015-05-06 18:11:46 -05:00
Subv
b9612fe919
Service/FS: Document and log some unknown values.
...
In CreateExtSaveData, DeleteExtSaveData and CreateSystemSaveData
2015-03-19 17:39:00 -05:00
Subv
23b401c3ac
GPU/DisplayTransfer: Made the scaling bits a single 2bit value
...
Rephrased some comments.
2015-03-16 17:54:06 -05:00
Subv
fb8f47060b
GPU: Implemented the flip_data (bit 0) bit in display transfers.
2015-03-14 15:26:42 -05:00
Subv
c0d1a91017
EmuWindow: Fixed a reference to a temporary variable
...
in GetTouchState()
2015-03-14 15:01:02 -05:00
Subv
1d61cd4460
Services/FS: Implemented DeleteExtSaveData, CreateSystemSaveData and DeleteSystemSaveData
...
Also fixed a bug with CreateExtSaveData that made it unable to create ExtSaveData archives in the SDMC directory.
2015-03-14 12:00:01 -05:00
Subv
ae0dfcae1d
GPU: Fixed the bit 25 in the display transfer flags.
...
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-10 14:18:25 -05:00
Subv
1248e291f0
GPU: Added the stencil test structure to the Pica Regs struct.
2015-03-09 20:13:21 -05:00
Subv
155cc80e3b
Frontend/Qt: Allow the framebuffer widget to inspect the depth buffer
2015-03-09 20:13:15 -05:00
Subv
414b0741c4
GPU: Implemented more depth buffer formats.
...
This fixes the horizontal lines in Picross E, Cubic Ninja, Cave Story 3D and possibly others
2015-03-09 20:12:39 -05:00
Subv
0abba5874c
GPU: Use the correct position for the finished bit in memory fills
2015-03-09 17:15:13 -05:00
Subv
a762f9c176
GPU: Corrected the 24 bit memory fills component order
2015-03-09 09:01:41 -05:00
Subv
4b8d4d0ed5
GPU/Textures: Fixed ETC texture decoding.
2015-03-07 16:21:54 -05:00
Subv
83a8975cb8
Services: Moved the PTM and APT services to their own folder
...
This coincidentally fixes an issue about the PTM service failing to create its SharedExtSaveData archive due to the FS service not being initialized by the time the creating code runs.
Ideally I'd like to move each process to its own folder, and have a single file per process that registers the service classes, which would be in their own files inside that folder. Then each service class would just call functions from the process to complete the commands.
2015-03-03 21:48:08 -05:00
Subv
9a72fb79fc
Services/AM: Stubbed TitleIDListGetTotal and GetTitleIDList.
...
They will always return 0 titles for every media type for now.
This is needed to boot Home Menu further
2015-03-02 08:12:04 -05:00
Subv
db1a5d4222
Services/FS: Stubbed CardSlotIsInserted to always return false
...
We won't be emulating this for the foreseeable future and it is needed for Home Menu to boot further
2015-02-28 23:00:46 -05:00