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?
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.
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.
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
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
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