SONIC Torn Apart to Expose SEGA's Insanity With Multichip Madness

Поделиться
HTML-код
  • Опубликовано: 29 дек 2024

Комментарии • 331

  • @adlaiHoller
    @adlaiHoller 4 года назад +342

    I would love to see a video about that crazy parallelism on the DSP

    • @AesculapiusPiranha
      @AesculapiusPiranha 4 года назад +28

      It exists as 'Coding for the World's Trickiest Chip,' so that should be uploaded soon, but we are still waiting on the sequel to that video.

    • @sseb22
      @sseb22 4 года назад +10

      And if you can't wait: ruclips.net/video/n8plen8cLro/видео.html

    • @liam1253
      @liam1253 4 года назад

      Seconded!

    • @yabbaso
      @yabbaso 4 года назад

      Me three

    • @jameskelly9277
      @jameskelly9277 4 года назад

      Me as well!!

  • @darren8453
    @darren8453 4 года назад +246

    As a developer nowadays, I get the sense that I would have simultaneously loved and hated working on the Saturn 🙂
    Simultaneous Multi-Thinking, if you will.

    • @ciaragarrity6425
      @ciaragarrity6425 4 года назад +7

      Can you clarify on how hard or easy it was to develop for the saturn? I am curious about homebrewing a game. A question I have is: Do you need a machine made by SEGA, do I have to buy a expensive physical kit? How about the dreamcast?

    • @caseycu
      @caseycu 4 года назад +11

      Ciara Garrity it depends what you want to make; a fast 3D game with lots of special effects takes a great deal of knowledge in both C and Hitachi assembler. But getting started and making simpler games isn’t difficult, and you don’t need any custom hardware if you use an emulator or mod chip. I used to use a dev environment called Saturn Orbit but idk if it’s still around.

    • @ciaragarrity6425
      @ciaragarrity6425 4 года назад +4

      @@caseycu oh goody! Ill try to find it. Thank you!

    • @sandakureva
      @sandakureva 4 года назад +6

      The way I understand it, it was a super crunchy setup to work with. It's a matter of "how much did you enjoy haskell back in college?"
      If the answer is anything other than "oh god no," then you'd probably enjoy it.

  • @henrygreen2096
    @henrygreen2096 3 года назад +1

    Mate, the way you did the visualisation deserves a fucking award, showing a window of what each chip does on the chip. Brilliant, I have never seen that before, if done before someone show me where.

  • @keiyakins
    @keiyakins 4 года назад +106

    And to think that's not even the most absurd system Sega ever produced. A Sega Genesis with both the CD and 32x add-ons formed a system with: A 68000 at 7.67MHz, a 68000 at 12.5 MHz, a Z80 at 3.57MHz, and two SH-2s at 23.01MHz, then for sound you have a YM2612 with 6 FM channels (or 5 and 1 PCM channel), a PSG with 3 channels of square waves and 1 noise channel, a QSound chip with 2 PWM channels, an RF5C164 with 8 PCM channels, and two channels of CDDA, and then for graphics you have... I'm not even going to try to describe the CD32x graphics hardware, but it's 3 completely different chips being over or underlayed.

    • @jlewwis1995
      @jlewwis1995 3 года назад +7

      Can you utilize all that hardware at once? Or is some of it locked out most of the time? I know the z80 and 68k can't work together at once but what about all the other stuff

    • @Charlie-eq3dj
      @Charlie-eq3dj 3 года назад +6

      With all that power, could it do FF7 at the appropriate resolutions?

    • @CharlesHepburn2
      @CharlesHepburn2 3 года назад +1

      Now THAT is Blast Processing!!!

    • @robintst
      @robintst 3 года назад +2

      All these years I never stopped to consider what a Frankenstein's monster all of those pieces of hardware are together under the hood. Really it's a shame things turned out like they did, I would have really loved to see a CD, 32X, or CD32X game that utilized all that hardware to it's fullest... maybe helmed by Hideo Kojima fresh off the Sega CD port of Snatcher that was so amazing.

    • @derpinbird1180
      @derpinbird1180 3 года назад

      @@jlewwis1995 The z80 operates as a sound controller and not really a coprocessor. Yes you can use them all at once. They would generate the background, overlay and other 2d stuff with the 68000 and its graphics hardware on the genesis while more fancy graphics were generated with the SH-2 processors on the 32x. There wasn't a lot of communication between the CPUs and the images were combined via the video signal so no shared frame buffer or anything like that.

  • @andrezunido
    @andrezunido 4 года назад +52

    More please! I find the Saturn fascinating, it had such stark differences in game graphics quality. I believe that one must be a wizard developer (team) to make great looking 3d games like Powersslave, panzer Pragoon zwei, etc using this architecture.
    The Saturn, was part of my teenage gaming years, hope to get more coding secrets content for it. Great work!

    • @codmott286
      @codmott286 3 года назад +1

      to think a company ported quake 1 in near entirety to the saturn is unbelievable.

    • @robertwilson3866
      @robertwilson3866 Год назад +1

      It's also about how much time you are willing to spend making a game. Time = money. Are you going to sell enough copies to make that extra time spent on polish worthwhile?

  • @Amesuki
    @Amesuki 4 года назад +127

    The Sega Saturn did sound like a bloody "knightmare" to code for.

    • @melficexd
      @melficexd 4 года назад +4

      I think it sounds very interesting to pull cool stuff with Saturn 😁

    • @Shonicheck
      @Shonicheck 4 года назад +7

      @@melficexd It's interesting after you pulled this off, but a nightmare to come up with and code.

    • @RedTygon
      @RedTygon 4 года назад +4

      I think you and I are the only ones that got the joke. I remember knightmare.

    • @rhiannonband
      @rhiannonband 4 года назад

      Sounds like you could easily get yourself into a Pickle.

    • @scottman572
      @scottman572 3 года назад

      Such good games on it though!

  • @shukterhousejive
    @shukterhousejive 4 года назад +90

    I think I'm starting to see why Yuji Naka just gave up and ran his game loops on the 68k

  • @JimHawkwind03411
    @JimHawkwind03411 2 года назад +1

    You should check out PowerSlave, whose SlaveDriver engine was reused for the Saturn ports of Duke Nukem 3D and Quake.
    Ezra Dreisbach, the lead architect of the SlaveDriver Engine, was one of the few people who used the Saturn to its full effect, despite him criticizing the Saturn’s architecture.

  • @OminousBagel
    @OminousBagel 4 года назад +21

    3:23 Extreme Danger Dungeoneers! (Nice reference to Knightmare!)

    • @batlin
      @batlin 4 года назад +2

      Used to love that show, despite being creeped out every time by the life force draining animation...

  • @profblack
    @profblack 4 года назад +51

    There were many revisions made through its life.
    Me: Wait. The Saturn had a lifespan?

    • @mutalix
      @mutalix 3 года назад +5

      Mostly for Japan I imagine.

    • @NemXX2
      @NemXX2 3 года назад

      I know for a fact that there were at least 2 in europe.
      The launch units had small elipse buttons, but these were replaced with round ones on later units.

    • @takeo3998
      @takeo3998 3 года назад

      @@NemXX2 I had one with round buttons in Brazil, no disc access LED in the panel.

    • @opaljk4835
      @opaljk4835 2 месяца назад

      Even a short lifespan is a lifespan. But the Saturn har games released for it from 1994 - 2000, the majority of which came out from 94-98, so it had a pretty typical console life. There were around 1000 total games, and it outsold the N64 in Japan.

  • @rayredondo8160
    @rayredondo8160 4 года назад +27

    You already know we want to see the DSP code explained again; why would you ask?

  • @DougSalad
    @DougSalad 4 года назад +69

    I notice that Tails is named "Tales" in the code.
    because Traveler's Tales, I presume?

    • @WebGame2k
      @WebGame2k 3 года назад

      Funny

    • @SomariTheAdventurerJam6
      @SomariTheAdventurerJam6 3 года назад +3

      yeah he actually did confirm that Tails is called Tales because you know though i can't remember which video it was

  • @ZX81v2
    @ZX81v2 3 года назад +1

    Man, I don't envy you for your assembly code... Ouch, I remember the nightmare 68000 assembly was, let alone the SCU interaction...
    Thanks for these videos

  • @Lethaltail
    @Lethaltail 4 года назад +26

    I had no idea that the Saturn had twin CPUs. The 32X/Mars also has twin SH-2s as far as I'm aware. I only knew that because of 32X test programs that people have come across. They make reference to the Master/Slave SH chips.

    • @pigpenpete
      @pigpenpete 4 года назад +2

      Or ya know, you can open one up and see "SH2" stamped right on the chips

    • @Phredreeke
      @Phredreeke 4 года назад +1

      A significant difference is that unlike on the Saturn, graphics on the 32X are all software rendered (not counting the underlying Megadrive graphics layer)

    • @rustymixer2886
      @rustymixer2886 4 года назад

      Thought sh1 chips

    • @geniedumal2974
      @geniedumal2974 4 года назад

      The 32X had dual SH-2s specifically because the Saturn did. Somebody at Sega had the harebrained scheme that they could use the 32X as a "bridge" to the next generation to make developing Saturn games easier.

    • @rustymixer2886
      @rustymixer2886 4 года назад

      @@geniedumal2974 I thought inside was a Mars sh1 chip

  • @notreallythere477
    @notreallythere477 3 года назад +7

    This is the most diplomatic and tactful description of the Sega Saturn's patchwork architecture I've ever seen. A more pragmatic take would be "a confused, schizophrenic design resulting from haphazardly converting a system originally designed exclusively for 2D games into a 3D system in order to compete with the PS1, which blindsided Sega while they were still focused on one-upping the SNES". Given Traveler's Tales' penchant for doing crazy stunts with limited hardware, it's no wonder Mr. Burton has such fond memories of the console, but most third-party developers hated it, which was one of the reasons the Saturn flopped.

    • @CarbonRollerCaco
      @CarbonRollerCaco Год назад

      Sega: Welcome to the Next Level!
      Competitors: Dude, you should be on the next _game._

  • @xmbovlogs
    @xmbovlogs 3 года назад +1

    this is the man who programed magnets into the walls

  • @DampedGosling
    @DampedGosling 4 года назад +4

    Im still at 8th Grade but I aspire to be a programmer. I really love YOUR VIDEOS

  • @b13cw53
    @b13cw53 4 года назад +41

    Have I seen all of these episodes before? Yes. Am I watching them all again as they're uploaded on the new channel? Absolutely. They're just too good not to 👍

  • @Jachii9
    @Jachii9 3 года назад +6

    fun fact: "sram" is "im sh!tting" in polish

  • @coldcaption
    @coldcaption 4 года назад +1

    These are really awesome videos, both the explanation and the graphical representations really paint a picture of what's going on. I'd definitely want to see a video on how you programmed the DSP too

  • @WebGame2k
    @WebGame2k 3 года назад +2

    "I loved coding on the Saturn"
    - Coding Secrets

  • @AndrewHelgeCox
    @AndrewHelgeCox 3 года назад +3

    It would be interesting to go a little deeper and break open some of the steps that were a little handwavy. Like, "finally all the layers were combined", what does that mean? The pixels for each layer were sitting in memory and the scan-out could read from multiple buffers at the same time, compositing final pixels as they were sent to display? If so, how were transparent pixels in the layers indicated? If not, was there a composition step boiling the layers down to one framebuffer? If so, what chip performed that? Etc....
    Love the videos and your presenting style by the way.

    • @0MoTheG
      @0MoTheG 3 года назад

      I agree.
      Software people make it sound more complicated than it seems to a HW person. The tasks and pipeline were clear. The VDP2 did all of the video output. VDP1 did the rendering. SCU does the setup/transform of the polygons/geometry. Master CPU did control the memory transfers and main loop. Slave CPU does the processing heavy but conditional/sequential math.
      All games were frame driven, not asynchronous real time. Depending on the TV standard 50 or 60 frames were computed. A frame update mid picture would usually cause a black line.

  • @wizzenberry
    @wizzenberry 4 года назад +3

    Sonic r was my childhood, thankyou

  • @boiii3productions945
    @boiii3productions945 3 года назад

    Non Sega creators are left relentless and uncertain when it comes to creating games for the Saturn. It’s not because they aren’t skilled, but rather how complex and challenging it is to code this kind of game on a system like this

  • @bloeckmoep
    @bloeckmoep 4 года назад +5

    @1:36, looking at that thing and looking at a modern mainboard. XD.
    Back then a hundred different chips with different languages and different buses. Today a cpu and a chipset and MAYBE some ram sticks if not soldered on. The dying of the various chips and buses began in 2006, when AMD started putting the dram memory controller into their cpus. Subsequently intel started eradicating various other chips like ata and sata controllers and usb hc's from their boards and moved them into the boards chipset. Nowadays looking at a schematic, you have the cpu and chipset, all ios extend from those two like a tree root, no other controller or chip involved.

    • @radishpineapple74
      @radishpineapple74 4 года назад

      Well, it is faster, cheaper, and smaller to combine chips if you can.

  • @Campo_
    @Campo_ 3 года назад +3

    Servent CPU? Isn't it typically referred to as the slave ?

  • @NinjaNezumi
    @NinjaNezumi 4 года назад

    1:10 - Saturn was promoted back then as having access to an internet based system where you could play original genesis games. I still believe I have my old Game Pros which talk about Sega Net, so I bet that chip was there in the case they could run genesis roms via the online server (that failed horribly).

  • @JasonB808
    @JasonB808 3 года назад +1

    Sega programmer tasked to make seemingly impossible graphics on complex hardware: ok, I am gonna just develop my own 3D engine and use every trick I know about the hardware to get it to run.
    The real blast processing was not the hardware, but the brain power of Sega Devs.

  • @xeostube
    @xeostube 3 года назад

    wow. I'd love an in-depth version of this entire video actually!

  • @UXXV
    @UXXV 4 года назад +15

    Master and servant - I didnt realise this was a “PC” mainboard 😂

    • @smash461986
      @smash461986 4 года назад +7

      It's a shame when technically minded people feel the need to change standard terminology because of political correctness.

    • @TetsuDeinonychus
      @TetsuDeinonychus 4 года назад

      Eh "to-may-to", "to-mah-to"

    • @Matsuro_まつろ
      @Matsuro_まつろ 4 года назад +2

      @@TetsuDeinonychus
      It's actually tomatl from the Nahuatl language, aka Aztec.

  • @Cha90Z
    @Cha90Z 4 года назад

    You do a great job on these videos btw

  • @mryoyo1234
    @mryoyo1234 3 года назад

    I love how you break this down.

  • @trixareforkids59
    @trixareforkids59 4 года назад +9

    What is a servant cpu and how is it different than a slave cpu?

    • @radishpineapple74
      @radishpineapple74 4 года назад +15

      One is post-BLM and one is pre-BLM.

    • @TetsuDeinonychus
      @TetsuDeinonychus 4 года назад +2

      "To-may-to, To-mah-to"

    • @MrEdrftgyuji
      @MrEdrftgyuji 4 года назад +5

      Because people will keep Burning down buildings, Looting stores and Murdering people if you don't.
      Who am I kidding? They will keep doing that whatever you do. NEVER NEGOTIATE WITH TERRORISTS.

  • @DaGleese
    @DaGleese 4 года назад +2

    From the thumbnail I thought you were going to say that each one of Sonic's limbs was controlled by a separate cpu.

  • @Zeldon567
    @Zeldon567 4 года назад

    A technology advanced enough is indistinguishable from magic to the average person. Computers are freaking magical.

  • @richardgmiami
    @richardgmiami 4 года назад +12

    Dude, I know that doing this sort of thing was commonplace for you and your team, but this sounds like the most complicated sort of programming ever. You must have been so thoroughly familiar with the hardware. How long was the documentation for that beast of a console?

    • @richardgmiami
      @richardgmiami 4 года назад

      @ReviewRevue true

    • @amberdean1263
      @amberdean1263 3 года назад +1

      Thousands of pages. You can find it all online.

  • @frost8077
    @frost8077 3 года назад

    I have Sonic R for the PC. The environment and various time/weather changes looked so good while the soundtrack was perfect for the game. Sonic R has a strange spot in my heart separate from the other games. Running around in the rain looking for balloons was oddly satisfying.

  • @Reynsoon
    @Reynsoon 4 года назад

    the one frame shot of 'Knightmare'

  • @Noxedwin
    @Noxedwin 4 года назад +2

    I remember submitting subtitles for this back on GameHut. But it seems Jon never integrated them. :(

    • @Noxedwin
      @Noxedwin 4 года назад

      @mPky1 Because Jon's making a channel expressly for coding stuff, like he did with his aeronautical content, and he's exporting stuff over.

  • @antthegord9411
    @antthegord9411 4 года назад

    i played the crap out of sonic r on pc as a kid. its crazy getting to see the technical aspects of it so many years later.

  • @brunosiffredi
    @brunosiffredi 4 года назад

    This is awesome. Amazing video

  • @nicwilson89
    @nicwilson89 3 года назад

    4:05 Yes please, would love to know how that worked. The Saturn is fascinating architecture wise :)

  • @ToriningenGames
    @ToriningenGames 4 года назад +24

    IIRC, the Saturn was designed to be the best 2D console of all time.
    The the Playstation arrived.
    In their panic, Sega did the standard arcade solution to make the Saturn 3D: add more hardware! They took the graphics processor and doubled it.
    This explains the unusual polygon style of the Saturn: quadrangles of solid (immobile) texture. They were sprites with distortion.
    The resulting system was considered difficult to program for (obviously), and Sega's dev tools weren't very optimizing on this hardware (less obviously).
    As a result, developers gravitated to the Playstation, which was easy to develop for, on, and with Sony approval.
    On an unrelated note, I have a copy of PC Sonic R, as released by Express. Know anything about the porting of Sonic R to the PC?

    • @wishusknight3009
      @wishusknight3009 4 года назад +5

      The panic was to add the second SH-2 and the matrix DSP. VDP1 and 2 were always in the recipe.

    • @melficexd
      @melficexd 4 года назад +3

      @Lassi Kinnunen more like optimized memory access, if textures were accessed as quads, the whole process can be parallelize better. Currently gpus access their memory in 4x4 blocks laid out as a linear arrays of characters.
      Actually, the only advantage of triangles is their texture coordinates flexibility, but textures are still accessed as quads

    • @noop9k
      @noop9k 4 года назад +1

      3DO already did quads in almost the same way BTW

    • @TetsuDeinonychus
      @TetsuDeinonychus 4 года назад +1

      The Saturn was a 2D Powerhouse that could run circles around the PlayStation in sprite-based games, as any Capcom fighter fan can tell you. But, in 3D games the tables were turned and the PlayStation, if not more powerful at 3D, was at least easier to program 3D games in.
      The idea that the Saturn was basically a 2D system that was being forced to do 3D would help explain that, except that Sega themselves also played a part in kicking off the 3D revolution with Virtua Fighter. They had to know going in that a home version of Virtua Fighter would be expected on their next gen console. So, it seems weird that they would make a console with only 2D in mind and then only add 3D capabilities at the last minute to compete with Sony...
      Does anybody know if Sega's Model 1-2 arcade hardware (that they used for 3D arcade games at the time) used quads or triangles? If their arcade hardware used quads then it makes sense that Sega's programmers would be used to quads and didn't realize that 3rd party developers would prefer working with triangles. That would probably be a better explanation.

    • @guspaz
      @guspaz 4 года назад

      @@TetsuDeinonychus The problem was that the Saturn could only run circles around the PlayStation in sprite-based games if the developers knew how to take advantage of the difficult hardware... which many didn't. There are direct comparisons of games that run much worse on the Saturn than their Playstation counterparts, like Symphony of the Night. Not because the Saturn was incapable of doing a 2D sprite game as well as the Playstation, but because the developers were incapable of doing so.

  • @elgoog-the-third
    @elgoog-the-third 20 дней назад

    I'd love to learn more about the DSP.

  • @TheQuizDeck
    @TheQuizDeck 4 года назад +1

    Absolutely loved Sonic R!

  • @QuickTimeVelocity
    @QuickTimeVelocity 4 года назад

    Wow, I LOVED this one!!! Man, the way computer stuff work is just SO interesting! Highly looking forward to more vids pertaining to console hardware!!!

  • @beanofchaos
    @beanofchaos 3 года назад

    "But sir, we can't program that in!"
    "yes"

    • @mikebravo891
      @mikebravo891 3 года назад

      I read this in C-3PO's voice: "But sIR!"

  • @TetsuDeinonychus
    @TetsuDeinonychus 4 года назад +1

    I'd be all in favor on a video about that special assembly code.

    • @BuysDB
      @BuysDB 4 года назад +2

      Guess what? He already made the video: ruclips.net/video/CPaNNiB2H-s/видео.html . Have fun!

    • @TetsuDeinonychus
      @TetsuDeinonychus 4 года назад +1

      @@BuysDB Woo-hoo!

  • @RevCode
    @RevCode 4 года назад +21

    Somehow "Servant CPU" just doesn't sound right..

    • @shiva_MMIV
      @shiva_MMIV 4 года назад +7

      Yes, it was always "slave", but apparently that's no PC anymore...

    • @geniedumal2974
      @geniedumal2974 4 года назад +3

      Servant CPU sounds too close to "server" for me, and they're programming the Saturn to play games, not store and fetch web pages.

    • @ragexg
      @ragexg 4 года назад +3

      On the old hdd's (IDE OR PATA) you had a master and a slave hdd ^^let me guess you think that's even worse right ;P

    • @RevCode
      @RevCode 4 года назад +12

      @@ragexg Master and slave are, in my humble opinion, the proper terms that shall be used, PC culture should not be applicable everywhere.

    • @OpenKeith
      @OpenKeith 4 года назад

      main cpu and sub cpu?

  • @RonsonDenmark
    @RonsonDenmark 4 года назад +2

    4:02 No..

  • @dirk9787
    @dirk9787 4 года назад +6

    I hereby leave a comment to let you know I want to see a video on how exactly this code works.

  • @Migue14
    @Migue14 4 года назад +2

    Now that's a lot of chips!

  • @midierror
    @midierror 4 года назад +1

    Love these videos, I mess around in Unity and this seems like another world. I LOVED sonic R!

  • @justinlrich1993
    @justinlrich1993 4 года назад

    These videos about your work on the Saturn and how it functioned are completely fascinating. Extremely underrated console.

  • @rafaelfavretti4009
    @rafaelfavretti4009 4 года назад +7

    Would love to see a video teaching some of that assembly programing for the Genesis or Saturn! Even a hello world of sorts

    • @ShinoSarna
      @ShinoSarna 4 года назад +4

      I believe GameHut had some basic tutorials for coding on Genesis.

    • @geniedumal2974
      @geniedumal2974 4 года назад

      You can find that on Game Hut.

  • @NoobsDeSroobs
    @NoobsDeSroobs 4 года назад +27

    I want to see how you handle multiprocessing like that. Are they prone to raceconditions, or is this more in tune with MIMD architecture?

    • @wishusknight3009
      @wishusknight3009 4 года назад +8

      In this application it sounds like there would be little to no inter process communication needed. So it would be a snap. The SH-2 are VLIW and use trace scheduling afaik....

    • @NoobsDeSroobs
      @NoobsDeSroobs 4 года назад

      @@wishusknight3009 VLIW, ok. Thanks.

    • @darren8453
      @darren8453 4 года назад +4

      This is deliberately dividing the problem into independent parts to minimise synchronization, locking, and race conditions. Though I am sure that would be a problem at the end of processing for each frame.

    • @wishusknight3009
      @wishusknight3009 4 года назад +3

      @@darren8453 That is very possible. But with the kind of intricacy and detail he went into programing the matrix dsp for this game, it sounds like he went to great care to make sure everything was timed just right. That video will be probably coming up soon. It is really something quite amazing.

  • @VirtuaBros
    @VirtuaBros 4 года назад

    So cool! Thanks for the breakdown.

  • @rays5163
    @rays5163 3 года назад

    I like how he explained all that in only five minutes

  • @cst1229
    @cst1229 4 года назад +2

    "SEGA's Insanity"
    No, YOUR insanity.

  • @Antiparticle1701
    @Antiparticle1701 4 года назад +14

    "Servant CPU"? Good grief.

    • @jr2904
      @jr2904 4 года назад

      ?

    • @penelope8134
      @penelope8134 4 года назад +4

      Master and servant/slave are actually common computer terms, but yeah kinda awkward...

    • @Andrew_Sparrow
      @Andrew_Sparrow 4 года назад +8

      Not allowed to say slave anymore :p

    • @flisboac
      @flisboac 4 года назад +6

      "Servant" is not common terminology

    • @sswpp8908
      @sswpp8908 4 года назад +1

      I thought maybe that was just a Saturn naming convention but took me a moment to realize what was going on. The whole "slave" renaming because it's racist is ridiculous, but "servant" isn't a bad substitute.

  • @OpenKeith
    @OpenKeith 4 года назад +2

    i REALLY want to see that dsp video

    • @sandakureva
      @sandakureva 4 года назад +1

      Yeah seriously. I was a kid around this console generation, and a lot of how they work seemed like magic back then.
      An explanation on how the magic works would be glorious.

  • @graalcloud
    @graalcloud 4 года назад

    I definitely would be interested in a video showing a more advanced look at how the code works.

  • @ThatGuyNamedBender
    @ThatGuyNamedBender 4 года назад

    Who handled the PC version of Sonic R and were the limitations any different on PC than it was on the Saturn?

  • @IronSK
    @IronSK 3 года назад

    The ironic thing is, that Sonic R could've been repurposed from a racing game to what sonic Xtreme was supposed to be.

  • @Toonrick12
    @Toonrick12 4 года назад

    If only Traveler's Tales were hired to help tame the beast that was Sonic X-Treme. Ah well, maybe in some other universe.

  • @znelson32
    @znelson32 4 года назад +8

    Servant CPU? Come on.

    • @sandakureva
      @sandakureva 4 года назад

      I heard a minor delay before he said it. Odds are he got demonetised and had to change it to get the video out.

  • @plflorence
    @plflorence 4 года назад

    Thank you so much I love this!

  • @R9000
    @R9000 3 года назад

    "Multichip Madness" is what I call it when I order 2x large fries with my McDonald's instead of just one.

  • @taskanawa9604
    @taskanawa9604 4 года назад +1

    we need more

  • @ninjabaiano6092
    @ninjabaiano6092 4 года назад

    Soo interesting that tecno mages existed at some point in time.

  • @Julian_Pepper
    @Julian_Pepper 3 года назад

    the stuff Travelers Tales did here with Sonic R is the reason I believe the Saturn far exceeded the original Playstation in capability.

  • @Yupppi
    @Yupppi 3 года назад

    Absolutely do want to see how the scu chip coding worked.

  • @jmssun
    @jmssun 4 года назад

    I am wondering did the x68k chip play any role in this game? If not, why not? Since it was still relatively a capable (not powerful) chip that could contribute some to the game, like drawing hud, mixing, etc

  • @autotalon
    @autotalon 3 года назад

    So the VDPs werent actual GPUs in the sense that we'd think of them now, they just draw the screen output? They just display whatever objects are given to them more or less? Just trying to understand how this machine worked.

    • @william.tomassetti
      @william.tomassetti 3 года назад

      From what I understand, the CPUs give information like vertex coordinates, lighting and textures to use, and the VDPs do the actual rendering, somebody correct me if I'm wrong

  • @linorocha6319
    @linorocha6319 4 года назад +1

    Can you show us how the Sega Saturn programming software looks like?

  • @YouShisha1393
    @YouShisha1393 4 года назад +1

    Meanwhile, the PS1 had just a CPU and a GPU and it was much more popular than Saturn.

    • @ValentinesEve1996
      @ValentinesEve1996 4 года назад

      The PS1 also had a better install base for 3D games than the Saturn.

  • @ShinoSarna
    @ShinoSarna 4 года назад +2

    I wonder if Saturn lost the console war because programmers said "I cant be arsed to code for this, I will just do N64 and PSX ports, they're both running 64 bit MIPS, that should be straightforward enough"? :p

    • @BuzzaB77
      @BuzzaB77 4 года назад +7

      definitely a contributing factor, but the damage was done long before with the mega cd, certainly 32x 6 months prior, and then that early 'surprise' launch that pi**ed off most retailers, and publishers before the 'war' even started.

    • @jbmaru
      @jbmaru 4 года назад +1

      @@BuzzaB77 I would concur, especially as the PS2 is allegedly as complex to code for, but had the PSX success to build upon.

    • @geniedumal2974
      @geniedumal2974 4 года назад +2

      No, they lost because SOA released the Saturn 6 months early, making magazines covering the September launch date look like idiots, and angering retailers who were not given Saturns for the early launch. Consequently, many retailers didn't carry the Saturn at all, so many gamers never saw a Saturn in their stores to buy if they wanted one. And most of the gaming press took a hostile stance against Sega for the next two generations because they were lied to about the launch of the Saturn. That and SOJ's boneheaded decision to produce far fewer Saturns than consumers demanded are what did the Saturn in. They did that because they lost money on each console sold, and they were so obsessed with staying in the black that they would rather produce half as many units if that meant staying profitable that fiscal year. What that did was send a signal to developers that the Saturn would have a small user base by design, because even if more customers wanted a Saturn than a PlayStation, they couldn't get one. So of course developers focused on the PlayStation because they could sell more games on it, because Sony didn't put a ceiling on how many consoles they wanted to sell. The launch and the under-production are what did the Saturn in. Any other issue was minor and could have been overcome, including its difficulty to develop for and the failure of the 32X.
      Also, the PlayStation ran a 32-bit MIPS, and the N64 was even harder to develop for.

    • @geniedumal2974
      @geniedumal2974 4 года назад

      @@BuzzaB77 The Sega CD did not damage Sega going into the Saturn, but I concur with your other points.

    • @TetsuDeinonychus
      @TetsuDeinonychus 4 года назад

      @@geniedumal2974 Sega made such great games and consoles but was such a dysfunctional shit-show behind the scenes, and always made baffling decisions.

  • @MartinPiper6502
    @MartinPiper6502 4 года назад

    Brings back memories

  • @kasterborous1701
    @kasterborous1701 4 года назад

    A nightmare you say? Ooh, nasty.

  • @sonyp180
    @sonyp180 4 года назад

    3.58 in sounded like boris johnson wrote that little sentence.

  • @blackmage-89
    @blackmage-89 4 года назад

    @2:34 that "height hack" comment tho :)

  • @mcsweatshop
    @mcsweatshop 3 года назад

    I understand a fraction of what you’re talking about but I’m fascinated nonetheless

  • @AnthonyCook78
    @AnthonyCook78 4 года назад

    Go forward. Nightmare!

  • @Azziee
    @Azziee 4 года назад

    I wonder how the transparent level was made.

  • @Toothily
    @Toothily 4 года назад +4

    Master and Servant? Was someone a Depeche Mode fan?

  • @MrSamPhoenix
    @MrSamPhoenix 3 года назад

    Interesting stuff, I wonder if this guy ever worked on non-Sega gaming systems such as the PlayStation 3.

  • @nucflashevent
    @nucflashevent 4 года назад +3

    It's always struck me looking at the specs that the Saturn should have been at least 1 1/2 to twice as fast as the PS1 hardware wise. It seems to me that the only thing it lacked were proper developer tools that would have allowed the less-than-stellar programers (sadly, not all programmers are as good as the Author 😋) to have properly used the hardware available. This same problem, speaking of coding for what amounted to an SMP system would come up a few years later when PCs moved to multi-core chips, etc.

    • @Cooe.
      @Cooe. 4 года назад

      This just isn't true. For pure textured polygon pushing, the PS1's custom GPU was EONS more powerful, feature rich, & flexible than both the Saturn's VDP's combined. "3D" on the Saturn had be achieved at all with really clever sprite manipulation (hence why it uses quads as the primitive vs the standard triangles. They're really just individual 2D sprites with some clever use of scaling & rotation), as the hardware was almost entirely designed from the ground up for 2D graphics. (Whereas the PS1's video processor was pretty much the exact opposite, with 3D being by FAR the primary focus). The Saturn as a whole was extremely powerful in a raw calculations per second kind of metric, but when it came to running 3D games it tended to fall flat on its face.

    • @SerBallister
      @SerBallister 3 года назад

      @@Cooe. In terms of GPU drawing the Saturn could have done what the PSX did if only it allowed textured triangles with Gouraud shading, the Saturn was almost there but not quite with its quirky rectangle sprites. Sony had to bolt on a "Geometry transformation engine"(GTE) CPU-based co-processor to calculate 2D coordinates for the GPU from 3d vectors, a lot of Playstation's 3d capability was done by software on the CPU, unlike GPUs of today.

    • @Cooe.
      @Cooe. 3 года назад

      @@SerBallister That's a whole lot of "whataboutism" if I've ever heard any. The PS1's design was as explicitly 3D focused as could be ANY console design at the time it was done (developed over ≈ 1991-1994).
      Sony was breaking new ground in so many areas for a mass consumer product (aka not a >$10,000 SGI workstation; with the GTE in particular helping to push things forward) that of COURSE they'd be missing some things we'd later traditionally associate with explicitly 3D focused rendering hardware. I'm sure if Sony had had the benefits of hindsight, endemic affine texture warping & such wouldn't have been a thing ofc, but that doesn't mean the PS1's hardware design wasn't focused around polygonal 3D first & foremost (again, unlike the Saturn's).
      And ofc after both, Nintendo would then take the "it's a 3D hardware design for a 3D polygonal gaming era" to the inevitable extreme. This as the N64 design done w/ SGI was basically the exact opposite of the Saturn's.
      The N64 was built almost exclusively for textured polygonal 3D & as such was absolutely STUPID powerful at polygon pushing for 1996 (at launch, the N64 & its SGI developed "Reality Engine" kicked the ever-living ASS out of even the highest end gaming PC's w/ their quaint little 3dfx Voodoo 1's as far as RAW 3D textured poly pushing power was concerned), but was absolutely dogshit at high-res 2D rendering.
      Hence why the N64 library is full of expansive 3D platformers & action games instead of the Saturn's fighting games, JRPG's, & assorted Japanese obscurities. PlayStation otoh neatly split the difference between the other 2 consoles in design focus/prowess, even if 3D was definitely still Sony's prime priority. The Saturn otoh was a next-gen 2D system that Sega desperately tried to jury-rig for the "3D era" at the last minute by expensively just throwing a bunch more already existing silicon at the problem (aka, "if we're gonna do 3D by sprite manipulation, then its gonna need at LEAST another pricey VDP to not COMPLETELY choke & die", & so on).

    • @SerBallister
      @SerBallister 3 года назад

      @@Cooe. I think you misunderstood, I was talking about the GPU as a discrete chip ("... in terms of GPU drawing"), on both systems they aren't that far apart in ability, the ps1's GPU is a 2d triangle drawing GPU with no concept of 3D, which for me puts it closer to the Saturn than one might think.
      The PS1 as a system had 1 additional piece supporting hardware located outside of the GPU for 3d acceleration.
      Everything else the PS1 had like table based Z-sorting and that janky tesselation it did was done entirely in software on the CPU.
      It's interesting because it wasn't a truly integrated hardware 3D pipeline, unlike every machine that came after it starting with the N64.

    • @Cooe.
      @Cooe. 3 года назад

      @@SerBallister Again, this is absolutely fucking nonsense. The Saturn's VDP's & Sony's co-designed with Toshiba GPU have next to nothing in common outside sharing basic sprite manipulation capabilities like rotation & scaling.... The Toshiba chip was EXPLICITLY designed from the jump as a dual-purpose 3D & 2D graphics processor, with triangles as the fundamental primitive for polygons & a largely normal 3D rendering pipeline (even if it's missing PLENTY of steps we'd consider necessary in more modern 3D rendering hardware. Literally the only 3D hardware on the planet at the time of the PS1's development with widespread use which had a Z-buffer w/ culling capabilities & all the other good stuff you mentioned were >$10,000 SGI workstations [& these capabilities wouldn't end up in a console until the SGI developed N64 ofc]).
      The Saturn's VDP was designed from the ground up EXCLUSIVELY as a 2D sprite pushing MONSTER, until late, LATE into the Saturn's development when Sega realized they'd need to figure out how to make their already finalized hardware (as far as the chip designs themselves; aka there was gonna be no "redesigning the VDP for native 3D") work with polygonal 3D.... Which they did by literally throwing another VDP at the problem & brute forcing the "3D" with sheer sprite pushing/manipulating power & really clever use of what was BLATANTLY a 2D graphics engine/pipeline.

  • @philbateman1989
    @philbateman1989 4 года назад +2

    I'd love to see a video series on how assembler relates to C, C++ etc. I primarily code in C++ and C#, so when I look at C code you're written, it's a little more complex than the code I write, but I can see what you're doing in a given snippet. When you show assembly, I'm just lost. Best I can do in assembly (and only x86 assembly at that) is perform operations on arbitrary numbers with mov and add/sub/div/mul commands etc. Anything above that? No chance. I could maybe write you a basic calculator, but that's about it lol
    I guess a big question I would have is did hardware manufacturers back then give you datasheets on how to send commands to the various components and red input etc? Or did they just hand you the dev kit and just expect you to figure it out? I ask because I've done a bit of work with PS4 development with a dev kit at the university I teach at, and they provide a COLOSSAL amount of documentation on the internals and how to use the various abstraction layers built into it so you can write code to run on it. Of course, you wouldn't write code in assembly for a PS4 or you'd still be working on one game 50 years from now, but in theory you *could*. I'm just curious how, say, the C++ instructions I write for it convert into assembly, even at a basic level to give me an idea.
    We have a separate lecturer who teaches the low level stuff like assembly, and I teach the more creative stuff like game design and high level scripting, but I'd love to get an insight into how our two disciplines relate.

    • @phreak761
      @phreak761 4 года назад

      Download flat assembler by Thomasz Grysztar and his programming guide, flat assembler comes with some example programs to help as well.

  • @MattAlexanderMe
    @MattAlexanderMe 4 года назад +10

    Was that called the "servant CPU" at the time, or was it "slave"? Real question.

    • @rena--chan
      @rena--chan 4 года назад +12

      Slave, you can see it in code.

    • @davidgutierrez8297
      @davidgutierrez8297 4 года назад +10

      Political correctness requires people to censor everything at this point.

    • @MattAlexanderMe
      @MattAlexanderMe 4 года назад +2

      I work at a software company and we're renaming everything

    • @jmssun
      @jmssun 4 года назад +1

      Ohhh~ politically correct everything is TIGHT!
      No? You don’t think it’s a good idea?
      Nah, it’s actually VERY stupid
      Oops!
      Oopsi!

    • @dorklymorkly3290
      @dorklymorkly3290 4 года назад +2

      It's slave.
      >political correctness
      Well, well, well, are YOU a politician? I am not.
      Guess we are excempt.

  • @jeremymitchell4370
    @jeremymitchell4370 Год назад

    I mean i didnt like sonic r because i couldnt control it at all but its very interesting to learn how you made it

  • @misium
    @misium 3 года назад

    0:48 Are you sure it was SRAM and not ROM - you said SRAM keeps data after its powered down. That is true of ROM, not SRAM.

  • @mluna
    @mluna 4 года назад +2

    How is it possible to write and compile a program in two languages (assembly and C)?

    • @KailashNathan
      @KailashNathan 3 года назад

      The compiler takes care of interpreting the higher level language (C) and also noting directives to the compiler to inline/inject assembly directly into the binary before creating the final output binary.
      If the ASM code and C code are targeting different CPUs / machine languages, the tool chain may cross compile (or use specific definitions) for each chip.

  • @Mystiskmusli
    @Mystiskmusli Год назад

    I love these videos ❤

  • @segat-800
    @segat-800 4 года назад

    Fascinating stuff. The Saturn architecture looks super complicated. Would love to see more.
    How would you have developed Sonic R on the PS1?

  • @tito_tito_gorgorito
    @tito_tito_gorgorito 4 года назад

    Maybe a video like this comparing how it would have been done on the psx?

  • @thedangerroom7747
    @thedangerroom7747 4 года назад +30

    I feel like I've never heard someone refer to a slave cpu as a "servant cpu". Doesn't really roll off the tongue.

    • @ElementalAer
      @ElementalAer 4 года назад +9

      Sound better than slave

    • @sswpp8908
      @sswpp8908 4 года назад +12

      The renaming of "slave" has come up recently because some people claim that it has a racist connotation. I think that's ridiculous, but I wouldn't mind if servant became the new term.

    • @lucassantossj
      @lucassantossj 4 года назад +2

      @@sswpp8908 Yes, servant sounds good. I don't care much but sounds more "voluntary" than Slave.

    • @overwatch761
      @overwatch761 4 года назад +13

      Gotta be politicially correct these days lol.

    • @dylanharding5720
      @dylanharding5720 4 года назад +5

      @@lucassantossj a slave cpu isn't really voluntary though

  • @yuvraj01
    @yuvraj01 3 года назад

    What I don't understand is this kind of thinking behind the Saturn archeticture was not even prevalant circa 1986/1987 when the Genesis project was taking shape...you never hear of any developer complaining how bad a system that was to work for yet for the Saturn somehow Sega just did the complete opposite at a time when it wasn't about just Nintendo any more, but the new kids on the block as well: Sony..

  • @digimaks
    @digimaks 4 года назад

    My gosh this was overly complicated, yet Sega Saturn was heavily underappreciated, along with Sonic R.
    By itself it looks like grandfather off multi-CPU processing, with manually assigned processing instructions. Wild! While PC world statred to get dual-core processors around 2000's.

  • @johnk7302
    @johnk7302 4 года назад

    I really think they should have delayed release and added a better 3d based chipset.... with the backwards compatibility possible with the 6800 and extra ram expansions that can be used in the cartridge port it could have been great...

  • @TiberianFiend
    @TiberianFiend 4 года назад

    Do you know about the 32X? Was it even worse to program for?