Follow Slashdot stories on Twitter


Forgot your password?
Games Entertainment

Dreamcast Web Server Running Off Memory Card 149

Adrian writes "I have written a new file system for Linux - to read and write files on the Sega Dreamcast's visual memory unit (VMU)- a small slab of flash memory used by the console to save game files. To see it in action - and see a DC serve some html, go to the Landslide test server - though I have no doubt that micro_http, the web server I am using (said to be the world's smallest), will result in the quickest Slashdotting in history :)" Gentlemen, start your mirrors now.
This discussion has been archived. No new comments can be posted.

Dreamcast Web Server Running Off Memory Card

Comments Filter:
  • That landslide test server is gone already? And this story was just posted!
    • by bedouin ( 248624 ) on Sunday May 11, 2003 @01:26PM (#5931675)
      I got to it before the /.; this is all it said:

      "This is a test server only

      This is not the server you were looking for.

      Actually, it is micro_http running on a Dreamcast and serving a piece of html saved on the Dreamcast vmu.

      For more details please visit [].

      To show your deep admiration of this utterly useless hack, email me [mailto]."

      This almost makes me wish I didn't sell my Dreamcast a couple weeks ago. Though to me it was kind of useless since I wasn't going to spend $100 for a DC NIC anytime soon.
      • Considering some of the great games you can get on eBay still, mostly new and all under $15, most under $10, I find a Dreamcast quite usefull even without the broadband adapter. With a cheap SVGA adapter, it's a great toy with great picture quality.
    • by Anonymous Coward
      At least I know I should not be hosting my company's web site on a Dreamcast. :)
    • by Uber Banker ( 655221 ) on Sunday May 11, 2003 @01:35PM (#5931731)
      Yeah, flash has a limited amount of write operations, so I guess you've been the first /. to actually kill a chip, rather than bandwidth.

      Nice idea, just remember not to put the LinuxDC swap file on the flash...

      • Your contradicting yourself. WRITE operations. You dont write anything when you READ an html file and/or a program off of a flash card.

        Either way though, the guys DSL line or whatever he is using will be clogged for the next week (Unless he changes the DNS entry).

    • by Anonymous Coward
      His mom came in and switched his Dreamcast off - told him to stop playing games and do some work...

      See, there are implications with having web servers in everyday objects.
  • And people say I have no time on my hands.
    • by Anonymous Coward
      You were almost the first post on slashdot. You're right, you're a busy busy man.
  • Said with a straight face and enough fluff to bypass the crapfilter
  • /.ed already, and not a single post! Hope someone mirrored it.

    I suspect the downtime is from limited bandwidth rather than a webserver crashing, though on such limited resources I may be wrong.
  • Not dead yet!
  • It reminds me of the MacPlus that served a real web site, with pictures & other links. BTW, It wasn't slashdotted for me...
  • The DC server is down, Cannot find server in IE 6.x. I can't imagine that it has been slashdotted already, as this is one of the first posts. What is inetd? Not a network guru, my apologies.
    • by Phroggy ( 441 ) *
      inetd [] - Google is your friend.
    • Re:DC Server Down (Score:4, Insightful)

      by Zork the Almighty ( 599344 ) on Sunday May 11, 2003 @01:40PM (#5931763) Journal
      Inetd is an internet "superserver". For traditional, high use sites people usually run a dedicated service, or daemon, to provide the service. This daemon runs in the background listening for requests and doing whatever it is supposed to do. If your have to offer a lot of services (http, ftp, telnet, mail, ssh, etc...), but none of them are used very much, an internet superserver is a better way to go. Inetd sits in the background listening on a whole bunch of ports waiting for a request. When it gets an ftp request, it starts the ftp server to handle the request(s), and shuts it down after. This sort of thing will allow you to run lots of services on a very slow computer. Unfortunately, because of all the starting and stopping, none of those services can handle a high volume.
  • slashdotting (Score:4, Informative)

    by CowBovNeal ( 672450 ) on Sunday May 11, 2003 @01:22PM (#5931657) Homepage Journal
    The VMS flash memory contains 128 kilobytes of storage. These are divided into 256 blocks of 512 bytes each. Of these blocks, 200 are available for user files. The rest of the blocks contain filesystem information, or are simply not used at all.
    The allocation of the 256 blocks is as follows:

    The Directory, FAT and Root block are system files. They are not listed in the Directory, but do appear in the FAT. The Root block is always block 255. The start block of the FAT and Directory can be found in the Root block, see below.

    The root block (block 255) contains information such as:

    The date when the card was formatted
    The color and icon for this VMS in the Dreamcast file manager
    Location and size of the FAT and Directory system files
    I'm not sure about the actual format of this block, apart from the following:
    0x000-0x00f : All these bytes contain 0x55 to indicate a properly formatted card.
    0x010 : custom VMS colour (1 = use custom colours below, 0 = standard colour)
    0x011 : VMS colour blue component
    0x012 : VMS colour green component
    0x013 : VMS colour red component
    0x014 : VMS colour alpha component (use 100 for semi-transparent, 255 for opaque)
    0x015-0x02f : not used (all zeroes)
    0x030-0x037 : BCD timestamp (see Directory below)
    0x038-0x03f : not used (all zeroes) ...
    0x046-0x047 : 16 bit int (little endian) : location of FAT (254)
    0x048-0x049 : 16 bit int (little endian) : size of FAT in blocks (1)
    0x04a-0x04b : 16 bit int (little endian) : location of directory (253)
    0x04c-0x04d : 16 bit int (little endian) : size of directory in blocks (13)
    0x04e-0x04f : 16 bit int (little endian) : icon shape for this VMS (0-123)
    0x050-0x051 : 16 bit int (little endian) : number of user blocks (200) ...

    The File Allocation Table works similar to a MS-DOS FAT16 File Allocation Table. It serves two purposes; it indicates which blocks are unallocated, and it links the blocks of a file together. Each of the 256 blocks have an entry in this table consisting of a 16-bit integer value (little endian). The entry for block 0 is stored first in the FAT, and the entry for block 255 is stored last. The entry is interpreted like this:

    0xfffc : This block is unallocated
    0xfffa : This block is allocated to a file, and is the last block in that file
    0x00-0xff : This block is allocated to a file, and is not the last block in that file

    In the last case, the actual value of the entry indicates the next block in the file. This way, if the number of the first block of a file is known, the subsequent blocks can be found by traversing the FAT. The number of the first block can be found in the Directory if it is a user file, or in the Super block if it is a system file.

    Note that mini-game files are allocated starting at block 0 and upwards, while a data file is allocated starting at block 199 selecting the highest available free block. This is probably because a mini-game should be able to run directly from the flash, and thus needs to be placed in a linear memory space starting at a known address (i.e. 0).

    Although block 200 through 240 are marked as "free" in the FAT, they can not be used for anything.

    The Directory lists all the user files stored in the VMS. The Directory consists of a sequence of 32-byte entries each potentially describing a file. When the VMS is formatted, enough space is allocated to the Directory file to accommodate 200 entries. This is enough, since each file must be at least one block long, and there are only 200 blocks available for user files. The actual blocks making up the Directory can be found using the Root block and the FAT, although it should be safe to assume that the Directory has been allocated to blocks 241 through 253; 253 being the first block of the Directory, and 241 the last.

    An entry in the directory is either all NUL-bytes (denoting an unused entry), or a structure describing a file. This structu
  • Wow. Now that's impressive. Too bad the server's gone. Now there is a purpose to the Dreamcast.
  • It was slashdotted before the first comment.
    However, before everyone chimes in with "why bother doing it at all?!" - I want to say that I think it's a cool project. At least he's doing something with his dreamcast. I've had my PS2 linux kit for almost two years and haven't done a damn thing interesting with it yet!
    • Depends on what you consider interesting. You could always use it to:

      Read and Post to /.

      Write the great "whatever country you're from" novel

      Run a webserver on it.

      Run a ftp server on it.

      Run a mail server on it.

      Use it as an mp3 server on a home network.

      Play nethack or rogue on it.

      Use it for photo editing (Hey, I've done it and it's not too slow).

      Run a distributed computing client on it.

      Who knows what other things people are doing with them besides actually coding on them.
  • EEk (Score:4, Informative)

    by Anonymous Coward on Sunday May 11, 2003 @01:23PM (#5931661)
    I submitted this yesterday and it didn't go up. Now I'm working on the vmufs driver - so apologies if you get junk :) Adrian
  • committ technological suicide. Perhaps throwing the DC from the top of his house, or drowning it in water, or something. But to go out of his way to ASK for a slashdotting, well this guy must be severley disturbed...

    But hey, I beat the rush! I got the text and about 1/8th of the picture... pretty cool for a DreamCast. I'm not sure about the size of the flash ram, but perhaps this could be used to create emergency backup webservers? Let's hear the suggestions...
  • micro_httpd (Score:4, Funny)

    by Neophytus ( 642863 ) on Sunday May 11, 2003 @01:25PM (#5931672)
    "micro_httpd is a very small Unix-based HTTP server. It runs from inetd, which means its performance is poor. But for low-traffic sites, it's quite adequate."

    Acme have just had their point proven nicely. A 7kb webserver really cann't cut it :D
    • Drat... 7 kb? Damn... My simple a.out webserver can't top that.

      -rwxr-x--x 1 root 31730 Mar 4 00:29 webserver

      Yes, that's a stripped executable. But of course it's an emulated pdp11 running a crappy 2.11BSD, nothing special. Oh, if you want to look at the pages it serves and download the vintage K&R source, you're welcome here []. Be gentle though :)

  • by Anonymous Coward
    Imagine a beowulf cluster of these!
  • by Anonymous Coward
    Enquring minds wan't to know!
  • by gilesjuk ( 604902 ) <giles.jones@zen . c o .uk> on Sunday May 11, 2003 @01:29PM (#5931694)
    Flash memory has a limited number of write cycles, I hope you have done as much as possible to minimise write cycles?
  • The dreamcast server was up when I went... of course it probably only take a few seconds to powercycle it.
  • by Anonymous Coward on Sunday May 11, 2003 @01:33PM (#5931714)
    who is paranoid about visiting .cx websites?
    • Nope.

      Check out ;)
    • Ever since I've gotten into using BitTorrent [], BT for short. One of the biggest sites for Torrents (.torrent checksum files) is on a .cx TLD (Top Level Domain:) []
    • on the above hyperlink I posted, I swear it was OK when I went to the site to get the URL, but after I posted the comment and went to check if my HTML was written correctly I clicked the hyperlink and it had turned into I think it's been "hacked". Visit it tomorrow.
    • As I was able to surmise with the help of an op on the EFnet's #tvtorrents is using the /. referrer from /. readers clicking hyperlinks to their domain from /. articles and redirecting /. readers to Bastards!

      To visit safely:

      Type the url into your browser's URL bar and press Enter/Return or "Go".
    • is a domain supplied by for DSL users with dynamic (well and static if you have it) IP addresses. Not all .cx are evil!
  • "The connection was refused when attempting to connect to..." --- Mozilla, 11:06 AM, GMT -8 Wow. That was a long running server. I'm sure it was impressive, while it lasted. PS: What was on that server?
  • Huh? (Score:5, Insightful)

    by SuperBanana ( 662181 ) on Sunday May 11, 2003 @01:35PM (#5931730)
    Gentlemen, start your mirrors now.

    Huh? The content isn't the point. It's the device serving it. So, unless those mirrors are runnin' on Sega Dreamcasts, the novelty is gone.

    JHU used to have an ancient Mac IIcx(not even a IIci) running MacBSD, about the only thing it ever did(I think) was serve up a picture of the Cruise Basselope [], which, for a slow-as-molassis MacBSD box, kinda makes for an appropriate mascot.

    • by ZxCv ( 6138 ) *
      Huh? The content isn't the point. ...

      Maybe for those that want to find out the details of it all, or even download any source he's released, the content is the point.
  • Color (Score:3, Insightful)

    by mondoterrifico ( 317567 ) on Sunday May 11, 2003 @01:36PM (#5931740) Journal
    Offtopic I know, but does anyone like this color scheme for the gaming section? Maybe it's because i'm getting older but it seriously bothers my eyes, and looks like crap.

    • I hate it too.

      I'm only twenty-four and have good eyes (well, if you include the corrective lenses), and the color scheme drives me nuts. Humans visual acuity declines sharply in the violet end of the spectrum.
      • Humans visual acuity declines sharply in the violet end of the spectrum.

        Chuckle. Monitors can only emit red, green, and blue light. They can't produce a wavelength anywhere else in the spectrum.

    • I don't notice anything particularly bad about the color scheme. OTOH, I've changed my prefs to "Light" and "No Icons", so everything looks the same on Netscape and AvantGo.
    • And for a moment i thought it was my machine that was freaking out and about to blue-screen.

      Ya it looks like crap.

      But i rarely end up in the gaming section anyway..
    • Doesn't bother me... other than the fact that I have to shield my eyes when the page first comes up so that my retinas don't get burned from the intensity of the neon purple. The effect is especially dramatic after you've been sitting in the dark for a while.
    • This color is so horrid it's nauseating. I suppose I'm old by slashdot standards (35), but I think I would have despised it at 18.

      Note to whoever made this particular decision: if this color is appealing to you, you shouldn't be doing anything but black and white graphic design.
    • Re:Color (Score:1, Offtopic)

      There isn't a decent color scheme within any Slashdot subtopic. There are just old ugly ones we are used to and new ugly ones we aren't yet used to.. give it time.
    • I wrote this a while ago to solve that problem. Go get Proxomitron if you
      don't have it, and add this to your default.cfg file, under [Patterns]

      Name = " - Colour Fix"
      Active = TRUE
      Multi = TRUE
      URL = ""
      Limit = 64
      Match = ""#6078B0""
      Replace = ""#6078B0""

      Of course, this requires you to be running Windows, seeing as
      there isn't anything like Proxomitron for Linux/BSD (that I know of).
      • Agurr. Silly Maur. That should have read like this, but Proxomitron
        changed the "#3300CC" into the one in the matching expression below.

        Name = " - Colour Fix"
        Active = TRUE
        Multi = TRUE
        URL = ""
        Limit = 64
        Match = ""#3300CC""
        Replace = ""#6078B0""

        Proxomitron can be found at
    • It's oddly reminiscent to me of some color scheme on some version of windows, something that wasn't even labeled high contrast or anything.
    • You're missing the is colored this way so that the X-Box doesn't look quite as ugly by comparison.
    • Yeah, not to complain or anything, but I really think twice before reading game category articles anymore. :-/
  • by AtomicX ( 616545 ) on Sunday May 11, 2003 @01:36PM (#5931742)
    this means it lasted just slightly longer than...

    the average Microsoft IIS server.

    (+1 troll)
  • by Znonymous Coward ( 615009 ) on Sunday May 11, 2003 @01:38PM (#5931754) Journal
    slashdot posted a story about a commodore 64 that was running a http server a couple years ago. It seemed to hold up longer than this Dreamcast. I mean, I remember there being at least 300 posts before it was /.ed

    They sure dont make 'em like they used to.

  • by PhoenixK7 ( 244984 ) on Sunday May 11, 2003 @01:50PM (#5931818)
    Well, not any more ;) It's now in a world of pain.
  • by AvantLegion ( 595806 ) on Sunday May 11, 2003 @01:56PM (#5931848) Journal
    ... we've about doubled the number of people to ever "use" a Dreamcast...

    • ... we've about doubled the number of people to ever "use" a Dreamcast...

      and it's approaching the number of people who've used your sister!

      (No offence intended, that comment popped into my head and I couldn't resist posting it ::grin::)

  • by johny_qst ( 623876 ) on Sunday May 11, 2003 @02:12PM (#5931905) Journal
    I get that its neat to have a dreamcast serving webpages but why is this under Start serving a php game off that dreamcast and then you found the right slashdot section otherwise...
  • humm... (Score:1, Funny)

    by BrycePetit ( 672187 )
    Would a beowulf cluster of these be considered a MAME box? :)
  • by 13Echo ( 209846 ) on Sunday May 11, 2003 @02:22PM (#5931956) Homepage Journal
    What ever happened with the remanufacturing of the broadband adapter? CSI was supposed to make more of those things, and apparently, they had enough orders. I preordered mine back in Sept but I've heard nothing. I'm going to write NCSX.

    Any have any ideas? I want to start doing these things with my DC.
  • though I have no doubt that micro_http, the web server I am using (said to be the world's smallest), will result in the quickest Slashdotting in history

    Then why the hell did you post it? People have real servers that can't survive the Slashdot effect...
    Then again its gonna be cool watching the dreamcast's framerate drop to one frame per hour.
  • He was right about one thing: "quickest Slashdotting in history". I bet his DC is on fire right about now.
    • I'm pretty sure Adam Dunkels' server was Slashdotted faster; it runs on a C64 after all, so it does not (afaik) handle simultaneous connections... And, yes, that server was on /. too.

  • by Anonymous Coward
    is that if Sega was still in the hardware business, their hardware people would be working on gigabit maple bus (controller/vmu ports) for their next console.

    Poor Sega.

  • by Anonymous Coward
    Dreamcast had no security when it came to running software off of a burned cd. Why didn't he come up with a way to run linux off of a burned cd. He then could have used the memory card for something else.
  • "micro_httpd is a very small Unix-based HTTP server. It runs from inetd, which means its performance is poor. But for low-traffic sites, it's quite adequate."

  • I've posted a mirror [] of this site (based upon the text a previous poster said it contained, since the server appears to be down) on my own Dreamcast.

    As my page says, the Dreamcast is running NetBSD 1.6.1, with its connection to the Internet being a 608/128 ADSL modem. It's living behind an OpenBSD 3.1 firewall that's just redirecting the port appropriately.

    Hopefully, since this isn't on the front page, it won't get Slashdotted...but it ought to be interesting to see how many hits it can take before it
  • I was able to get to it now, at May 12 7:52 EST (or EDT, never really sure when the change occurs). I don't know if the color scheme changed or what, but I seem to be getting a fairly standard white background with black text with Phoenix .5. And I reload... nope. Must have just rebooted it or something. Well, at least we know it wasn't a hardware failure and that the color scheme changed. I'd take a look at the page source to verify, but now that it's gone....

The opossum is a very sophisticated animal. It doesn't even get up until 5 or 6 PM.