FANDOM


This is the changelog for the Nintendo 3DS Emulator Citra.

August 25, 2014Edit

  • Merge branch 'master' of https://github.com/bunnei/citra
  • Core: Change HW update to happen on thread switch, fixes GSP synchronization.
  • Merge pull request #73 from yuriks/remove-docs
  • Remove documentation for external modules. (We don't need these and they clutter up the repository.)
  • Merge pull request #68 from archshift/readfile
  • Added FS functions to Archive and Archive_RomFS
  • Merge branch 'master' of https://github.com/bunnei/citra
  • Merge pull request #46 from archshift/citrah
  • Removed unused citra.h

August 15, 2014Edit

  • SVC: Added support for svc_GetSystemTick.

August 6, 2014Edit

  • GPU: Updated g_last_ticks variable to be more descriptive (represents CPU tick count of last vertical line).
  • GPU: Updated horizontal sync line counter to use framebuffer height.
  • Thread: Added more descriptive comment to WaitCurrentThread.

July 25, 2014Edit

  • FS: Fix port name (old port name was based on an unaligned memory read).
  • MemMap: Fix Read32 for unaligned memory reads.

July 24, 2014Edit

  • ARM: Synchronize Citra's SkyEye core with 3dmoo's.
  • Merge pull request #27 from neobrain/disassembly_view_rewrite
  • citra-qt: Rewrite disassembly view.
  • citra-qt: Show function names in disassembler based on bunnei's suggestion.
  • Disassembler: Chose slightly lower value for chunk size.

June 28, 2014Edit

  • Merge branch 'master' of https://github.com/bunnei/citra
  • Merge pull request #22 from bunnei/loader-improvements
  • Refactor loader code and add preliminary NCCH support
  • Loader: Refactored loading functions to only read data from binary if called.
  • NCCH: Updated LoadExec to use Memory::WriteBlock function to load binary code.
  • MemMap: Added a WriteBlock function to write a buffer of data to memory.
  • ELF: Refactored LoadInto(..) to use memcpy, removed unnecessary code.
  • Loader: Refactored use of const.
  • NCCH: Added RomFS loading.
  • NCCH: Fixes reduce unnecessary logging and load logo/banner/etc. sections correctly.
  • Loader: Added ErrorNotUsed ReturnStatus type to specify when something is not used.
  • Loader: Implemented AppLoader interface for abstracting application loading.
  • - Various cleanups/refactorings to Loader, ELF, and NCCH modules.
  • - Added AppLoader interface to ELF and NCCH.
  • - Updated Qt/GLFW frontends to check AppLoader ResultStatus.
  • NCCH: Removed extra qualification typos.
  • Loader: Removed unnecessary #include's.
  • NCCH: Improved readability of memcmp statements.
  • NCCH: Added missing space.
  • Elf: Removed unnecessary usage of unique_ptr.
  • Loader: Removed unnecessary usage of unique_ptr.
  • NCCH: Changed decompression to load .code directly into memory rather than an intermediate buffer.
  • Elf: Removed unused macros, changed #include of "common.h" to just "common_types.h".
  • Loader: Cleaned up and removed unused code, refactored ELF namespace.
  • Elf: Renamed modules to be consistent with new loader naming, fixed tabs -> spaces.
  • Loader: Added support for booting NCCH executables.
  • NCCH: Fixed typo in printing NCCH filename.
  • Loader: Moved elf and loader modules to a "loader" subdirectory.
  • Loader: Added stubbed detection of CXI and CCI files.
  • Loader: Removed unused CXI and DAT loading code.
  • Merge pull request #7 from archshift/travis-osx
  • Adds OSX building on Travis-CI
  • Travis: Added OSX, use default compilers, moved cmds into own scripts
  • Merge pull request #24 from bunnei/remove-autogenerated-files
  • citra_qt: Removed autogenerated files from repo and fixed build issues.
  • citra_qt: Removed autogenerated files from repo and fixed build issues.

June 27, 2014Edit

  • FS: Added stubbed code to intercept and decode file system service functions.

June 26, 2014Edit

  • Kernel: Added stubbed code to support creation of kernel Archive objects.
  • Core: Removed unused directory_file_system and meta_file_system modules.
  • Core: Updated CMakeLists.txt to remove directory_file_system and meta_file_system modules.
  • Loader: Refactored loading functions to only read data from binary if called.
  • NCCH: Updated LoadExec to use Memory::WriteBlock function to load binary code.
  • MemMap: Added a WriteBlock function to write a buffer of data to memory.
  • ELF: Refactored LoadInto(..) to use memcpy, removed unnecessary code.
  • Loader: Refactored use of const.

June 25, 2014Edit

  • Loader: Refactored loading functions to only read data from binary if called.
  • NCCH: Updated LoadExec to use Memory::WriteBlock function to load binary code.
  • MemMap: Added a WriteBlock function to write a buffer of data to memory.

June 23, 2014Edit

  • Loader: Refactored loading functions to only read data from binary if called.

June 20, 2014Edit

  • ELF: Refactored LoadInto(..) to use memcpy, removed unnecessary code.
  • Loader: Refactored use of const.

June 19, 2014Edit

  • NCCH: Added RomFS loading.
  • NCCH: Fixes reduce unnecessary logging and load logo/banner/etc. sections correctly.
  • Loader: Added ErrorNotUsed ReturnStatus type to specify when something is not used.
  • Loader: Implemented AppLoader interface for abstracting application loading.
  • - Various cleanups/refactorings to Loader, ELF, and NCCH modules.
  • - Added AppLoader interface to ELF and NCCH.
  • - Updated Qt/GLFW frontends to check AppLoader ResultStatus.
  • NCCH: Removed extra qualification typos.

June 17, 2014Edit

  • NCCH: Changed decompression to load .code directly into memory rather than an intermediate buffer.
  • Elf: Removed unused macros, changed #include of "common.h" to just "common_types.h".
  • Loader: Cleaned up and removed unused code, refactored ELF namespace.
  • Elf: Renamed modules to be consistent with new loader naming, fixed tabs -> spaces.
  • Loader: Added support for booting NCCH executables.
  • NCCH: Fixed typo in printing NCCH filename.
  • Loader: Moved elf and loader modules to a "loader" subdirectory.
  • Loader: Added stubbed detection of CXI and CCI files.
  • Loader: Removed unused CXI and DAT loading code.

June 15, 2014Edit

June 14, 2014Edit

  • Merge branch 'threading' of https://github.com/bunnei/citra into threading
  • Kernel: Removed unnecessary "#pragma once".
  • Kernel: Added freeing of kernel objects on emulator shutdown.
  • Event: Updated several log messages to be assertions.
  • HLE: Moved "PARAM" and "RETURN" macros to function_wrappers.h (this is only module where they are needed).
  • SVC: Renamed all function wrapper templates to Wrap, moved to HLE namespace.
  • Thread: Renamed occurrences of "t" to "thread" to improve readability.
  • Thread: Cleaned up VerifyWait, fixed issue where nullptr msg could unnecessarily be logged.
  • HLE: Removed usnused EatCycles function.
  • SVC: Cleaned up function wrappers to pass in correct argument types.
  • Thread: Moved position of * in arguments.
  • Thread: Updated VerifyWait to be more readable (but functionally the same).
  • SVC: Moved declaration of "wait" variable in SendSyncRequest for improved readability.
  • HLE: Updated all uses of NULL to nullptr (to be C++11 compliant)
  • Kernel: Updated various kernel function "name" arguments to be const references.
  • HLE: Updated various handle debug assertions to be more clear.
  • Mutex: Moved ReleaseMutex iterator declaration to be inside while loop.
  • Kernel: Updated several member functions to be const
  • Core: Cleaned up SingleStep(), updated default LCD refresh to assume each instruction is ~3 cycles
  • Core: Changed HW update/thread reschedule to occur more frequently (assume each instruction is ~3 cycles)
  • Thread: Fixed bug with ResetThread where cpu_registers[15] was being incorrectly set
  • Kernel: Made SyncRequest not pure virtual, with a default implementation of error (as this is not required for all kernel objects)
  • Kernel: Added real support for thread and event blocking
  • -SVC: Added ExitThread support
  • -SVC: Added SignalEvent support
  • -Thread: Added WAITTYPE_EVENT for waiting threads for event signals
  • -Thread: Added support for blocking on other threads to finish (e.g. Thread::Join)
  • -Thread: Added debug function for printing current threads ready for execution
  • -Thread: Removed hack/broken thread ready state code from Kernel::Reschedule
  • -Mutex: Moved WaitCurrentThread from SVC to Mutex::WaitSynchronization
  • -Event: Added support for blocking threads on event signalling
  • Kernel: Added missing algorithm #include for use of std::find on non-Windows platforms.

June 13, 2014Edit

  • Merge branch 'threading' of https://github.com/bunnei/citra
  • Conflicts: src/core/hle/function_wrappers.h src/core/hle/service/gsp.cpp
  • Kernel: Removed unnecessary "#pragma once".
  • Kernel: Added missing algorithm #include for use of std::find on non-Windows platforms.

June 12, 2014Edit

  • Merge branch 'master' of https://github.com/bunnei/citra
  • Merge remote-tracking branch 'upstream/master'
  • Kernel: Removed unintended #pragma
  • Merge remote-tracking branch 'upstream/master'
  • Thread: Added include of algorithm header to fix Linux build.
  • Merge remote-tracking branch 'upstream/master'
  • Event: Added include of algorithm header to fix Linux build.
  • Merge branch 'bunnei-threading'
  • Log: Removed unnecessary logging flag that just caused warnings.
  • Merge branch 'threading' of https://github.com/bunnei/citra into bunnei-threading
  • Conflicts: src/core/hle/function_wrappers.h src/core/hle/service/gsp.cpp
  • Kernel: Added freeing of kernel objects on emulator shutdown.
  • Event: Updated several log messages to be assertions.
  • HLE: Moved "PARAM" and "RETURN" macros to function_wrappers.h (this is only module where they are needed).
  • SVC: Renamed all function wrapper templates to Wrap, moved to HLE namespace.
  • Thread: Renamed occurrences of "t" to "thread" to improve readability.
  • Thread: Cleaned up VerifyWait, fixed issue where nullptr msg could unnecessarily be logged.
  • HLE: Removed usnused EatCycles function.
  • SVC: Cleaned up function wrappers to pass in correct argument types.
  • Thread: Moved position of * in arguments.
  • Thread: Updated VerifyWait to be more readable (but functionally the same).
  • SVC: Moved declaration of "wait" variable in SendSyncRequest for improved readability.
  • HLE: Updated all uses of NULL to nullptr (to be C++11 compliant)
  • Kernel: Updated various kernel function "name" arguments to be const references.
  • HLE: Updated various handle debug assertions to be more clear.
  • Mutex: Moved ReleaseMutex iterator declaration to be inside while loop.
  • Kernel: Updated several member functions to be const
  • Core: Cleaned up SingleStep(), updated default LCD refresh to assume each instruction is ~3 cycles
  • Core: Changed HW update/thread reschedule to occur more frequently (assume each instruction is ~3 cycles)
  • Thread: Fixed bug with ResetThread where cpu_registers[15] was being incorrectly set
  • Kernel: Made SyncRequest not pure virtual, with a default implementation of error (as this is not required for all kernel objects)
  • Kernel: Added real support for thread and event blocking
  • - SVC: Added ExitThread support
  • - SVC: Added SignalEvent support
  • - Thread: Added WAITTYPE_EVENT for waiting threads for event signals
  • - Thread: Added support for blocking on other threads to finish (e.g. Thread::Join)
  • - Thread: Added debug function for printing current threads ready for execution
  • - Thread: Removed hack/broken thread ready state code from Kernel::Reschedule
  • - Mutex: Moved WaitCurrentThread from SVC to Mutex::WaitSynchronization
  • - Event: Added support for blocking threads on event signalling
  • qt: updated disassembler to show 2X as many instructions
  • hle: added a hokey way to force a thread reschedule during CPU single step mode (as used by the debugger)
  • arm: fixed a bug where ARM_Interpreter::ExecuteInstructions was actually executing one more instruction than expected
  • kernel: changed current default thread priority back to 0x30 - I think this is more correct
  • arm: fixed bug in how thread context switch occurs with SkyEye
  • service: added a error log messages for unimplemented WaitSynchronization
  • arm: reverting a change made with cb0663de - this has to have been a typo!
  • svc: added optional name field to Event and Mutex (used for debugging)
  • kernel: moved position of * for GetTypeName and GetName
  • coprocessor: reenabled debug log
  • svc: updated WaitSynchronizationN to properly use first pointer argument
  • svc: changed DuplicateHandle log message from "error" to "debug"
  • svc: added GetThreadPriority and SetThreadPriority, added (incomplete) DuplicateHandle support
  • kernel: changed main thread priority to default, updated Kernel::Reschedule to use PrepareReschedule
  • arm: added option to prepare CPU core (while mid-instruction) for thread reschedule
  • svc: cleaned up function_wrappers, updated various SVCs to make use of pointer arguments
  • log: updated MAX_LOGLEVEL to use correct log level enum type
  • log: updated GenericLog __attribute__ for newly added parameter
  • svc: added missing function wrapper for SleepThread
  • gsp: always pass through synchronization barrier for commands
  • svc: updated waitSychronization to not overwrite handle on return, added stub for SleepThread (does nothing)
  • thread: updated Reschedule to sit at a synchronization barrier when no other threads are ready for execution
  • event: added a hackish ability to set an event as "locked" to its current state, cleaned up some comments
  • hle: added stubbed service for ndm_u
  • service: cleaned up log messages
  • service: removed PT_A from, as this was just an alias for APT_U
  • srv: fix to log unimplemented service (instead of crash)
  • mutex: fixed typo in ReleaseMutex
  • hle: cleaned up log messages
  • svc: updated OutputDebugString to use OS_LOG
  • arm: removed unnecessary code when calling SVC from skyeye
  • log: fixed to not print twice, enabled coloring, added OS print logging as its own type
  • core: changed time delay before kernel reschedule to "approximate" a screen refresh
  • svc: changed unimplemented SVC log messages from "debug" messages to "error" messages
  • svc: added svcClearEvent, stubbed function for svcArbitrateAddress, and various fixes
  • - force kernel reschedule after svcWaitSynchronization
  • - fixed some bugs with passing in pointer arguments
  • - cleaned up some comments and log messages
  • event: added support for ClearEvent, fixed a bug with CreateEvent, fixed some comments
  • service: added additional hack to return success on unimplemented service calls
  • srv: changed a NOTICE_LOG to DEBUG_LOG
  • svc: added ArbitrationType enumeration
  • apt: added stubbed function for InquireNotification
  • hle: properly cast 64-bit function wrapper parameters to (u64)
  • hle: removed PARAM64 macro (this was incorrect), made several bug fixes accordingly for decoding U64 function parameters
  • lcd: moved kFrameTicks to lcd.h for use in other modules
  • service: changed interface to return 0 (no error) when a service method is unimplemented - hack to make apps boot further
  • APT_U: added stubbed function for APT_U::Enable, fixed some log messages to be more consistent
  • mutex: added preliminary SyncRequest/WaitSynchronization, added some comments/assertions
  • svc: implemented WaitSynchronization1, WaitSynchronizationN, and CreateEvent
  • APT_U: added event creation to Initialize method
  • event: fixed typos and updated CMakeLists
  • event: added SetEventLocked method to change status an events lock
  • kernel: added event module to support creation of CTR "Event" objects
  • mutex: removed docstring comment that is no longer relevant
  • mutex: added additional docstrings
  • kernel: added WaitSynchronization method to Kernel::Object
  • kernel: updated SyncRequest to take boolean thread wait result as a parameter
  • svc: added some assertions
  • service: Renamed Sync to SyncRequest
  • kernel: added enum for known CurrentThread and CurrentProcess handles
  • srv: added a real mutex for GetProcSemaphore (instead of stubbed)
  • svc: changed SendSyncRequest to use Kernel::Object SyncRequest (instead of just service Interface class)
  • kernel: add a SyncRequest method to KernelObject for use with svcSendSyncRequest
  • svc: added stub for DuplicateHandle SVC call
  • GPU debugger: Const correctness and build fix.
  • Removed definition of MAX_PATH, this is already defined in common_paths.h.
  • Merge pull request #15 from archshift/nonosx-fixes
    1. if's out OSX-specific GL changes on other platforms
  • Preprocessor: #if's out OSX-specific GL changes on other platforms
  • Common: Removed duplicate "LONG" and "MAX_PATH" definitions.
  • Merge pull request #1 from neobrain/master
  • Cleanup GPU headers and add a GPU debugger with command list parsing capability.
  • Pica: Use some template magic to define register structures efficiently.
  • Further refine GPU command list debugging.
  • Refine command list debugging functionality and its qt interface.
  • citra-qt: Add command list view.
  • GPU debugger: Add functionality to inspect command lists.
  • video core: added PICA definitions file.
  • GPU: Cleanup register definitions.
  • Rename LCD to GPU.
  • citra-qt: Add GX command history viewer.
  • Add initial graphics debugger interface.
  • GSP: Define more GX commands.
  • Pica: Add command list registers.
  • Update CONTRIBUTING.md
  • - removed variable naming starting with "_"
  • - removed "Always break, even after a return" from case statements
  • Merge pull request #8 from archshift/patch-1
  • Added CONTRIBUTING.md with contents from Coding Style
  • CONTRIBUTING: Fix some examples, escape underscores
  • Added CONTRIBUTING.md with contents from Coding Style, updated README link
  • Merge pull request #5 from Antidote/master
  • Remove -fpermissive
  • Merge pull request #12 from Disruption/stomas/bugfix/wrong-field-reference
  • Added 'this' reference to num_instructions field so it's properly updated
  • Added 'this' reference to num_instructions field so it's properly updated,as before the method was affecting the local method parameter rather than the class field
  • Merge pull request #9 from bunnei/master
  • Add initial kernel HLE, includes thread creation and context switching
  • Common: Removed definition of MAX_PATH, this is already defined in common_paths.h.

June 11, 2014Edit

  • Kernel: Added freeing of kernel objects on emulator shutdown.

June 10, 2014Edit

  • Event: Updated several log messages to be assertions.
  • HLE: Moved "PARAM" and "RETURN" macros to function_wrappers.h (this is only module where they are needed).
  • SVC: Renamed all function wrapper templates to Wrap, moved to HLE namespace.
  • Thread: Renamed occurrences of "t" to "thread" to improve readability.
  • Thread: Cleaned up VerifyWait, fixed issue where nullptr msg could unnecessarily be logged.

June 7, 2014Edit

  • HLE: Removed usnused EatCycles function.
  • SVC: Cleaned up function wrappers to pass in correct argument types.
  • Thread: Moved position of * in arguments.
  • Thread: Updated VerifyWait to be more readable (but functionally the same).

June 6, 2014Edit

  • SVC: Moved declaration of "wait" variable in SendSyncRequest for improved readability.
  • HLE: Updated all uses of NULL to nullptr (to be C++11 compliant)
  • Kernel: Updated various kernel function "name" arguments to be const references.
  • HLE: Updated various handle debug assertions to be more clear.
  • Mutex: Moved ReleaseMutex iterator declaration to be inside while loop.
  • Kernel: Updated several member functions to be const
  • Core: Cleaned up SingleStep(), updated default LCD refresh to assume each instruction is ~3 cycles
  • Core: Changed HW update/thread reschedule to occur more frequently (assume each instruction is ~3 cycles)
  • Thread: Fixed bug with ResetThread where cpu_registers[15] was being incorrectly set
  • Kernel: Made SyncRequest not pure virtual, with a default implementation of error (as this is not required for all kernel objects)
  • Kernel: Added real support for thread and event blocking
  • - SVC: Added ExitThread support
  • - SVC: Added SignalEvent support
  • - Thread: Added WAITTYPE_EVENT for waiting threads for event signals
  • - Thread: Added support for blocking on other threads to finish (e.g. Thread::Join)
  • - Thread: Added debug function for printing current threads ready for execution
  • - Thread: Removed hack/broken thread ready state code from Kernel::Reschedule
  • - Mutex: Moved WaitCurrentThread from SVC to Mutex::WaitSynchronization
  • - Event: Added support for blocking threads on event signalling

June 5, 2014Edit

  • qt: updated disassembler to show 2X as many instructions
  • hle: added a hokey way to force a thread reschedule during CPU single step mode (as used by the debugger)
  • arm: fixed a bug where ARM_Interpreter::ExecuteInstructions was actually executing one more instruction than expected
  • kernel: changed current default thread priority back to 0x30 - I think this is more correct
  • arm: fixed bug in how thread context switch occurs with SkyEye
  • service: added a error log messages for unimplemented WaitSynchronization
  • arm: reverting a change made with cb0663de - this has to have been a typo!

June 3, 2014Edit

  • svc: added optional name field to Event and Mutex (used for debugging)
  • kernel: moved position of * for GetTypeName and GetName
  • coprocessor: reenabled debug log
  • svc: updated WaitSynchronizationN to properly use first pointer argument

June 2, 2014Edit

  • svc: added GetThreadPriority and SetThreadPriority, added (incomplete) DuplicateHandle support
  • kernel: changed main thread priority to default, updated Kernel::Reschedule to use PrepareReschedule
  • arm: added option to prepare CPU core (while mid-instruction) for thread reschedule
  • svc: cleaned up function_wrappers, updated various SVCs to make use of pointer arguments
  • log: updated MAX_LOGLEVEL to use correct log level enum type
  • log: updated GenericLog __attribute__ for newly added parameter
  • svc: added missing function wrapper for SleepThread
  • gsp: always pass through synchronization barrier for commands
  • svc: updated waitSychronization to not overwrite handle on return, added stub for SleepThread (does nothing)
  • thread: updated Reschedule to sit at a synchronization barrier when no other threads are ready for execution
  • event: added a hackish ability to set an event as "locked" to its current state, cleaned up some comments

May 30, 2014Edit

  • hle: added stubbed service for ndm_u
  • service: cleaned up log messages
  • service: removed PT_A from, as this was just an alias for APT_U
  • srv: fix to log unimplemented service (instead of crash)
  • mutex: fixed typo in ReleaseMutex
  • hle: cleaned up log messages
  • svc: updated OutputDebugString to use OS_LOG
  • arm: removed unnecessary code when calling SVC from skyeye
  • log: fixed to not print twice, enabled coloring, added OS print logging as its own type
  • core: changed time delay before kernel reschedule to "approximate" a screen refresh
  • svc: changed unimplemented SVC log messages from "debug" messages to "error" messages
  • svc: added svcClearEvent, stubbed function for svcArbitrateAddress, and various fixes

- force kernel reschedule after svcWaitSynchronization - fixed some bugs with passing in pointer arguments - cleaned up some comments and log messages

  • event: added support for ClearEvent, fixed a bug with CreateEvent, fixed some comments
  • service: added additional hack to return success on unimplemented service calls
  • srv: changed a NOTICE_LOG to DEBUG_LOG
  • svc: added ArbitrationType enumeration

May 28, 2014Edit

  • mutex: added preliminary SyncRequest/WaitSynchronization, added some comments/assertions
  • svc: implemented WaitSynchronization1, WaitSynchronizationN, and CreateEvent
  • APT_U: added event creation to Initialize method
  • event: fixed typos and updated CMakeLists
  • event: added SetEventLocked method to change status an events lock
  • kernel: added event module to support creation of CTR "Event" objects

May 27, 2014Edit

  • mutex: removed docstring comment that is no longer relevant
  • mutex: added additional docstrings
  • kernel: added WaitSynchronization method to Kernel::Object
  • kernel: updated SyncRequest to take boolean thread wait result as a parameter
  • svc: added some assertions
  • service: Renamed Sync to SyncRequest
  • kernel: added enum for known CurrentThread and CurrentProcess handles
  • srv: added a real mutex for GetProcSemaphore (instead of stubbed)
  • svc: changed SendSyncRequest to use Kernel::Object SyncRequest (instead of just service Interface class)
  • kernel: add a SyncRequest method to KernelObject for use with svcSendSyncRequest
  • svc: added stub for DuplicateHandle SVC call

May 23, 2014Edit

  • service: fixed typo that MSVC did not catch as an error
  • core: fixed headers in CMakeLists
  • Merge branch 'threading'
  • core: added Kernel::Reschedule() call to check for thread changes, shortened delay time to 100 instructions
  • svc: added a check to ensure that a service was implemented before attempting to connect to its port
  • lcd: added thread wait after (faked) vblank interrupt (would have) occurred
  • thread: renamed "WaitCurThread" to "WaitCurrentThread", removed unused "reason" argument
  • thread: removed unused SwitchContext/Reschedule reason field, added missing arg parameter to SVC CreateThread
  • kernel: refactored function naming to remove "__" prefix
  • core: moved armcopro.cpp to correct filter folder (arm/interpreter)
  • thread: moved ThreadStatus/WaitType to header, added support for arg on CreateThread, added correct CPSR reset
  • APT_U: added a debug log on calling GetLockHandle
  • arm_interpreter: fixed load context to currently resume a thread

May 21, 2014Edit

Use runtime arguments to specify boot filename.

  • Fixed indents
  • Check arg count before attempting to access it.
  • Use runtime arguments to specify boot filename.

May 20, 2014Edit

  • Merge pull request #2 from archshift/issue-7-fix

Fixes issues with building Citra on OSX

  • common_types: Changed BasicRect back to Rect, in the common namespace

Only Rect is in the namespace for now; the rest of common should be added in the future

  • CMakeLists: Fixed GLEW include var name, compile flag vars

After adding FindGLEW.cmake to externals, the variable call for the GLEW include path needed to be revised. Append flags on OSX, rather than overwrite them. I realized that GCC_COMPILE_FLAGS was changed to CMAKE_CXX_FLAGS mistakenly, so both were changed to a more platform-independent name.

  • Improved clarity and whitespace

Changed QGL version to 3,2 in order to be less restrictive, yet it should still change up to 4,1 on OSX on Qt5.

  • CMakeLists: rename HEADS, improved comments

Changes for clarity of comments, removed redundant compiler flags.

  • Indent fixes

May 19, 2014Edit

  • Merge pull request #13 from archshift/master

Use runtime arguments to specify boot filename.

  • Fixed indents
  • Check arg count before attempting to access it.
  • Use runtime arguments to specify boot filename.

May 18, 2014Edit

  • updated how we call ARM core to make things much faster

May 17, 2014Edit

  • Merge pull request #17 from bunnei/arm-vfp

ARM VFP support - integrated from SkyEye

  • same fix as last commit - just for vfpsingle.cpp
  • another VFP fix for GCC
  • fixed VFP DBG log for GCC
  • fixed typo in CMakeLists.txt
  • - reenabled MCR and MRC functions now that VFP is attached
  • - removed HLE::CallMCR function (was pointless)
  • - removed unused stubbed out code
  • - fixed some compiler issues with xscale_copro when porting code to Windows
  • - fixed some #include's
  • added maverick.cpp to ARM core from skyeye
  • fixed includes
  • enabled CP_ACCESS_ALLOWED
  • fixed include path
  • removed undefined function ARMul_ConsolePrint
  • added missing armcopro from skyeye
  • added missing skyeye mmu code
  • fixed armmmu imports
  • - moved mmu to arm/interpreter folder
  • - added initial VFP code from skyeye

May 16, 2014Edit

  • - added SVC stubs for QueryMemory and GetThreadId
  • - added SVC structs MemoryInfo and PageInfo
  • added memory mapped region for system mem - sdk demos load a segment here on ELF load
  • added ability to load AXF files (same as ELF)
  • completely gutted/refactored threading code to be simpler
  • changed "UID" to "Handle" to be a little more consistent with CTR naming
  • - added ThreadContext struct
  • - cleaned up CreateThread svc
  • added ThreadQueueList class to common (taken from PPSSPP)
  • - added helper function for __KernelCreateThread
  • - added __KernelSwitchToThread for enabling a thread
  • - added __KernelRotateThreadReadyQueue
  • changed primary thread priority to 0x30 - this is typical, not 0x31
  • added function stubs for EatCycles and ReSchedule
  • fixed thread reset to not set stack address
  • various cleanups / remove unused code
  • added a bunch of threading code, recycled from PPSSPP, with lots of hacks in for 3DS... doesn't really do much yet. Just a jumping off point
  • changed loader to use __KernelLoadExec
  • added CreateThread, CreateMutex, and ReleaseMutex SVC stubs (just parameter decoding for now)
  • - added __KernelLoadExec function
  • - fixed some logging

May 9, 2014Edit

  • Merge pull request #15 from bunnei/hle-services
  • Various fixes/improvements to HLE of 3DS services, mostly cleans up GSP call decoding
  • removed unknown fields from GX_CmdBufferHeader
  • removed incorrect dolphin copyright line

May 8, 2014Edit

  • fixed include of common in bit_field.h
  • logger fix for linux
  • removed unnecessary log message
  • - removed HLE mem "hack" and replaced with kernel mem region
  • - added a helper function for getting command buffer for services
  • - fixed bug where GSP DMA was incorrectly being done in DataSynchronizationBarrier (instead of gsp_TriggerCmdReqQueue)
  • added kernel memory to mem_map
  • added GSP to loggers
  • added BitField to common
  • - added debug logging to syscall.cpp
  • - added stubbed HLE syscall functions for svc_GetResourceLimit and svc_GetResourceLimitCurrentValues
  • added mem_map read for config_mem
  • added config_mem module for HLE of firmware configuration memory settings
  • - disable strict alignment on LDRD/STRD
  • - handle RD in STREX/STREXB
  • - added better SVC logging
  • - added stubs for GetResourceLimit and GetResourceLimitCurrentValues SVCs
  • commented out useless debug logs that just spammed console

May 1, 2014Edit

  • fixed a bug where ExeFs code was being incorrectly masked
  • added virtual memory map for ExeFS (where ARM11 code is supposed to be loaded)
  • reorganized memory regions enum, added regions for ExeFS code

April 29, 2014Edit

  • added FAQ link to README.md
  • fixed build image in README.md to link to Travis CI page
  • added Travis CI build indicator to README.md
  • Merge pull request #5 from cpp3ds/master
  • Travis CI script

April 28, 2014Edit

  • added virtual address conversion for firmware FW0B
  • fix for issue Linux build #9, not sure why this is broken but its unused code I'm just getting rid of it
  • Merge branch 'hle-interface-updates'
  • removed DISALLOW_COPY_AND_ASSIGN in favor of NonCopyable class
  • fixed weird spacing
  • removed commented out line - this was for an unimplemented MRC call, no longer need to leave this here
  • fixed renderer to use correct framebuffer location
  • hackish but working way to set the framebuffer location to VRAM (used in ARM11 demos tested thus far, e.g. yeti3DS)
  • added helper functions to mem_map to convert physical addresses to virtual addresses
  • added code to LCD modules keep track of framebuffer location in FCRAM or VRAM

April 26, 2014Edit

  • Merge pull request #4 from cpp3ds/master
  • Resolved undefined Common::g_scm_branch error.
  • Fixed CMake's import of GLFW.
  • Resolved undefined Common::g_scm_branch error.

April 25, 2014Edit

  • removed "COVERAGE_" from "GCC_COVERAGE_COMPILE_FLAGS"
  • Update README.md
  • made qt window title consistent
  • fixes to scm_rev generation to make it conistent with windows build
  • updated windows scm_rev code to use new style
  • added scm rev generation on Linux/cmake
  • fixes to build on linux
  • removed duplicate rotl/rotr functions
  • updated CMakeLists for missing files
  • Re-enable toggling window mode.
  • Add a quick way to load Launcher.dat files
  • fixed order of LogManager and System init
  • fixed GL context acquire (applies to Qt GUI only)
  • fixed VSProps for Qt DLL copy
  • Ignore scm_rev.h and auto copy Qt dlls to bin folder on build.

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.