Subject: Purpose of port-dreamcast (was: Re: Working Dreamcast images.)
To: None <port-dreamcast@netbsd.org, eric.nelson@sega.com>
From: Miles Nordin <carton@Ivy.NET>
List: port-dreamcast
Date: 01/27/2002 19:04:43
>>>>> "en" == Eric Nelson <eric.nelson@sega.com>

    en> What is the ultimate purpose for the Dreamcast NetBSD project?

To write video games.

There are two pieces to the idea.  One is that NetBSD is good for
writing video games, and the other is that getting used for video game
projects would be good for NetBSD.

K.  so, NetBSD is good for writing video games.  For one thing, video
games are now arguably the largest and most advanced programs in
existence, so they will benefit from an advanced operating system.
Another is that video games are often ported to many architectures,
which is something NetBSD can make easy by providing rock-solid
source-level compatibility and consistent host-target environments
across a large matrix of platforms.  Finally, pushing video games to
the limit may require small code tweaks all the way down to the
hardware, which is something NetBSD's clean code and integration with
lots of free software can make easy.

The other piece of the idea is that NetBSD will benefit from being
used to write video games.  Video-gameish things like real threads
(scheduler-activations or ``unstable threads''), real-time scheduling,
SMP for future multi-core-per-die consoles, portable alternatives to
the XFree86 disaster, execute-in-place and FLASH-friendly filesystems,
strong thread-aware kernel-mode debugging tools, and fair queueing for
network devices, are all things which have been mentioned before as
challenging and interesting projects for NetBSD in general.  The
match-up between what video games care about and what future NetBSD
work is the most interesting is good.  Because video games are some of
the most advanced programs, accomodating them in an OS tends to be
interesting work.  If NetBSD can progress far enough to appeal to an
actual game development company, this can turn into interesting,
funded work.

see:

http://mail-index.netbsd.org/netbsd-advocacy/1999/12/07/0009.html
http://mail-index.netbsd.org/port-dreamcast/2001/03/14/0001.html

Since NetBSD/dreamcast apparently does not work very well right now,
the important thing to remember is that the most difficult code for
making this port interesting enough to get more developer attention
will probably not be port-dreamcast--specific.  I believe KallistiOS
has preemptive threads and a sound driver, and NetBSD/dreamcast has
neither.  The former is much harder to add to NetBSD than the latter,
yet there is already lots of NetBSD work on the former.

Meanwhile, AFAIK Linux still has kernel-only NT-compatible Foolish
Threads.

As for those who say the Dreamcast is ``dead at retail,'' as I just
said, the difficult work is not Dreamcast-specific.  Also, it's not
dead on the web, nor at trade shows where the thought of using NetBSD
to write a console game might not have occurred to a lot of people.

OTOH, the DMCA makes all this suddenly a totally stupid and unworkable
idea.

    en> Is there an actual functional purpose to it, or is this just a
    en> hobby?

Time will tell.  My impression is that a lot of serious NetBSD
developers would prefer that working on NetBSD were more than a hobby,
and I hope that, modulo acts of Congress, some of the game console
ports will eventually pay off in that direction.

    en> I'm sure it won't really replace my BSD box at home :)

You only have one BSD box?

-- 
One OS to rule them all,
One OS to find them,
One OS to bring them all
and in the darkness, bind them.