SONIC Torn Apart - Exposing SEGA's Insanity with Hardware (CODING SECRETS)

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 ต.ค. 2024
  • Every layer stripped away to expose how each of the multiple chips in the SEGA Saturn were coded to make Sonic R possible in this episode of Coding Secrets
    Is That You or Are You You by Chris Zabriskie is licensed under a Creative Commons Attribution license (creativecommon...)
    Source: chriszabriskie....
    Artist: chriszabriskie....

ความคิดเห็น • 746

  • @ryanruff13
    @ryanruff13 6 ปีที่แล้ว +2154

    "Let me know if you want to see a video on exactly how this code works."
    We want to see a video on exactly how this code works.

  • @EightNineOne
    @EightNineOne 6 ปีที่แล้ว +963

    “Do you want a video explaining exactly how this code works?” Pff, as if that’s even a question Jon, of course we do!

    • @LordmonkeyTRM
      @LordmonkeyTRM 6 ปีที่แล้ว +3

      Yup.

    • @davidsmart7041
      @davidsmart7041 6 ปีที่แล้ว +12

      I don't just want to see it, I need to see it!

    • @dkcas11
      @dkcas11 6 ปีที่แล้ว +6

      Exactly, gives us the juice!

    • @meegz149
      @meegz149 6 ปีที่แล้ว +4

      I really wanted a Saturn when it first came out. Now that I've gotten older and interested in programming, I want to know more about why this system earned it's reputation for being hell to develop for.

    • @adamshine5
      @adamshine5 6 ปีที่แล้ว +2

      Yes!

  • @JamieVegas
    @JamieVegas 6 ปีที่แล้ว +924

    I'd like to see an explanation of that DSP code!

    • @SaulidSnake
      @SaulidSnake 6 ปีที่แล้ว +2

      Same here

    • @nneeerrrd
      @nneeerrrd 6 ปีที่แล้ว +9

      +
      I guess it is a MIMD hell :-)

    • @SeeASquaRE
      @SeeASquaRE 6 ปีที่แล้ว

      I second that.

    • @Jambion
      @Jambion 6 ปีที่แล้ว

      Sameee

    • @Wockes
      @Wockes 6 ปีที่แล้ว

      same

  • @TheLambLive
    @TheLambLive 6 ปีที่แล้ว +194

    "//hack draw distance if running out of draw." - I hate running out of draw.

    • @cube2fox
      @cube2fox 6 ปีที่แล้ว +18

      Hack your draw distance then

    • @DlcEnergy
      @DlcEnergy 5 ปีที่แล้ว +10

      3:13 don't forget to bring a timestamp!

  • @LazerLord10
    @LazerLord10 6 ปีที่แล้ว +14

    I see this and I get kinda scared at all of the processes between me and the internet. Even just within the laptop I'm using to write this, the amount of things going on (all of which work almost flawlessly every time) amazes me.

  • @EasyCheesyChodes
    @EasyCheesyChodes 6 ปีที่แล้ว +281

    Great video. I would love to see a video on how the SCU works. There is very little information about it online.

    • @kathrynradonich3982
      @kathrynradonich3982 6 ปีที่แล้ว +21

      EasyCheesyChodes the SCU would be interesting as well. If not for anything other than having a publicly accessible video explaining it from an experienced programmer of the time.

    • @nathanmead140
      @nathanmead140 6 ปีที่แล้ว +2

      I would 2

    • @TheCreator1337
      @TheCreator1337 6 ปีที่แล้ว +3

      I would 3

    • @xl2k2008
      @xl2k2008 6 ปีที่แล้ว +4

      Also the fact that it doesn't have a division unit, which is why we don't bother using it since you can also calculate your vertices in parallel using the SH2 with the perspective division.

    • @MaxOakland
      @MaxOakland 6 ปีที่แล้ว

      It’s like letting air out of a balloon

  • @edonslow1456
    @edonslow1456 6 ปีที่แล้ว +219

    One thing I often wondered was how the PC port of this and other Saturn originals were handled. Was it a matter of building from the ground up because the architecture was so different?

    • @jamesg4631
      @jamesg4631 6 ปีที่แล้ว +34

      I also wondered how the PC port was handled. It must have been a nightmare!

    • @SianaGearz
      @SianaGearz 6 ปีที่แล้ว +36

      I don't imagine it being that difficult. Everything written in C, that is the actual gameplay logic, the crucial bit of the software, most data formats and most of their loaders, can be reused without changes. Replicating Saturn's drawing pipeline in a very simplified way that doesn't have to account for asynchronous nature of multiple units (i.e. not actually suitable for emulation purposes) is trivial. From there on you just need to rewrite all the graphics emitting sections of the code to bridge to that graphical backend, which is really just a couple person months of effort, since PC doesn't really offer any surprises.

    • @NiGHTSnoob
      @NiGHTSnoob 6 ปีที่แล้ว +9

      There's also the difference between rendering quads on the Saturn and rendering triangles with most PC graphics accelerators. There's two solutions to that though as far as I know, running it in software which is easy, but slow and lacks a lot of the fancy stuff, and converting it all which isn't super difficult if you're just doing it for one game and you have the source assets and code. Fundamentally the game is drawing and tiling the same assets, it's just doing it in a different way so only small adjustments are needed.

    • @SianaGearz
      @SianaGearz 6 ปีที่แล้ว +22

      When you have triangles as your graphics primitive, you can trivially draw a quad. When you have a quad as the primitive, you can draw a degenerate triangle as a quad where two vertices coincide, but you lose UV mapping, so you can't port triangle-UV-mapped titles to quad based hardware directly, but the other way around, no problem at all.
      Sonic R PC has two draw paths, DirectDraw path where presumably quads are drawn in software, and Direct3D path which has to waste a negligible extra effort creating triangles out of quads, but can rely on the 3D accelerator to reduce the workload.

    • @moosemaimer
      @moosemaimer 6 ปีที่แล้ว +20

      NiGHTSnoob There was a PC accelerator card that contained Saturn graphics and sound chips which could run direct ports of the games; it even had a daughercard with two controller ports. Lazy Game Reviews did a video on it.

  • @marianhak
    @marianhak 6 ปีที่แล้ว +94

    Normal assembler is scary enough, but that matrix thing is on another level.

    • @MaxAbramson3
      @MaxAbramson3 ปีที่แล้ว

      RISC Assembly, I love. I work with that everywhere when I can. Nowadays, the best I can do is C with intrinsics.

  • @kathrynradonich3982
    @kathrynradonich3982 6 ปีที่แล้ว +152

    Would love to see more on how that DSP code works. Looks like a nightmare keeping track of 6 operations at once for who knows how many lines of code. The tricks, creativity and just pure skill involved to make that happen is an art. As someone who is learning assembly (specifically x86 assembly) it really intrigues me.

    • @LordmonkeyTRM
      @LordmonkeyTRM 6 ปีที่แล้ว +3

      IKR.

    • @renakunisaki
      @renakunisaki 6 ปีที่แล้ว +7

      x86? You poor bastard.

    • @amirabudubai2279
      @amirabudubai2279 6 ปีที่แล้ว +3

      x86 is a hard assembly language. I don't know what DSP Sega used, but I am will to bet it is a RISC ISA which is a lot easier... relatively speaking. But as somebody who is learning DSP coding atm, I would appreciate a video on it.

    • @Some_RandomYoutuber
      @Some_RandomYoutuber 6 ปีที่แล้ว +4

      DarksydePhill?

    • @hydrochloricacid2146
      @hydrochloricacid2146 6 ปีที่แล้ว +2

      probably a VLIW-style architecture from the looks of things.

  • @GameSack
    @GameSack 6 ปีที่แล้ว +41

    Amazing! And I like the touch of Sonic being underneath the cable as he's shown on top of the chip on the mobo.

    • @orderofmagnitude-TPATP
      @orderofmagnitude-TPATP 4 ปีที่แล้ว +1

      Hey reddifer....i reckon you could do some cool edit like this

  • @AesculapiusPiranha
    @AesculapiusPiranha 6 ปีที่แล้ว +77

    I love explantions of the Saturn hardware. People always talk about how hard it is to code for, yet there aren't many good resources on how professionals actually tackled this task, particularly from anyone who could squeeze something as good as Sonic R out of it. I would love to see more videos on the Saturn hardware and making it dance!

    • @amirabudubai2279
      @amirabudubai2279 6 ปีที่แล้ว +2

      I want to hear from a Jaguar 64 developer about its hardware.

    • @arlobubble3748
      @arlobubble3748 6 ปีที่แล้ว +2

      If only there were good Jaguar games and hence developers to listen to - I don't think anyone really figured out how to get the most from it.

    • @elgoog-the-third
      @elgoog-the-third 4 ปีที่แล้ว

      Well, on top of there not being good games, it is also that the hardware itself was totally buggy.

    • @amberdean1263
      @amberdean1263 3 ปีที่แล้ว

      @@elgoog-the-third There was a massive catalog of phenomenal games in Japan that were never brought over to the US. The Saturn is definitely not at all lacking in great games. Also, the hardware isn't buggy, but Sega's documentation was confusing and often badly translated. (I'm learning to code for the Saturn right now.)

    • @elgoog-the-third
      @elgoog-the-third 3 ปีที่แล้ว

      @@amberdean1263 Well, I was commenting on the Jaguar ^^

  • @qarlqubicle8121
    @qarlqubicle8121 6 ปีที่แล้ว +10

    The Sega Saturn is my favorite 5th generation console. I like working on homebrew software and learning the inner workings of the Saturn's architecture as a hobby so any kind of informational content like this is a goldmine for me.

  • @danielm2142
    @danielm2142 6 ปีที่แล้ว +19

    Now I get why most 3D Saturn games were inferior to other systems, most developers probably didn't even touch the DSP... That and the slave SH2.
    This brings up a question though, does the DSP have direct access to work RAM, or its own dedicated RAM? as Jim Bagley once commented on the development of Saturn DOOM stating "when the hardware accelerated version was turned down, John Carmack suggested using the DSP for rendering, but it lacked the amount of RAM required, so we just went with software rendering instead" (maybe not worded that way).
    I also have to say, I've have, and probably will always love the SEGA Saturn, it's such a misunderstood console that gets way more hate than it deserves, the hardware is weird and wonderful in the strangest sense, that considering it was one of the earlier releases in the fifth generation, it was technically superior to the others in one way or another, it just never really got a chance to prove it, except in rare hands such as yours. One day, when I finish my masters degree in game programming, I'd like to dabble in some Saturn dark arts.

    • @DTM-Books
      @DTM-Books 5 ปีที่แล้ว +3

      Most Western software developers never even bothered with the DSP or even the 2nd CPU. Japanese developers, however, put in much more effort and were far more successful with Saturn. Even games created by a single programmer (like Savaki) look terrific on the system and beat out most everything Western devs put out.
      Of course, if Saturn was a success in the West, then developers would have been forced to learn the hardware, and the result would be very much like the Playstation 3, which was also a famously complicated beast.

    • @codmott286
      @codmott286 4 ปีที่แล้ว +1

      The Saturn gets so much hate due to fanboys who misunderstand what "complexity" means. They think a complex architecture = superior in some way. They seem to think if Jesus learned to code that he could take any PS1 game and make it look better on a Saturn which is simply untrue. Saturn was as complex as trying to fly an airplane with half a wing. It doesnt matter how interesting parallel programming is and how useful it can be *in theory*, the reality is that even if utilized to its full extent the net result would be worse than anything the PS1 could deliver.

  • @amberdean1263
    @amberdean1263 6 ปีที่แล้ว +18

    This is phenomenal - I would love to see a DSP code video. I'm both a huge Saturn fan and also dream of developing my own Saturn homebrew games/demos. It's much easier to approach the simpler architecture of the Megadrive, and there's not much info (or example source code) available out there for the Saturn. Any scraps of information like this are golden :)

  • @MeanDanGreen
    @MeanDanGreen 6 ปีที่แล้ว +4

    You sir, are a wizard. Its like you taught an octopus how to juggle 5 different sets of balls with how complicated that all seems.

  • @NanaKyoto
    @NanaKyoto 6 ปีที่แล้ว +127

    Imagine how successful the Saturn could have been if the hardware wasn't so complicated.

    • @SaulidSnake
      @SaulidSnake 6 ปีที่แล้ว +70

      It was a contributing factor, but there were many other issues going on within SEGA America and SEGA Japan.

    • @pam8352
      @pam8352 6 ปีที่แล้ว +47

      the main enemy of saturn was sega of japan executives

    • @RAMChYLD
      @RAMChYLD 6 ปีที่แล้ว +16

      IMO tho, the big issue with the Saturn was Bernie Stolar’s meddling.

    • @pam8352
      @pam8352 6 ปีที่แล้ว +28

      absolutly no. starting from the beginning sega saturn was developed as the same way arcade boards in mind, at the time they were all developed using assembler and used quad polys. the main iusse was sega of japan heads that were jealous of western ones and at the time they had done everything to deny emea success. the saturn was difficult to program but the main problem was sega of japan that destroyed every sega of america and europe work with third parties and bernie stolar continued with the same suicide politic (i can remember the breaking with working design). If EA is a great company they must thank only a man, Tom Kalinske who understood that good developers must work jointly with good marketing direction . That is a think that everyone who works already know, it is horrible to work with a chief that is a head of dick but if your chief is good everyone will do his best to get every achievment.

    • @OwtDaftUK
      @OwtDaftUK 6 ปีที่แล้ว +7

      The fact it's complicated is the least of the issues. The main issue was how it's setup up bottle necks it.

  • @jc_dogen
    @jc_dogen 6 ปีที่แล้ว +22

    So would you say sonic r is pretty close to the best the saturn can do? Do you have any numbers on how many polygons (quads I guess) the game can push?

    • @jwhite5008
      @jwhite5008 6 ปีที่แล้ว +9

      The question is not the sheer number of pixel/polygons/triangles/quads but the resulting image as a whole. This really depends on the game.
      Whan JonTT did is conceptually not entirely different from geometry/physics/shader processing on modern videocards - just manually.

    • @jc_dogen
      @jc_dogen 6 ปีที่แล้ว +1

      Yeah, I know, but I'm curious anyway. ; )

    • @Dirk1Steele
      @Dirk1Steele 6 ปีที่แล้ว +2

      Also VDP2 can generate infinite planes which reduces the need for quads when drawing the ground so the quad resource can then be used else where. Still an interesting question though.

    • @JetWolfEX
      @JetWolfEX 6 ปีที่แล้ว +6

      There are other 3D games on the system but only a few compare, Burning rangers is more detailed, but has problems with framerate and texture warping, other games had lower draw distance to compensate for lackluster programming.
      There are some other games that don't have those problems but only a few.

    • @nevermind824
      @nevermind824 6 ปีที่แล้ว +6

      Probably the demo for shenmue on the saturn looks like the best game possible on the saturn, but it was never finished so we don't know. Sonic r is up there though

  • @-abacchus
    @-abacchus 6 ปีที่แล้ว +8

    Loving the Knightmare reference :)

  • @Miles_3298
    @Miles_3298 6 ปีที่แล้ว +8

    Quite fascinating. Yeah, I'd definitely like a look at the DSP code you had going on there.

  • @Kataclysm
    @Kataclysm 6 ปีที่แล้ว +2

    Fascinating! I've always heard that the Saturn was difficult to program for due to the two VDP chips and dual CPU's, but this explanation really clarifies it in a way easily understood!

  • @DukeDudeston
    @DukeDudeston 6 ปีที่แล้ว +3

    This video excited me more than it probably should have.
    This is the most detailed and easy to follow (thanks to the motherboard overlay) explination of the "pain in the arse" architecture of the saturn.
    I will play Sonic R again and remember the wizardry you performed to get it to work.

  • @EmeraldoTheDragon
    @EmeraldoTheDragon 6 ปีที่แล้ว +2

    3:26 Haha! Loved that brief Knightmare reference!
    It may have been a Knightmare, but would it have been... Virtually Impossible? 😎

  • @jfitnesshealth
    @jfitnesshealth 6 ปีที่แล้ว +14

    Amazing!!! For a 90s sega sonic nut, this video brings a ton of feelings and memories. If i ran into u i would pick ur brain. Thank you so much for this awesome channel.

    • @rtpHarry
      @rtpHarry 4 ปีที่แล้ว

      if you ran into him he would drop all his coins

  • @Zekium
    @Zekium 6 ปีที่แล้ว +28

    @GameHut You mentioned the 68000 in the saturn hardware : did you used it for the Sega Saturn version of Sonic 3D (as you said it was "just" the Genesis version interpreted) ?

    • @Poly_0000
      @Poly_0000 6 ปีที่แล้ว +3

      You don't have to @ the creator on his own video.

    • @DukeDudeston
      @DukeDudeston 6 ปีที่แล้ว +8

      Jon has said before that the Saturn port of Sonic 3D was not handled by Travellers Tales. So he might not be able to confirm this.

    • @Zekium
      @Zekium 6 ปีที่แล้ว +3

      Sorry, that's an habit I got from most chats I use.

    • @GTXDash
      @GTXDash 6 ปีที่แล้ว +7

      Sonic 3D did not use the 68000 in that way. It was for running the sound and music. Sonic 3D isn't a straight port. It had enhanced graphics and animations that the 68000 couldn't handle.

    • @Poly_0000
      @Poly_0000 6 ปีที่แล้ว +3

      @@Zekium several people are typing ;)

  • @Redhotsmasher
    @Redhotsmasher 6 ปีที่แล้ว +6

    That DSP code is giving me VLIW vibes.

  • @Ayavaron
    @Ayavaron 6 ปีที่แล้ว +2

    I'm totally fascinated by the way the different chips work as a well-organized team. Perhaps in a future video, you could break down how other games took advantage of multi-chip architecture in their own specific ways? Maybe there's a way you could show examples of the chips not being a good team?

  • @Jambion
    @Jambion 6 ปีที่แล้ว +24

    The scu code looks like hell. How do you deal with code longer than 10 chars???

    • @jwhite5008
      @jwhite5008 6 ปีที่แล้ว +13

      multi-core CPU multithreading - the manual way

    • @adamsfusion
      @adamsfusion 6 ปีที่แล้ว +3

      It's more or less exactly how Jack White puts it. The fickle bit is knowing that the processor is in a very specific given state when that code runs, so your operations have to be very careful to observe it. If you don't, instructions can fall out of sync, or worse, generate NMI's on many systems, halt, and wait to be reset.

  • @Elkplaysandpaints
    @Elkplaysandpaints 6 ปีที่แล้ว +9

    It's really cool to finally have someone show how to make sense of the Saturn hardware for me. Videos like this would totally benefit the Sega Saturn homebrew scene, which I know is out there for sure.

  • @diegorivera2711
    @diegorivera2711 6 ปีที่แล้ว

    Keeping all that logic in sync must be another nightmare! I'm interested on the dsp code video too! Thanks for sharing all this.

  • @Ninetails2000
    @Ninetails2000 6 ปีที่แล้ว +3

    I know everyone is asking for a Sonic R DX out of you, but what would you personally most want to update/fix/add into the game? Like, the number one thing you'd do in a heartbeat given the chance?
    Also, this is probably the best thumbnail you've ever created.

  • @calebbennetts3559
    @calebbennetts3559 6 ปีที่แล้ว

    I love hearing about how you set up the processing for 3-D graphics. Also, the shots where you superimposed the polygons over the chips rendering them was really interesting.

  • @arcticridge
    @arcticridge 6 ปีที่แล้ว +1

    Your music for these videos is so trippy, I feel like I'm floating into cyberspace O_O

  • @blayral
    @blayral 6 ปีที่แล้ว +24

    MORE MORE MORE !! It's a shame we cannot upvote this video multiple times !

  • @fedup7496
    @fedup7496 6 ปีที่แล้ว +15

    I think Jon liked making games for the saturn because it was a challenge and that made it fun. He, he he.

  • @adamsfusion
    @adamsfusion 6 ปีที่แล้ว +1

    I'd love a video on the DSP. DSPs in general have always been such a fascination to me, yet they've fallen heavily out of use in modern times due to the rise in highly efficient, fast, extremely capable general purpose processors.

  • @HPZ0NE
    @HPZ0NE 6 ปีที่แล้ว +16

    The Saturn architecture looked like a powerful one, albeit a nightmare-to-code one. Feels like it was kinda ahead of its time like the Dreamcast, but due to something (poor documentation from SEGA, maybe?) not a lot of programmers bothered to make games for it.
    Also, SCU!

    • @Shima33BB
      @Shima33BB 6 ปีที่แล้ว

      SCU!

    • @georgehenson2412
      @georgehenson2412 6 ปีที่แล้ว +8

      The Saturn was a hack job. They were redesigning it way too late in the process because they were scared shitless about Sony. The solution they tried to come up with was throwing in more chips into the system with little understanding about how they would interact. Doesn't mean it's a completely awful system, but it wasn't well prepared at all. Dreamcast was built on a solid architecture but Sega had blown through their good will.

    • @jc_dogen
      @jc_dogen 6 ปีที่แล้ว

      Yep, they added the second SH-2 and SCU pretty late in development of the system iirc.

    • @DukeDudeston
      @DukeDudeston 6 ปีที่แล้ว +3

      Its a combination of changing components late and not being able to provide proper documentation expecting 3rd parties to work it out and of course the rushed early release of the Saturn that caused it to "fail"

    • @jc_dogen
      @jc_dogen 6 ปีที่แล้ว +1

      yeah, changing components late, not providing good documentation and tools, rushing the console, and the price

  • @chriswinslow
    @chriswinslow 6 ปีที่แล้ว +1

    Documenting how the code worked would be highly appreciated and insightful plus it would make for good viewing.

  • @TheOnkelvonGott
    @TheOnkelvonGott 6 ปีที่แล้ว +1

    Great video as always!
    I hope that one day, you do a coding secrets episode for Haven: Call of the King. The game was just impressive, especially the scaling.

  • @mrb692
    @mrb692 6 ปีที่แล้ว

    This is the kind of stuff I love this channel for. The lets plays with director commentators are super cool too, but it’s not too common to hear a developer talk about how they broke the hardware like you and the TT crew did.
    Keep up the awesome content!

  • @SkaarjOrbb
    @SkaarjOrbb 6 ปีที่แล้ว

    Leaving a like and a comment for Digital Signal Processor magic on the Saturn. Had this game back in the day, incredible to see how these games were actually so complex to create.

  • @GonXtreme
    @GonXtreme 5 ปีที่แล้ว +1

    So the Saturn was like a cake of chips.

  • @d_b_n_
    @d_b_n_ 6 ปีที่แล้ว +11

    Do you have any coding secrets for Toy Story 2 on PSX?

    • @jeremygregorio7472
      @jeremygregorio7472 6 ปีที่แล้ว +6

      Second this. TS2 on the PSX is a fully realized 3d Platformer on the PlayStation 1. It boggles my mind that such a large open world works on that console.

    • @LOOMING_WRAITH_OF_BAD_OMEN
      @LOOMING_WRAITH_OF_BAD_OMEN 5 ปีที่แล้ว

      @@jeremygregorio7472
      You want to see open world on the PS1? Check out Legacy Of Kain: Soul Reaver. Not a single load time other than when you load the save file. Completely seemless open world. Even gives Jak And Daxter: The Precursor Legacy a run for it's money.

  • @zyrobs
    @zyrobs 6 ปีที่แล้ว +5

    The part you labelled "Video RAM" is not video ram, it's half of the main system memory (WORK RAM HIGH). On most systems it is two SDRAM chips, but on the one in the video, it's a single SGRAM chip. The actual Video RAM (the texture memory, the framebuffer, the VDP2 memory) are all on the underside of the board.

  • @sonictimm
    @sonictimm 6 ปีที่แล้ว

    So many parallel parts coming together, it's like a song.
    Thanks for the video!

  • @stefanocrespi5424
    @stefanocrespi5424 4 ปีที่แล้ว

    Great content, editing and post processing, jon. My hat off.

  • @karlmeyer5383
    @karlmeyer5383 6 ปีที่แล้ว

    I think I'm speaking for the thousands of folks watching this video that, emphatically, YES....we all would love to see more videos on programming the Saturn. All of us have heard how difficult it was and how that architecture ultimately doomed it so anything you can explain that opens the box would be wonderful!!! Also comparisons to PSX would be great too!

  • @TheKafairy
    @TheKafairy 6 ปีที่แล้ว

    Fascinating - what a clear and understandable description of how the various processors work together in the Saturn. Great video!!!

  • @lustechsource5197
    @lustechsource5197 6 ปีที่แล้ว +3

    This is some really good insight on how you got all the Saturn chips in sync. Can you do a video of the Saturn sound hardware. It seems to be the most advanced FM chip ever released but came out at a weird time. Everyone was moving away from FM synthesis to wavetable and more often pure digital audio. How did you utilize the Saturns sound hardware?

    • @SianaGearz
      @SianaGearz 6 ปีที่แล้ว +1

      Not really FM based really - but apparently FM capable, with a few more tricks up its sleeve. I mean the only base function of Yamaha FM synthesizer is a sinewave, and it combines them and ADSR envelope on each to produce complex sounds, so then Saturn can also likely use non-sine but arbitrary base functions or wave samples. Predominantly it was used as a straightforward sample-based synthesiser, akin to SNES and Playstation. I'd really like to know more about this, since Dreamcast seems to have a somewhat similar soundchip, and i'm sure there are interesting things that could be done on that but never were.

  • @Danthrax40
    @Danthrax40 6 ปีที่แล้ว

    This is fascinating. I love your coding secrets videos. I just bought a Saturn last month (and I have a basic understanding of programming and circuitry from my college days) so it’s a lot of fun learning how the Saturn does what it does.

  • @UpTheAnte1987
    @UpTheAnte1987 6 ปีที่แล้ว +2

    So busy thinking about various processing chips I laughed at the Knightmare joke 5 seconds after it had gone

    • @SianaGearz
      @SianaGearz 6 ปีที่แล้ว +1

      Wait what, where?

    • @benryves
      @benryves 6 ปีที่แล้ว +1

      Blink and you'll miss it - 3:24 :)

  • @SaulidSnake
    @SaulidSnake 6 ปีที่แล้ว +3

    Nicely done, I’ve always heard Sega Saturn was a pain to code on. I’m always curious of how developers got around the obstacles.

    • @NeoTechni
      @NeoTechni 6 ปีที่แล้ว +1

      Virgin sacrifices

    • @jc_dogen
      @jc_dogen 6 ปีที่แล้ว +1

      That particle video is about the PS2, not Saturn.

  • @mattburkey
    @mattburkey 6 ปีที่แล้ว +2

    Ha ha ha, I had a good laugh at the ever-so-brief reference to “knightmare”.

  • @Floating.Point.
    @Floating.Point. 6 ปีที่แล้ว

    Ahhh SHIET. It's a neverending blueballing with this channel. EVERY single video ends just when it starts to heat up. I know it must be a pain in the ass to produce these but man I wouldn't mind a video per month if it went just a little longer! Thanks a ton for every piece of content you produce, it's seriously a channel I instantly click as soon as I get a notification.

  • @produKtNZ
    @produKtNZ 6 ปีที่แล้ว

    I would really like to see a V2 of this same video with significantly more detail - although I must admit, you did an excellent job in crushing the basics into just 5 minutes Jon :)

  • @ZacabebOTG
    @ZacabebOTG 6 ปีที่แล้ว +1

    The thumbnail for this video made me think of a Dr. Frankenstein trying to recreate Rayman from Sonic parts.

  • @BlazeHedgehog
    @BlazeHedgehog 6 ปีที่แล้ว

    Yeah, there was definitely a rumor (maybe even solid information?) going around early in the Saturn's reveal that the cartridge slot was going to be used to play Genesis games.

  • @vamp97
    @vamp97 4 ปีที่แล้ว

    This sounds absolutely nuts. I loved Sonic R when I was little, so I'm so grateful to be able to see this inside view!

  • @carlcouture1023
    @carlcouture1023 6 ปีที่แล้ว +1

    I'll be honest, I was half expecting you to say "It's simple, we ran the whole game off the 68000 and all the 3D elements are pre-rendered sprites that fit neatly into memory"

  • @theharvardyard2356
    @theharvardyard2356 6 ปีที่แล้ว +3

    I think we're approaching elsagate levels of thumnail design at this point...

  • @FlukeyHeadshot
    @FlukeyHeadshot 6 ปีที่แล้ว +2

    I love and appreciate all your videos mate. I would love to see a video on how the SCU/DSP handled that code! I would also love to know more about the F1 game that could of been and if you think it could of matched the Playstation F1 game.

  • @drewmaster10
    @drewmaster10 6 ปีที่แล้ว +1

    "Let me know if you want to see a video on exactly how this code works."
    Yes. I would love to see that.

  • @MemesnShet
    @MemesnShet 6 ปีที่แล้ว

    I like the editing with the videos playing in each chip

  • @cheaterman49
    @cheaterman49 4 ปีที่แล้ว

    Incredible :-) I have seen the SCU code video first but this explains a lot! I never noticed the waterfall was glowing, I guess that's just on your prototype build? Or possibly not on PC?

  • @marioskoutras6583
    @marioskoutras6583 6 ปีที่แล้ว

    I can't get enough of this channel, is just so awesome! And that music, i feel like I know that melody for years!

  • @cromulence
    @cromulence 6 ปีที่แล้ว

    Kudos on the video editing, it's fan-bloody-tastic! So cool to see exactly what is doing what! I'd love to know more about audio programming on the Saturn, as the audio chip is awesome (NiGHTs and Radiant Silvergun spring to mind). Did you do much with the audio chip or was it mainly CDDA? I think I'm right in saying its the latter?

  • @ChadDoebelin
    @ChadDoebelin 11 หลายเดือนก่อน

    hi GameHut! I used a few seconds of your video 2:56 here in a video of mine and tagged you in the description. Thanks for making this and sharing your knowledge. I hope you have time to watch and comment!

  • @MxArgent
    @MxArgent 4 ปีที่แล้ว

    The saturn's very forward thinking, looking back from an era when there's multiprocessor wristwatches...but then again, the Saturn itself took a lot of inspiration from Sega's contemporary arcade boards and multiprocessing was already the norm there for some time.

  • @eatingbreakfastrocks
    @eatingbreakfastrocks 4 ปีที่แล้ว

    Thinking outside the box is ether making impressive fading effects or realizing that the devs forgot to lock a few no-no words

  • @VoltagSpade
    @VoltagSpade 6 ปีที่แล้ว

    Fascinating video, and if I may suggest something else? Maybe show us the most complicated process you’ve ever had to write on the DSP for the fun of it. This sounds extremely interesting!

  • @ManLikeKitch
    @ManLikeKitch 6 ปีที่แล้ว +1

    If you do make that very curious video on how the multiple simultaneous calls works, I think it might actually become a viable source for study since there's very little information about it already both online and in related literature.

  • @EdgyNumber1
    @EdgyNumber1 4 ปีที่แล้ว

    The Saturn was always described to me as a box of carefully meshing cogs. Everything had to synchronise with everything else in order to get the hardware to work together properly.

  • @ugbentertainment8001
    @ugbentertainment8001 6 ปีที่แล้ว

    As an amateur video game designer. I am in love with EVERYTHING you make here on this channel. It just amazes me what you all are able to produce and create... - Autumn Clearwater

  • @JeffreyThrash
    @JeffreyThrash 6 ปีที่แล้ว +1

    I’ve tried to learn coding, but for whatever reason I can’t get both the creative and logical sides of my brain to work to create code by myself (it probably doesn’t help that I’m sognificantly more creative than logical, and I haven’t memorized any physics formulas as it applies to gaming).
    So I have a huge amount of respect for anyone that can make sense of SEGA Saturn’s confusing architecture.

  • @SolarChip
    @SolarChip 6 ปีที่แล้ว

    @GameHut I love these insights into the Saturn's crazy architecture. I've recently been researching how to use the sega saturn soundchip without using redbook audio, but I don't think any software to program a kind of vgm file and play it through the hardware exists, which is such a shame because the scsp an absolute beast of a soundchip capable of 32 interchangeable channels of FM synthesis and sampling. Do you know anything about writing music for the saturn soundchip? I'd love to see a video on that

  • @Daigohji99
    @Daigohji99 4 ปีที่แล้ว

    Most programmers: The Saturn was a nightmare to program for.
    GameHut: I've been waiting for this pain.

  • @DrMattPhillips
    @DrMattPhillips 6 ปีที่แล้ว

    The visuals in this video were a great idea and really helped convey these ideas in an interesting educational light.

  • @drunkensailor112
    @drunkensailor112 6 ปีที่แล้ว

    even back in 2001 this game completely stunned me on the saturn. I couldn't believe how good it looked.

  • @videogamemusicandfunstuff4873
    @videogamemusicandfunstuff4873 6 ปีที่แล้ว

    I love this! Fascinating stuff! 4:04 I definitely would like a video explaining the DSP programming in more detail.

  • @jensdroessler3575
    @jensdroessler3575 4 ปีที่แล้ว

    I really like your videos! The way you set them up I can guess what you did before you even explained it in many cases (not in this video, obviously) which is part of the fun for me. What I‘d like to know: WHY did Sega go for this hard to code for insanity instead of using a (by the numbers) similarly powerful, but simpler setup? Do you have any info on that?

  • @mafiousbj
    @mafiousbj 6 ปีที่แล้ว

    that 6 simultaneous executions seem to be a nightmare to debug. Damn programmers back in the early 90´s were real geniuses before common commercial engines were a thing

  • @Ken_Leep
    @Ken_Leep 6 ปีที่แล้ว

    This is my favorite thing ever! More about the SCU please!!! The Saturn is fascinating to me. And thank you for making videos like this!

  • @gussaldivar4029
    @gussaldivar4029 6 ปีที่แล้ว

    Truly impressive!! I'd love too see your DSP video!

  • @kinorai
    @kinorai 6 ปีที่แล้ว

    I don't understand anything you talk about, but it's still AWESOME to hear about how games were made on the Saturn!!

  • @joedoe1096
    @joedoe1096 6 ปีที่แล้ว

    I don't know anything about coding, and I find this easy to understand and interesting. That's a true gift to be good at something so technical, yet able to break it down for a novice as well.
    Thanks for the time and effort you put into these wonderful videos, blessings to you brother.

  • @bzqp2
    @bzqp2 6 ปีที่แล้ว +2

    The water reflection effect in the background is not even visible in the end :o

  • @Dirk1Steele
    @Dirk1Steele 6 ปีที่แล้ว

    That flash of classic kids program Knightmare made me chuckle. And of course we want a DSP code video!

  • @YashaMikage
    @YashaMikage 6 ปีที่แล้ว

    I knew the Saturn used multiple chips and this made it's hardware a nightmare (emulation took until 2015 to actually be feasible) but didn't realize it was THAT complicated. 15 different chips all requiring yet another chip to coordinate them all, including 2 cpus... but much. Reminds me of how the WiiU is built.

  • @fuimatatsu8444
    @fuimatatsu8444 6 ปีที่แล้ว

    Hell yeah, gimme that DSP video. I'd kill to hear about anything you did with the Saturn.

  • @MrBLARG85
    @MrBLARG85 6 ปีที่แล้ว +2

    I'm really interested in how you learned to code for the DSP and what sort of a hassle it was to work out how to make it to do exactly what you needed it to.

  • @Longuncattr
    @Longuncattr 6 ปีที่แล้ว

    Yes, absolutely I'd love to see a DSP code video!

  • @randomronn
    @randomronn 6 ปีที่แล้ว

    Jon, you really never fail to bring interesting topics up for your videos. Please continue being awesome!

  • @EldeNova
    @EldeNova 6 ปีที่แล้ว

    Jesus Christ I can't even make a game of pong with a game library. So much appreciation for you dude.

  • @matilija
    @matilija 4 ปีที่แล้ว

    How did I just now find this channel, the Saturn is to this day my favorite console of all time, it was the first console I had that really opened my imagination to the possibilities of consoles as entertainment machines, the relatively simple, but ahead of it's time dashboard with access to memory, cartridge, cd options ect really blew my mind as a young man, and seeing stuff like this really makes me wonder what the console was really capable of.

  • @JoshTumath
    @JoshTumath 6 ปีที่แล้ว +2

    I liked the reference to Knightmare.

  • @Cafeman_2D
    @Cafeman_2D 6 ปีที่แล้ว

    I've read a lot about Saturn's innards, but I can't recall ever seeing a better and easier-to-understand explanation at the coding level. Kudos for figuring out the best way to use that complicated architecture. Question - did engine creation take so long in the dev time that you didn't have enough time to add more content to this game? I always wished there had been an extra stage or two. Too bad you couldn't have reused the engine for a Saturn sequel.

  • @tycoinreno
    @tycoinreno 6 ปีที่แล้ว +1

    As I understand it, since the memory is shared, only one CPU at a time can access the video ram and the main ram. What did you do to minimize the number of cycles wasted by each CPU waiting for the other to release the ram?

  • @chaseincats
    @chaseincats 6 ปีที่แล้ว +5

    Did you ever do any coding on Dreamcast? I'm sure many of us would like to see some Dreamcast coding secrets!

  • @Pepsolman
    @Pepsolman 6 ปีที่แล้ว

    I like to see a similar description of how the 3D segment of Sonic Jam was created and ran. It’s a shame with the great abilities of the Saturn that a full fledged 3D Sonic game was never made.

  • @PlayerOneStart
    @PlayerOneStart 6 ปีที่แล้ว

    Fascinating, I am very curious how that SCU (DSP) code works. I am amazed at the complexity of programming for the Saturn. Keep up the good work!

  • @AdeonWriter
    @AdeonWriter 5 ปีที่แล้ว

    The more I learn about Sonic R the more I believe this game was not supposed to be able to exist. Thank you for making it.