RyogaMasaki: My name is RyogaMasaki, and I am writing to you on behalf of the Sonic Stuff Research Group (SSRG). It's come to our attention that at one time, you assisted Sega in porting a Sonic the Hedgehog game from the Genesis to the PC.
Jim Hathaway: That is true.
RyogaMasaki: With that said, I have a few questions that I would be most obliged to you if you would answer. I realize that Sega may have put you under contract or a "vow" of secrecy to what the content of the game was, but anything you can or are willing to answer would aid us greatly.
Jim Hathaway: The NDA's (Non Disclosure Agreements) were for a period of 18 months after shipment, and that has now expired, so I should be able to tell you anything that I can remember.
RyogaMasaki: There were several games released from Sega for the PC, most of which were ports from Genesis. Could you please specify which game? We suspect it was Sonic the Hedgehog CD, but it could have been Sonic & Knuckles Collection (Sonic 3, Sonic & Knuckles, Sonic 3 & Knuckles).
Jim Hathaway: Sonic CD was first. The idea was supposedly "hatched" at a Silicon Valley face-to-face meeting of Andy Grove (who then was CEO of Intel; he is now chairman of the board) and the CEO of Sega. I think his name was Idei-san or Toyoda-san. I can't remember. I may be confusing with our relationship with Sony!
Back then, the only "good" games were on consoles, or ran on MS-DOS. The only games that ran on Windows were card games like Solitaire. But DOS was very limiting, many people were trying to use "DOS extenders" (e.g., Tenberry's DOS/4G) to work around the problem. We wanted to "fix Windows". Direct X had not been invented yet (DirectSound 1.0 and DirectDraw 1.0 were introduced after Sonic CD was completed, and it was much longer before Direct3D, DirectInput, or DirectPlay came along).
The original Sonic CD game (for the Genesis CD player, and later CDX) was developed by a team on Kanpachi-dori Ave. (Haneda, Ota-ku, Tokyo) in 1993.
The group that ported the code from assembler to MS-C was around the corner and down the street in a nondescript, concrete, leased office building (I think it was called the HK Building, on Route 181, Nishi-kojiya, Ota-ku, Tokyo... I went there on two separate trips). The technical lead engineer (he called himself the "planner") was Junetsu Kakuta. His team did only the "raw game" port. The business manager of the Sega PC software group was Shinjii Fujiwara. This happened in the summer of 1995 (we started in March or April, and shipped around October.... most of the "crunch work" was in June, July, and August).
The Windows game library work ("Dino", later officially called "RSX", the "Realistic Sound Experience") was done by Ken Rhodes and his team in the Intel Architecture Labs ("Jones Farm" site, Hillsboro, Oregon). "Dino" was a bunch of DLLs for Windows that mimicked the kinds of graphics and audio operations that were available on the Genesis, but do them on Windows. An engineer named Rohan Coelho was another one of the smart guys on that team.
I did all the remaining Windows work: the Install program, joystick calibration utility, menu bar, dialog boxes, help files, and so on. I was part of Intel's OPSD (OEM Products and Services Division, "Hawthorn Farm" site, also Hillsboro, Oregon). Our goal was OEM (Original Equipment Manufacturer) distribution of the game. I was supported by a team of about 20 quality testers who worked on the game for about 4 months, checking for interoperability with other Windows applications, compatibility with adapter cards & drivers of various OEMs.
We ended up selling about 5 million copies of the OEM version of the game. Over 3 million of those went to Packard Bell. Another big buyer was Hewlett Packard. And a handful of others. The games was "bundled" with PC's, i.e., came "in the box" with new PC's.
Sega PC group also developed a "retail" version of Sonic CD, later. I think they used DirectX for that. They changed the Help->About dialog box, and took out all the credits for the Intel contributors.
I still have a copy of the OEM version.
Sega PC also developed "Virtual On!" for the PC (don't know if it ever shipped to retail, I don't have a copy).
They also did the "Sonic & Knuckles Collection" which consists of: "Sonic the Hedgehog 3", "Sonic & Knuckles", and "Sonic 3 & Knuckles". I have a copy of that.
I am also fairly certain that they did "Sonic Spinball" for the PC as well. I swear I had a copy of that, but cannot find it now.
I personally worked ONLY on the OEM version of Sonic CD. Our main source of concern lies in the area of Sonic CD for PC. Hence, most of these questions will relate to that game. If you worked on Sonic & Knuckles Collection or a different port instead, please ignore the questions:
RyogaMasaki: Our main source of concern lies in the area of Sonic CD for PC. Hence, most of these questions will relate to that game. If you worked on Sonic & Knuckles Collection or a different port instead, please ignore the questions:
In Sonic CD, while porting it, were you ever aware, or did you ever hear anything of a possible \R2 directory? The current level structure jumps from R1 to R3, and R2, a long-lost missing level, is, of course, not there.
Jim Hathaway: Kakuta-san explained to me the manner in which the games was developed: each level was "owned" (coded and debugged) by a single engineer, so there was a separate engineer for each level (they were in charge of all three "phases" of the level, "past", "present", and "future"). These engineers worked entirely in parallel and independently. Kakuta-san did the "framework" code to "hold all the levels together". He said the original (Genesis version) of the game was done the same way. I asked about the R2 level. Although not explicitly stated, my impression from him is that the designer of level R2 didn't do a very good job, so they left it out of the final product. It was never shipped in any form.
RyogaMasaki: Could you please give an overview of how the DLLs relating to Sonic CD are layed out, and what their routines are? We have managed to edit Sonic CD graphics, tiles, and music, but the actual PC port programming still mystifies us.
Jim Hathaway: I don't have the Dino specs. You'd have to ask Ken Rhodes about that.
I still have my source code for the other stuff (menu bar, dialog boxes, joystick cal), but I think you would not find that interesting at all.
The amazing bit was how they translated the game from assembler to C, because the code was very funny -- when I read it on the screen (I don't have a copy) in the office in Tokyo, it was obvious that the C code was "emulating" the assembler code logic, rather than being a "fresh re-design".
RyogaMasaki: Were there any planned upgrades from the Genesis/Sega CD version to the PC version? In other words, were there any plans made to increase the playability and take more advantage of the computers power in the port?
Jim Hathaway: Absolutely not. It was always stated, and required, that the PC version of the game be as faithful a copy to the Genesis game as possible. Realize that our goal was to show that a Pentium processor based PC running Windows could be "as good" (or better) than a console. The only way we could honestly show that was by doing an "apples to apples" comparison (as exact a port as possible), rather than an "apples to oranges" situation. The ONLY part of the game I remember us consciously re-doing was the Save Game screen, which was very unintuitive in the Genesis version.
RyogaMasaki: We have found a secret Level Select menu and a Debugger menu in Sonic CD for PC. Most of the commands listed are self-explanatory; however, if you could, a rundown on each command would be very nice.
Jim Hathaway: I will have to look at my records on my PC at work to find those. I may or may not have that information any more.
The purpose of those things was for our 20 testers, e.g., in order to test the last level, they didn't have to play it all the way from the beginning. Also, the coders in Tokyo on Kakuta-san's team only were interested in debugging the levels that each one was responsible for.
RyogaMasaki: When you worked on the port, was the Windows graphics system using DINO or DirectX? We have discovered two versions of the Sonic CD port, each of which uses either the former or latter of what I said previously.
Jim Hathaway: We used Dino. That was for the OEM version.
As I said earlier, I was pretty sure they rewrote it using DirectX for the retail version, which shipped about a year later.
RyogaMasaki: I am sure there are many, many questions we would like to ask, and if you don't mind, I'd like to keep an open communication between you and the SSRG.
Jim Hathaway: That would be fine.
RyogaMasaki: Thank you for your time! We are most appreciative at even the smallest amount of information you can give us.
Jim Hathaway: Glad to help.
It was quite a while ago (about five years), and many things are forgotten.