| Age | Commit message (Collapse) | Author |
|
compatibility with existing .romfs system archive dumps
|
|
|
|
|
|
Services/UDS: Handle the rest of the connection sequence.
|
|
Implement PrepareToStartNewestHomeMenu and fixed an APT regression.
|
|
Kernel/Threads: When putting a thread to wait, specify a function to execute when it is awoken
|
|
|
|
Loaders: Don't automatically set the current process every time we load an application.
|
|
when it is awoken.
This change makes for a clearer (less confusing) path of execution in the scheduler, now the code to execute when a thread awakes is closer to the code that puts the thread to sleep (WaitSynch1, WaitSynchN). It also allows us to implement the special wake up behavior of ReplyAndReceive without hacking up WaitObject::WakeupAllWaitingThreads.
If savestates are desired in the future, we can change this implementation to one similar to the CoreTiming event system, where we first register the callback functions at startup and assign their identifiers to the Thread callback variable instead of directly assigning a lambda to the wake up callback variable.
|
|
application.
The loaders will now just create a Kernel::Process, construct it and return it to the caller, which is responsible for setting it as the current process and configuring the global page table.
|
|
Memory/RasterizerCache: Ignore unmapped memory regions when caching physical regions
|
|
creating it.
Don't automatically assume that Thread::Create will only be called when the parent process is currently scheduled. This assumption will be broken when applets or system modules are loaded.
|
|
parameter.
There is still an overload of IsValidVirtualAddress that only takes the VAddr and will default to the current process.
|
|
regions.
Not all physical regions need to be mapped into the address space of every process, for example, system modules do not have a VRAM mapping.
This fixes a crash when loading applets and system modules.
|
|
archive independently.
The loaders now register each loaded ROM with the SelfNCCH factory, which keeps the data around for the duration of the emulation session.
When opening the SelfNCCH archive, the factory queries the current program's programid and uses that as a key to the map that contains the NCCHData structure (RomFS, Icon, Banner, etc).
3dsx files do not have a programid and will use a default of 0 for this value, thus, only 1 3dsx file with RomFS is loadable at the same time.
|
|
Switchable Page Tables
|
|
HLE/SRV: Implemented RegisterService.
|
|
* loader/ncch: split NCCH parsing into its own file
* loader/ncch: add support for loading update NCCHs from the SD card
* loader/ncch: fix formatting
* file_sys/ncch_container: Return a value for OpenFile
* loader/ncch: cleanup, always instantiate overlay_ncch to base_ncch
* file_sys/ncch_container: better encryption checks, allow non-app NCCHs to load properly and for the existence of NCCH structures to be checked
* file_sys/ncch_container: pass filepath as a const reference
|
|
* Services/UDS: Added a function to generate the EAPoL-Start packet body.
* Services/UDS: Added filter for beacons.
* Services/UDS: Lock a mutex when accessing connection_status from both the emulation and network thread.
* Services/UDS: Handle the Association Response frame and respond with the EAPoL-Start frame.
* fixup: make use of current_node, changed received_beacons into a list, mutex and assert corrections
* fixup: fix damn clang-format
|
|
|
|
|
|
Don't expose Memory::current_page_table as a global.
|
|
the Home Menu doesn't try to reboot the system.
As per 3dbrew:
"During Home Menu start-up it uses APT:PrepareToStartNewestHomeMenu. If that doesn't return an error(normally NS returns 0xC8A0CFFC for that), Home Menu starts a hardware reboot with APT:StartNewestHomeMenu etc. "
|
|
We need to know what is being run so we can set the APT parameter destination AppId correctly.
Delaying the preparation of the parameter until we know which AppId is running lets us support booting both the Home Menu and normal game Applications.
|
|
Now system modules can do more than just crash immediately on startup.
|
|
* WebService: Verify username and token; Log errors in PostJson
* Fixup: added docstrings to the functions
* Webservice: Added Icons to the verification, imrpved error detection in cpr, fixup nits
* fixup: fmt warning
|
|
Services/NS: Port ns:s to the new service framework.
|
|
|
|
Kernel/Memory: Give each process its own page table and allow switching the current page table upon reschedule
|
|
supports switching page tables at runtime.
|
|
process' virtual memory mapping.
|
|
context switch from an idle thread into a thread in the same process.
We were unnecessarily clearing the cache when going from Process A -> Idle -> Process A, this caused extreme performance regressions.
|
|
current process' page table to obtain a pointer.
|
|
APT: load different shared font depending on the region
|
|
|
|
The loader is in charge of setting the newly created process's page table as the main one during the loading process.
|
|
Services/UDS: Handle beacon frames and the basic AP connection sequence frames.
|
|
|
|
|
|
|
|
Refactor touch input into a TouchDevice
|
|
Use recursive_mutex instead of mutex to fix #2902
|
|
|
|
|
|
There is currently no stage tracking, a client is considered "Connected" when it receives the EAPoL Logoff packet from the server, this is not yet implemented.
|
|
is called, up to 15 beacons at the same time, removing any older beacon frames when the limit is exceeded.
|
|
|
|
|
|
|
|
|