mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 05:40:04 +00:00 
			
		
		
		
	
						commit
						8b36777731
					
				
					 15 changed files with 18 additions and 18 deletions
				
			
		|  | @ -35,4 +35,4 @@ If you like, you can [donate by PayPal](https://www.paypal.com/cgi-bin/webscr?cm | ||||||
| * Eventually 3D displays to get proper 3D output working | * Eventually 3D displays to get proper 3D output working | ||||||
| * ... etc ... | * ... etc ... | ||||||
| 
 | 
 | ||||||
| We also more than gladly accept used 3DS consoles, preferrably ones with firmware 4.5 or lower! If you would like to give yours away, don't hesitate to join our IRC channel #citra on [Freenode](http://webchat.freenode.net/?channels=citra) and talk to neobrain or bunnei. Mind you, IRC is slow-paced, so it might be a while until people reply. If you're in a hurry you can just leave contact details in the channel or via private message and we'll get back to you. | We also more than gladly accept used 3DS consoles, preferably ones with firmware 4.5 or lower! If you would like to give yours away, don't hesitate to join our IRC channel #citra on [Freenode](http://webchat.freenode.net/?channels=citra) and talk to neobrain or bunnei. Mind you, IRC is slow-paced, so it might be a while until people reply. If you're in a hurry you can just leave contact details in the channel or via private message and we'll get back to you. | ||||||
|  |  | ||||||
|  | @ -10,7 +10,7 @@ if ! git diff --cached --check -- $paths_to_check ; then | ||||||
|     cat<<END |     cat<<END | ||||||
| 
 | 
 | ||||||
| Error: This commit would contain trailing spaces or tabs, which is against this repo's policy. | Error: This commit would contain trailing spaces or tabs, which is against this repo's policy. | ||||||
| Please correct those issues before commiting. (Use 'git diff --check' for more details) | Please correct those issues before committing. (Use 'git diff --check' for more details) | ||||||
| If you know what you are doing, you can try 'git commit --no-verify' to bypass the check | If you know what you are doing, you can try 'git commit --no-verify' to bypass the check | ||||||
| END | END | ||||||
|     exit 1 |     exit 1 | ||||||
|  |  | ||||||
|  | @ -23,12 +23,12 @@ static size_t CurrentRegionIndex() { | ||||||
|     // This function only returns a 0 or 1.
 |     // This function only returns a 0 or 1.
 | ||||||
| 
 | 
 | ||||||
|     if (g_regions[0].frame_counter == 0xFFFFu && g_regions[1].frame_counter != 0xFFFEu) { |     if (g_regions[0].frame_counter == 0xFFFFu && g_regions[1].frame_counter != 0xFFFEu) { | ||||||
|         // Wraparound has occured.
 |         // Wraparound has occurred.
 | ||||||
|         return 1; |         return 1; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if (g_regions[1].frame_counter == 0xFFFFu && g_regions[0].frame_counter != 0xFFFEu) { |     if (g_regions[1].frame_counter == 0xFFFFu && g_regions[0].frame_counter != 0xFFFEu) { | ||||||
|         // Wraparound has occured.
 |         // Wraparound has occurred.
 | ||||||
|         return 0; |         return 0; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -117,7 +117,7 @@ void PipeWrite(DspPipe pipe_number, const std::vector<u8>& buffer) { | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         enum class StateChange { |         enum class StateChange { | ||||||
|             Initalize = 0, |             Initialize = 0, | ||||||
|             Shutdown = 1, |             Shutdown = 1, | ||||||
|             Wakeup = 2, |             Wakeup = 2, | ||||||
|             Sleep = 3, |             Sleep = 3, | ||||||
|  | @ -130,7 +130,7 @@ void PipeWrite(DspPipe pipe_number, const std::vector<u8>& buffer) { | ||||||
|         // sleeping and reset it back after wakeup on behalf of the DSP.
 |         // sleeping and reset it back after wakeup on behalf of the DSP.
 | ||||||
| 
 | 
 | ||||||
|         switch (static_cast<StateChange>(buffer[0])) { |         switch (static_cast<StateChange>(buffer[0])) { | ||||||
|         case StateChange::Initalize: |         case StateChange::Initialize: | ||||||
|             LOG_INFO(Audio_DSP, "Application has requested initialization of DSP hardware"); |             LOG_INFO(Audio_DSP, "Application has requested initialization of DSP hardware"); | ||||||
|             ResetPipes(); |             ResetPipes(); | ||||||
|             AudioPipeWriteStructAddresses(); |             AudioPipeWriteStructAddresses(); | ||||||
|  |  | ||||||
|  | @ -424,7 +424,7 @@ GraphicsVertexShaderWidget::GraphicsVertexShaderWidget( | ||||||
|             // Create an HBoxLayout to store the widgets used to specify a particular attribute
 |             // Create an HBoxLayout to store the widgets used to specify a particular attribute
 | ||||||
|             // and store it in a QWidget to allow for easy hiding and unhiding.
 |             // and store it in a QWidget to allow for easy hiding and unhiding.
 | ||||||
|             auto row_layout = new QHBoxLayout; |             auto row_layout = new QHBoxLayout; | ||||||
|             // Remove unecessary padding between rows
 |             // Remove unnecessary padding between rows
 | ||||||
|             row_layout->setContentsMargins(0, 0, 0, 0); |             row_layout->setContentsMargins(0, 0, 0, 0); | ||||||
| 
 | 
 | ||||||
|             row_layout->addWidget(new QLabel(tr("Attribute %1").arg(i, 2))); |             row_layout->addWidget(new QLabel(tr("Attribute %1").arg(i, 2))); | ||||||
|  | @ -590,7 +590,7 @@ void GraphicsVertexShaderWidget::OnCycleIndexChanged(int index) { | ||||||
|                     .arg(record.dest_out.w.ToFloat32()); |                     .arg(record.dest_out.w.ToFloat32()); | ||||||
| 
 | 
 | ||||||
|     if (record.mask & Pica::Shader::DebugDataRecord::ADDR_REG_OUT) |     if (record.mask & Pica::Shader::DebugDataRecord::ADDR_REG_OUT) | ||||||
|         text += tr("Addres Registers: %1, %2\n") |         text += tr("Address Registers: %1, %2\n") | ||||||
|                     .arg(record.address_registers[0]) |                     .arg(record.address_registers[0]) | ||||||
|                     .arg(record.address_registers[1]); |                     .arg(record.address_registers[1]); | ||||||
|     if (record.mask & Pica::Shader::DebugDataRecord::CMP_RESULT) |     if (record.mask & Pica::Shader::DebugDataRecord::CMP_RESULT) | ||||||
|  |  | ||||||
|  | @ -136,7 +136,7 @@ void RegistersWidget::UpdateCPSRValues() { | ||||||
|     cpsr->child(2)->setText(1, QString::number((cpsr_val >> 6) & 1));    // F - FIQ disable
 |     cpsr->child(2)->setText(1, QString::number((cpsr_val >> 6) & 1));    // F - FIQ disable
 | ||||||
|     cpsr->child(3)->setText(1, QString::number((cpsr_val >> 7) & 1));    // I - IRQ disable
 |     cpsr->child(3)->setText(1, QString::number((cpsr_val >> 7) & 1));    // I - IRQ disable
 | ||||||
|     cpsr->child(4)->setText(1, QString::number((cpsr_val >> 8) & 1));    // A - Imprecise abort
 |     cpsr->child(4)->setText(1, QString::number((cpsr_val >> 8) & 1));    // A - Imprecise abort
 | ||||||
|     cpsr->child(5)->setText(1, QString::number((cpsr_val >> 9) & 1));    // E - Data endianess
 |     cpsr->child(5)->setText(1, QString::number((cpsr_val >> 9) & 1));    // E - Data endianness
 | ||||||
|     cpsr->child(6)->setText(1, |     cpsr->child(6)->setText(1, | ||||||
|                             QString::number((cpsr_val >> 10) & 0x3F)); // IT - If-Then state (DNM)
 |                             QString::number((cpsr_val >> 10) & 0x3F)); // IT - If-Then state (DNM)
 | ||||||
|     cpsr->child(7)->setText(1, |     cpsr->child(7)->setText(1, | ||||||
|  |  | ||||||
|  | @ -64,7 +64,7 @@ public: | ||||||
|  * A specialization of GameListItem for path values. |  * A specialization of GameListItem for path values. | ||||||
|  * This class ensures that for every full path value it holds, a correct string representation |  * This class ensures that for every full path value it holds, a correct string representation | ||||||
|  * of just the filename (with no extension) will be displayed to the user. |  * of just the filename (with no extension) will be displayed to the user. | ||||||
|  * If this class recieves valid SMDH data, it will also display game icons and titles. |  * If this class receives valid SMDH data, it will also display game icons and titles. | ||||||
|  */ |  */ | ||||||
| class GameListItemPath : public GameListItem { | class GameListItemPath : public GameListItem { | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -31,7 +31,7 @@ static FORCE_INLINE u64 fmix64(u64 k) { | ||||||
|     return k; |     return k; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // This is the 128-bit variant of the MurmurHash3 hash function that is targetted for 64-bit
 | // This is the 128-bit variant of the MurmurHash3 hash function that is targeted for 64-bit
 | ||||||
| // platforms (MurmurHash3_x64_128). It was taken from:
 | // platforms (MurmurHash3_x64_128). It was taken from:
 | ||||||
| // https://code.google.com/p/smhasher/source/browse/trunk/MurmurHash3.cpp
 | // https://code.google.com/p/smhasher/source/browse/trunk/MurmurHash3.cpp
 | ||||||
| void MurmurHash3_128(const void* key, int len, u32 seed, void* out) { | void MurmurHash3_128(const void* key, int len, u32 seed, void* out) { | ||||||
|  |  | ||||||
|  | @ -17,7 +17,7 @@ struct Entry; | ||||||
|  * |  * | ||||||
|  * @param path The input file path as a null-terminated string |  * @param path The input file path as a null-terminated string | ||||||
|  * @param root The name of the root source directory as a null-terminated string. Path up to and |  * @param root The name of the root source directory as a null-terminated string. Path up to and | ||||||
|  *             including the last occurence of this name will be stripped |  *             including the last occurrence of this name will be stripped | ||||||
|  * @return A pointer to the same string passed as `path`, but starting at the trimmed portion |  * @return A pointer to the same string passed as `path`, but starting at the trimmed portion | ||||||
|  */ |  */ | ||||||
| const char* TrimSourcePath(const char* path, const char* root = "src"); | const char* TrimSourcePath(const char* path, const char* root = "src"); | ||||||
|  |  | ||||||
|  | @ -23,7 +23,7 @@ namespace Kernel { | ||||||
| 
 | 
 | ||||||
| static MemoryRegionInfo memory_regions[3]; | static MemoryRegionInfo memory_regions[3]; | ||||||
| 
 | 
 | ||||||
| /// Size of the APPLICATION, SYSTEM and BASE memory regions (respectively) for each sytem
 | /// Size of the APPLICATION, SYSTEM and BASE memory regions (respectively) for each system
 | ||||||
| /// memory configuration type.
 | /// memory configuration type.
 | ||||||
| static const u32 memory_region_sizes[8][3] = { | static const u32 memory_region_sizes[8][3] = { | ||||||
|     // Old 3DS layouts
 |     // Old 3DS layouts
 | ||||||
|  |  | ||||||
|  | @ -204,7 +204,7 @@ static std::tuple<u32*, u32*> GetWaitSynchTimeoutParameterRegister(Thread* threa | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /**
 | /**
 | ||||||
|  * Updates the WaitSynchronization timeout paramter according to the difference |  * Updates the WaitSynchronization timeout parameter according to the difference | ||||||
|  * between ticks of the last WaitSynchronization call and the incoming one. |  * between ticks of the last WaitSynchronization call and the incoming one. | ||||||
|  * @param timeout_low a pointer to the register for the low part of the timeout parameter |  * @param timeout_low a pointer to the register for the low part of the timeout parameter | ||||||
|  * @param timeout_high a pointer to the register for the high part of the timeout parameter |  * @param timeout_high a pointer to the register for the high part of the timeout parameter | ||||||
|  |  | ||||||
|  | @ -1227,7 +1227,7 @@ ResultCode CROHelper::Link(VAddr crs_address, bool link_on_load_bug_fix) { | ||||||
|             // The bug itself is:
 |             // The bug itself is:
 | ||||||
|             // If a relocation target is in .data segment, it will relocate to the
 |             // If a relocation target is in .data segment, it will relocate to the
 | ||||||
|             // user-specified buffer. But if this is linking during loading,
 |             // user-specified buffer. But if this is linking during loading,
 | ||||||
|             // the .data segment hasn't been tranfer from CRO to the buffer,
 |             // the .data segment hasn't been transfer from CRO to the buffer,
 | ||||||
|             // thus the relocation will be overwritten by data transfer.
 |             // thus the relocation will be overwritten by data transfer.
 | ||||||
|             // To fix this bug, we need temporarily restore the old .data segment
 |             // To fix this bug, we need temporarily restore the old .data segment
 | ||||||
|             // offset and apply imported symbols.
 |             // offset and apply imported symbols.
 | ||||||
|  |  | ||||||
|  | @ -163,7 +163,7 @@ ResultStatus AppLoader_NCCH::LoadExec() { | ||||||
|         Kernel::g_current_process->ideal_processor = |         Kernel::g_current_process->ideal_processor = | ||||||
|             exheader_header.arm11_system_local_caps.ideal_processor; |             exheader_header.arm11_system_local_caps.ideal_processor; | ||||||
| 
 | 
 | ||||||
|         // Copy data while converting endianess
 |         // Copy data while converting endianness
 | ||||||
|         std::array<u32, ARRAY_SIZE(exheader_header.arm11_kernel_caps.descriptors)> kernel_caps; |         std::array<u32, ARRAY_SIZE(exheader_header.arm11_kernel_caps.descriptors)> kernel_caps; | ||||||
|         std::copy_n(exheader_header.arm11_kernel_caps.descriptors, kernel_caps.size(), |         std::copy_n(exheader_header.arm11_kernel_caps.descriptors, kernel_caps.size(), | ||||||
|                     begin(kernel_caps)); |                     begin(kernel_caps)); | ||||||
|  |  | ||||||
|  | @ -11,7 +11,7 @@ | ||||||
| #include "core/loader/loader.h" | #include "core/loader/loader.h" | ||||||
| 
 | 
 | ||||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ||||||
| /// NCCH header (Note: "NCCH" appears to be a publically unknown acronym)
 | /// NCCH header (Note: "NCCH" appears to be a publicly unknown acronym)
 | ||||||
| 
 | 
 | ||||||
| struct NCCH_Header { | struct NCCH_Header { | ||||||
|     u8 signature[0x100]; |     u8 signature[0x100]; | ||||||
|  |  | ||||||
|  | @ -292,7 +292,7 @@ static void WritePicaReg(u32 id, u32 value, u32 mask) { | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             // Retreive vertex from register data
 |             // Retrieve vertex from register data
 | ||||||
|             Shader::OutputVertex output_vertex = output_registers.ToVertex(regs.vs); |             Shader::OutputVertex output_vertex = output_registers.ToVertex(regs.vs); | ||||||
| 
 | 
 | ||||||
|             // Send to renderer
 |             // Send to renderer
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue