don't click here

Sonic CD PC Stupidity

Discussion in 'General Sonic Discussion' started by Black Squirrel, Jul 20, 2022.

  1. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,742
    338
    63
    SonLVL
    Three Sonic games converted from 68000 ASM, and seemingly all three were handled differently: Sonic CD was converted to C by hand, line for line; Sonic & Knuckles Collection was seemingly converted directly from 68000 to x86 ASM by program with no attempt to optimize; and Sonic 3D Blast was converted to C programmatically, as told by one of the devs several years ago. All three handled by different people, with different ways of converting the graphics and sound.
     
    • Informative Informative x 2
    • List
  2. HEDGESMFG

    HEDGESMFG

    Oldbie
    1,295
    1,227
    93
    I look forward to whatever oddities these betas may uncover. Every bit is a piece of the puzzle for these games, and this is yet more uncharted territory from a lost era. And as has been pointed out, the history of how a game is developed can sometimes be as interesting as the final product. This is why preservation is crucial as a teaching tool. Successful products like Sonic Mania might not exist if communities like this didn't do what we do.
     
    • Like Like x 4
    • Agree Agree x 2
    • List
  3. Now look what you all made me do!
    (and to keep on-topic, this is the beta version)
    upload_2023-2-24_14-27-13.png
     
    Last edited: Feb 24, 2023
  4. Devon

    Devon

    I'm a loser, baby, so why don't you kill me? Tech Member
    1,245
    1,415
    93
    your mom
    I got the files that are extracted by the Intel Dino installer added with the Dino archive finally.

    [​IMG]

    The sample programs are 32-bit, but still won't run on a modern PC due to graphics issues... at least for me.
     
  5. ndiddy

    ndiddy

    Member
    19
    6
    3
    Wow, that must have been at least a few months of work. Seems incredibly tedious too. I feel bad for the programmer. Did the Sonic games do anything weird that would have complicated the translation process (i.e. popping the return address off the stack to return from the parent function), or would it have been straightforward?
     
  6. Devon

    Devon

    I'm a loser, baby, so why don't you kill me? Tech Member
    1,245
    1,415
    93
    your mom
    There are some functions that have been split into multiple functions. The collision check functions come to mind. That's all I've noticed so far.

    The original source structure would've broguht more grief. Every stage has their own copy of the stage scrolling/rendering functions, for instance. The Sonic object is also copied for Wacky Workbench. Basically, there was a lot of tedious work, probably.
     
    • Informative Informative x 4
    • List
  7. I did get to go to Tokyo for two weeks after I'd been in the Dino group at Intel for two whole weeks, ostensibly to help them get started with Windows programming. This would've been November 1994. I still have no idea why the bosses picked me to go, I was less than a year out of university and had only basic Windows 3.1 programming experience at that point, and was only starting to get familiar with the Dino code. I do recall their space being a large room with about 12-20 programmers all lining a couple of long tables coding away working on the port. No idea how they distributed the workload. They did all play Virtua Racing on the 32x at every lunch break. I suspect this is the same building referenced in https://info.sonicretro.org/Jim_Tretheway_interview_by_RyogaMasaki_(September_2000)
     
    • Informative Informative x 10
    • Like Like x 1
    • List
  8. Devon

    Devon

    I'm a loser, baby, so why don't you kill me? Tech Member
    1,245
    1,415
    93
    your mom
    • Like Like x 11
    • Informative Informative x 1
    • List
  9. ndiddy

    ndiddy

    Member
    19
    6
    3
    What was it like working with the Japanese programmers? Did you know any Japanese, or did they know any English?
     
  10. Some if not all knew some English. I spoke no Japanese. Mostly I'd answer easy questions and anything I didn't know I'd write down, and then call my boss from the hotel immediately after work (poor guy had to get up at 1am for my calls..) and figure out answers.

    They were very nice and even took me out to dinner a couple of times, once to a typical Japanese 'after work' restaurant that had lots of small plates to share and lots of sake. We'd get another plate with a few bites per person every 10 minutes or so, over several hours.
     
    • Informative Informative x 9
    • Like Like x 1
    • List
  11. ndiddy

    ndiddy

    Member
    19
    6
    3
    Seems like a fun experience overall. Was the Dino library just for this project, or did Intel also offer it to other game developers?

    I installed the game in a VM to check things out, the fullscreen mode also runs at 30Hz. However, it looks like the game logic runs at 60Hz (sometimes the palette will update on a frame where nothing else does). The 1996 DirectX version of Sonic CD mentions that the 60Hz mode should only be used on a Pentium 133 or greater. Maybe that CPU came out too close to the Dino version's release date for a similar option to be added?
     
  12. Devon

    Devon

    I'm a loser, baby, so why don't you kill me? Tech Member
    1,245
    1,415
    93
    your mom
    Dino was renamed to Realistic Display Mixer, and from the looks of it, you would've sent a registration form to get access to it.

    [​IMG]
     
    • Informative Informative x 4
    • List
  13. Some other game developers also used it, although we weren't working as closely as we did with Sega on the Sonic project. Looks like "Asghan: The Dragon Slayer" and "Police Quest - SWAT 2" used it. "Nightmare Ned" also did, and if I recall correctly, this also used the written-specifically-for-animation video codec that I wrote (I didn't come up with the idea, but was given the project). I even still have my retail copy of Nightmare Ned (and yes, the glow-in-the-dark yoyo is in the box). At some point Intel management decided that Intel was in the chip-making business, not the software business, so we did more of writing demo optimized code for different graphics-related tasks on pre-release processors and just giving the code to game developers to kick-start their own optimizations. There was also this whole web page and internet thing that seemed to be taking off, and I did some procedurally generated animation for web pages that got baked into IE4 and also as a Netscape plugin (procedurally generated animation = less download bandwidth on your dial-up modem, I still have some of this source), and we did the Shockwave3D component of Macromedia Director for web animations. One guy from our group ended up embedded at Valve for about a year.

    upload_2023-2-25_10-43-0.png
     
    • Informative Informative x 8
    • List
  14. And I forgot about Virtua Fighter. We were also working on an optimized triangle rendering codebase (maybe part of RDX?). However, I seem to recall that Sega was using quads, and they weren't guaranteed to form a square or rectangle, could actually be twisted into a bowtie for example, so we had to handle all those cases, which I think we did by decomposing into triangles and then rendering.
     
    • Informative Informative x 8
    • List
  15. BSonirachi

    BSonirachi

    Wiki Sysop
    Never would I have thought we'd see prototypes of the Windows PC versions of Sonic CD considering we have loads of the Mega-CD version, but here we are! Fantastic stuff!

    https://info.sonicretro.org/Sonic_the_Hedgehog_CD_(Windows_PC_prototype;_1995-09-07)
    https://info.sonicretro.org/Sonic_the_Hedgehog_CD_(Windows_PC_prototype;_1995-09-14)

    As such, I've set up pages for the two on our wiki. Since you've edited on the wiki @PixelTheCat, you could help add a little more to these pages and expand on what I've set up!
     
  16. ashthedragon

    ashthedragon

    Sonic Paradise Researcher
    1,428
    73
    28
    Spain
    Sonic Paradise & Sonic Ages
    This is amazing!!! Its probably not since the PC porting probably happened once the full MCD version was finished but.. do you remember to see anything related to R2?
     
  17. Sorry, I don't have any info on R2 (but I read all about it on this forum!) We didn't have anything to do with Sega's code other than helping them with interfacing to our graphics library.
     
  18. Blastfrog

    Blastfrog

    See ya starside. Member
    Awesome to see a dev here! Though it was the DirectX version I played as a kid, you still played a role in getting the PC port off the ground and I thank you for it.

    Dunno if you'd be able to answer this question, but was there any indication that SEGA was going to try for 640x480 resolution and/or full 256 color mode? There are some (unfinished) by-hand upscales with extra colors of some Sonic in-game sprites, as well as a 256 color version of the title screen laying around in the disc contents. You did mention something earlier in this thread about SEGA wanting to use 256 color mode, but was that just because that was needed to support all 61 colors of the Genesis palette or did they want the entire palette index to be usable?

    It just makes me wonder if SEGA was planning an enhanced version from the start, made a few proof of concept pieces, and then abandoned it for budget/time/technical reasons.
     
  19. I don't know about plans for a 640x480 version. We did use 256 color mode in order to support all the colors they needed. I remember doing some effects using palette rotation but I don't remember if this was for Sega or for a different project. Other VGA modes only went up to 16 colors, so 256 it was.