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.
Slashdotted already? (Score:2, Funny)
Re:Slashdotted already? (Score:5, Informative)
"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 linuxdc.net [linuxdc.net].
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.
Re:Slashdotted already? (Score:1)
Re:Slashdotted already? (Score:2, Funny)
Re:Slashdotted already? (Score:4, Funny)
Nice idea, just remember not to put the LinuxDC swap file on the flash...
Re:Slashdotted already? (Score:1)
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).
-Bill
Re:Slashdotted already? (Score:2, Funny)
See, there are implications with having web servers in everyday objects.
And people say... (Score:1, Funny)
Re:And people say... (Score:2, Funny)
Anybody have a Bittorrent for this? (Score:5, Funny)
Re:Anybody have a Bittorrent for this? (Score:4, Funny)
Re:Anybody have a Bittorrent for this? (Score:3, Funny)
Purge cache or was it lunch?
lol (Score:2)
I suspect the downtime is from limited bandwidth rather than a webserver crashing, though on such limited resources I may be wrong.
mirror (Score:4, Informative)
Ironically.... Re:lol (Score:2)
Web server: (Score:2)
Pretty neat! (Score:1)
DC Server Down (Score:1)
inetd (Score:1)
Re:DC Server Down (Score:4, Insightful)
slashdotting (Score:4, Informative)
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
Re:128... (Score:1)
Insane (Score:1)
Why bother putting it up? (Score:2)
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!
Re:Why bother putting it up? (Score:1)
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)
There is an easier way... (Score:2)
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...
Well, at least we all know who to blame. (Score:4, Funny)
micro_httpd (Score:4, Funny)
Acme have just had their point proven nicely. A 7kb webserver really cann't cut it
Re:micro_httpd (Score:2)
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 [hackerheaven.org]. Be gentle though :)
And the question on everybodys mind is... (Score:2, Funny)
When's Gamecube Linux coming out? (Score:1, Interesting)
Re:When's Gamecube Linux coming out? (Score:3, Funny)
Re:When's Gamecube Linux coming out? (Score:1)
~ed
Re:When's Gamecube Linux coming out? (Score:4, Informative)
Re:When's Gamecube Linux coming out? (Score:2, Informative)
Someone had to mention it... (Score:5, Informative)
Re:Someone had to mention it... (Score:1)
at least not logging to the flashram but to disk or network)
If not, we can be quite sure the device is now permanently slashdotted
Re:Someone had to mention it... (Score:3, Informative)
Re:Someone had to mention it... (Score:2)
Re:Someone had to mention it... (Score:1)
impressed (Score:1)
am I the only one (Score:5, Funny)
Re:am I the only one (Score:1)
Check out www.oralse.cx
Not me (anymore...) (Score:1)
WARNING: TubGirl used by crackers (Score:1)
Torrentse.cx has _not_ been hacked! (Score:1)
To visit Torrentse.cx safely:
Type the url http://torrentse.cx/ into your browser's URL bar and press Enter/Return or "Go".
Re:am I the only one (Score:1)
Yikes, already down. (Score:1)
Re:Yikes, already down. (Score:1)
Huh? (Score:5, Insightful)
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 [arthurian.nu], which, for a slow-as-molassis MacBSD box, kinda makes for an appropriate mascot.
Re:Huh? (Score:2)
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)
Re:Color (Score:2)
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.
Re:Color (Score:2)
Chuckle. Monitors can only emit red, green, and blue light. They can't produce a wavelength anywhere else in the spectrum.
-
Re:Color (Score:2)
Yikes (Score:2)
Ya it looks like crap.
But i rarely end up in the gaming section anyway..
Re:Color (Score:1)
Re:Color (Score:1)
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)
Re:Color (Proxomitron Fix) (Score:1)
don't have it, and add this to your default.cfg file, under [Patterns]
Name = "Games.Slashdot.org - Colour Fix"
Active = TRUE
Multi = TRUE
URL = "games.slashdot.org"
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).
Re:Color (Proxomitron Fix) (Score:1)
changed the "#3300CC" into the one in the matching expression below.
Name = "Games.Slashdot.org - Colour Fix"
Active = TRUE
Multi = TRUE
URL = "games.slashdot.org"
Limit = 64
Match = ""#3300CC""
Replace = ""#6078B0""
Proxomitron can be found at http://www.proxomitron.org/
Re:Color (Score:2)
Re:Color (Score:2)
Re:Color (Score:2)
Re:Color (Score:2)
Re:Color (Score:2)
this means it lasted just slightly longer than... (Score:3, Funny)
the average Microsoft IIS server.
(+1 troll)
Re:this means it lasted just slightly longer than. (Score:2)
I'm not sure that you can draw any meaningful information from the average of such a small sample set...
Re:this means it lasted just slightly longer than. (Score:2)
Look on the bright side, you don't need to do messy division to get the average
-
I remember... (Score:5, Funny)
They sure dont make 'em like they used to.
"It's thinking" (Score:4, Funny)
In other news... (Score:4, Funny)
Re:In other news... (Score:2)
and it's approaching the number of people who've used your sister!
P.S.
(No offence intended, that comment popped into my head and I couldn't resist posting it
-
Re:In other news... (Score:2)
I wanna know one thing though.... (Score:3, Insightful)
humm... (Score:1, Funny)
This Reminds Me... (Score:3)
Any have any ideas? I want to start doing these things with my DC.
And you won't be dissapointed... (Score:2)
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.
Well... (Score:2)
Re:Well... (Score:1)
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.
the sad part about this slashdotting (Score:1, Insightful)
Poor Sega.
why didn't he run it off a cd? (Score:1, Insightful)
Intentional /.ing (Score:1)
Mirror Running on Another Dreamcast (Score:2, Interesting)
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
Seems like it's up now... (Score:1)
Re:You were right.. (Score:4, Informative)
Re:Slashdotted before first post because... (Score:1)
Re:Slashdotted before first post because... (Score:2)
Re: (Score:2, Insightful)
Public websites are...well...public (Score:1)
Re: (Score:1)
Re:Public websites are...well...public (Score:1)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re:Public websites are...well...public (Score:1)
Re:KOS (Score:1)
Re:KOS (Score:1)
Re:KOS (Score:2)