Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Dusting off Dreamcast Linux (oldvcr.blogspot.com)
191 points by todsacerdoti on Feb 20, 2023 | hide | past | favorite | 93 comments


>Arguably the rampant piracy that resulted was one of the causes of the Dreamcast's decline...

I see this narrative parroted a lot but more than likely Dreamcast (and it's piracy) had very little to do with sega's exit from the hardware market.

Sega, the company, was already hanging on by the thread by a time the Dreamcast launched since they'd already been in massive debt at that point from previously launching and abandoning hardware projects in quick succession such as the Sega CD that 32x and the Saturn. Also, If I remember correctly this was during a recession in Japan. Around this time Sega was already looking at several companies to sell to.


It's a nice story, but you're right to say it's not true. If easy-piracy was the cause, you'd expect the attach rate (games-sold-per-console-sold) to be much lower than other contemporary consoles, because pirated games still needed legitimate Dreamcasts to be sold. But it just wasn't [1]. They simply didn't sell enough Dreamcasts for the reasons you say, and others.

[1] https://vgsales.fandom.com/wiki/Software_tie_ratio


Peter Moore, then the head of Sega US doesn't even mention piracy as a factor [0]. But then Tony Chen who designed the Xbox 360 security system says it was a major factor [1]. Note that Moore was head of Xbox at that time.

0: https://youtu.be/0ZBR4uHec_k

1: https://youtu.be/U7VwtOrwceo


The person with the job to fix a particular problem claims problem is super important. I'm sure you can imagine my surprise.


Piracy might not have been the cause of Dreamcast's demise, but it was definitely rampant on that system. Anecdotal but I knew someone with a binder full of pirated copies of literally every single Dreamcast game ever made, which isn't something I had ever encountered on any other console at the time (sometime around 2000 or early 2001?). My understanding is this wasn't particularly unusual for a resourceful Dreamcast owner with a broadband connection.


The problem comes when one assumes someone with a binder full of pirated games would otherwise have a binder full of legitimate games. Pirating is likely their hobby. If they couldn't pirate Dreamcast games they would just pirate something else. What they likely wouldn't do is turn into a legitimate collector if pirating weren't an option. These people got into pirating because they were cheapskates.

And Dreamcast game pirating, while it had a very visible scene, was not something a common user would do.


It's not so cut and dry. Yes, there are some people who never pay for anything and only pirate something. But for most people it just depends on what's easily available. See e.g. movie and music streaming services being successful today, despite widespread piracy 20-25 years ago.

In the case of Dreamcast pirates, while I'm sure they wouldn't pay for every game or even most games, many of these folks would very likely purchase some games, had pirated copies not been ridiculously easily available for free.

In the specific case of the person I knew, he had purchased games for plenty of other consoles.


I too am skeptical that piracy was their biggest problem.

I was a Sega fan, but I had no interest in the Dreamcast because I had been burned by the Saturn. When they did eventually decide to discontinue the Dreamcast, they had a fire sale to get rid of them. I, and a bunch of my friends, did end up getting Dreamcasts at that point since they were dirt cheap and there was a fantastic library of games that were easy to pirate. But had piracy been the key issue from the start, Sega wouldn't have been sitting on a glut of unsold consoles to begin with.


I forget what the numbers were, but the Dreamcast needed every single console owner to buy something like 4 controllers each with their own rumble pack and VMU and then about a dozen games.

But then Sega had to go full fucking Sega and the Dreamcast had a fishing controller, a microphone, keyboard, mouse, light gun, and fucking maracas.


I seem to recall every Japanese console of that era having options for fishing, kb/mouse, and shooting. You have a point with maracas, but please never forget the congo drums for the GameCube/Wii and the Guitar Hero controller for literally everything with a video output.


Yeah, SEGA gotta SEGA. The fishing controller was great, wasn't it? I still occasionally drag out my old system just to play SEGA Bass Fishing 2 with the rod controller.


I get that argument but it’s not like the Dreamcast was the Saturn. There was lots of third party support, I feel like lots of units moved… the timing with the PS2 was messy but…

I don’t remember the story but I do remember reading something about how Sega US was pretty hype to continue with the Dreamcast and got a bit blindsided by the decision to stop.

Fun aside: I only learned about pirating on Dreamcast thanks to an article in Tips&Tricks talking about it being a problem. As a kid I did not grok that maybe illegally downloading games is no bueno


Good third party support but crucially EA didn't want to release sports games on it, reportedly because of SEGA's first-party efforts here.


you got the story wrong. EA wanted exclusivity of sports franchise and Sega said no.


Yeah, I said it sort of backwards but that’s what I meant


This is correct. The DC was already dead on arrival because Sega s finances were already deep in the red.


Also, PS1 and PS2 was easy to pirate too, and it thrived


Early PS1 and 2 piracy weren’t nearly as easy or widespread as the DC, IIRC both required hardware modchip installations before disc swap soft methods were discovered, where the DC’s only major hardware piracy hurdle was having a CD-R writer capable of burning the DC’s format.

DC piracy flourished because of easier to find ISOs and a faster internet than the PS1 gen of consoles. PS2 had piracy issues at the same time of the DC, but PS2 piracy was much tougher to do due to the larger game disc sizes transferring over the wire and subsequent uncompressed video and code developers didn’t have to optimize for and pirates had to compress or cut to compensate.


When I got a N64 I remember clearly that the N64 major downside was that piracy was much harder, but everyone was buying cheap PS1 pirated disks on street vendors. Like, very very cheap, and no internet connection required.

That was in Brazil btw.


IIRC you could use pirated games on the PS1 by first booting it off an audio CD with a lot of tracks, then swapping the disk at a certain point in the boot process.


> The notorious Utopia boot disc got around the obfuscation problem with a pirated Katana SDK and used the same reset technique, letting pirated software load by simply booting Utopia and switching discs when instructed. The Utopia crew flamed out quickly as they were stupid enough to put their photographs on the disc, leading to a knock on the door from German police

Someone know more to this story? (i.e what was exactly on the disc, and what were the legal basis of said police action)


Re: what was on the disc, you'd see a spinning 3D reindeer. I believe I still have one in my basement somewhere...


Dunno but German copyright laws are very authoritarian and also enforced.


I remember playing around with Linux of the Dreamcast back in the day. I think my plan back then was to use it as a media centre (that was before XBMC) but even back then, the lack of an Ethernet adapter as standard made Linux rather pointless. Though it didn’t help that I also didn’t have a keyboard either.

The modem did work surprisingly well for online gaming though and routers with Ethernet sockets weren’t (yet) common in most homes so I don’t disagree with Sega’s decision not to ship Ethernet as standard. It’s just a pity those Ethernet adapters are now in such short supply.

I still play on my Dreamcast a lot. It is a great console that, in my opinion, is the first of a whole new generation of consoles based around online play. But like a lot of pioneers, it suffered a little from being ahead of its time. Plus the fiasco of the Sega CD, 32x and Saturn (all of which were actually pretty decent in their own right but shouldn’t have existed from a commercial perspective) wouldn’t have helped peoples options of Sega ahead of the Dreamcast launch either.


Someone should design a modern replacement ethernet interface.


It’s not really needed now because you have the DreamPi. Which is a RaspberryPi powered server for the Dreamcast to dial into and which communicates out over Ethernet.


I wonder how much more powerful that Pi is compared to the Dreamcast ? XD


Haha it’s not something I had considered before but yeah you have a point!


I don't think swap over dialup would be usable ;)


I love arcade games so both DC and Saturn are perfect for my use, especially with my MODE upgrades. Saturn team just couldn’t pick a lane. I have a couple of DC Ethernet adapters but they don’t work with most games so the modem+dreampi is good enough for me.


I'm guessing you already know, but just in case (and for any others reading)...

There was an arcade system based on the Dreamcast hardware called the Atomiswave. Instead of GDROMs, it used solid state storage.

Many (20+) of the Atomiswave games have now been converted to the Dreamcast and work great on the MODE etc.

https://www.retrorgb.com/dreamcast-atomiswave-ports.html


Yes and they're amazing. Tremendous work by Megavolt85.


You’re talking about modern gaming now the original servers are down. I used a DreamPi now too. But the DreamPi is a comparatively recent addition as well as being notoriously painful to set up for non-technical gamers (doubly so if you’ve got a PAL Dreamcast).

Whereas I was talking about gaming on the Dreamcast back when it was still supported by Sega.


I was referring to how most games never supported the broadband adapter. Compatibility list: https://segaretro.org/Broadband_Adapter. I'm old so I bought mine on launch day(s) both US & JP. BBA in 2000.


The Sega CD and 32x, sure. But the Saturn shouldn't have existed? Sega might as well have gone home if they weren't going to compete with the N64 or PSX.


YouTube channel Video game esoterica actually had a fairly good idea on how should have handled it. Put a little more hardware grunt into the 32x and release the Neptune (Genesis + 32x) while pushing heavy on the software support for this. Use the current user base to hold over enough momentum to slow Sonys progress. Then progress with the then offered to Sega - 3DO M2 hardware which would have launced in 97.

The big thing folks have remember, Sony was not considered a major threat. It was entirely possible it could have just become. another obscure Japanese console from a hifi company. Like the X68000, PcEngine, Pippin & FMtowns Marty.


Most of those in your list are not consoles at all but super-expensive Japanese PCs. The PC Engine had substantial success in the Japanese market.


I didn’t say Sega shouldn’t have released a console for that generation. I just think the Saturn was architecturally the wrong choice of console.


Hindsight is 20-20. I was in a meeting at Activision after the E3 where the PlayStation and the Saturn came out. The conclusion our analysts reached was that the Saturn would win, largely on the strength of Virtua Fighter as compared to Tekken.


> Hindsight is 20-20

Of course it is. If I were in on Sega’s board at the time then I’d have made they same decisions they had too. Those were the “correct” decisions for what they knew at the time. But that doesn’t change that it was the wrong architecture in hindsight.

That said, execs at Sony predicted the downfall of Saturn and would tease Sega execs about it at friendly lunch events. (There have been details accounts of those conversations shared by Sega execs, but a lot of them are published in Japanese)

> The conclusion our analysts reached was that the Saturn would win, largely on the strength of Virtua Fighter as compared to Tekken.

Sega developers were already experienced working on the Saturn’s architecture because they’d had exposure to similar boards on Sega’s arcade architectures. The problem was Sega existed in a little bit of a bubble compared to the direction that the rest of the industry was moving in with regards to 3D rendering.

So the problems with the Saturn weren’t obvious to observers until much later when games studios started complaining (though Sony had also “incentivised” discontent by buying up studios with exclusivity deals).


From what contemporary developers have said, being able to write the games in C and having much better dev kits was a major coup for PlayStation that attracted a lot of developers. This was something that hadn't really been done before, so you can't blame Sega for not realizing how important it was, but everyone says it made it, comparatively, a nightmare to work on. Sega later developed some better tools for 3D game development that they dogfooded with the development of Virtua Cop (if you think you'd like to hear about this for over 4 hours this video is great: https://www.youtube.com/watch?v=OrMqYVB5G-4), but too little, too late.

On top of this, Sega had some major unforced errors between harming their own credibility with the 32X and Sega CD and their surprise early launch that led to them launching with almost no games and angering retailers so badly that they refused to stock the system.

To me these are bigger factors than the architecture; the Saturn still does have impressive 3D games.


That’s all partly true too but the architecture was definitely impactful because it didn’t render triangles. It was a sprite machine that faked 3D by using a second processor to skew spites into triangles (which also broke alpha blending in the process).

I also don’t think it’s entirely fair to say that SDKs were unknown to Sega at the time. They were being occasionally used on earlier consoles too (even if it wasn’t the norm). The real reason Sony had an SDK on launch and Sega didn’t was simply because Sega had a massive development resource whereas Sony had to rely entirely solely on 3rd party developers. So releasing an SDK was always on the roadmap for Sega but a lesser priority than it wouldn’t have been for Sony.

An SDK would certainly have made it easier to program for the Saturn but ultimately it would still have been significantly harder than the PlayStation.

Your overall point that there were lots of contributing factors is correct though. I wasn’t intending to suggest that the Saturns failure was down to one specific thing.

Edit: just to add, I agree there are some awesome 3D games on the Saturn. I own one and have a few. But the existence of good 3D games doesn’t negate the point that it was architecturally a challenging platform to do 3D on. I’d describe it really more of a 2D console that can do 3D via an official hack.


If one had to make a console that would go against almost every trend that would come to dominate, The Saturn would hit almost all of them.

From going multicore before the tools were ready to backing quads over polygons.


With Sega CD it was hard to know, everyone was figuring out what this "CD" thing would mean. In hindsight, it was a bad idea.


The biggest problem with it was simply that it primarily ended up in the hands of Western consumers and dev houses during the height of the FMV craze, the PC Engine CD did much better comparatively speaking because most of the things on it were actual games and it had (within Japan) wide support from nearly all major software development houses.


The main mistake with the Sega CD was adding a bunch of expensive new hardware to it. It gave the Genesis a second, faster Motorola 68k and a special ASIC to handle sprite scaling and rotation effects (to compete with the SNES), but these inclusions effectively doubled the price of the add-on and were seldom used by developers. The Turbo-Grafx CD, on the other hand, just added a CD-ROM drive to the Turbo and cost half as much. The Turbo CD was also much more necessary since the console used HuCards that were much more limited in space than the cartridge ROMs used by the Genesis.

That said, the Sega CD was reasonably successful for what it was, and I don't think it contributed much to Sega's downfall (if anything, it helped Sega foster an impression with customers of being on the cutting edge of things back then). Far more egregious were the 32X, since it confused customers about the company's direction after the Genesis and was abandoned so quickly, and the Saturn's architecture being so much more expensive and complicated than the PlayStation, especially for 3D games. The cost let Sony undercut them because they knew Sega couldn't match them without losing money on each console, and the complexity was such a hurdle that even Sega's first-party developers had trouble figuring it out (they had to release "do-over" ports of Virtua Fighter and Daytona USA because the first versions were so rushed and buggy). Sega of America also pulled the plug on the Saturn way too early (because of Bernie Stolar's infamous interview where he said the console wasn't the company's future, which caused third parties to immediately cancel their releases for it), which left the company with basically no presence in their biggest market for about two years.


It didn’t help that Sega America and Sega Japan were in constant disagreement, fracturing the company and confusing consumers.


> Never put a console running DC Linux outside of a firewall: it is an intentionally insecure system. Any bot scanning your network will get root immediately.

And do what exactly then, deploy it's x86/64 Monero miner?


Can't find the source, but I remember reading a secondhand tale from early 2010s that sets at a CTF convention - a NetBSD/Dreamcast unit becomes the last one standing in it, for no one bothered to `uname -a` on it, and could not figure out why every binary payloads would just segfault. Probably cannot happen today with the likelihood of ARM and RISC-V machines in there...


Back in 1999 there was a similar contest: https://static.lwn.net/1999/0812/bigpage.php3#security


This is delightful. I wonder if anyone there could have done anything if they had known what they were dealing with.


I once had an IP address connected to an SGI Irix machine (v 6.5!) pass a security audit because the tool automatically scanning it couldn't identify what the hell it was, why none of the standard SSH key exchange algorithms were accepted, and concluded it was likely a honeypot automatically.


Which is doubly funny because if I remember correctly irix was not all that secure out of the box. SGI highly recommended you run it behind a firewall. it was very chatty and ran a lot of services.


> it was very chatty and ran a lot of services

lol, definitely going to get flagged as a honeypot then:)


Those kinds of boxes I always ask for permission to poke at a little more and see what they really can be cracked with. Its good fun poking old shit on the network and seeing how it falls over!


I mean, the obvious thing to do would be to make it a node in a DDOS for hire botnet.


I have much doubt that bot could deploy a code capable of executing on this vintage CPU architecture - security through obsolescence.


You're right that probably nobody is targeting this... but also i imagine that dreamcast linux probably comes with a copy of perl and other common userland. No need to make platform specific code here. Just use a scripting language.


Uh, guys, I just ported C++20 to the thing and the absolute latest tip of GCC12.2.0, Binutils, and Newlib. I'm also in the process of porting the Objective-C foundation framework to it as well... you have no idea how good the development tools are. This shit's more modern than what I have running on my host machine. lmao.

The SuperH is still fully supported by the GCC toolchain and is well maintained.

Also the guy behind compiler explorer, Matt Godbolt, himself was a DC developer and has added the SH architecture there as well.

https://github.com/KallistiOS/KallistiOS/commit/99c716c8915f...


20y/o perl and userland. Chances what your obfuscated, top (well not so top) notch code would run on it are slim.


20 year old Perl would be Perl 5.6 or 5.8, any Perl code that doesn't use:

  use 5.010; # Or higher...
...would run. Yes, giving up on say and function signatures would be unfortunate, but Perl code tends to have very good backwards compatibility.


It’s not a valuable target platform, but you don’t need much CPU or memory to do a DoS. I know how to pull all circuit breakers in my apps and those endpoints WILL see even a puny node trying such shenanigans. Also, DDoS mitigation will kick in almost immediately.


The most obvious abuse would be to use it as a simple proxy.


a jumphost to all the other nodes in your network.


Gain access to other more sensitive machines via your LAN I guess.


The rule here is simple - if you can own my network, you’ll have to manage it.


PWNing you in Sonic.


Very, very, very cool and informative! It's an excellent reminder of how much we take gobs of memory for granted.

I never knew about issues with ethernet interfaces being too busy, so this finally explains things I saw way back when and never properly understood.

Interestingly, SuperH is one of those architectures that still has good toolchain support even though most people aren't even aware of its existence. The most recent quarter's NetBSD pkgsrc directory for SuperH has 5,900 modern packages, all built on a SuperH system with just 64 megabytes:

https://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/sh3el/9.0_...

It's wonderful to see preservation efforts like this. Now I wish I had a Dreamcast!


It sure freaking does. I just upgraded our toolchains on KallistiOS to use the absolute latest GCC12.2.0 with latest Newlib and Binutils and brought C++20 to the damn thing! I'm using freaking C++ concepts and constraints with meta templates and Objective-C++ craziness on a DC.

https://github.com/KallistiOS/KallistiOS/commit/99c716c8915f...


> if you wanted a modern equivalent you could just buy a Raptor POWER9

I admit I didn’t even know you could just buy a mobo with CPUs and pretty much build it like any regular PC https://www.raptorcs.com/content/TL2B02/intro.html

And you can, more or less, use you PCI GPU too https://wiki.raptorcs.com/wiki/POWER9_Hardware_Compatibility...

There is a prebuilt version too https://www.raptorcs.com/content/TL2WK2/intro.html

On the other hand what’s the use case of a POWER9 desktop system? I’ve only heard about them in supercomputers and mainframes but why would anyone use one as a, daily, desktop PC?


> On the other hand what’s the use case of a POWER9 desktop system?

It's pretty much the only platform which can be run without firmware blobs that's somewhat competitive in terms of performance afaik.


How far is Risc-V yet from that ?


It's a full-blown workstation. If you're interested, https://www.talospace.com/ is a blog covering developments in the POWER sphere, including reviews of applications, games and OSs running thereon.


Something old, on-premise, important, benefits from multithreading and extra computing power, but okay to be worse than PC? Maybe something aerospace and/or defense?


Soooo expensive though


> On the other hand what’s the use case of a POWER9 desktop system?

Why, it's because they're "increasingly needed to assure safety and compliance with new regulations, such as the EU's GDPR.", according to the 'prebuilt' page you linked to!


Huh, interesting fact - eCos is also used as the operating system on Sinar emotion series of digital backs, which use Intel’s ill fated xscale processor. It was used much later than 2002 as well


That version of Linux should have an NBD client (nbd.ko + nbd-client), so either swapping on NBD or using an external NBD device as a filesystem would be an option. He will need the corresponding oldstyle NBD server, eg: 'nbdkit --oldstyle memory 1G' to create a 1 gig RAM disk on the server side on port 10809.


(author) An interesting idea but the only `nbd*` I can find in the tree is `./usr/include/linux/nbd.h`; there's no kernel module or client pre-built. Also, I'm not sure this wouldn't exacerbate the issues with the Realtek just as badly as swap-over-NFS would, so the kernel upgrade would make more sense first.


Oh that's a shame. NBD definitely existed in 2001, but they must have decided not to include the module in the build :-(

I agree that NBD would be heavy on the network and would probably trigger the "20 times" bug in that useless Realtek driver.


Idk about DC, but XBOX Linux with the 128MB modded XBOX and ZRAM would still be pretty usable as a desktop with IceWM, ROX, Dillo, MPlayer and Siag Office/Magic Point/MuPDF.


The good old days. I had the BBA, so cross compiling apps was a fun way to learn more about embedded systems. I'd wait patiently for hardware hackers to write drivers to new peripherals, as I was too much of a n00b to myself.

Maybe I missed it, but why didn't he use the hard drive adapter? One of these arbitrary restrictions like not using SH-boot? I think the hard drive mod was first discovered in 2002


He's also not using the 32MB double RAM mod we now support. My buddy built NetBSD with it the other day.


Here is a modern implementation of the SuperH CPU for Linux:

https://www.youtube.com/watch?v=dVD1Yws__v0


Dreamcast was watch introduced me to homebrew games. Those burnt discs with homebrew stuff and emulators of old computers just blew my mind as a kid.


The Bleem! and Bleemcast! Emulators to play PSX games was awesome at the time to. The fact there was a commercial release was even cooler to me. I still have two copies of each and a couple of the variants (bleempacks) too.

It's ironic that Sony suing them closed them down, only for the original developers to go to work at Sony. My guess is they received nice pay packages in exchange.

The late 90's early 2k's was a really great time for tech.


Dreamcast indie developer here. Be sure to check out the 32MB RAM mod. We fully support it in KallistIOS,and it will probably substantially improve the experience you have with running Linux and doing this kind of stuff with it.


Dusting off blogspot too, I see. The amount of dust must be incredible.


This kind of thing made way more sense back when computing hardware used to be expensive, so it was sensible to repurpose absolutely anything you might have around. Today even something as cheap and potato-sized as a Raspberry Pi Zero will run circles around any Dreamcast-era hardware, and waste a lot less energy in the process.


Writing an OS, graphics and sound drivers, network stack and game engine prototype for the DC made me a better programmer forever. That’s why people write for this thing. It forces you to really learn how the hardware works.

For example on a modern PC you can write terrible code to access files, on poor hardware you really start worrying about file layout (i.e. file packs), access patterns, streaming, async (DC has DMA, even to VRAM), preprocessing before deploying and the tooling for that, asymmetric compression to improve CD read speeds, locality, file caching, etc.

The CPU also only has 1 level of cache and it is directly mapped, so you’re forced to learn about data oriented programming (SOA/AOS, hot/cold data, DC has some SIMD), tiling loops, CPU cache invalidation management, etc.

Nowadays I write software that blows the performance of the competition out of the water before I even start optimizing. It’s great fun in a challenging way and sharpens your skills. You should try it sometime.


Amen! Well-said! I grew up in the Dreamcast homebrew scene, and am a pretty accomplished developer academically and professionally, and it all started on the Dreamcast when I was 13. lol.


It really didn’t make any ‘sense’ back then either - no-one ran read-only linux on their TV for actual work. It was always really just for fun and challenge of it.


It's called "Hacker News" for a reason.

We get to be all practical and stuff at our jobs.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: