Retro Hour: Well, when did you get this kind of stroke of genius to run PlayStation games on the PC. How did that start?
Randy Linden: I was just thinking one day about what to do next. I have a history of sort of taking on challenging projects. That’s what really drives me and I’m not a very good gamer but if the game has, you know, it’s a really big complex project and there’s some technicalities involved and especially if somebody says “Oh, this is impossible! It’ll never run on whatever”, it kicks by my curiosity into high gear.
One day I thought “you know there are many hundreds of millions of PCs out there – this is right at the start of the graphics revolution where 3d graphics cards were coming out like the Voodoo FX and so on – and compared to the number of Playstations out there it would be great to have this huge library of games from the PlayStation playable on your PC”.
So I got a PlayStation disc and put it into the CD-ROM drive of my PC and lo and behold! Here’s a directory just like a listing of all the files and folders! I was kind of surprised as it was totally unencrypted, totally accessible. I looked and done some research and found out that the main processor was, I believe, a MIPS R3000 and it was common knowledge that that was the main processor of it and so I went to an actual bookstore and bought a MIPS R3000 manual.
I started looking at some of the files that were on this PlayStation disk and, sure enough, it was real code so it was actually a very easy process! It didn’t require any extra work on my part to have the PC be able to access everything that was on the PlayStation disk and because it was easy, it made reverse-engineering the entire system possible.
If there had been encryption or peculiar format where the PC couldn’t read the discs, then it would have been impossible to make Bleem. But because they were just standard CDs. I don’t think anybody expected them to be put into any device other than a Playstation and so it just magically worked on the PC to access the files!
Retro Hour: Well, it did seem like magic! When I remember first hearing about it I was like “how’s that gonna work!?”. But then, I mean, the PC, if you had a high-end PC you could even run these PlayStation games at a higher resolution and against a hardware acceleration in there as well to make the games even better?
Randy Linden: Yeah, yeah! Basically Bleem emulates it was sort of a learn-as-I-go process. I started with the CPU, which I knew, as I said it was a MIPS processor, and so, the first thing I did was start implementing the various instructions that the MIPS processor supported but I didn’t do it all at once and I didn’t do it alphabetically. I literally did it in the order in which the particular game I was using the opcode. If they had an addition instruction and a comparison and then a subtraction, those were the first three opcodes that I ended up writing and, eventually, over time, I ended up sort of filling in all the missing pieces.
Once I had figured out the vast majority of the CPU opcodes, it allowed me to examine what the game was doing and how the game was generating the graphics. The basic was that the game would sort of access certain areas of memory and it was one of these custom chips that did all of the 3D mathematics, transformations and drawing polygons and so the game was, as far as it was concerned, when it wrote to certain areas of memory, it didn’t know that that was all being intercepted and then translated into direct 3D polygons for rendering. So if you had a larger monitor and you had a 3D graphics card it would render using the higher capabilities of your PC and the game had no idea because it was totally transparent to it.
Retro Hour: It was crazy because I remember there was some kind of a few boot disks flying around and there were a few products out there and when Bleem came out well people must have not believed that it worked. How hard was it to market?
Randy Linden: Actually marketing was really tough but that was, thankfully, done by my brilliant Bleem partner David Herpolsheimer. He and I had a bunch of phone calls early early early on in Bleem’s development and if you think that I did the programming and the design and the technical side of things, David did pretty much everything else: the marketing, the sales, he designed the packaging, he even designed the display box where it was this intricately designed origami folding box where, if you assembled it – it was designed for retail stores – and it formed a little display case with all the Bleem discs inside of it.
Marketing was tough, not just in the US, but marketing in Japan and marketing in the UK and marketing in Mexico and David really did a fantastic job of getting Bleem into stores.
I remember the first time we saw Bleem on the shelves at Best Buy, which is one of the electronics and computer chains here in the US and there was a whole wall and you could immediately spot Bleem because it was a bright yellow box, and it was really nice to see it but yeah, marketing was very difficult because a lot of people didn’t realize what it was. Yes, you get this software and now you can go and play PlayStation games so, it took a while before it caught on but it eventually did well.
Retro Hour: I mean we’re talking about the Dreamcast when we started our interview earlier and obviously when that came out, you ported Bleem to the Dreamcast – we had Bleemcast, and that was the first time I ever remember seeing a commercial emulator for one console to compete with another. We mentioned before: it’s kind of the equivalent today of having a PlayStation 4 emulator for the Xbox one so, how did you port it to the Dreamcast and why?
Randy Linden: Actually, one day David said “what do you think about a version of Bleem for the Dreamcast?”, and I sort of paused for a moment and thought about it, and it’s like “hell yes! that would be awesome!”, so I started to do some research into the Dreamcast system, you know, some basic, what they call “back of the napkin” calculations on memory and whether or not the Dreamcast could read a Playstation disk.
There was just a certain set of criteria that had to be met and found out just like when I wrote Bleem for the PC, I found that the main processor for the Dreamcast was a Hitachi SH4 and so I sat about writing and sort of translating, almost porting the PC version and what it implemented from x86, because most of Bleem was assembly, it wasn’t written in C for the PC, and so I translated that into SH4 and then while all that was going on, David was working hard to convince Sega that this would be a great coup for them to be able to have their competitors products running and enhanced because, at the time, I knew the underlying graphics hardware was the Imagination Technologies PowerVR, and I said to David “yeah, the enhancements that we’ve got on the PC, this on the Dreamcast is going to look a whole other level better because the Dreamcast could output high resolution, it did anti-aliasing, it did all the 3D special effects that are common these days like even something as simple as transparency and translucency, on the Dreamcast the hardware just did it! It just all works, but it required a lot of work on David’s part to get Sega to even consider something like this.
Retro Hour: How did the Microsoft’s Windows CE and the Mil-CD help you, you know these kinds of odd items that were actually on the Dreamcast, helped with your development and helped for the future of homebrew development actually?
Randy Linden: Well, as it turns out, there was a point at which Sega said “yes, okay, we’ll give you technical specs and so on but we need to consult with our in Japan and determine whether or not you’re gonna be able to actually launch the product but in the meantime it doesn’t hurt anybody if you pursue it as a proof of concept, as a potential product”.
Basically what happened is when Bleem was running we got some inside information that there was this thing called Mil-CD, and David had picked up from Japan, he ordered them, a couple of MIL-CD discs and it was a “multimedia something rather” (actually Music Interactive Live CD), I don’t remember the exact moniker for it, but it was a regular CD-ROM disc and it struck me that if it’s able to read the Mil-CD discs, then it must be possible for us to create a regular CD that isn’t Sega’s custom GD-ROM format, and the trick was – by that point we’d received a development kit from Sega, they gave us a GD-ROM burner and Dreamcast development hardware – but the team who made the development hardware at Sega were smart in the sense that they removed the code from the ROM in the development kits that supported Mil-CD, so if you reverse engineered the entire ROM which I did, there was no code that had anything to do with Mil-CD.
Well, I knew that there had to be the code somewhere and it suddenly dawned on me “oh! of course, they’ve removed the code” because they don’t want people doing what we’re about to do. To get around that, I wrote a tiny little program that we burned onto a GD-ROM, because they had loaned us a GD-ROM and a couple of GD-ROM discs and all it did was take the boot ROM from the commercial version of a Dreamcast and with zip format, zip it and send it out over the serial port. Now, the tricky part was the serial port wasn’t a standard RS-232. It needed a voltage converter and I’m a software guy and it’s sort of my wheelhouse, but David built this little tiny box that plugged into the Sega Dreamcast in the back, and on the other end was a regular serial cable so I could use a terminal program, boot up my special GD-ROM, and dumped the actual sega system bios and boot ROM from the commercial version out to this little contraption serial port thing and then all of a sudden it became obvious! Here’s a block of memory that in the development hardware is all blank, it’s all empty, but on the production hardware it’s the Mil-CD format code, how it unscrambles and decodes the Mil-CD.
So I just reverse-engineered that and within a day or so we had Dreamcast booting as a regular CD.
Retro Hour: And you weren’t using any Sega libraries or anything like that. You just diverted all of that stuff!
Randy Linden: Exactly! We had no choice! We had received low-level, very low level, like register level, hardware level documentation from Sega. We couldn’t use their libraries because it could imply that they were supporting us officially and they didn’t want to get into a huge legal battle with certain other companies and so, instead of being able to use the Sega libraries like, you know, here’s something if you want to draw a polygon call this function and send down the coordinates and voila, out comes a polygon, I had to write all the low-level implementation of that so we effectively had our own set of libraries that drew polygons and communicated with the sound hardware, communicated with the VMU (Visual Memory Unit) and the little VMU screen… So it was an awful lot of work but it kept Sega in the clear because we weren’t on a GD-ROM, we weren’t supported by Sega, we were manufacturing the discs ourselves at a standard CD printing plant, and where the little (Sega) logo appeared we could customize it and so David wrote this text that, when you boot the game, in the right hand lower quadrant of the screen where it says, you know, Sega Enterprises copyright whatever and the little box appears with a red arrow that points up that and says “ignore this, this is actually unrelated and has nothing to do with Sega or Sega Enterprises and blah blah blah blah blah” , just to protect Sega so they could turn around and say that we are an independent company and yes, we’ve given them access to hardware specs and so on, but we’re not sanctioning what they’re doing although at E3, years and years ago, when Bleemcast was first shown at Sega’s major press event, they had mentioned Bleemcast, and the whole crowd erupted in cheers and it was amazing, it was just amazing.
Yes, you’re absolutely right, it was the very first time that one platform could play other platforms in the console genre. There had been emulation between PlayStation and PC but never between competing consoles, and it sort of opened the door to legalize emulation and legalize comparative screenshots and a whole bunch of other things that nowadays emulation is common.
Retro Hour: We’ll go into the legal stuff in a second, but when Bleemcast was actually released, I initially heard that it was meant to be a kind of disc that would be able to do all PlayStation titles that you’d put your Bleemcast and then your PlayStation title, but it ended up getting released for games such as Metal Gear Solid, I think there was a Gran Turismo, Tekken… yes, separate titles. How was it? How did that happen?
Randy Linden: It was a balance the PlayStation had a library of hundreds of titles but because of the way Bleem emulates things, it’s not a cycle-accurate, you know, a perfect representation of the PlayStation hardware.
That choice to do it was sort of a learn what the game is doing and then do it better sort of you know, oh! the game is drawing polygons, I’m gonna draw them differently, and I’m gonna do it in high resolution versus it’s drawing a polygon and it’s exactly these pixels. The net effect was that it made it possible for us to enhance the specific games to a much greater level than if we had chosen to support more titles.
The titles were starting to really push the PlayStation hardware and so each of the individual Bleemcast disks are actually different programs. The vast majority of the code is the same, the core CPU emulation and so on, but each of the different games push the hardware, the PlayStation hardware, at a low level in unique ways that sometimes were incompatible with one another. So we chose titles that we thought were representative of the highest level of quality on the PlayStation and it happened to be Gran Turismo 2, Tekken 3 and Metal Gear Solid; sort of three different genres of games and the top level of quality for those games and so I went in and then customized all the extra enhancements so for certain sequences like Metal Gear Solid which is sort of a whole bunch of minigames that are in some ways different, but share a common storyline, they might use certain tricks with the PlayStation hardware that have to be emulated differently at different times, and so the PlayStation game in order to make it look enhanced throughout the entire experience on the Dreamcast. It knew when you were in the stealth mode, where you have to avoid the soldiers seeing you or where you were outside and you could hear the wolves.
Those were done using very different techniques on the PlayStation and so the Dreamcast version of Bleem also did customization for each of those titles and the net results, I think, was that the titles looked so much better than had we chosen to go the opposite route which was basically let’s try and emulate this thing cycle-accurate, but then why not just go buy a Playstation if you want to see the exact same level of graphics, as opposed to the enhancements.
Retro Hour: Well, the fact that you did enhance the games and you were giving Dreamcast owners essentially access to exclusive PlayStation titles, that did really get on Sony’s radar eventually. So, when did that happen and then, you went to court, how did you fight them and what kind of precedents did that case set?
Randy Linde: They actually tried to get an injunction as soon as Bleem on the PC – our website put up and we’re taking pre-orders – as soon as that happened, we received the lawsuits. There were two people who worked at Bleem: John Weingartner and Scott Karrol, both of them attorneys and, of course, David Herpolsheimer, who really acted as an excellent bridge between myself on the technical side and the attorneys. We fought it and said “look we’re not using anything from you guys, we think that it’s a great product because the games which are where video game companies make their money – it’s called the razor and blades model where the razor itself is cheap but the blades cost a lot, and the blades, in this case, are the games and they’re licensed and by making the PC play PlayStation games, it opens up their market to the hundreds of millions of PC users out there that they wouldn’t have access to before and it costs them nothing.
Well, they ended up suing us on a number of different levels but the net result was the 9th Circuit Court ruled that emulation is legal and comparative screenshots where.. – if you look at the Bleemcast or the Bleem packaging, we’ve got a screenshot from the PlayStation and we’ve got besides it, the screenshot running from Bleem, showing “hey here’s the game and how much better it looks” and the judges ruled that this is legal and it is allowed, even though the screenshots were copyright inherently by whoever it has written the game, like Konami was Metal Gear Solid, for example, this provides the public with a way of doing comparative shopping effectively. It’s like if you can’t compare one product against another. That’s sort of bad for the public interest and so that was decided that comparative screenshots were in fact legal.
The legal precedents that Bleem helped set are probably among my career’s greatest achievements that I’m most pleased about because now you see emulation everywhere, you see it on Nintendo, you see it on Xbox, it’s everywhere, it’s commonplace, and, you know, 20 years ago it was rare.
Retro Hour: Well, recently I’ve noticed we had the PlayStation Classic and the little mini console there’s been a little mod tool for that where people can install their own games called Bleemsync. Is that anything to do with you?
Randy Linden: No. I’m flattered by the choice of name frankly, but that has nothing to do with me at all, but it is interesting that it shows that emulation is everywhere now, even on Sony’s own own products because of the value and the potential benefit to consumers.
Emulation, 20 years from now, how are we going to preserve the history of video games and technology? Eventually, the hardware is just going to stop working. It’s not like a record player where there are a needle and a pickup, but it’s relatively inexpensive. Twenty more years from now Dreamcast hardware is going to be that much more difficult to obtain and, unless emulation or some other technology is developed, we’ll never be able to play Shenmue or Crazy Taxi or any of those classics that are on the Dreamcast. The same thing applies to any particular console so I think that the emulation itself is important and it’s clear that all of the big companies have reluctantly agreed that back-compatibility and emulation are things that customers want and the fact that people are still reverse engineering and making things compatible with more systems, I think is a good thing, frankly.
Retro Hour: Well, for a kind of final question. I can’t believe that they’re still creating Dreamcast homebrews using Mil-CD technology and there’s a great group called Joshprod. They’re currently producing quite a lot! We were talking earlier when you were saying you might have some development documentation and stuff that you’re gonna release on the Dreamcast hardware.
Randy Linden: Yeah! I’ve got a whole – I mean as I said, my career is now 36, 37 years and so I’ve got original technical manuals from Commodore about the Commodore 64 and I’ve got all the low-level manuals for the Dreamcast and the hardware and some of it is very complex and it’s doing nobody any good in a storage locker.
Everything that we develop collectively and we stand on the shoulders of giants, it’s based on everything that’s come before us and if you don’t have that preserved, I think will be lost and so I’m actually going to end up donating all of that stuff to one of the museum’s that’s out there called The Videogame Project and they’re run by a guy named Alan Bin Lee (?), who’s a gamer and retro gaming fanatic and I’m going to send him a huge old box of stuff. I recently came across some of my Dreamcast notes and a little handwritten reverse engineering of the BIOS and stuff like that that I think is important to get into people’s hands, because until there’s a really full-featured, fully operational Dreamcast emulator, it’s a system that remains in jeopardy, and by that I mean jeopardy of losing all of that rich history because nowadays Sega is a software company and they used to be a hardware company. They used to be a very successful, like with the Genesis/Mega Drive, a very successful hardware company! I think that it’s important for us to in the video game industry remember roots and so that’s why I’m gonna donate all of that stuff.
Retro Hour: That’s incredible! Oh, Randy, we could honestly probably do like another ten episodes about the incredible things you’ve worked on. I mean, thank you so much for coming on and having a little trip down memory lane with us. It’s been wonderful getting these stories.
Randy Linden: Oh, my pleasure! Thank you so much! It’s an honour for me to be on the program anytime you want to call back, feel free!