Linux Port for N64?
Mr. Roboto writes "The tales of a guy trying to port Linux to his N-64. This page has source code and technical data, which should make lots of you happy." Not really, now I have to go out and buy one.
← Back to Stories (view on slashdot.org)
when i read this i just heard that videotape of nancy kerrigan in my head (the one right after tonya's boyfriend whacked her), "whhhhyyyyyyy!!!??"
Is there a keyboard for the N64? I know there was a mouse attachment for the Super Nintendo.
I found some technical data somewhere about how to use your gameboy as an interface device, to control electonic circuits and all that. I can't remember where, though.
Imagine this could be implemented in a cartridge with a modem!?!
Firs-- Nevermind.
Damn, with Linux on a N64, I might actually get one. Then it would at least be useful!
;-)
I want Linux on a Playstation.
"Playstation Linux. Garunteed to play all your games, let you pause and check your email, and serve your scores all while being more secure than the leading M$ box and without loosing a single frame!"
--MD
but what was he planning on using it for? The standard N64 has a 90mhz processor and decent video hardware. This is severely underpowered as is, as playing Goldeneye or Mario Kart shows when too much stuff starts happening at once (which isn't much, I might add). Now imagine trying to play a game with 3D hardware under Linux, which is naturally slower at rendering, and this is starting to get disgusting. He could use it for something else, you say? Dewd, it's a game console.
Interested in open source engine management for your Subaru?
Imagine writing an ERP system for the Nintendo, this is cool stuff. So let's do a PostGresSQL DB on the Nintendo, it rocks! :)
Bizar technology?
the N64 iis a POS. You would never get it on a network so why run Linux. Currently I believe the PS2 devel is running linux and it is slightly superior. As well For some more interesting news. Visit www.transmeta.com or ZDTV about Transmetta
I hate to say this, but this is very very old. As in, May of '98.
"Last Updated: 5.30.98"
I'm assuming he hasn't gotten very far. Oh well.
- Jeff A. Campbell
- VelociNews (http://www.velocinews.com)
- Jeff
The Dreamcast is probably a more interesting target for a Linux port. If it can run WinCE it should have room for Linux. You might even run Emacs on it (shudder. . .)
Any sufficiently advanced technology is indistinguishable from a rigged demo
--Andy Finkel (J. Klass?)
It is neat that Linux is the type of OS that can be easily ported to lots of different platforms, and is rather well suited for embedded applications (easy to pull out stuff you don't need, among other things). But it doesn't look like anyone is actually working on Linux on the N64, which is kind of pointless except as an academic exercise (which is what this project apparently was when it was alive).
IMHO it's not worth getting worked up about. Personally, I think Palm is a much spiffier target...
Can you say Beowulf cluster? At $60 a pop you could be doing some cool stuff, at a very cheap price.
Besides the point isn't the use of it, but that it is being done. Whatever happened to using technology for the fun of it? That being said, if this could be applied to say an X-Box (when if comes out) 500 MHz RISC that for $300 kick ass.
Nate Custer
"The poet presents his thoughts festively, on the carriage of rhythm; usually because they could not walk" Nietzsche
Ray, his professor, wanted to know "whether porting Linux to the N64 was feasible."
The author of the page determined it was not (or that he does not have enough time to do it), so instead he sets a simpler goal for himself:
My end goal is to develop a cable and interface a PC and the N64. For example, I want to have the N64 be able to browse a HD, or a PC issue simple commands, such as changing the color on the monitor.
I really think the lead-in for this article is misleading. He's not porting Linux to his N64.
--
He lives in a world where those who do not run the client software of the omnipresent meme are unacceptable.
I'm asking "why a computer"
:)
It'd be a lot funner to use it standalone (those N64 chip's ought to be pretty powerful suckers!).
I say a harddrive to the cartridge port and a keyboard hack as a controller. It's possible.
And imagine running Quake on this
Anyhow, I'm saying that it'd be cooler (but more difficult) to make it computer-independent.
The machine is probably really power efficient as well.
Oh, and please, something must be done about AC's.
Man, I've seen UltraHLE play N64 games 6 months ago, in much higher res too. If this guy is so into N64, why hasn't he heard of it? I know UHLE's been pulled, but it made HUGE waves, and it's still not hard to find on the net. Is this page insanely old or something?
And is he planning on optimizing the kernel for N64 hardware, or does he really think that 'off-the-shelf' OSS can really stand up to super-optimized Nintendo/SGI code? Where's the gain? To check email on yer console? Last I checked, my PC does that just fine.
i was thinking about porting linux to n64 awhile back. too much hardware hacking for me. anyway if you like hacking around with N64 platform, Dextrose.com is THE site...
-- your knees hurt, don't they?
i dont mind, as long as we get to see Linus Kart 64. im imagining donkey kong with bill's head
If you could stick a small hard drive (~1GB) onto one of these things, Linux would be a GREAT operating system for internet functions independant of games. It would allow for a degree of user customization, but by default include common internet tools, and maybe a special version of X. Why not?
"You ever have that feeling where you're not sure if you're dreaming or awake?"
"You spoony bard!" -Tellah
What do you expect? At this hour of the night they are so desperate for news they will post anything.
Nate Custer
"The poet presents his thoughts festively, on the carriage of rhythm; usually because they could not walk" Nietzsche
Well, it seems like this site is dead so it's pretty much a moot point. But there are already ports of Linux that work just fine on the Mips R4300, and 4 mb of SDRAM is plenty to get up and running. It's not that this would be a particulary useful thing to do, but it would be fun.
:)
I guess it could be a real kick if you ported Linux to it, along with a version of SVGAlib that could take advantage of some of the hardware, then got MAME up and running on the whole beast.
Right. But until then I'll play MAME on my Athlon and leave the R4300s at work
http://www.heise.de/ix/artikel/E/1997/04/036/
--
Brian Fundakowski Feldman
Mr T is helluva tough!
wouldn't the programmer hours be better spent employed on writing apps and/or games for Linux as a whole instead of trying to port it to a games console for no good reason?
that was funny, someone moderate this up, like a lot.
damn it's late
go away
Maybe I am not remebering it right, but isn't one of the advatages of OSS that you work on whatever you want? If he finds it fun he should do it.
That being said, assuming he is a good programer, yes you are right.
Nate Custer
"The poet presents his thoughts festively, on the carriage of rhythm; usually because they could not walk" Nietzsche
Good enough to mount on the fridge door in this smart networked age. METHINKS the real push behind appliances is to pipe commercials into our homes 7*24, and a secure OS so the consumer gets to see them all. An open appliance will threaten this model
How is an N64 going to be useful? For what? I don't care if the thing can run AIX it still isn't much good for anything except games.
Nathaniel P. Wilkerson
NPS Internet Solutions, LLC
"Get your domain name for only $45"
Nathaniel P. Wilkerson
NPS Internet Solutions, LLC
Nathaniel P. Wilkerson
www.haidacarver.com
You don't need an HDD, or even a keyboard, to run Linux on a games console. What you *do* need is a small readonly filesystem on whatever the machine's native medium is, and some sort of access to a network (where there could be a telnet client, and an NFS mountable /usr, /var and /home.
The Dreamcast is ideal for this of course, because it has a modem already (not as ideal as Ethernet, but workable).
--
Damn, that actually is pretty funny.... I wonder where they got a picture of Bill Gates reading Slashdot, though.... the picture looks too good to be a fake (unlike the pictures of, say, Mr. T throwing CmdrTaco across the room :-)
"Software is like sex- the best is for free"
-Linus Torvalds
Gah. Why did I even bother?
This has been on my projects list for years...
.ru has a design to roll your own roms.
What has happened:
1) Gcc makes code for the beast
2) its well documented. (and it runs a mips CPU)
3) its got a damn fast coprocessor (that no one is using in any game)
4) bung makes a device that lets you copy code to its "rom" image. A guy in
5) www.dextrose.com exists
What needs to happen:
1) someone needs to build a decent memory card for the silly thing. It uses rambus. hint take a Pelican expansion pack (it uses 2 2mb devices) and replace its rdram with ones out of Nintendos rampack and fix the heat problem)
2) a decent HOWTO to build gcc for this thing.
3) undo the nintendo lawsuit against Bung who makes a device to run your own code on the box.
4) write a network driver to talk over the controller ports
5) someone with more time and a bit of interest
should check out a simple page with some notes about coding on the N64
Keep in mind that at upto 200m instructions per sec the thing isn't a slow box for its price.
Think the B-word and a room full of N64's...
Having read through the stuff that this guy has figured out it looks like there is way too much junk in there.
The cartridge interface is pretty much entirely hooked up to the RCP. Who knows what all is in that chip... If it were me I would put a small amount of ROM in there with an unmodifiable boot monitor that checked the validity of the cartridge. I would also have a nasty bus interface to the cartridge to make it a bit tougher on Mr Joe Hacker.
It's a shame that they didn't put the bus of the VR4300i on the cartridge slot with ~CSBOOT(or whatever that is in MIPS-speak)... Then you'd just need to hookup a bit of FLASH to run the OS of your choice. A number of OpenSource OSs would run on an N64: RTEMS, eCos and I guess Linux. Linux would be the least favoured option. This is because 4MB is not a heck of a lot for a 64bit MIPS machine running bloatware (compared to RTEMS or eCos) like Linux.
Fo more info on RTEMS see http://www.rtems.com/
For more info on eCos see http://sourceware.cygnus.com/
It really is quite stupid to be messing around with porting Linux, or doing anything else, to a household electrical device. Although these things are toys, their internal workings aren't, and they carry a surprisingly high internal voltage. This guy is quite likely to end up with severe electrical burns, or worse, if he keeps up with this project. I certainly wouldn't advise the average slashdot reader to try this one at home.
FUCKING ILLITERATE IDIOT!!!
... but the N64 doesn't feature enough RAM to do anything usefull with Linux on it.
You can compile stuff with a GCC cross-compiler with a medium effort, but adapting a whole kernel seems like a waste of time anyway, since you probably wouldn't need all the advanced features it provides such as memory protection, thread and process management, etc...
For your info, the basic N64 features 4MB of RAM, and that's being used for everything, from video memory to sound buffer, to CPU memory. The architecture is great that's for sure (thanks to sgi!), but it's a very basic device apart from that.
Please excuse me, but I just don't get it.
What is the _real_ point of having linux on N64, Playstation, or a plain toaster?
Is "I do it because I can" the main motivation behind all these extra-ordinary porting projects?
I mean, Linux exists because there is a NEED for it. Just how much NEEDS there is for Linux to run on N64 or Playstation, or microwave oven or toaster?
Sorry, I just don't get it.
Muchas Gracias, Señor Edward Snowden !
I think the Dreamcast controllers are the worst ones ever made. Who is the retard who thought it would be a good idea to have the cable come out of the _bottom_ of the controller? It constantly hits your fingers and is just a pain in the arse all around. Why couldn't they just run it out of the top of the controller like everyone else does?
I wish that there was a decent N64 style controller for my PC. I use the original Microsoft Sidewinder gamepad, which works well. But the original N64 controllers are my favorite. I dug out the SNES last weekend for a few games of Street Fighter II Turbo, my hand was cramping up after about 15 minutes of play with those old controllers.
Oh, the original NES Advantage gets props from me for being an excellent controller also. Mine was pretty durable, and when I finally did break it, my local "Authorized Nintendo Repair Center" replaced the broken part for free.
Worst controller of all time? The old NES Max controller. That thing was plain unusable, I don't know anyone who liked them. They had this wheel/directional pad combination that was incredibly touchy and impossible to control.
---
When in danger or in doubt, run in circles, scream and shout. --Robert A. Heinlein
I remember a few months back reading somewhere of MAME being ported to the N64. It wasn't fully functional but had the basic set of games (pacman, galaxian, etc).
There is also the Namco Museum which was recently released for the N64 which is true emulated versions of those games.
As I read all the valid questions wondering exactly how USEFUL per se a Linux port to the N64 hardware would be, and knowing the progress some N64 emulators have had, and knowing that dumps and disassemblies of N64 games abound in the geek underground these days, and knowing we all have at least 1 computing device with Linux installed already, I keep thinking to myself:
Wouldn't it be FAR cooler for someone to port (admiteddly very legally dubiously) N64 games to Linux?
I'd personally wet myself if I woke up one morning and saw that Mario 64 was a tarball
Just A Thought.
It was done _at least_ 2 years ago by a team ...)
in an Italian university (I don't have the link
at hand, however
While I thought the juvenile humor was not funny at all - that picture of baby hemos was hilarious.
Oh yes, lets get linux on the N64. While we're at it, why don't we just put linux on everything. We could put it on all our cell phones, tv's, vcrs, toasters, alarm clocks, and so on. But then again WHAT's THE POINT.
This guys homepage hasn't been update since '98 also as the N64 has no keyboard or hard drive. The guy would be better off joining forces with one of the N64 emulators & using this as a starting point for the port as keyboards & hard drives from the pc could easily be used, debugging is available & once this port is mature move it to a real N64.
Do you really need to know the outcome? Thought not.
Anyway, Why in the H-e-doublehockeysticks would anyone waste their time porting Linux to the N64??!!?? It makes my head hurt just thinking about it!! Sure, N64 has great graphics, but what ya gonna do with it once you've ported Linux?? Run a network server?? Actually... that would be interesting... Yeah right. If anything, why not port Linux to Playstation? or Dreamcast? or Atari 2600 for crying out loud (I better find mine!)!? But if Mr. T WERE to port Linux to N64, then I might go out and buy one. ^_^
The Gray Wolf
My 80286 is like the Bible: I swear by it every night when I try to run something.
It really is quite stupid to be writing bland anodyne comments here about what people should or shouldn't do.
If someone has enough curiosity to open up his N64 then a little zap of 240V AC is unlikely to do less serious harm than sad little gits like the previous poster forever telling them not to touch things they don't understand.
My response to the "why port Linux" posts? How about:
1) As a educational exercise.
2) To develop a version of Linux suited for embedded environments based on the N64's processor.
3) For fun.
4) For the same reason people waste time posting redundant "why"s about 18-month-dead projects mentioned on Slashdot.
See: Linux for Nintendo 64.
It's sufficiently near to technically feasible as to make it imaginable, but you'd really need to add a few MB of RAM and an NIC in order for this to be feasible for getting any actual work done. And it's a sufficiently tightly proprietary design as to make that unrealistic.
If you're not part of the solution, you're part of the precipitate.
``Here's a story about this guy trying to port Linux to...''
And, immediately following...
``Hey, how about a Beowulf cluster of these things???''
-pf
Make affiliate bucks
-pf
Make affiliate bucks
Heh, I was in class with this guy. It was POCO and our Prof., Ray brought in an N64 the day before some break (mid-term?). We played with it for a couple of minutes and then cracked it open and started examining it. I can still remember coming back to my dorm and trying to convince my non-CS friends how stinking cool this class was. :)
Anyhow, I wondered why I suddenly started getting e-mail about my 1-bit ALU project (we all linked to each other's projects). Heh, an untimely Slashdot post. Go figure. Good way to start a Wednesday...
I wish I had the link, but I've already seen X on an N64.
:-) -- All you're doing is writing a ROM image. You do *not* need to rip the thing apart to run Linux on the pig. All the info (hell you can even get detalled info / memory maps / etc on the hardware) is available from dextrose or #n64dev on efnet. All this scope tracing / etc is bullshit if you want to really program it / port Linux to it.
:-)
And why's this guy taking everything apart to learn? dextrose has compilers, assemblers, disassemblers and all manner of documentation on programming this fscker.
Get yourself a Doctor V64 or, what I use, a Z64 and start programming. I like the latter because it's smaller, doesn't use CDs or take up a parallel port and (upon taking it apart) is an embedded 386. The V64 is a 6809 (IIRC) machine with a lot more custom circuitry.
My goal for it is to hook up a network card to it's internal PC/104 slot and get rid of the need for a Zip drive altogether. Boot via BOOTP, grab games from my server via TFTP. The source for the BIOS is available on the 'net and all it is ATM just OpenDOS with some custom executable to run the embedded PC <-- N64 part.
There's no need for custom hardware. Hell a simple ROM emulator would work. There *are* tricks to doing it in hardware (they have a lock chip on each cart IIRC) but if you got one of those V64jr units you could hack it and put a ROM emulator on that if you *really* felt you needed to. (the V64jr lets you read/write to its onboard memory with a parallel port so a ROM emulator is not necessary, but most good ROM emulators let you have breakpoints and other good things for development). From what this guy's website said, he was using custom hardware to read/write to N64 memory. Waste of time / energy / effort! Proprietary interface!
My brother already programs for the N64 (just simple stuff but his time is limited too
Mind you now, if he was the curious sort like myself, he'd have done it just for fun.
in grade 9 i took a PET computer and turned it into a clock. This kinda reminds of what this is tryin to do. Somethin thats kinda cool, but no one really has a need for a 50 pund clock. If this guy did manage it, the interface would would likely cost way more than a 486(all thats needed for linux). Hmm, I still have my PET I wonder... an AS-400 port maybe??? I could run syntax and generate 1 calculation per day.
IT HAS YOU....
: OS code could be put on the cartridge since it can hold 64 MEGS.
That's 64 megaBITS, not megaBYTES. So in reality, it would be rather difficult to get the OS code stuffed into an 8MB cartridge.
Other than the above flaw, it appeared that he knew what he was doing. How could he miss the bit/byte factor?
I thought ISA cards were very low mhz? So how could one keep up with a N64? Or is the low mhz just the communication with the processor? Anyone care to clarify?
You can read about some of the other neat stuff that was done (or at least started) in the course on the course homepage.
In general, you should check out the Computer Science program at Earlham College if you're looking for a great, open-minded, small liberal arts school to study CS and all the related topics at an undergraduate level.
Yet another way to get myself blown up in the eternal persuit of "to see what would happen"
THe N64 seems to be rather tinkerable these days. WHat with not only this but a game shark based keyboard and modem for web browsing, and if you have the balls the solder it can be overclocked. This should be fun.
I can take you all down in deathmatch provided I have my N64 controller.
The N64 is a far-from-ideal platform for Linux - no keyboard, no networking, and almost no ram - but this could let hundreds of kids that have never used a "real" computer outside of a classroom get a feel for Linux - which is a reasonable end in itself :+)
--
-=DaveHowe=-
And hey, if he's stateside, a lot of the time it'll only be 110V AC instead of the 220 -> 240V AC we get from our plugs here in England...
Relaxen und vatch das blinkenlichts!!
Sorry, couldn't resist...
When you're crushing a man's windpipe with your knee, you can be sure he will attempt to bite you.
http://www.ix.de/ix/artikel/E/1997/04/03 6/
The latest developer carts have 64megabytes (512 megabits) of RAM.
I thought it was quite interesting that the student used FreeBSD to debug the hardware rather than Linux, does this mean that Hardcore CS kids use FreeBSD instead? Maybe... Most likely its just what he personally preferred to use on his desktop, why he didn't try to port NetBSD/OpenBSD is beyond me. They already have OpenBSD for the Dreamcast, N64 OpenBSD isn't too unlikely in that case.
I suggest you check out:
http://slash.dotat.org:4000/go/0
I have heard many complaints of my page being out of date, and thus having inaccurate information. Also there have been comments on my approach and why I decided to take it apart when it wasn't necessary. The N64 has served as a personal learning experience into computer architecture, programming, and general exploration. The N64 page is what I created to aid others embarking on the same endeavor. I encourage you to treat the page as a way classes could be taught. As a way you could personally approach a project you think looks interesting and accomplish something to inspire. What's important is the learning process, not the final product. odo@cs.earlham.edu
MAMA-MIA!!!!!
waffles
Okay, so that wasn't a common one.
Linux works fine on the platforms that other OSes already run fine on, not absurd gadgets that it would have no point running on. In fact, it would be an insult to the Linux community if Linux was ported to, say, a wrist-watch MP3 player. Linux would get the press for being the "most pointless OS in existence".
-ka
Put a modem-and-or-network, ROM and 2x PS/2 plugs into a cartridge and you have a great TV-compatible X client with a robust TCP stack and a few other features not normally expected in a toy (e.g. run traceroutes, nmap scans, FreeCiv).
You might have to add some RAM and use an expansion connector instead of the cartridge. If you added a hard drive and some RAM, it would be about $Oz500 for an essentially complete PC system.
Got time? Spend some of it coding or testing
...and Linux actually has more credibility (in the eyes of mainstream press) as an embedded system than as a mainstream OS.
The competition in this market, we are told, is an embeddable version of Windows 2000. Hah! Imagine a washing machine requiring 64MB of RAM that "blueloads" and occasionally requires reformatting and reinstallation, and a toaster with no elements but four Itaniums each side of the bread, all sitting on NT's command line doing nothing.
If you wanted RAM for Quake or something, you could quadruple your PC's tally by borrowing from your appliances, or multiply your framerate tenfold by plugging your Voodoo card into your toaster and installing Linux on it!
Got time? Spend some of it coding or testing
Back in 1996, Nintendo talked of the microprocessor in the n64 as reprogramable. This would enable nintendo to rewrite faster code and improve games as the console aged. It seems because the n64 had a tough programming curve and not mush in the way of support from middleware companies, that there was never any rewrite of the core processor code because that would have set the developers back too far. Linux is being used in the middleware for the Playstation2 so maybe the tough programming of consoles has come to an end.
http://!nDolphin.com
While the N64 has good graphics processing, the actual processor isn't that fast. If my memory is correct, the N64 only runs at 90Mhz. Not exactly a speed demon.
-----