Project64 Roadmap



here is my rough list I had down for my self, this the starting point of the road map (in no particular order).

* D3d version of glide64 (this is actually using a library Angle as a DX wrapper around OGL es)

* General Improvements to glide64

* CFB improvements to glide64

* Redo the website here

* Create test roms.

* Improve Cycle Accuracy

* Add netplay

* Low Level emulation

* Improve speed and stability on android

* Refactor/Clean up RSP

* 100% open source

* Native 64bit version





Some more detail about some of the items

* Angle (D3d) Glide.

At the moment glide goes glide->OGL wrapper or Glide->OGL es wrapper. I am looking at being able to remove the OGL wrapper, so that it is glide->ogl es->d3d. I know this puts another layer in but it removes a massive amount of duplicated code and another code path. Once this is working the next step is to strip all things related to glide out. So it will be a open gl es direct (which will work for android directly) with Angle wrapping it to d3d.

* CFB/General improvements to glide64

mostly cleaning it up more, fix bug, get CFB effects working better, the lle version will help with this

* Test Roms

These will be sort of like unit tests, making sure the emu is exact. I will be creating them so I can run and validate them on real n64 hardware. It will part research & development, part validation. Things like what is Round(0.5) on the n64, I do not know what the results are.

* Cycle Accuracy

Project64 was always designed to be cycle accurate, I just never had the time to research it on the n64 to get the correct timings, it was ignored since it worked well enough. I would like to get it to be 100% cycle accurate. (this is related to the test roms)

* Low Level emulation

I want as an option to be able to have pixel accurate gfx, while it will be to slow for general use it give great ability for testing and to make sure things are accurate. It also makes it easier to reverse some of the ucode (factor 5) that do not work correctly in hle

* The RSP plugin

It works well, but the code was written a long time ago, never well optimized for gfx lle. Does not make use of latter CPU features like SSE3, not portable to other CPUs, does not have a sync cpu, etc

* 100 % Open source

It has a video and audio plugin that are still closed source, they need to be removed. Need to make sure the open source gfx plugin is good enough and have an open source audio plugin, either create my own basic one based on the android version or look at using azimers audio plugin

* 64bit version

Project64 will compile and run now in 64bit, the problem is the recompiler will not work in 64bit, so you can only use the interpter. There are poeple I know who would love to see a 100% native 64bit version. The code did get a lot cleaner to be able to make this easier to implement with the creation of the ARM recompiler.



What else would you like to see? Is there a good template of a road map people like? Any more information? One of the things that was brought up a couple of times when I started to talk about Project64 on Pateron ( http://www.patreon.com/Project64 ) was the road map for Project64.here is my rough list I had down for my self, this the starting point of the road map (in no particular order).* D3d version of glide64 (this is actually using a library Angle as a DX wrapper around OGL es)* General Improvements to glide64* CFB improvements to glide64* Redo the website here* Create test roms.* Improve Cycle Accuracy* Add netplay* Low Level emulation* Improve speed and stability on android* Refactor/Clean up RSP* 100% open source* Native 64bit versionSome more detail about some of the itemsAt the moment glide goes glide->OGL wrapper or Glide->OGL es wrapper. I am looking at being able to remove the OGL wrapper, so that it is glide->ogl es->d3d. I know this puts another layer in but it removes a massive amount of duplicated code and another code path. Once this is working the next step is to strip all things related to glide out. So it will be a open gl es direct (which will work for android directly) with Angle wrapping it to d3d.mostly cleaning it up more, fix bug, get CFB effects working better, the lle version will help with thisThese will be sort of like unit tests, making sure the emu is exact. I will be creating them so I can run and validate them on real n64 hardware. It will part research & development, part validation. Things like what is Round(0.5) on the n64, I do not know what the results are.Project64 was always designed to be cycle accurate, I just never had the time to research it on the n64 to get the correct timings, it was ignored since it worked well enough. I would like to get it to be 100% cycle accurate. (this is related to the test roms)I want as an option to be able to have pixel accurate gfx, while it will be to slow for general use it give great ability for testing and to make sure things are accurate. It also makes it easier to reverse some of the ucode (factor 5) that do not work correctly in hleIt works well, but the code was written a long time ago, never well optimized for gfx lle. Does not make use of latter CPU features like SSE3, not portable to other CPUs, does not have a sync cpu, etcIt has a video and audio plugin that are still closed source, they need to be removed. Need to make sure the open source gfx plugin is good enough and have an open source audio plugin, either create my own basic one based on the android version or look at using azimers audio pluginProject64 will compile and run now in 64bit, the problem is the recompiler will not work in 64bit, so you can only use the interpter. There are poeple I know who would love to see a 100% native 64bit version. The code did get a lot cleaner to be able to make this easier to implement with the creation of the ARM recompiler.What else would you like to see? Is there a good template of a road map people like? Any more information?