Hello,
I'm not sure whether someone asked the question before (I couldn't find a thread).
I think it might be time for a Linux that runs on the NES. (Or does it already exist?)
Sadfully I'm not that good in programming to do this but maybe someone of you like the idea.
I mean Linux even runs on toasters why shouldn't it run on the NES?
Tell me your opinons
Impossible. Linux on the DS needs 2MB of RAM. NES has 2k, or 10k with a typical expansion from the cartridge.
Even if you made a huge RAM cartridge, and somehow got all the C code to compile for the NES, and took care of the bankswitching needed to address all the ram, it would be unbelievably slow.
JeffK wrote:
Oh noes, teh police! HIDE TEH LUNIX!!!11
True,
LUnix is not Linux, but could it or Contiki 1.x be made to run well on a RAM cart like the PowerPak?
If it was possible, it probably would have been done on the C64 first. It doesn't have enough RAM either, 64kB I guess. A quick google search turns up something called Lunix, that might be adaptable to some degree but I don't know what one would do with it (and you would still need a custom NES cart board with more RAM).
If just an operating system in general is interesting, look into embedded systems and RTOS (real-time operating system). Even those are probably outgrowing the NES in general, but I'm sure there are even little OS type things running on many microcontrollers that have a lot less RAM than the NES.
Sandfish wrote:
Hello,
I'm not sure whether someone asked the question before (I couldn't find a thread).
I think it might be time for a Linux that runs on the NES. (Or does it already exist?)
Sadfully I'm not that good in programming to do this but maybe someone of you like the idea.
I mean Linux even runs on toasters why shouldn't it run on the NES?
Tell me your opinons
I'm an avid Linux user and I disapprove of this message
Any Linux kernel that runs on a "toaster" is doing so on a SOC (System on a Chip). These "Linux" calculators and such that you see is not a real linux kernel, but a lookalike, or a kernel with so many things watered down that it isn't really linux anymore. Linux can be ported to a lot of hardware, yes; but trying to run linux on an NES is like putting a square peg in a round hole -- it doesn't make sense.
What kind of OS could run on the NES then?
tokumaru wrote:
What kind of OS could run on the NES then?
Or more importantly, why would the NES ever need an OS to begin with :p
Well, "need" is a strong word... it would just be interesting to see, I guess! =)
essial wrote:
Or more importantly, why would the NES ever need an OS to begin with :p
To turn the lower classes in India, many of whom can only afford
a famiclone with a keyboard as their primary home computer, into
digital haves. Imagine something like a PowerPak, with a CF slot but with less RAM and a fixed CPLD mapper instead of an FPGA. It'd need some sort of OS even if only to load applications and hit the FAT file system.
The only real reason is so that the programs would be compatible with eachother in some standard way. On my Squeedo design I knew right away I needed something resembling an OS to provide guaranteed safe access to all the peripherals (not just the easy ones). So if I'll be doing that, it's not much of a leap to set up a way for any given program to operate with others. So with a working setup like that, there's no reason you couldn't be downloading NSF files, playing a different NSF file, while playing some unrelated game that has no music (if it doesn't touch the sound regs) all at the same time, heheh.
It should also be possible to store the entire state of the OS in RAM, just copy it to another bank, and restore it after running a program (which does need an exit function though, but the reset button would be the 'escape' key if not).
Well if I ever finish working on nesicide I could always explore in that area -- who knows. Technically the NES does have an expansion port (although its covered in the NES version) which could be use for memory, hard disks, etc. I think such a project would require collaboration between coders as well as hardware devs though. Your reply is way outside the scope of "I wanna see linux run on nes" though
The frontloading NES has an expansion port with a snap-off cover under a clip-on cover. NES-101 does not.
As for scope, consider that Linux itself started out as "I wanna see Unix run on a PC".
tepples wrote:
As for scope, consider that Linux itself started out as "I wanna see Unix run on a PC".
Touché
I immediately recalled reading about Lunix some years back, and while it could be fun as a toy, it isn't an excellent idea, primarily because the difficulty in porting it versus writing something from scratch likely isn't a fair exchange..
If you want to make a (non-GUI) OS for the NES/FC hardware, you'd be better off by trying to port something like ProDOS, which iw in 6502 and has good device management abilities and a reasonably solid filesystem handler.
Other options such as OS/9 or CP/M with a co-processor (6809 or Z80, respectively), or even a new rendition of Family BASIC with device support added to it would all work as well.
There weren't any true operating systems for the C64 that I recall, unless you count JiffyDOS, which gave BASIC some extra device-handling commands. The C64 OS was part of the disk drives themselves, which wqs ingenious, but makes it an unlikely candidate for crossovers to the FC hardware.
A good question is: What OS is on the Famiclone keyboard systems that allows them to address peripherals and oddball devices such as mice and printers?
Further, how do they handle memory addressing, given that they are still just a NOAC?
If it is just a mapper, then it should be possible to emulate that mapper on an FPGA and use the same software, all packaged on a cart and an expansion module.
Is it practical? HECK NO!... It'd be cool and geeky and make a neat gadget, but not practical for a normal user.
It may make NES programming easier though, if you do it right.
-Xious