Commit graph

101 commits

Author SHA1 Message Date
gdkchan
b4a1cfde10 Add SMULL (vector), USHR (scalar), FCCMPE, FNMSUB, fixed a some instructions 2018-02-20 14:39:03 -03:00
Ezekiel Bethel
01b7538560 Lots of FS HLE fixes and implementation of missing functions/objects. (#24)
* Initial pass - fixes IFileSystem OpenFile, implements IFileSystem CreateFile/DeleteFile, fixes IFile Read and implements IFile GetSize/SetSize

* Implement IFileSystem Directory* methods, as well as RenameFile. Add IDirectory, and implement its Read and GetEntryCount methods.

* missing TODO

* hey, this is kinda bad

* Update IDirectory.cs

Fixed :)

* Some cleanups to IDirectory, fix for OpenDirectory on a non-existent directory.

* Item -> Index

* This should work.

* Update IDirectory.cs

Marshalling version
2018-02-20 08:03:04 -03:00
Kurt
068f9bff2e Misc language usage simplifications (#26)
un-nest some logic
add some xmldoc
simplify ini parse
2018-02-20 07:54:00 -03:00
Merry
dff28df84e Resize display to window size (#27) 2018-02-20 07:52:35 -03:00
Merry
1039797c30 Implement Zip1, Zip2 (#25) 2018-02-20 07:41:55 -03:00
gdkchan
770cb4b655 Somewhat better scheduler I guess 2018-02-19 16:37:13 -03:00
gdkchan
f35d286c8d Rename ARegisters to AThreadState 2018-02-18 16:28:07 -03:00
gdkchan
5a0396efaf Minor cpu fixes 2018-02-18 16:01:21 -03:00
gdkchan
3872ae034d Add MLS (vector) instruction, fix mistake introduced on last commit 2018-02-18 02:13:42 -03:00
gdkchan
1c44d9f66d Fix for some SIMD issues 2018-02-18 01:57:33 -03:00
Ac_K
f469b968a8 HID Implementation (#20)
* Basic HID Implementation

* Basic HID Implementation in Config

* HID Corrections

* HID Corrections 2
2018-02-17 20:54:19 -03:00
gdkchan
595e7ee588 Add FCVTAS and FCVTAU instructions 2018-02-17 18:59:37 -03:00
gdkchan
ebddc40550 Add events to shared memory, make it work better with direct memory 2018-02-17 18:36:08 -03:00
gdkchan
161193e113 CPU refactoring - move SIMD (scalar and vector) instructions to separate files by category, remove AILConv and use only the methods inside SIMD helper to extract/insert vector elements 2018-02-17 18:06:11 -03:00
Ac_K
b3e47b5712 Update new informations in IAudioOut (#19)
* Update new informations in IAudioOut

* Update IAudioOut.cs
2018-02-15 23:19:29 -03:00
Merry
1bfe6a9c22 Add some tests (#18)
* Add tests

* Add some simple Alu instruction tests

* travis: Run tests

* CpuTest: Add TearDown
2018-02-15 21:04:38 -03:00
Cristian Carlesso
1df2c5ce7f Gracefully close the app on exit (#12)
* Gracefully close the app on exit

* Application tear down

instead of calling Environment.Exit(0); do a better tear down of the application
2018-02-15 09:16:16 -03:00
gdkchan
be1d01bf7d Shouldn't have undone this 2018-02-15 01:35:44 -03:00
gdkchan
7c314eadcf Emit CIL directly for more SIMD instructions, add UCVTF (vector, scalar) and UZP2, fix XTN (?) 2018-02-15 01:32:25 -03:00
Merry
7c4346685c AInstEmitAluHelper: Simplify EmitAddsVCheck (#14) 2018-02-14 19:01:36 -03:00
Merry
7791e1fe36 AInstEmitAluHelper: Simplify EmitSubsCCheck (#15) 2018-02-14 19:01:21 -03:00
gdkchan
7ed1153062 Add SHRN instruction, and fix ADDV 2018-02-14 02:43:21 -03:00
gdkchan
f68696dc4a Made initial implementation of the thread scheduler, refactor Svc to avoid passing many arguments 2018-02-13 23:43:08 -03:00
gdkchan
7d11a146c0 Generate CIL for SCVTF (vector), add undefined encodings for some instructions 2018-02-12 00:37:20 -03:00
Stary 2001
2f2b60db4c Make HSessionObj implement IDisposable (#10)
* Make HSessionObj implement IDisposable, so that objects that have handles created to them are disposed when the handles are closed.

* Spelling fix: GenertateObjectId -> GenerateObjectId
2018-02-10 15:31:40 -03:00
gdkchan
55743c0cba Only throw undefined instruction exception at execution, not at translation stage 2018-02-10 14:20:46 -03:00
gdkchan
9f612682e0 Add BRK on the opcode table 2018-02-10 12:16:48 -03:00
gdkchan
9063766ed6 Add BRK instruction, fix wrong namespace on one of Am interfaces, and disable Debug/Trace logs by default 2018-02-10 10:24:16 -03:00
gdkchan
276f9f6d48 Completely remove static methods inside Ipc interfaces, also remove GetObject method from ServiceCtx as it is no longer needed with this change 2018-02-09 23:31:26 -03:00
gdkchan
3d0b4d345f Fix bad rename 2018-02-09 21:23:16 -03:00
gdkchan
322f28668d
Ipc refactor (#9)
* Start refactoring IPC objects (started with IFile and IFileSystem)

* End refactoring IPC objects (#8)

* End refactoring IPC objects

* End refactoring IPC objects

corrections
2018-02-09 21:14:55 -03:00
gdkchan
7f4a190665 Fixes to memory management 2018-02-09 21:13:18 -03:00
gdkchan
ccc9ce1908 Move a few more SIMD instructions to emit CIL directly instead of a method call 2018-02-09 17:14:47 -03:00
Ac_K
12e263f8b2 Logging Improvements (#7)
* Logging Improvements

Add Trace functions to SVC.
Add function to get the function name who called.
2018-02-09 16:39:50 -03:00
gdkchan
6a3aa6cd88 Add FVCTZS (fixed point variant) and LD1 (single structure variant) instructions 2018-02-09 00:26:20 -03:00
Ac_K
ebbccfcdbf config bugfix (#6)
Include Ryujinx.conf file to the build folder.
Fix the Ryujinx.conf filepath.
2018-02-09 00:23:20 -03:00
Ac_K
5ecfb5c657 Add internal Config support (#5)
* Add internal Logging support

Add class Logging.
Replace all Console.WriteLine() to looks better.
Add informations inside Windows Titles.

* Revert "Add internal Logging support"

This reverts commit 275d363aaf.

* Add internal Logging support

Add Logging Class.
Replace all Console.WriteLine() to looks better.
Add debug informations of IpcMessage.
Add informations inside Windows Titles.

* Add internal Logging support2

Add Logging Class.
Replace all Console.WriteLine() to looks better.
Add debug informations of IpcMessage.
Add informations inside Windows Titles.

* Add internal Config support

Add Config Class.
Add Ryujinx.conf file (Ini file).
Use the Config Class inside Logging.

* Add internal Config support

Add Config Class.
Add Ryujinx.conf file (Ini file).
Use the Config Class inside Logging.
2018-02-08 23:47:32 -03:00
Ac_K
aba75186e9 Copy Paste mistake (#4)
Logging.Warn instead of Logging.Warning
2018-02-08 21:51:13 -03:00
Ac_K
9e8f02b66d Add internal Logging support (#3)
* Add internal Logging support

Add class Logging.
Replace all Console.WriteLine() to looks better.
Add informations inside Windows Titles.

* Revert "Add internal Logging support"

This reverts commit 275d363aaf.

* Add internal Logging support

Add Logging Class.
Replace all Console.WriteLine() to looks better.
Add debug informations of IpcMessage.
Add informations inside Windows Titles.

* Add internal Logging support2

Add Logging Class.
Replace all Console.WriteLine() to looks better.
Add debug informations of IpcMessage.
Add informations inside Windows Titles.
2018-02-08 21:43:22 -03:00
gdkchan
ae91da5b60
Merge pull request #2 from gdkchan/direct_memory
Removed parts of the MMU functionality to use memory directly (faster…
2018-02-08 20:20:01 -03:00
AcK77
44a87bc78e Basic audio support2 2018-02-08 18:20:07 +01:00
AcK77
9f2aea4059 Basic audio support
Implement IAudioOut.
Small corrections on AudIAudioRenderer.
Add glitched audio playback support through OpenAL.
2018-02-08 17:52:02 +01:00
gdkchan
64d34f2882 Fix a copy-paste bug on Ins_V 2018-02-07 21:53:23 -03:00
gdkchan
d0954564cd Add ADC and SBC instructions 2018-02-07 20:46:36 -03:00
gdkchan
79f028e410 Add FMADD and FMSUB instructions 2018-02-07 20:07:16 -03:00
gdkchan
768b573772 Add FMOV (scalar, register) and FCMPE instructions 2018-02-07 19:43:52 -03:00
gdkchan
18ac1c4045 Removed parts of the MMU functionality to use memory directly (faster, but potentially more dangerous, WIP), also changed the Shl/Sshr immediate instructions to use IL instead of calling the method 2018-02-07 13:44:48 -03:00
gdkchan
d77d691381 Implement SSHL instruction, fix exception on FMAX/FMIN, and use a better exception message for undefined/unimplemented instructions 2018-02-07 09:38:43 -03:00
gdkchan
b99e808791 Support loading NSO/NRO without a MOD0 header, stub some functions, support more ids on SvcGetInfo 2018-02-06 20:28:32 -03:00
gdkchan
2347c44bbf Improve access to system registers by using properties, also use exclusive region granularity on exclusive load/stores, and ensure that acquires without releases won't hold the address forever, remove unused ALU rev method 2018-02-06 12:15:08 -03:00
gdkchan
b7e1d9930d aloha 2018-02-04 20:08:20 -03:00