Commit graph

33 commits

Author SHA1 Message Date
Bryan Perris
75d5ebebb5 Update 02-14-2024
* Mupen64Plus demo runs with LLE RDP (many rendering glitches), works well with gliden64 plugin
* Little-endian model now supported and works (required for gliden64 plugin)
* Added glideN64 plugin support (custom version only for cor64)
* Can render with HLE graphics or LLE graphics
* Some fixes for BassSharp
* Boot related fixes
* Better way to manage CSharp defines
* Memory improvements, fixes
* TLB now works
* FPU Fixes
* PIF controller basics are working now such as controller input
* Added some debug functions to the madcat rdp
* Remove hosting the test roms in the repo
* Started work on workbench scripting with IronPython
* Unit test fixes
* a snippet of IPL2 is assembled on the fly required for 6105 booting
* Other fixes, etc.
2024-02-14 16:10:34 -05:00
Bryan Perris
fa5f9d83ce Update 07-06-2021
* Major RSP fixes
* Added a VS Code workspace file
* Added a workbench UI mode for debugging purposes only (engaged via command line switch)
* UI is now based on ImGui.NET
* Added external dep of cxd4's RSP static interpreter modified for cor64 support
* Added script/program to generate some C# wrappers via CppSharp
* Added a RSP core that executes the RSP on cxd4's RSP static interpreter C plugin
* Added a RSP core that can swap between cores for debugging purposes
* Dropped SkiaSharp dependence in exchange for Veldrid/ImGui.NET
* Updated nuget deps
* Added some initial controller input support
* Started work on little-endian support as a build option (disabled, and broken)
* Core debugger improvements
* Unify memory allocation for DMEM/IMEM to support RSP plugins
* Video interface video fixes
* Minor RDP fixes
* Added new unit tests
* Fixes, cleanup, ...
2021-07-06 19:45:39 -04:00
Bryan Perris
89e51e0fcd Update 03-06-2021
* Rewrote management of the FPU state
* JIT is more broken, disabled testing against JIT
* Some video fixes
* RSP fixes
* A fix based on .NET 5 update
* Some FPU testing for half mode
2021-03-06 23:13:37 -05:00
Bryan Perris
1b99f6bbd4 Update 02-25-2021
* RSP fixes and some cleanup
* Allow the RDP override VI width
* minor RDP fixes
* minor CPU fix
* some memory logging improvements for the RSP
2021-02-25 22:05:32 -05:00
Bryan Perris
4a975aacb9 Update 02-15-2021
* Fixed a cleanup bug for child unmanaged buffers
* Some RSP interpreter cleanup
* Some DPC interface cleanup and fixes
* RDP fixes, minor refactoring
* Allow RDP textures to be dumped to files (crude support)
2021-02-15 20:57:56 -05:00
Bryan Perris
8efdcee01c Update 01-31-2021
* Added more test roms
* Switched to using unmanaged memory instead of pinned buffers, CLR no longer randomly crashes
* Boot fixes
* RDP fixes
* RSP fixes
* Memory can read notify now
* Reworked CPU stepping for better stability
* Added support for HLE routine hooking
* DMA fixes
* Implemented TLB support
* FPU Half mode fixes
* Interrupt/Exception fixes
* SingleThreadHost now steps CPU, RSP and VI in a single thread (improves stability)
* VI timing fixes
* Other fixes and cleanup...
2021-01-31 22:21:31 -05:00
Bryan Perris
1765ba0de6 Update 01-05-2021
* SP DMA fixes
* Dummy RDP fixes
* Test fixes
* Other small changes....
2021-01-05 20:49:38 -05:00
Bryan Perris
22fc5e4668 Update 01-03-2021
* DMA fixes
* Interpreter core fixes
* RDP fixes
* Partial implementation for the serial controller
* Video interface improvements
* other small changes...
2021-01-03 21:07:45 -05:00
Bryan Perris
cd8a619820 Update 12-30-2020
* Initial value fixes
* Some debug cleanup/improvements
* DMA fixes for the RSP, PI and RDP
* Support some unused memory sections
* RSP disassembly reflects correct register names when RSP writes to SP regs
* Some trace log improvements and fixes
* RCP interface fixes
* Fixes related to exception management
* Mips timer fixes
* RSP signal bits now supported
* Implemented the audio interface (no audio output yet)
* small SI fix
* Cop0 fixes
* RDP fixes
* RSP instructions can be captured and dumped at the DMA layer (if uncommented)
* Update directory of test roms
* other fixes and changes...
2020-12-30 23:18:58 -05:00
Bryan Perris
cf0345eb74 Update 11-28-2020
* Now targetting dotnet 5
* Updated deps
* Lots of fixes relating to interrupts
* Mupen64 rom is closer to fully running (CPU is now sending data to the RSP)
* Support the RSP reading RDP registers
* Tracelog fixes
* fixes for JALR
* Interpreter cleanup
* Some improved management of the branch unit
* Status register fixes
* PI now supports its DMA related interrupt
* Some work done for the serial controller
* Mask out possible sign bits for the first data packet in RDP display lists
* and more...
2020-11-28 22:45:46 -05:00
Bryan Perris
f740b9448c Update 11-01-2020
* Implemented a software based RDP based on AngryLion sources (passes krom tests, but has not been tested against a 3D ucode)
* Switched build system to Nuke.Build
* Updated paket.exe
* Assembler fixes
* New RDP tests
* Some test fixes
* Tracelog improvements (eg: support interrupts)
* Interrupt fixes
* Memory controller fixes
* Implemented RSP -> RDP IPC
* Disassembler fixes
* Recompiler fixes
* Some thread management improvements
* For now, force the CPU thread to wait on RSP task completion
* Improved handling of 16-bit framebuffer colors
* Started a project to let RDP display lists directly be executed and displayed
* and more...
2020-11-01 17:56:17 -05:00
bperris
4ba41661f1
Update README.md 2020-05-17 22:22:51 -04:00
Bryan Perris
a5abf8e804 Update 05-17-2020
* Implemented RSP Interpreter
* Lots of fixes and improvements for the trace log
* Assembler resource updates
* New RSP Tests
* Updated paket.exe
* Removed Avalonia UI stuff
* Assembler fixes, generated symbols are now supported in the disassembler
* Memory fixes and improvements
* CPU fixes, interrupt related fixes
* GLFW related fixes
* Other fixes and improvements
2020-05-17 22:15:47 -04:00
Bryan Perris
7adf210e03 Update 11-17-2019
* Moved to the DotNet Core platform
* ByteSwapping can be toggled as an experimental option (can break things)
* Started work on supporting the RCP core
* Started some development on UI support via Avalonia
* Moved framebuffer graphics to using OpenGL via the GLFW library
* Some assembler fixes
* Gulp is now used as the main build system
* Added rest of N64 test roms
* Pulled in updates from PeterLemon N64 repo
* Ditched the C FPU implementation in place for future support of using SSE
* Lots of refactoring and cleanup
* No longer track an alignment flag, instead, all memory access is assumed to be aligned
* Some fixes  made required for DotNet Core compatibility
* Added more tests
* Some log related fixes
2019-11-17 22:03:16 -05:00
Bryan Perris
92bb492f35 Update 10-05-2019
* Rewritten the IL Recompiler, it now recompiles most instructions and supports interrupt handling, better performance
* Moved to using paket as the main dependency manager
* Moved unit testing to the NUnit framework for improved support and testing
* Many core fixes and improvements
* Added a faster memory access system, the safer version still can still be swapped in
2019-10-05 14:09:08 -04:00
Bryan Perris
ae79ddfa8a Update 09-06-2019
* Interrupts are properly handled now
* Timer event is supported now but probably not kept in sync
* Some register fixes
2019-09-06 19:46:51 -04:00
Bryan Perris
ef90f6a58d Update 09-05-2019
* Fixed framebuffer math
* Fixes for BitFiddler class
* Interrupts are working now, exception handlers are now executed
* The framebuffer window now fires off VI interrupt
* MIPS fixes
2019-09-06 09:42:21 -04:00
Bryan Perris
0d521a0431 Update 09-02-2019
* Improved video interface logic
* Fixed left and right modes for load/store instructions
* Fixed branch likely bug
* Fixed osMemSize being reported as 0
* Added support of loading debug symbols from ELF files into disassembly
* Fixed a lot of bugs in the trace logger
* Log improvements
* Started work on a GUI based debugger
* Improved interactive debugging from the console
* Started work on a web based interface for the emulator (very incomplete)
* Improved the layout of the dumped state in console
* Stack trace is dumped but needs some fixing
* Lots of code refactoring and fixing
* Lots of memory related fixes
* Some bootloader related fixes
* More test roms added
2019-09-02 21:46:16 -04:00
Bryan Perris
8e3c35c5d7 Update 05-17-2019
Added MIPS profiler
Started work on Cause register and FCR
Simplified the MIPS core state and move other things into it
Added more unit tests
Now registers containing fields use BitFiddler, this fixes some register bugs and make code more readable.
Cleanup and refactor
Cleaned up the ignore file
Updated some nuget packages
2019-05-17 13:36:47 -04:00
bryanperris
4a424ffc8c Type name fix 2019-03-31 20:35:52 -04:00
bryanperris
4043cd97a6 A fix for the solution file. 2019-03-31 00:25:26 -04:00
bryanperris
6fce5f2978 Update 04-30-2019
List of changes:
- FPU is now supported in the interpreter
- IL Recompiler fallbacks for FPU for now
- Cleaned up console output
- Added a C based FPU implementation for references
- A lot of clean-up and fixes
- Added FPU test roms
- Fixed video upscaling
- NuGet package updates
- Fixed some operand decoding
- Fixed names of FPR registers
- Added some FPU unit tests, still missing tests on some opcodes
- Fixed parsing cartridge title string
2019-03-30 21:41:55 -04:00
Bryan Perris
55d59a8e35 updated README.md 2019-03-12 21:08:13 -04:00
bryanperris
9c79702c29 README.md update 2019-02-27 22:43:30 -05:00
Bryan Perris
6879c5e4f3
Update README.md 2019-02-16 18:14:09 -05:00
Bryan Perris
3c7b55393c
Update README.md 2019-02-16 18:13:33 -05:00
Bryan Perris
ece99e6f80
Update README.md 2019-02-16 17:24:36 -05:00
Bryan Perris
7d097e79b4
Update README.md 2019-02-16 17:24:11 -05:00
Bryan Perris
b3fa93176f
Update README.md 2019-02-15 22:12:39 -05:00
bryanperris
d1442ede83 test screenshot 2019-02-15 22:11:32 -05:00
Bryan Perris
d600746fe5
Update issue templates 2019-02-15 22:04:20 -05:00
bryanperris
9c386cce82 initial commit 2019-02-15 22:02:56 -05:00
Bryan Perris
14ef65efea
Initial commit 2019-01-08 14:07:01 -05:00