Comments (2)
Thanks for reaching us.
libdragon is using a novel architecture for RSP programming which has nothing to do with commercial microcodes. We have a RSP framework called rspq, upon which our ucodes are written, which allows for lockless scheduling of single commands, continuous non-batched parallel execution, and transparent RSP overlay management.
For 3D graphics, we have a full OpenGL 1.1/1.2 implementation in the unstable branch, with a totally "from scratch" ucode. More information can be found here:
https://github.com/DragonMinded/libdragon/wiki/OpenGL-on-N64
The RSP code powering the OpenGL implementation can be read here:
https://github.com/DragonMinded/libdragon/tree/unstable/src/GL
(see the various files starting with rsp_
).
Our microcode is already more advanced than F3DEX2 in some regards (eg: lighting on vertex colors), though in general it is not quite as optimized yet. We also develop iteratively on it, we don't have the issue of "fixing a release", because the ucode API is not part of the public API surface.
In addition to all of the above, the goal of libdragon is to provide a 100% open source and legal framework to develop on Nintendo 64. To the best of my understanding, F3DEX3 is derived from Nintendo proprietary code, it is thus unlicensed and unlicensable, and as such it cannot be legally used. This alone sets it outside of the scope of libdragon.
from libdragon.
Ah, that makes sense. Thank you for the detailed explanation, rspq sounds like an fascinating approach!
Best of luck with this project, excited to see how this progresses in the future!
from libdragon.
Related Issues (20)
- Hello world HOT 1
- Can't draw sprite with rdp unless drawing in software first HOT 2
- ARM platforms not supported in the Dockerfiles on GHCR HOT 3
- [preview] RSP crash (?) with an extremely simple rom using rdpq
- [preview] rdpq validator validates tile for tex0 even if the combiner does not use it HOT 1
- [preview] new joypad library does not work on iQue HOT 1
- [preview] emit an assert when using Opus on a mixer channel not ready for 48 Khz HOT 1
- Add an assertion when using old-school sprite loading with compressed sprites HOT 1
- [preview] regression in mixer causes audio playback issues with XM64 HOT 1
- stat() doesn't work on directories HOT 1
- argument 1 value ‘18446744073709551611’ exceeds maximum object size 9223372036854775807 HOT 1
- Reading directory contents from sdcard on flash cartdrige HOT 4
- identify_accessory() identifies controller pak as rumble pak HOT 6
- Random Crashes / corruptions when using simple ucode
- Backtrace broken in case exception is triggered in tail call
- Missing examples (good first issue!) HOT 2
- rdpq_sprite_blit crop doesn't work with flipping
- PAL50 resolutions are letterboxed
- Improve FatFs speed by merging wf-fatfs changes
- Disable rumble pak on reset/crash HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libdragon.