NetBSD Progress On Sega's Dreamcast
See below for a sample dmesg output,
Please stay tuned for more information!
- Hubert Feyrer, The NetBSD Project
Copyright (c) 1996, 1997, 1998, 1999, 2000
The NetBSD Foundation, Inc. All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
NetBSD 1.5_ALPHA (DREAMCAST) #8: Fri Jul 14 01:42:14 JST 2000
msaitoh@vslock.xxx.yyy:/var/sources/src/sys/arch/evbsh3/compile/DREAMCAST
total memory = 16384 KB
avail memory = 12988 KB
using 230 buffers containing 920 KB of memory
mainbus0 (root)
shb0 at mainbus0
scif0 at shb0 port 0xffe80000-0xffe8000f irq 12
scif0: console
biomask c0000000 netmask c0000000 ttymask e0000000
md0: internal 1440K image area
rn_init: radix functions require max_keylen be set
boot device:
root on md0a dumps on md0b
cannot mount root, error = 22
root device (default md0a):"
Of course, what you do with a Dreamcast running NetBSD is up to you. Errr ... just what could you do with a Dreamcast running NetBSD?
A netbsd port to dreamcast would be ideal for people to learn *nix and open source really easy.
It'd be *nix for dummies.
Just pop in the netbsd CD (dreamcast does run on CD's does it ? I don't know for sure) and you're off. The users could mess with the system all they'd want. On the next reboot of the dreamcast you'd have a fresh install again.
And I know you could do this with a PC too. But then you'd have to build a VERY generic kernel, or several ones depending on the PC config. The single dreamcast platform is so much simpler to make a distro for.
NetBSD was able to get their code bootstrapped due to a programming backdoor left in by Sega which lets the console be started from the second session of a standard CDROM, as opposed to sega's proprietary GDROM format. This was the same method used by the Gameshark CDX disc. Unfortunately, due to recent innovations using this boot method, Sega is rumored to be phasing out the backdoor in the newest releases of the Dreamcast to keep third-party developers happy.
Anyway, I hope Sega gets themselves in gear and releases the Dreamcast NIC sometime soon. Then all we need is a NetBSD-based distributed.net client disc.. ;>
Check out Marcus Comstedt's site for more tasty tidbits about Dreamcast programming.
The DC controler ports are pretty fast. I had a thery that they were USB, but after reading more I don't think they are, they are "only" around 3Mbits/sec each. The modem module can be remoed, and an ethernet can be pluged in (if they ever start selling it) which might make the DC a useful MP3 player. A Zip drive (with USB ports) can also be hooked up (I'm unclear on how).
So it's a bit limited as a Unix box, but not toatally worthless.
Besides with NetBSD on it I could play nethack on it, which somehow appeals to me :-)
This is not true. I travelled to Japan in Early June. I asked the customs officer if the Sony Playstation 2 had any export controls on it, since I was thinking of buying a few to bring back to the US. He told me that no, there were no export controls on it. That the whole thing was some confusion at central government and was cleared up within two days. He also told me that I'd only have to worry about import issues on the country I was bringing them into.
He didn't come out and say it, but some of my Japanese friends did. It was just a ploy by Sony to make the playstation sound really cool.
Oh, there is one last issue with taking a PS2 out of Japan. Sony will not honor the warantees on these units outside of Japan. At least that's what I was told by my Japenese friends. That was a deal killer for me.
ObOnTopic: I think that the port to dreamcast is way cool. Look at how useful the NetBSD/hpcmips port is for the WindowsCE machines that are now being dumped on the market cheaply.
Linux running on the Dreamcast was demoed at a recent LinuxUserGroup meeting in the Tokyo area.
Though there was no shell yet, but the kernel booted and could be manipulated via the VS. communication cable. Quite impressive.
I don't really agree with some of the other posts which say this is limited to serving content or security, I see the advantages of this is increasing the ability to port *nix games and to be able to develop for multiple platforms at once.
I'm pushing for Linux to be ported to the DC, because then we can have a port of OpenGL (I hear the PowerVR2 supports it natively), and SDL (which AFAIK has been ported to FreeBSD) among other things. Just porting OpenGL and/or SDL would allow QuakeForge to be compiled for DC with probably little to no modifications. With a ppp driver in the kernel (or on a ramdisk if you prefer) you will have netplay for these types of games with a *minimum* of porting effort. Any linux games that don't require X (unless you want to port X, but why??) could be ported, off the top of my head I can think of xmame, lsdldoom, just to name some obvious ones.
Here's what I thought needed to be done:
Get the linux kernel up and running with a console on the serial port.
Allow the kernel to load a ramdisk from a CDR.
Write an accel. frame buffer to access the DC's frame buffer.
Impose certain constraints on the dev. system since this is a *console* and not an athalon w/ 128MB ram. One constraint would be instead of porting glibc, use newlib instead (is this even possible?). This would eliminate the majority of command-line Linux utils, but why would you want these anyway?
Port SDL using the frame buffer, I have no clue about OpenGL though.
This would replace WinCE as a devel. system, and allow broke college students such as myself to go nuts with the DC. Third-party developers might even be interested in this.
Marcus
If a substantial portion of people/companies go out and buy 100+ machines each for their own compute farms, the manufacturers are going to eventually notice that the ratio of games bought to consoles sold is declining. At some point they will attempt to prevent non-game (or really, non-royalty generating uses of their hardware. Kind of like the whole i-opener fiasco.
However, there is probably a point up to which the manufacturers are happy to have unix ported because it will increase their raw sales figures, and act as an incentive for game development companies, whose suits would never conceive of the idea that a console might be used for something other than gaming, to port to the console.
When information is power, privacy is freedom.
Now back to porting OpenBSD to a games platform...so consider this overtly paranoid scenario that might just scare the pants off export authorities:
Games platform with massive graphics processing power + OpenBSD = Massively secure and un-crackable* encrypted system for controlling nuclear weapons from so-called rogue states!
(*some may argue that OpenBSD merely creates this illusion)
Now wouldn't that be an amusing thought!
-- "I can't tell the future, I just work there." -- The Doctor
What strikes me as amazing is that I know a couple of guys who ran out of machines and where running out of time during a render for a film production. These little boxes just happened to be a cheap way to get renders kicking! Now, nothing like seeing a render farm of dreamcasts?!
kick some CAD
People are typing that this cannot be useful in any way, but I say that is completely false! Obviously the reson to port BSD to the dreamcast is so that they can then port Nethack to that platform. The NetBSD folks realize that the Dreamcast is a gaming platform, and they will treat it as such.... why with fortune, nethack, and hunt on there (for the multiplayer experiece) this could be sold as dreamcast software in stores.
He who knows not, and knows he knows not is a wise man
Think about what porting an open BSD or Linux over to a closed, proprietary console system does:
It opens the console.
All of a sudden, you've got an open, cheap, extensible platform. It's got sound, it's got video output to TV or VGA, it's got a CD-ROM drive, it's got a modem, it's got a keyboard, and it's got the possibility for further expansion through the serial port, as well as swapping out the modem for an ethernet card in the future.
You could port VNC to it under GGI or SVGALIB or even plain old X, and turn any TV into a desktop, you don't even need a VGA monitor.
Take it one step further, and now it's a cheap network computer or thin client, with a light word processing app, web browser, and solitaire game on a free ISP like NetZero or whatever.
Or maybe it's an MP3 player stereo component with an on-screen interface and cool visualization options. Hell, it'd fit great in your car.
Or let's take this as far as you can go. Why not port something really massive to it? Say, something like the Unreal engine. There are projects out there like Digitalo's Virtual Reality Notre Dame Project, where you can tour giant heritage structures like the Notre Dame de Paris Cathedral in full 3D, led around by a virtual tour guide, and teach kids things they'd never otherwise learn. Porting the engine to the Dreamcast (there's already an x86 Linux and PSX2 port) would give you a $199 learning console that plugs right into the TVs most schools already have (moreso than computers), and suddenly gives them classroom access to more power and technology than any PC initiative ever did. From light web browsing to 3D learning applications, a BSD port to the Dreamcast could make dreams of computers in the classroom real.
Disclaimer: Yeah, I'm an engine licensee, producing 3D tours using the engine with my Unrealty product. But I want to see a cheap platform for them as much as any teacher who's seen the potential for such a thing.
--Vito