Search found 692 matches
- Sat Dec 30, 2017 12:35 pm
- Forum: RCP
- Topic: How To Triangle
- Replies: 6
- Views: 16618
Re: How To Triangle
So, thanks to this documentation and krom's invaluable help in creating C version of this, I was able to write a ucode that does ALL triangle calculations in the RSP. The ucode will then build the triangle command and send it to the RSP over the XBUS. The library and ucode that do this are still ver...
- Sat Jul 01, 2017 9:59 am
- Forum: Development
- Topic: Notes on development of the next CEN64 core.
- Replies: 34
- Views: 62483
Re: Notes on development of the next CEN64 core.
The language looks LISP-y, it's not actually LISP. The reason why the language looks like that is because it's trivial to lex and parse: https://git.cen64.com/?p=cen64.git;a=blob;f=compiler/parser.c;h=2e79665d0e164be886f3bea3517188a8df37d7fd;hb=HEAD The entirety of the language is currently parsed b...
- Sun May 07, 2017 10:20 am
- Forum: Bugs/Issues
- Topic: Are the recent 2017 Windows builds broken? Or is AVX now required or something?
- Replies: 7
- Views: 486923
Re: Are the recent 2017 Windows builds broken? Or is AVX now required or something?
The Windows builds were broken in 8d0e7bb627b91f4d592ebd2a7e3d87cf580cdb32 pi: add support for IS Viewer 64 When -is-viewer is passed on the command line, create an IS Viewer object that intercepts writes at 0x13FF0000. This is used by Ocarina of Time Master Quest Debug to log debug messages. The me...
- Wed Apr 26, 2017 10:48 pm
- Forum: Development
- Topic: Notes on development of the next CEN64 core.
- Replies: 34
- Views: 62483
Re: Notes on development of the next CEN64 core.
It is pretty similar in many respects, yes.
But instead of making the execution slower in favor of a dynamic language, it will (hopefully) make the execution faster using some horribly designed syntax.

But instead of making the execution slower in favor of a dynamic language, it will (hopefully) make the execution faster using some horribly designed syntax.


- Sat Apr 22, 2017 8:57 pm
- Forum: Development
- Topic: Notes on development of the next CEN64 core.
- Replies: 34
- Views: 62483
Re: Notes on development of the next CEN64 core.
(defun none start() devar foo as i32 if (1) ( assign 1 to foo ) elseif (2) ( assign 2 to foo ) else ( assign 3 to foo ) ) assign (foo + 1) to foo --- Running pass: List build (Builds the compiler's internal block/function/object lists) Running pass: Insert nodes into ::start (Inserts entry/exit nod...
- Thu Jan 12, 2017 11:04 pm
- Forum: Open Discussion
- Topic: Is someone still alive here?
- Replies: 18
- Views: 20702
Re: Is someone still alive here?
Thanks! The new core won't be ready for a considerable amount of time... definitely get a 64drive.Snowstorm64 wrote:Congratulations on the job! But that means the CEN64's development will be put on hold, sorta of....I guess it's time to get a 64drive, for the time being.

- Sat Jan 07, 2017 11:03 am
- Forum: Open Discussion
- Topic: Is someone still alive here?
- Replies: 18
- Views: 20702
Re: Is someone still alive here?
Sorry, I'm still very much alive and well. I started a full-time job while trying to finish school, so needless to say... things have been pretty crazy. :) There won't be any changes to the current release unless they come from contributors. I have only been working on the code which I've discussed ...
- Fri Oct 21, 2016 9:13 am
- Forum: Development
- Topic: Notes on development of the next CEN64 core.
- Replies: 34
- Views: 62483
Re: Notes on development of the next CEN64 core.
Whenever I pick this up, I always end up doing something other than what I planned. Ugh. Most recently, I have bolstered the semantic analysis, which is quite boring if I don't say so myself. There is now type checking (TODO: implicit casting), improved variable parsing and handling, and more. Of co...
- Mon Oct 17, 2016 8:50 am
- Forum: Compatibility
- Topic: Compatibility on new 2016 builds
- Replies: 58
- Views: 69734
Re: Compatibility on new 2016 builds
EDIT: There's a strange bug that affects Mario Party 2...First screenshot is mupen64plus, last screenshot is CEN64. I know M64+ is HLE, but I can tell the M64+ version is correct because I own this game for the N64. Thanks. Just to be clear, it's the position of Toad that's wrong, right? Nothing el...
- Wed Oct 12, 2016 7:38 pm
- Forum: Compatibility
- Topic: Compatibility on new 2016 builds
- Replies: 58
- Views: 69734
Re: Compatibility on new 2016 builds
Huh...It seems that you're right. When did F-Zero X start to boot and work well? That started working when I implemented open bus reads a few months ago. The cart basically attempts to 'look' for the 64DD (using an address that isn't mapped, if the 64DD isn't installed). I wasn't emulating that dev...
- Tue Sep 20, 2016 11:02 am
- Forum: Open Discussion
- Topic: Recommended rig for CEN64
- Replies: 7
- Views: 12150
Re: Recommended rig for CEN64
Wait for Kaby Lake to hit the shelves. The boost clocks are a lot higher, which will help CEN64.
The i7-7700(k) will have a boost clock of 4.5GHz out of the box. You'll probably want at least a i5-7600(k) for CEN64.
The i7-7700(k) will have a boost clock of 4.5GHz out of the box. You'll probably want at least a i5-7600(k) for CEN64.
- Fri Aug 12, 2016 8:52 am
- Forum: Compatibility
- Topic: Compatibility on new 2016 builds
- Replies: 58
- Views: 69734
Re: Compatibility on new 2016 builds
World Driver Championship needs RSP synchronization, same with Gauntlet Legends. If Gauntlet doesn't work, then there's a good chance you need to change some RSP code. I doubt the current FPU bugs would cause it to not work, considering most emulators likely have some FPU bugs. I don't get how it c...
- Thu Aug 11, 2016 4:34 pm
- Forum: Compatibility
- Topic: Compatibility on new 2016 builds
- Replies: 58
- Views: 69734
Re: Compatibility on new 2016 builds
I'm fairly certain it's either not booting due to FPU bugs (which I'm aware of) or RSP synchronization issues (which I have not confirmed).
-multithread will probably break this ROM - last I checked, single threaded builds at least showed a title screen before freezing.
-multithread will probably break this ROM - last I checked, single threaded builds at least showed a title screen before freezing.
- Thu Aug 11, 2016 4:32 pm
- Forum: Downloads
- Topic: Recommended source release for compiling?
- Replies: 2
- Views: 16381
Re: Recommended source release for compiling?
Yes -- master is intended to be as a stable, "if you see bugs in here, you should report them", type of branch. Anything else is a toss up. angrylion-rdp-sse2 is an experimental branch that contains a lot of RDP threading and optimizations that you might also want to look at. Does CEN64 build fine t...
- Tue Jul 26, 2016 4:00 pm
- Forum: Development
- Topic: Anyone looking to contribute?
- Replies: 9
- Views: 11339
Re: Anyone looking to contribute?
It is possible that the performance drops down more in later releases. I have always thought that sync overhead is just going to be too much. If you had asked me if they were ever going to get this far, I would have completely disagreed. The speed issue is less due to Vulkan, and more due to the RS...
- Mon Jul 25, 2016 7:49 pm
- Forum: Development
- Topic: Anyone looking to contribute?
- Replies: 9
- Views: 11339
Re: Anyone looking to contribute?
Is Angrylion not supposed to be C code? And why not rely on the retro arch port using Vulkan? I'm just wondering. angrylion uses C, I think. But for a codebase this small, it's easy to flip it to C++. TBH, I don't have any graphics drivers that support Vulkan. :) If it's at all possible to do RDP o...
- Mon Jul 25, 2016 3:12 pm
- Forum: Development
- Topic: Anyone looking to contribute?
- Replies: 9
- Views: 11339
Re: Anyone looking to contribute?
Mostly just putting out a feeler to see if anyone is interested in doing angrylion RDP optimizations.
Though, when I tried to compile CEN64 with a C++ compiler, I was having issues...
Though, when I tried to compile CEN64 with a C++ compiler, I was having issues...

- Mon Jul 25, 2016 3:10 pm
- Forum: Open Discussion
- Topic: angrylion RDP plugin almost threaded
- Replies: 53
- Views: 59601
Re: angrylion RDP plugin almost threaded
That sounds right. master branch can still only effectively use 2 cores with multithreading. angrylion-rdp-sse branch changed it so that, effectively, 3 cores can be used. Haswell/Broadwell/Skylake also run CEN64 a lot faster (clock for clock) than their predecessors. Dolphin observed something simi...
- Mon Jul 25, 2016 7:16 am
- Forum: Open Discussion
- Topic: angrylion RDP plugin almost threaded
- Replies: 53
- Views: 59601
Re: angrylion RDP plugin almost threaded
Can someone break this down for me? I'm not super tech savvy. Does this mean CEN64 will take advantage of system with multiple cores now, and before it was only using one? I've got an 18 core machine, which each clocked around 2.3ghz. Should I expect very good performance moving forward with this u...
- Fri Jul 22, 2016 2:46 am
- Forum: Development
- Topic: Anyone looking to contribute?
- Replies: 9
- Views: 11339
Anyone looking to contribute?
I have a couple RDP optimizations that can be done for anyone that's familiar with policy-based design (C++). Your contributions aren't exclusive to CEN64 and will possibly get swept up into Retroarch and maybe other HLE plugins. If you're not familiar with policy-based design, that's OK... I'm will...
- Wed Jul 20, 2016 3:45 pm
- Forum: Development
- Topic: VR4300_BUSY_WAIT_DETECTION (Can't notice any difference)
- Replies: 12
- Views: 11051
Re: VR4300_BUSY_WAIT_DETECTION (Can't notice any difference
Negligible. Most of them are hardly ever executed.
- Wed Jul 20, 2016 12:18 am
- Forum: Development
- Topic: VR4300_BUSY_WAIT_DETECTION (Can't notice any difference)
- Replies: 12
- Views: 11051
Re: VR4300_BUSY_WAIT_DETECTION (Can't notice any difference
I had some regressions I was tackling that are preventing it from being 60VI/s all the time on a quad core system, so the latest builds have majorly regressed since I took the YouTube video. I'll try to fix it, but probably can't get around to it for a week or so.
- Mon Jul 18, 2016 3:34 pm
- Forum: Development
- Topic: VR4300_BUSY_WAIT_DETECTION (Can't notice any difference)
- Replies: 12
- Views: 11051
Re: VR4300_BUSY_WAIT_DETECTION (Can't notice any difference
As topic says. I just saw the update and wanted to try it out on Ocarina of Time, but i don't see any difference at all. As it's On by default i expect it to be working, so is the speed up only in some cases? (Maybe wrong forum to write this?) Thanks:) You are using release builds, right? I don't e...
- Sat Jul 16, 2016 2:32 pm
- Forum: Development
- Topic: Optimizing the RDP
- Replies: 28
- Views: 33894
Re: Optimizing the RDP
Have you noticed any problem with frameskipping? It looks like sometimes, games are cutting frames (i.e., SPLiT's Nacho demo). I have to compare to the console and verify.
- Sat Jul 16, 2016 12:04 pm
- Forum: RCP
- Topic: How To Triangle
- Replies: 6
- Views: 16618
Re: How To Triangle
This is probably the most through, detailed, and open documentation on how to render triangles with the RDP. Cheers. 

- Wed Jul 13, 2016 10:41 am
- Forum: Open Discussion
- Topic: New Vulkan LLE graphics plugin for libretro Mupen64Plus
- Replies: 13
- Views: 16157
Re: New Vulkan LLE graphics plugin for libretro Mupen64Plus
OK, tried to test it in Windows 10 with a GTX 770 and recent drivers... RetroArch crashes. Maybe it is not finished or there are other problems. Thats why I like Software-Only Emulators. Less problems with drivers... It's not finished yet... the clickbait blog entry by squarepusher is just to hype ...
- Wed Jul 13, 2016 8:48 am
- Forum: Open Discussion
- Topic: New Vulkan LLE graphics plugin for libretro Mupen64Plus
- Replies: 13
- Views: 16157
Re: New Vulkan LLE graphics plugin for libretro Mupen64Plus
Thanks, nice to know. I thought I had heard that they were ready for use...Matti wrote:Would like to test it but the Linux Intel Vulkan Drivers for Haswell are not functional. Even the vkcube Demo only renders a gray window... and RetroArch just crashes. Maybe Kernel 4.7 is needed.

- Wed Jul 13, 2016 7:20 am
- Forum: Compatibility
- Topic: Compatibility on new 2016 builds
- Replies: 58
- Views: 69734
Re: Compatibility on new 2016 builds
Yes, LTV and STV are still causing lighting issues in a handful of games.
- Wed Jul 13, 2016 7:18 am
- Forum: Open Discussion
- Topic: New Vulkan LLE graphics plugin for libretro Mupen64Plus
- Replies: 13
- Views: 16157
Re: New Vulkan LLE graphics plugin for libretro Mupen64Plus
Yes, [he who does not wish to be named] is an unimaginably talented developer. One correction, though: are not implementing the full pixel-accurate rendering pipeline in Vulkan; rather, just one which renders triangles the same way the RDP did. It's basically does what Glide and all these graphics p...
- Tue Jul 12, 2016 12:20 pm
- Forum: Open Discussion
- Topic: angrylion RDP plugin almost threaded
- Replies: 53
- Views: 59601
Re: angrylion RDP plugin almost threaded
I think I was only recording at 30FPSNarann wrote:I'm surprise SSMB lag so much, it was supposed to be a graphic-cheap game to actually be fast.

It's definitely running 1:1 FPS to VI/s.
- Tue Jul 12, 2016 12:47 am
- Forum: Open Discussion
- Topic: angrylion RDP plugin almost threaded
- Replies: 53
- Views: 59601
Re: angrylion RDP plugin almost threaded
I nearly stabilized this commit. There is the occasional total freeze after a few minutes of play with some games, but I'm confident that I'll be able to figure it out. I'll toss up a YouTube video in a bit. Getting 60VI/s on these titles: Goldeneye 007 Vigilante 8 Mario Tennis (on court, not in men...
- Mon Jul 11, 2016 10:17 am
- Forum: Compatibility
- Topic: Compatibility on new 2016 builds
- Replies: 58
- Views: 69734
Re: Compatibility on new 2016 builds
It's not accurate, even up to the point where the AI ("audio interface") reads the data. In HW, the CPU or RSP writes the samples to RDRAM and then tickles the AI to start periodically DMA-ing samples from RDRAM to the DAC. Here's where it gets messy: The AI is supposed to send a interrupt back to t...
- Mon Jul 11, 2016 12:31 am
- Forum: Development
- Topic: Optimizing the RDP
- Replies: 28
- Views: 33894
Re: Optimizing the RDP
07/10/2016 This is going to seem incredibly off-topic...MarathonMan, maybe I'm thinking of a completely different guy, but I thought you were a native of South America? I say this because only someone native to the US and/or it territories (and maybe Canada or Mexico) would use the M/D/Y format (AF...
- Sun Jul 10, 2016 9:15 pm
- Forum: Development
- Topic: Optimizing the RDP
- Replies: 28
- Views: 33894
Re: Optimizing the RDP
Update 07/10/2016
Thought of some more ideas today. Now 7-8% faster over master.
Thought of some more ideas today. Now 7-8% faster over master.
- Sat Jul 09, 2016 10:18 pm
- Forum: Compatibility
- Topic: Compatibility on new 2016 builds
- Replies: 58
- Views: 69734
Re: Compatibility on new 2016 builds
The sound is mostly fixed now as well.
Found more bugs today then I have in quite some time... it was quite satisfying.
Found more bugs today then I have in quite some time... it was quite satisfying.
- Mon Jul 04, 2016 7:03 pm
- Forum: Development
- Topic: Optimizing the RDP
- Replies: 28
- Views: 33894
Re: Optimizing the RDP
This one instance is not frameskip - it s related to memory and DMA timings. If I fiddle with the memory latency in CEN64, I can get DK to grab the vine.AIO wrote:Interestingly, some parts of DK64 may also have frameskip (like the part where he misses the vine on most emulators).
- Mon Jul 04, 2016 12:02 pm
- Forum: Development
- Topic: Notes on development of the next CEN64 core.
- Replies: 34
- Views: 62483
Re: Notes on development of the next CEN64 core.
N64s were made with Grade A Nintendium though...Snowstorm64 wrote:before all the N64 consoles begin to die.
http://orig06.deviantart.net/927c/f/201 ... 6879v5.png
- Mon Jul 04, 2016 8:45 am
- Forum: Development
- Topic: Notes on development of the next CEN64 core.
- Replies: 34
- Views: 62483
Re: Notes on development of the next CEN64 core.
If you root it, you can get around it I believe. That was just an example, thoughNarann wrote:It's an permissions limitation or an OS limitation? I mean, if you root it, can you do it? And if so, would you break something?

- Sun Jul 03, 2016 5:36 pm
- Forum: Development
- Topic: Notes on development of the next CEN64 core.
- Replies: 34
- Views: 62483
Re: Notes on development of the next CEN64 core.
Thank you for the kind words everyone! Basically, a cycle accurate JIT? One that could change the face of CAE (Cycle Accurate Emulation, let's create a new acronym). Yes, cycle-accuracy for all! :mrgreen: I'm not certain that it will have enough oomph for embedded use cases (at least N64 - I could s...
- Sun Jul 03, 2016 10:35 am
- Forum: Development
- Topic: Notes on development of the next CEN64 core.
- Replies: 34
- Views: 62483
Re: Notes on development of the next CEN64 core.
This sounds promising! But I wonder... what about the actual core? Can it be recycled or at least are some parts of it? It would be sad to see all this work on the actual core wasted... I'll be able reuse most of it... I just have to transcribe it into the new language. I think the idea of what I h...
- Mon Jun 27, 2016 9:41 am
- Forum: Development
- Topic: Notes on development of the next CEN64 core.
- Replies: 34
- Views: 62483
Re: Notes on development of the next CEN64 core.
A JIT cache that exists between executions is something I've thought about eventually adding as an incremental thing. In the meantime, small blobs of codes that get run several times over like the RSP ucodes, main engine and libultra code, etc. will immediately benefit without a JIT cache that lives...
- Sun Jun 26, 2016 11:26 am
- Forum: Development
- Topic: Notes on development of the next CEN64 core.
- Replies: 34
- Views: 62483
Re: Notes on development of the next CEN64 core.
I've told a few people about where I'm planning to go with the project, but I still get someone that asks me what's up every once in awhile. So, I'll just leave this here so I don't want to repeat myself. :D Most of my time lately has been working on a new concept (more on this later). In the meanti...
- Thu Jun 23, 2016 5:51 pm
- Forum: Development
- Topic: Optimizing the RDP
- Replies: 28
- Views: 33894
Re: Optimizing the RDP
That commit causes a segfault sometimes, yep.Snowstorm64 wrote:Looks like I haven't made in time to edit the message...However, is this commit you're referring to it as the cause?
- Thu Jun 23, 2016 4:38 pm
- Forum: Development
- Topic: Optimizing the RDP
- Replies: 28
- Views: 33894
Re: Optimizing the RDP
Looks a-ok to me... can you please provide more info?*Snowstorm64 wrote:But SSB64 is now broken...
EDIT: Unless it's a segfault... I know the cause of that and just caught it a bit ago myself.
- Thu Jun 23, 2016 3:33 pm
- Forum: Development
- Topic: Optimizing the RDP
- Replies: 28
- Views: 33894
Re: Optimizing the RDP
Update 06/23/2016
Looks like a movdqa alignment issue happened sometime on Linux builds? There is now a 5+% VI/s gain over master now.
Overall not very much higher perf. than last posting, but better in low VI/s areas.
Looks like a movdqa alignment issue happened sometime on Linux builds? There is now a 5+% VI/s gain over master now.
Overall not very much higher perf. than last posting, but better in low VI/s areas.
- Sun Jun 19, 2016 9:15 pm
- Forum: Development
- Topic: Optimizing the RDP
- Replies: 28
- Views: 33894
Re: Optimizing the RDP
Super Smash Bros. also seems to have gotten a nice boost, at least for me.
- Sun Jun 19, 2016 3:21 pm
- Forum: Development
- Topic: Optimizing the RDP
- Replies: 28
- Views: 33894
Re: Optimizing the RDP
This is exciting! Do you think these optimizations in the end will yield enough boost so that games can be run at 60 VI/s with the single-threaded build? I'll let you know when I'm able to use two threads to run things at 60VI/s, let alone one. ;) In all seriousness, AIO is correct. Some 2D titles ...
- Sat Jun 18, 2016 12:56 pm
- Forum: Development
- Topic: Optimizing the RDP
- Replies: 28
- Views: 33894
Optimizing the RDP
AIO has made some excellent points about optimizing the RDP. I have taken some of his algorithms and my own approaches and gotten some performance boosts that are starting to become quite convincing. With a single-threaded build, the speed up over master is about 2VI/s on my desktop at the moment. Y...
- Wed Jun 15, 2016 12:15 am
- Forum: Open Discussion
- Topic: Future state of the project
- Replies: 53
- Views: 115627
Re: Future state of the project
I implemented some of the easy pickings in texture_pipeline_cycle in CEN64 and saw about ~1VI/s improvement in OoT. The binary size has also shrunk quite a bit (> 7% for Linux SSE4.1). EDIT: oops, nevermind about the size part! I stand corrected - perhaps vectorizing the RDP will result in more perf...
- Tue Jun 14, 2016 10:19 am
- Forum: Development
- Topic: eventfd-based barrier patch (untested)
- Replies: 16
- Views: 23093
Re: eventfd-based barrier patch (untested)
Sorry for being too late, but here are the results: $ time ./eventfd_test 1000000 Real: 1,70s User: 0,71s System: 12,86s Percent: 796% Cmd: ./eventfd_test 1000000 $ time ./pthread_cond_test 1000000 Real: 4,85s User: 4,82s System: 31,41s Percent: 747% Cmd: ./pthread_cond_test 1000000 Those results s...