Sega Saturn hacking

Anything pertaining to video gaming whether it be old or new, PC or Console.

Moderator: Gaming Addictees

Post Reply
User avatar
eatcomics
ES Beta Backer
ES Beta Backer
Posts: 2528
Joined: Sat Mar 08, 2008 7:52 pm
Location: Illinois

Sega Saturn hacking

Post by eatcomics »

I thought this board would enjoy this video:



Basically trying to replace the sega saturn CD reader with a USB port. Which is neat.
Image
User avatar
dandymcgee
ES Beta Backer
ES Beta Backer
Posts: 4709
Joined: Tue Apr 29, 2008 3:24 pm
Current Project: https://github.com/dbechrd/RicoTech
Favorite Gaming Platforms: NES, Sega Genesis, PS2, PC
Programming Language of Choice: C
Location: San Francisco
Contact:

Re: Sega Saturn hacking

Post by dandymcgee »

Awesome video!
eatcomics wrote:Couldn't figure out the youtube tags, sue me.
Just put the video id in the tags. If you mouse over the "youtube" button, it will tell you that. ;)
Falco Girgis wrote:It is imperative that I can broadcast my narcissistic commit strings to the Twitter! Tweet Tweet, bitches! :twisted:
User avatar
eatcomics
ES Beta Backer
ES Beta Backer
Posts: 2528
Joined: Sat Mar 08, 2008 7:52 pm
Location: Illinois

Re: Sega Saturn hacking

Post by eatcomics »

dandymcgee wrote:Awesome video!
eatcomics wrote:Couldn't figure out the youtube tags, sue me.
Just put the video id in the tags. If you mouse over the "youtube" button, it will tell you that. ;)
Well that's fair :) Thanks
Image
User avatar
Arce
Jealous Self-Righteous Prick
Jealous Self-Righteous Prick
Posts: 2153
Joined: Mon Jul 10, 2006 9:29 pm

Re: Sega Saturn hacking

Post by Arce »

That's awesome! Thanks for sharing. I hope the project comes to fruition; "hotswapping" discs is such a pain in the ass. I would love to replace the CD with a harddrive that houses my game library. I'm surprised that he hasn't mentioned rigging one of his custom adapters to raspberry pi to enable wifi/cloud game streaming.

I'll have to keep my eyes open for updates
<qpHalcy0n> decided to paint the office, now i'm high and my hands hurt
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
Posts: 10294
Joined: Thu May 20, 2004 2:04 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Dreamcast, SNES, NES
Programming Language of Choice: C/++
Location: Studio Vorbis, AL
Contact:

Re: Sega Saturn hacking

Post by Falco Girgis »

Well fuck me sideways. :shock:

This is the kind of shit they're doing with the Dreamcast right now, as there's been a renewed interest in it and the homebrew scene with Kickstarters like Pier Solar and Elysian Shadows... But you never see this kind of shit happen EVER with the Saturn.

Not just because its homebrew scene isn't as large, but because it's supposedly an absolute BITCH to develop for. The hardware was so notoriously complex that developers all flocked from the Saturn to the N64 and PSOne during that era. Sega's (retarded) R&D team essentially built the ultimate 2D platform with the Saturn, then, after hearing rumors of the upcoming PSOne's specs and focus on 3D graphics just months before its release, the hardware team had to scramble to get their shit up to par.

What did they do? Basically duct-taped a second SH2 processor into it (Yeah, in 1994, the fucking Saturn was dual-core) and tried to half-assedly add better 3D support to the console. What we wound up with was an INSANELY powerful 2D console (could absolutely take a shit on the PSOne with sprites) that sucked at 3D and was ridiculously hard to develop for. Most Saturn games apparently only used a single processor, because multiprocessor programming was so new for game development back in the day. Virtua Fighter apparently allocated the rendering and physics for each of the two fighters to each of the two SH2 CPUs.

Another interesting thing... If you find a Saturn for cheap in a garage sale or something, BUY IT. All you need to play burned games is a fucking piece of tape. I shit you not. Open the bitch up then tape the latch down that detects when the CDRom drive is open. Then turn it on with a legitimate game. You'll hear the laser move to the outer edge and read for a few seconds. It's reading the proprietary copyright shit on the outside of the disc. Then IMMEDIATELY, as you hear the laser move from the outside to the inside, swap the legit disc with ANY burned game and boom, you can play any Saturn homebrew or anything of the sort. Also you can duplicate Saturn games with a simple CD burner...

You have no idea how many times Peter, Marcel, and I used to walk to the local game store, buy a Saturn game, run home, pirate the bitch, then bring it back a few hours later and claim "it doesn't work!" :twisted:
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
Posts: 10294
Joined: Thu May 20, 2004 2:04 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Dreamcast, SNES, NES
Programming Language of Choice: C/++
Location: Studio Vorbis, AL
Contact:

Re: Sega Saturn hacking

Post by Falco Girgis »

As for the programmable sound coprocessor...

I am not familiar with the Saturn's chip, but the Dreamcast has a very similar ARM audio coprocessor... which has an extremely unfortunate bottleneck. I have never personally developed for it, but I've read plenty of posts from Randy Linden (the guy who created Bleemcast, a full-speed PSOne emulator for the Dreamcast, which actually makes PSOne games run and look better than they did on the PS2) on DCEmulation.org lamenting its capabilities...

It sounds nice and awesome for special effects, there's a C compiler for it in the Dreamcast toolchain, the clock speed is high enough, there is enough SRAM, and the BUS is fast enough... but the processor has no fucking cache. This means every goddamn memory read and write and even every instruction fetch is having to go to the RAM bus (read: it's very goddamn slow), which SEVERELY castrates the performance of the coprocessor. To the point of it almost being nearly worthless is what I heard.

As the Dreamcast came after the Saturn and supposedly was the product of learning from a lot of these design mistakes, I would be very surprised if the Saturn's SPU didn't also suffer from this kind of shortcoming...

...But then again, it's not an ARM, and it's apparently a different manufacturer for the chip... So maybe I'm wrong?

Edit: Here's a dude actually trying to use the Dreamcast's ARM SPU as a general-purpose coprocessor. Pretty interesting as an academic exercise, but don't know if it would be practical for real, in-game applications:
User avatar
dandymcgee
ES Beta Backer
ES Beta Backer
Posts: 4709
Joined: Tue Apr 29, 2008 3:24 pm
Current Project: https://github.com/dbechrd/RicoTech
Favorite Gaming Platforms: NES, Sega Genesis, PS2, PC
Programming Language of Choice: C
Location: San Francisco
Contact:

Re: Sega Saturn hacking

Post by dandymcgee »

Falco Girgis wrote: It sounds nice and awesome for special effects, there's a C compiler for it in the Dreamcast toolchain, the clock speed is high enough, there is enough SRAM, and the BUS is fast enough... but the processor has no fucking cache.
Ouch. :nono:
Falco Girgis wrote:It is imperative that I can broadcast my narcissistic commit strings to the Twitter! Tweet Tweet, bitches! :twisted:
User avatar
short
ES Beta Backer
ES Beta Backer
Posts: 548
Joined: Thu Apr 30, 2009 2:22 am
Current Project: c++, c
Favorite Gaming Platforms: SNES, PS2, SNES, SNES, PC NES
Programming Language of Choice: c, c++
Location: Oregon, US

Re: Sega Saturn hacking

Post by short »

dandymcgee wrote:
Falco Girgis wrote: It sounds nice and awesome for special effects, there's a C compiler for it in the Dreamcast toolchain, the clock speed is high enough, there is enough SRAM, and the BUS is fast enough... but the processor has no fucking cache.
Ouch. :nono:
Wow, never programmed in an environment like that before. Cool!
My github repository contains the project I am currently working on,
link: https://github.com/bjadamson
User avatar
Light-Dark
Dreamcast Developer
Dreamcast Developer
Posts: 307
Joined: Sun Mar 13, 2011 7:57 pm
Current Project: 2D RPG & NES Platformer
Favorite Gaming Platforms: NES,SNES,N64,Genesis,Dreamcast,PC,Xbox360
Programming Language of Choice: C/++
Location: Canada

Re: Sega Saturn hacking

Post by Light-Dark »

Falco Girgis wrote: Edit: Here's a dude actually trying to use the Dreamcast's ARM SPU as a general-purpose coprocessor. Pretty interesting as an academic exercise, but don't know if it would be practical for real, in-game applications:
I always love seeing one of Dave's videos in my subscription feed; he's always doing cool shit with the DC.

Glad the Saturn scene is making strides though. A lot more progress than the N64 scene (we're still writing programs largely in MIPS assembly :lol: )
<tpw_rules> LightDark: java is a consequence of inverse moore's law: every 18 months, the average program will be twice as slow. therefore, computers always run at the same percevied speed. java's invention was a monumental step
Image
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
Posts: 10294
Joined: Thu May 20, 2004 2:04 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Dreamcast, SNES, NES
Programming Language of Choice: C/++
Location: Studio Vorbis, AL
Contact:

Re: Sega Saturn hacking

Post by Falco Girgis »

Light-Dark wrote:I always love seeing one of Dave's videos in my subscription feed; he's always doing cool shit with the DC.
I just stumbled upon him, and we've been talking a shitload. At this point in development, I haven't been able to sit down and sink a lot of R&D time into getting the more advanced lighting effects in ES running on the Dreamcast, but he has dynamic shadows and even bloom lighting demos... All of my plans for porting some of that stuff have been purely theoretical until this point, so it's really cool seeing someone who has actually done it. I was pretty convinced bloom just wasn't going to happen in hell on the DC.
Light-Dark wrote:Glad the Saturn scene is making strides though. A lot more progress than the N64 scene (we're still writing programs largely in MIPS assembly :lol: )
Seriously? Why is that? I would have assumed it would have been a lot more mature than the Saturn scene, because it's arhitecturally far simpler and more powerful... Why the need for assembly? Unless... There's no compiler for it? Was that MIPS processor proprietary? Yeah, you would be totally fucked then...

Dreamcast and I'm assuming Saturn have been blessed in the fact that the SuperH 2 and 4s are pretty populate microprocessors and at least the SH4 is still widely used and supported today, so there are plenty of tech documents floating around out there, and of course GCC supports it... That's why the Dreamcast, which was released in 2009, has no problem with C++11 and some of C++14... :lol:
Post Reply