Video wird geladen...

Video konnte nicht geladen werden

Zur Startseite

Some interesting Sega Dreamcast science I've been doing on the side recently... Here's a direct hardware capture of a tech demo of Bruce's aptly-named "Dreamcast Mesh Shit," featuring assets from... Uhhh... I don't even know where he jacked these from... 😂 ANYWAY, the main thing I've been working on...

49,078 Aufrufe • vor 4 Monaten •via X (Twitter)

0 Kommentare

Keine Kommentare verfügbar

Kommentare vom Original-Post werden hier angezeigt

Ähnliche Videos

Been optimizing my ASS OFF now that jnmartin has pushed all of his progress on his Star Fox 64 Sega Dreamcast port to a private GitHub repo to collaborate with a bunch of us DC devs before release. MAN this thing is HIGHLY optimized already... We're essentially running a high-level emulator for the N64's RSP coprocessor, doing graphics transforms, matrix math, and display list conversions not only on the main SH4 CPU, but also sitting atop a high-level OpenGL driver, in real-time. Not only that, but once again, we're doing all audio synthesis and mixing also on the main SH4 CPU, so this thing is doing a literal asston on the main CPU with what might seem like a relatively straightforward port. 99% of the time, everything runs flawlessly, but when you drop a bomb on a shitfest of enemies in a densely populated area, as with the N64 original, the FPS can dip momentarily. Here's a direct hardware capture of me testing a new SH4 optimized routine out for gainz on my Sega Dreamcast... this mofo is meant be used for one-off 3D vector transforms by a single matrix which has not been preloaded into the XMTRX FP register matrix back-bank. Rather than doing a full 4x4 load on the matrix just to do a single 4D transform via the FTRV instruction, we're simply peforming 3 3D dot products against a single 3D vector, allowing us to pipeline the loads, dot products, and store operations better than doing a load all at once followed by a transform, and we aren't wasting a lane on the FPU for a 0.0f W component!

Falco Girgis

36,939 Aufrufe • vor 8 Monaten

With all of the excitement from Mario Kart 64 coming to the Sega Dreamcast, I've been getting bombarded with questions about whether any more progress has been made on our Mario 64 port... so here's a direct hardware capture of the latest build running on DC! The answer: HELL YES! Last time most people saw or played this port, it was plagued with performance, audio, and graphical issues... but as you can see from this footage, almost all of them have been resolved, and she's playing like a dream on the DC now! Wtf happened? Well, first of all, in the 5 years since the port initially started, I, along with others, such as UnknownShadow, have made progress optimizing and improving upon our OpenGL 1.2 driver, "GLdc," which drastically improved the overall performance of the port by decreasing the amount of time the Dreamcast's SH4 CPU spent on T&L, processing polygons. Next, chad developer, Bruce (or Bruck or Brucilicious, depending on who you are), went through and applied a bunch of bugfix patches from the upstream repo to the game to fix the majority of the graphical glitches such as clipping issues and Mario's iconic biker mustache from the previous releases (despite me trying to convince him to keep that one, as it's become a Dreamcast trademark). Finally, the original developer behind both the Sega Dreamcast and Sony PSP ports, MrNeo, has returned from hiatus and has begun redoing the audio engine to fix the artifacting and stuttering! Stay tuned for further updates and the inevitable rerelease of this N64 classic on Sega's finest little white box that still refuses to die!

Falco Girgis

34,186 Aufrufe • vor 1 Jahr

SURPRIIIIIIISE!!! The beta release of our Grand Theft Auto Vice City port to the Sega Dreamcast is finally here! Here's an actual hardware capture of raising some hell in the beautiful streets of Miami taken straight from my DC to celebrate! We've now added graphics settings for 2xFSAA to give it a less jagged, more smooth look and have added a video mode for rendering to a 24bpp framebuffer, which adds extra depth and vividness to the colors! While we still have plenty of work to do regarding features, assets, and performance, I am extremely proud of our team after what we've accomplished within just a few short months with this port that, for the last two decades, was considered literally impossible for the console to handle. It has been an absolute honor and privilege to work beside you crazy and talented bastards! I also want to thank the Sega Dreamcast and Grand Theft Auto communities for rallying around this cause and coming together to help us test and debug this release along with the previous GTA3 release over the last several months. Your support and diligent work has been vital for ensuring that the games have been fully playable on the DC, and your constant support and feedback has been an inspiration to the team. We couldn't have done it without you! For instructions on how to convert your (LEGALLY EFFING PURCHASED) PC versions of GTAVC into a image which can be played on the DC, the instructions can be found here: PS: No, this is not an April Fool's joke, but we're going to love everyone thinking it is! Guess you're gonna have to try it to find out!🤣

Falco Girgis

149,786 Aufrufe • vor 1 Jahr

I wanted to show you guys how hard we've been working to get the Diddy Kong Racing decompilation to run this well on the Sega Dreamcast... So I took the liberty of splicing together some high-action moneyshots directly captured from the console for a look at how the game currently performs. Just a few days ago, it was dipping to below 20FPS with audio cutting in and out as the main thread couldn't keep up with the audio decoding while simultaneously handling rendering and game logic. I know, I know, how could a Dreamcast struggle with an N64 game? It's because these decompilations are written to essentially emulate the N64's unique hardware as accurately as possible. In this case, that means the Dreamcast's main SH4 CPU is emulating all audio decoding, mixing, and synthesis in software, including DSP effects. This was originally handled separately by the RSP coprocessor in the N64... Not wanting to have to rewrite the entire audio back-end to use the DC's AICA sound processor, I've vectorized the absolute living HELL out of the ADPCM decoder with my SH4ZAM library... Which gave us enough performance out of the SH4 to continue emulating all of the sound processing in software. You will notice in the footage that the only time the FPS isn't at solid 30 is when there is a lot of overlapping SFX from nearby racers chattering or items getting used. That's the SH4 having to work even harder to mix multiple audio channels together and possibly even apply DSP effects to them as well!

Falco Girgis

17,091 Aufrufe • vor 20 Tagen

Got something totally different, but exceptionally badass today to share! Here is a bunch of direct hardware captures of the (F)ixed (F)unction and (F)ast (F)ourier (T)ransform (T)esting audio visualization demos, running on my Sega Dreamcast! This incredible piece of science, engineering, art, and music started off as a crazy idea to port a bunch of GPU-based, Shadertoy audiovisual demos to the Sega Dreamcast, to play with combined digital signal processing and rendering on legacy fixed-function hardware. As you can see from the video, the FFFFTT repo includes a wide array of different demos, each providing different kinds of visualizations, each featuring different types of signal transformations and analyses, with many of them also being interactive, all done in real-time! Not only that, but you ALSO can freaking pause the playback and analyze the signals in real-time... crazy! The final resulting FFFFTT demos are an epic full-stack conglomeration of Ray's raylib, providing the backing infrastructure and graphics framework, which sits atop our GLdc driver for rendering, using David Reid's miniaudio library for sound playback, with its FFT and vector algebra accelerated for the SH4 CPU using my SH4ZAM math library... all ontop of KallistiOS, running on the Sega Dreamcast! Congratulations to meisei4 for the fantastic accomplishments, and a heart-felt thanks from me for bringing everything together to make this happen! You just laid the framework for some epic audio-based gameplay mechanics and other crazy science experiments in the future for whole community!

Falco Girgis

13,167 Aufrufe • vor 1 Monat

FINALLY finishing up a MASSIVE PR from hell for the Sega Dreamcast port of Grand Theft Auto 3! This is an actual hardware capture now of the DC version under a high load, which would've previously been a slideshow, between the dynamic lighting from the sirens, the amount of rigid bodies in the physics simulation from the cars, and the high-speed chase placing high-demands on asset streaming... I went through all of the low-level common math infrastructure in both the engine and at the RenderWare driver layer and made numerous optimizations, before slowly working my way up to optimizing individual algorithms at the application layer using the new math routines. Firstly, the common low-level floating-point math routines for everything from trig and inverse square root operations to floor(), ceiling(), and clamp(), were replaced with what was meticulously found (in Compiler Explorer) to be the optimal patterns for GCC 14.2.0, targeting our SH architecture (sometimes favoring C builtins, sometimes inline SH4 ASM). Next, in the layer above, with inline SH4 assembly, the common matrix math and linear algebra routines were accelerated using the Dreamcast's vector instructions. Some cleverness went down here, such as cramming matrix metadata into unused insignificant bits of an element, combining loading two matrices with multiplying them, fast transposes, fast quaternion multiplication using 4 dot products, etc. Once the foundation was laid, some of the Renderware code such as the calculations for the lighting, updating bounding volumes, and deriving UV coordinates for specular environment maps on the cars was made faster automatically. The main gainz were actually made rewriting a decent amount of the collision intersection and contact resolution code, though, from using C++-style overloaded operators for multiplying single 4D vectors by a 4x4 matrix to doing batches of 4D vectors by the same matrix. This SUBSTANTIALLY reduced the number of times the backing 4x4 matrix bank had to be reloaded and allowed me to keep it resident within registers while it was being used by the intersection algorithms!

Falco Girgis

114,602 Aufrufe • vor 1 Jahr