Search found 692 matches

by MarathonMan
Fri Jun 03, 2016 9:17 am
Forum: Compatibility
Topic: Video - [2016-04-29 multithread] Hydro Thunder runs great!
Replies: 3
Views: 2931

Re: Video - [2016-04-29 multithread] Hydro Thunder runs grea

I'm usually one for pixel-perfect preservation, but I'll admit... that does look pretty good.
by MarathonMan
Sat Apr 30, 2016 7:53 pm
Forum: Open Discussion
Topic: Ubuntu on Windows
Replies: 2
Views: 3176

Re: Ubuntu on Windows

CEN64 already has support for WinAPI...? (and X11)
by MarathonMan
Sun Apr 17, 2016 4:01 pm
Forum: Development
Topic: eventfd-based barrier patch (untested)
Replies: 16
Views: 8510

Re: eventfd-based barrier patch (untested)

It may be the case that you're profiling something that is not a hot path. In such cases, you would need a significant amount of samples to offset the variations in the data.
by MarathonMan
Sun Feb 28, 2016 9:03 pm
Forum: Open Discussion
Topic: Lost avatars and attachments
Replies: 4
Views: 4468

Re: Lost avatars and attachments

I deactivated that theme and reassigned your account to another default thread.
by MarathonMan
Tue Feb 23, 2016 11:03 pm
Forum: Compatibility
Topic: Compatibility on new 2016 builds
Replies: 58
Views: 16291

Re: Compatibility on new 2016 builds

izy wrote:
MarathonMan wrote: I also fixed some audio-related bugs
are you editing ai/controller.c? we could conflict i am also writing a patch for that file.
No - all the fixes I'm aware of are in place.

If you are talking about the OpenAL hack... I have not touched that. :D
by MarathonMan
Mon Feb 22, 2016 11:04 pm
Forum: Compatibility
Topic: Compatibility on new 2016 builds
Replies: 58
Views: 16291

Re: Compatibility on new 2016 builds

In Perfect Dark there are some issues with the Expansion pak detection: Interesting... this is something I was not aware of. I will look into it. No, it is not currently possible to disable the expansion pak. Yes, I'm aware of this. Not sure what the cause of it is... guessing something with interr...
by MarathonMan
Mon Feb 22, 2016 11:01 pm
Forum: Open Discussion
Topic: angrylion RDP plugin almost threaded
Replies: 53
Views: 15622

Re: angrylion RDP plugin almost threaded

SMT does result in lower latency and still is not good enough [if you want to sync the cores every cycle and remain 100% accurate]. Multithreading as it's implemented now only works due to the fact that I found a way to sacrifice a very small amount of accuracy for a disproportionally large amount o...
by MarathonMan
Sun Feb 21, 2016 3:34 pm
Forum: Compatibility
Topic: Compatibility on new 2016 builds
Replies: 58
Views: 16291

Re: Compatibility on new 2016 builds

Yes, I'm aware of this. Not sure what the cause of it is... guessing something with interrupts.
by MarathonMan
Wed Feb 17, 2016 3:56 am
Forum: Development
Topic: eventfd-based barrier patch (untested)
Replies: 16
Views: 8510

Re: eventfd-based barrier patch (untested)

I will look at this more closely when I'm not so tired (it's midnight here :(), but the threading barriers are not at all a bottleneck AFAIK.
by MarathonMan
Wed Feb 17, 2016 3:55 am
Forum: Open Discussion
Topic: angrylion RDP plugin almost threaded
Replies: 53
Views: 15622

Re: angrylion RDP plugin almost threaded

I think it would be quite bad still. You would need a way to effectively map the GPU's view of memory and the CPU's view of memory in the same spot.

It doesn't matter how flashy your API is, there's still a lot of latency that has to be accounted for somewhere.
by MarathonMan
Wed Feb 17, 2016 3:51 am
Forum: Open Discussion
Topic: Thinking about multi-threading...
Replies: 41
Views: 42390

Re: Thinking about multi-threading...

The problem with pthread_barrier_wait is that I'm placing an implicit dependency on pthreads. :(

I actually tried playing with barriers in place of a mutex/CV and the difference was too small to notice, so I chose the portable/simple route.
by MarathonMan
Mon Feb 08, 2016 10:54 pm
Forum: Open Discussion
Topic: angrylion RDP plugin almost threaded
Replies: 53
Views: 15622

Re: angrylion RDP plugin almost threaded

No, I haven't profiled it at all.

I can say that when I went from RCP thread + VR4300 thread to the "tri-thread" solution, the Mario head in the Super Mario 64 intro went from about 45 VI/s to ~60 VI/s. So quite a leap.
by MarathonMan
Mon Feb 08, 2016 2:04 am
Forum: Open Discussion
Topic: angrylion RDP plugin almost threaded
Replies: 53
Views: 15622

Re: angrylion RDP plugin almost threaded

I wonder if at this point we could afford a tighter sync on the various components, in order to achieve better accuracy, or not...Maybe an option to set the looseness of the sync? Yes, it is absolutely possible to tighten the sync on higher end systems. It's probably cheap to do detect and set base...
by MarathonMan
Sat Feb 06, 2016 10:12 pm
Forum: Open Discussion
Topic: angrylion RDP plugin almost threaded
Replies: 53
Views: 15622

Re: angrylion RDP plugin almost threaded

iwasaperson wrote:
MarathonMan wrote: Ah I see.

And I rescind my comment - I can debug it; I'll just have to debug it in a headless mode.

tl;dr: on the TODO list it goes.
Sounds good.
Really impressed with the spike in progress lately.
Thanks! :mrgreen:
by MarathonMan
Sat Feb 06, 2016 8:52 pm
Forum: Open Discussion
Topic: angrylion RDP plugin almost threaded
Replies: 53
Views: 15622

Re: angrylion RDP plugin almost threaded

iwasaperson wrote:Using a CRT at 93Hz with Linux (OSS Intel drivers), so that's not an option.
Ah I see.

And I rescind my comment - I can debug it; I'll just have to debug it in a headless mode.

tl;dr: on the TODO list it goes.
by MarathonMan
Sat Feb 06, 2016 8:47 pm
Forum: Open Discussion
Topic: angrylion RDP plugin almost threaded
Replies: 53
Views: 15622

Re: angrylion RDP plugin almost threaded

Also Super Mario 64, although its graphics are a bit unstable, but it's playable. I have managed to play it overclocked(up to almost double the speed!) and get two stars before the games has crashed. :D Nice find!! I am 60VI/s on this game as well! Getting 90 VI/s on my 6600K. We may need a frame l...
by MarathonMan
Sat Feb 06, 2016 7:14 pm
Forum: Open Discussion
Topic: angrylion RDP plugin almost threaded
Replies: 53
Views: 15622

Re: angrylion RDP plugin almost threaded

Seems to work for Star Fox 64, too:

https://www.youtube.com/watch?v=9BR9JLGEzDI
by MarathonMan
Sat Feb 06, 2016 5:37 pm
Forum: Open Discussion
Topic: angrylion RDP plugin almost threaded
Replies: 53
Views: 15622

Re: angrylion RDP plugin almost threaded

Snowstorm64 wrote:Nice! How much does it impact on the emulator's accuracy (also performance)?
Accuracy: well, it boots like... nothing. So quite bad right now lol.

Huge performance impact. I can hit 60VI/s in ROMs that I never could before on my ultrabook.
by MarathonMan
Sat Feb 06, 2016 5:22 pm
Forum: Open Discussion
Topic: angrylion RDP plugin almost threaded
Replies: 53
Views: 15622

angrylion RDP plugin almost threaded

(Hopefully) I will be able to stabilize this. It isn't working for any first party ROMs yet, but when it does work, the results are quite fantastic. I have an experimental branch where: -multithread will use RSP/VI for one core, RDP for a second, and VR4300/AI/PI/SI for the third. A fourth thread is...
by MarathonMan
Wed Feb 03, 2016 11:20 pm
Forum: Suggestions
Topic: Overclocked N64 support?
Replies: 1
Views: 1115

Re: Overclocked N64 support?

Rebuild the source. I don't want to invest the time into making it dynamic right now. For multi-threaded OC, you would edit the '3' here: (right now it's 3/2 * 62.5 = 93.75) https://github.com/tj90241/cen64/blob/master/device/device.c#L197 And scale these 3 constants up by a linear factor: (tgt/93.7...
by MarathonMan
Tue Feb 02, 2016 11:32 pm
Forum: Suggestions
Topic: cold and hot attributes in programs?
Replies: 2
Views: 1367

Re: cold and hot attributes in programs?

I love this! Definitely will look into getting this into the codebase soon.

I can see it being used to possibly keep hot sections of CPU cores in uop cache when there are multiple threads.

But maybe I'm hoping for too much. :D
by MarathonMan
Tue Feb 02, 2016 11:30 pm
Forum: Open Discussion
Topic: Ding dong! The witch is dead!
Replies: 5
Views: 3956

Re: Ding dong! The witch is dead!

MGC Demo 2011, by marshallh.

Why is it important? Try running it in N64 emulator of your choosing and see what happens... ;)
by MarathonMan
Sat Jan 30, 2016 9:01 pm
Forum: Open Discussion
Topic: Ding dong! The witch is dead!
Replies: 5
Views: 3956

Ding dong! The witch is dead!

:D

Video showing MD5 checksum of ROMs prior to running to handwave any tampering accusations. See the video description for more info.
https://youtu.be/FaeWvyPEY-U
by MarathonMan
Sat Jan 30, 2016 7:28 pm
Forum: Compatibility
Topic: Compatibility on new 2016 builds
Replies: 58
Views: 16291

Re: Compatibility on new 2016 builds

The severe graphics issues (especially in RE) are probably RSP LWC2/SWC2 bugs. Thanks.
by MarathonMan
Sat Jan 30, 2016 3:46 pm
Forum: Compatibility
Topic: Compatibility on new 2016 builds
Replies: 58
Views: 16291

Re: Feedback on latest updates

Ditto, though for me it won't be as comprehensive as the latest compatibility test. I'd hold off on any compat tests for the moment. I've found that ROMs like Mario Party 3 boot and work fine: if and only if you pass the correct "save" type when booting CEN64 (i.e., EEPROM 4/16kbit, SRAM, FlashRAM,...
by MarathonMan
Thu Jan 28, 2016 12:33 am
Forum: Compatibility
Topic: Support .n64
Replies: 26
Views: 30467

Re: Support .n64

If other emulators are using byteswapped save files, I would file a bug report with those emulators. ;) The N64 scene is broken, and has been for a very long time. I think you'll agree with me when I say that practically any message board on the internet will tell you that the N64 is probably one of...
by MarathonMan
Thu Jan 28, 2016 12:27 am
Forum: Compatibility
Topic: Compatibility on new 2016 builds
Replies: 58
Views: 16291

Re: Feedback on latest updates

That's cool, I'll do some test later. :D @MarathonMan: Has CEN64's RDP been synced up with the upstream (angrylion's RDP)? Because Angrylion's RDP has some new fixes (like this , or this. ) which further improve the RDP accuracy. Also, if you have some spare time, please can you sync up 64dd suppor...
by MarathonMan
Thu Jan 28, 2016 12:23 am
Forum: Bugs/Issues
Topic: Multithread Support Windows Broken
Replies: 4
Views: 1790

Re: Multithread Support Windows Broken

Also happens on other platforms and a known issue as well. Thanks though.
by MarathonMan
Thu Jan 28, 2016 12:22 am
Forum: Open Discussion
Topic: RSS/Atom Feeds for Forum
Replies: 10
Views: 6797

Re: RSS/Atom Feeds for Forum

I haven't changed peanuts on the server (not even rebooted) between those two messages. So I would say the ball is in someone else's court.
by MarathonMan
Wed Jan 27, 2016 1:31 am
Forum: Bugs/Issues
Topic: Multithread Support Windows Broken
Replies: 4
Views: 1790

Re: Multithread Support Windows Broken

Fixed and builds updated.
by MarathonMan
Tue Jan 26, 2016 11:42 pm
Forum: Compatibility
Topic: Compatibility on new 2016 builds
Replies: 58
Views: 16291

Re: Linux / Windows / Debug development builds (64-bit only)

FlashRAM, SRAM, mempak, etc. are all implemented and functional, just not documented. Some ROMs won't boot unless you specify the save type (Mario Party 3, I'm looking at you).

I'll probably get around to that after bugsquashing.
by MarathonMan
Tue Jan 26, 2016 11:00 pm
Forum: Bugs/Issues
Topic: Multithread Support Windows Broken
Replies: 4
Views: 1790

Re: Multithread Support Windows Broken

Heh, thanks for the report... krom mentioned the same thing last night when I was knees deep in audio fixes.

The multithreading code is largely the same so I'm not sure what broke. I will fix it soon.
by MarathonMan
Fri Jan 22, 2016 1:52 am
Forum: Open Discussion
Topic: Thinking about multi-threading...
Replies: 41
Views: 42390

Re: Thinking about multi-threading...

Transactional simulations (or at least that's what I call it) is something I looked at. The problem(s) are mainly: - Interrupts are bidirectional. The RCP can be interrupted, or the RCP can interrupt the VR4300. Who wins? Bus arbitration will tell you that. But that means you have to now simulate th...
by MarathonMan
Sat Jan 16, 2016 8:39 pm
Forum: Open Discussion
Topic: Thinking about multi-threading...
Replies: 41
Views: 42390

Re: Thinking about multi-threading...

Now that the atomicity issue is fixed, I found that I could also just do away with the core syncing all together. Most ROMs have a race condition that this can trigger early on, but after the ROMs have started, things usually hit 50-60VI/s. Of course, without syncing the cores, you sacrifice a good ...
by MarathonMan
Sat Jan 16, 2016 5:19 pm
Forum: Open Discussion
Topic: Thinking about multi-threading...
Replies: 41
Views: 42390

Re: Thinking about multi-threading...

The synchronization problem has been fixed. The performance actually seems slightly (if ever so) higher than before the fix. I have been walking around Kokiri Forest for some time now without issues. The sound also seems to be more reliable, but still sounds horrendous. There's definitely bugs lurki...
by MarathonMan
Fri Jan 15, 2016 10:42 pm
Forum: Open Discussion
Topic: Thinking about multi-threading...
Replies: 41
Views: 42390

Re: Thinking about multi-threading...

Yes, this is along the lines of what the problem is... I'm quite certain when I was thinking about it yesterday... Though not necessarily limited to the RCP, there are a lot of mask registers lying around that the RCP thread and VR4300 thread are probably stepping on each other. The easiest way to r...
by MarathonMan
Thu Jan 14, 2016 11:38 pm
Forum: RCP
Topic: Arduino for RCP signal parsing?
Replies: 6
Views: 12315

Re: Arduino for RCP signal parsing?

If I could dump framebuffer after some RDP command that would be really helpful. Long way to go before this. You can do the with the 64drive. You basically use some of the 64drive's SDRAM as a buffer. - Issue an RDP command - Copy framebuffer to 64drive SDRAM - Signal to PC that framebuffer is copi...
by MarathonMan
Thu Jan 14, 2016 12:42 am
Forum: RCP
Topic: Arduino for RCP signal parsing?
Replies: 6
Views: 12315

Re: Arduino for RCP signal parsing?

For FPGA recommendations, I currently use a DE0-Nano (probably slightly bigger than that starter board you mentioned). It's not nearly big enough to hold the RCP, or probably a VR4300 worth of design logic for that matter, but it's still a good starting board. I would recommend something on the leve...
by MarathonMan
Wed Jan 13, 2016 12:07 am
Forum: RCP
Topic: Arduino for RCP signal parsing?
Replies: 6
Views: 12315

Re: Arduino for RCP signal parsing?

Arduino is almost certainly too slow to serve as a logic analyzer. The clock rate is 62.5MHz so you'd need to perform *at least* a 32-bit write 62.5 million times per second just to capture the address/data bus -- this doesn't include the pins for interrupts, the SysAD pins that control bus state, e...
by MarathonMan
Tue Dec 15, 2015 9:52 pm
Forum: Bugs/Issues
Topic: Controller I/O Analysis
Replies: 4
Views: 4641

Re: Controller I/O Analysis

Cool, thanks for sharing the info! Unfortunately I've been tied up and can't make use of it myself, but hopefully someone else can make use of it for now ;)
by MarathonMan
Sun Dec 13, 2015 6:48 pm
Forum: Bugs/Issues
Topic: Controller I/O Analysis
Replies: 4
Views: 4641

Re: Controller I/O Analysis

Some of the guys in #n64dev on EFnet are reversing the CIC (and soon, the PIF?)

Neat stuff. Do you have any reservations with making the captured logic data public? If not, I'm more than willing to host it here.
by MarathonMan
Sun Nov 01, 2015 4:06 pm
Forum: RCP
Topic: RDP Command: Set Texture Image big frame buffer address?
Replies: 1
Views: 1674

Re: RDP Command: Set Texture Image big frame buffer address?

I am pretty sure the RDP wraps around addresses when it crosses 4/8MB boundary (depending on presence of expansion pack), but it's definitely something you should check.
by MarathonMan
Tue Oct 27, 2015 9:41 pm
Forum: Development
Topic: Linux: The ultimate VR4300 stress test.
Replies: 6
Views: 5790

Re: Linux: The ultimate VR4300 stress test.

I think I understand what you're saying about the NEO Myth. Even still, though, you need an ELF loader because the vmlinux image consists of headers and isn't a contiguous section of memory. There are blocks inside that need to be copied and moved to certain locations, etc. Fortunately, many such EL...
by MarathonMan
Mon Oct 26, 2015 9:50 pm
Forum: Development
Topic: Linux: The ultimate VR4300 stress test.
Replies: 6
Views: 5790

Re: Linux: The ultimate VR4300 stress test.

Right now, it only boots in an emulator, but yes... that's actual output from a simulated serial port. The only thing stopped me from getting it to work on real hardware/a cart is a missing ELF loader (kind of like GRUB for N64...). That shouldn't be too hard to write, though... just parsing the hea...
by MarathonMan
Sun Oct 25, 2015 12:17 am
Forum: Development
Topic: Linux: The ultimate VR4300 stress test.
Replies: 6
Views: 5790

Linux: The ultimate VR4300 stress test.

[ 0.000000] Linux version 4.2.4 (tyler@green) (gcc version 5.1.0 (crosstool-NG 1.21.0) ) #84 Sun Oct 25 01:36:01 EDT 2015 [ 0.000000] CPU0 revision is: 00018000 (MIPS 4Kc) [ 0.000000] Determined physical RAM map: [ 0.000000] memory: 0020e000 @ 00000000 (reserved) [ 0.000000] memory: 001f2000 @ 0020...
by MarathonMan
Fri Oct 23, 2015 8:50 pm
Forum: RCP
Topic: RDP commands are 32bits packed
Replies: 5
Views: 1949

Re: RDP commands are 32bits packed

Nope, haven't tested it. Haven't checked to see if any ROMs are twiddling the bit, either.
by MarathonMan
Fri Oct 23, 2015 11:18 am
Forum: RCP
Topic: Are RDP Color Combiner registers readable?
Replies: 5
Views: 1831

Re: Are RDP Color Combiner registers readable?

The RDP ones likely are, but the transform commands in the GBI are basically operations/parameters for the ucodes.
by MarathonMan
Fri Oct 23, 2015 11:15 am
Forum: RCP
Topic: RDP commands are 32bits packed
Replies: 5
Views: 1949

Re: RDP commands are 32bits packed

Fun fact: RDRAM is 9bit (8+1) @ 500MHz (62.5MHz RCP clock x 8), which is how it delivers up to* (8x8 + 8x1 = 64 + 8 bits of data per RCP clock). Wow! Have you any idea how current emulators emulate this? I mean, when I navigate through the N64 RDRAM (of an emulated N64 of course), I don't deal with...
by MarathonMan
Thu Oct 22, 2015 9:41 pm
Forum: RCP
Topic: Are RDP Color Combiner registers readable?
Replies: 5
Views: 1831

Re: Are RDP Color Combiner registers readable?

GBI is the just binary interface that Nintendo designed (hence, graphics binary interface) for graphics commands.

They are often high level abstractions of either transform operations (which get executed on the RSP) or RDP instructions.
by MarathonMan
Thu Oct 22, 2015 9:39 pm
Forum: RCP
Topic: RDP commands are 32bits packed
Replies: 5
Views: 1949

Re: RDP commands are 32bits packed

Internally, the RCP has a 64-bit wide bus. The bus between the MI (VR4300's external controller) and RCP is 32-bit. But internally, yes, everything is 64-bit, so this is probably why. Fun fact: RDRAM is 9bit (8+1) @ 500MHz (62.5MHz RCP clock x 8), which is how it delivers up to* (8x8 + 8x1 = 64 + 8 ...