Falco Girgis's banner
Falco Girgis's profile picture

Falco Girgis

@falco_girgis13,633 subscribers

Sega Dreamcast developer on a quest to correct the timeline of video gaming history. Working on the modern, open-source indie DC SDK and library OS, KallistiOS.

Shorts

Meanwhile... the fog, smog, and clouds be looking pristine in our Sega Dreamcast ports of Grand Theft Auto 3 and Vice City.

Meanwhile... the fog, smog, and clouds be looking pristine in our Sega Dreamcast ports of Grand Theft Auto 3 and Vice City.

30,062 views

OH GOD, WHAT HAVE I DONE!? Was going to post about sweet FPS gainz I just made tonight for our Grand Theft Auto 3 and Vice City ports to the Sega Dreamcast... buuuut... Apparently I breathed on a scale matrix the wrong way trying to accelerate it, and now we have Stretch Armstrong Tommy! 😂

OH GOD, WHAT HAVE I DONE!? Was going to post about sweet FPS gainz I just made tonight for our Grand Theft Auto 3 and Vice City ports to the Sega Dreamcast... buuuut... Apparently I breathed on a scale matrix the wrong way trying to accelerate it, and now we have Stretch Armstrong Tommy! 😂

27,196 views

Guess what game this is, running as an extremely early port to the Sega Dreamcast with no textures, barely fitting into 16MB of RAM, only tested on an emulator, and running slowly... DRIVER FREAKING 2 FROM THE PS1! @nihaomawoq asked me not to put him on the spot, because it's still so early, but... the fact that it's over 2FPS and everything isn't purple means that it's quite a bit further along than GTA3 was at this stage! This is how all great ports start out!

Guess what game this is, running as an extremely early port to the Sega Dreamcast with no textures, barely fitting into 16MB of RAM, only tested on an emulator, and running slowly... DRIVER FREAKING 2 FROM THE PS1! @nihaomawoq asked me not to put him on the spot, because it's still so early, but... the fact that it's over 2FPS and everything isn't purple means that it's quite a bit further along than GTA3 was at this stage! This is how all great ports start out!

21,384 views

Videos

falco_girgis's profile picture

Ladies and gentlemen, presenting the iconic 2001 MMORPG experience, Runescape Classic... NOW ON THE SEGA DREAMCAST!!! The port has officially progressed from the obligatory "runs like crap, looks like crap, and needs a 32MB RAM expansion," phase, to the "omg this thing is actually playable on a stock DC now and looks great," phase! Developer, Lobotomy, was able to completely rewrite the rendering back-end to use our low-level PowerVR GPU driver in KallistiOS, boosting performance so far that he could even include per-vertex dynamic lighting as part of a real-time day/night system! Upon setting your UTC timezone offset, and having it get saved to your VMU, the game will automatically sync system time over NTP and will actually keep your DC's internal time updated properly, for all of us lazy mofos with dead CMOS batteries! The port supports taking user-input from the Dreamcast's mouse and keyboard peripherals in addition to standard controllers (even sporting additional support for dual-analog controllers connected via 3rd-party adapters). Finally, you can connect to the RSC servers for online play by using the Dreamcast's built-in modem (typically via DreamPi), the 100mbit ethernet broadband adapter, the elusive AF 10mbit ethernet LAN adapter, or even the brand new, W5500-based, DIY BBA alternative, which can plug in externally through your serial port or internally through the SCI port (with modification), and is sold typically for only about $5-$10 from various online vendors.

Falco Girgis

71,908 views • 20 days ago

falco_girgis's profile picture

It's finally time for the massive update I know EVERYONE has been eagerly waiting for... Presenting to you over 6 straight minutes of spliced footage directly captured from my actual physical Sega Dreamcast... RUNNING THE LATEST BUILD OF OUR SONIC MANIA PORT!!! I can't even begin to describe to you how polished and fantastic it's starting to feel... as though it belonged on the Dreamcast all-along... Thanks to the hard work of jnmartin, sonicfreak94, and a few others, not only is the Dreamcast port nearing completion, but... wait for it... THE 3D STAGES THAT STRUGGLED ON EVERY UNOFFICIAL PORT ARE NOW ALL RUNNING FULLSPEED!!!! Trust me when I say that this took an absolutely ENORMOUS amount of effort from jnmartin and the crew to pull off, considering the low-end for this game was the original Nintendo Switch, and ports running on consoles with twice our processing power struggled to run these levels fullspeed. The first and most obvious thing is that the 3D software renderer was ditched and all rendering was done natively with our PowerVR GPU... which actually wasn't as simple as it sounds. The tilemaps for these levels have had to be tessellated into a bajillion PVR quads and transformed and rendered as individual polygons to look correct and run faster than a slideshow. Mr anonymous Ocarina of Time chad developer came up with a pretty slick LoD scheme for drawing tiles closest to the player at 1x1 pixel sizes with sizes increasing with distance up to 2x2 and 4x4 pixels, allowing them to reduce the overall number of tile vertices that have to be transformed by the SH4 CPU and submitted to the PVR GPU, by strategically keeping the majority of the polygon detail closest to the camera, with detail decreasing as the tiles get further away. Next, the 3D geometry was preprocessed and converted from being triangle-based to being triangle-strip based, drastically reducing the number of vertices per model that our 200Mhz SH4 CPU had to transform (with plain integer arithmetic and no FPU vectorization, since this is all slow-ass fixed-point integer math)! Finally, it was discovered that the lighting was a disproportionately significant contributor to the TnL load on the SH4 for processing vertices. Jnmartin came to the realization that 99% of the time only the Y axis direction is considered for lighting equation intensity with just a white color. So this simplified lighting model got baked into the renderer, which gave another round of gainz. So in the end, after all of this work came together, a draw distance of 75% the distance of the retail Sonic Mania versions was achieved for the decorations, plus the character models have their full geometry count and have not been simplified on a freaking Sega Dreamcast with a 200Mhz SH4 CPU and only 16MB of RAM! 🔥

Falco Girgis

87,939 views • 4 months ago

falco_girgis's profile picture

jnmartin and I just spent the last 12 hours straight locked into an epic tag-team, binge-coding session. We've decided to return to perfect our port of Mario Kart 64 to the Sega Dreamcast, bringing with us all of the skills, knowledge, and tools at our disposal that we gained from every port we've been involved with since we originally released MK64 DC to the public. 1) jnmartin has just completely redone the audio synthesis and mixing code. It was originally emulating the Nintendo 64's RSP in software, on our CPU, and wound up being a total resource hog, despite us going to hell and back again, substantially boosting its performance by vectorizing it with our SH4 SIMD instructions. 2) Now that the audio is actually offloaded to the AICA, we can leverage its DSP to put back in effects such as reverb and echo that we simply didn't have the CPU budget to implement before... so the overall audio quality of the port will be SIGNIFICANTLY improved. 3) jnmartin has been working on many small bugfixes, such as the near-Z clipping edge-cases that would cause corrupted triangles to draw over the players' screens sometimes in 3 and 4 player modes. 4) jnmartin just kicked GLdc--our OpenGL 1.1 driver, built atop of KallistiOS--to the curb and has instead implemented a bare-metal renderer that raw-dogs KOS's lowest-level PVR GPU driver directly, giving us more control and better performance within the renderer. 4) I just implemented support for playing with the Sega Dreamcast keyboard peripheral as a controller, partially as a flex, and partially because jnmartin kept complaining that he only had 3 controllers for testing... 🤣 4) I have taken my entire accelerated math and linear algebra library, SH4ZAM--which was born just after this port was originally released--back with me this time and am optimizing every freaking thing I can get my hands on with it. Every matrix multiplication, vector transform, memcpy-call, and scalar or trig routine is getting swapped out for the corresponding hand-optimized, meticulously benchmarked, and rigorously unit-tested equivalent within SH4ZAM, which now ships as part of kos-ports. As you can see from this series of direct hardware captures, overlaid with the terminal window which was capturing the FPS logging reports from my actual Sega Dreamcast, the performance is now SIGNIFICANTLY better than it was previously, and it already ran on-par or slightly better than the N64 original under most circumstances! Sooo many GAINZ to be had! 💪

Falco Girgis

12,874 views • 22 days ago

falco_girgis's profile picture

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 views • 1 year ago