PC0 is the hardware name (a PC with ignored/missing hard disk)
Many people can suggest their own OS in this forum.
Personally I will try to offer two OS'es, for free :
- A hacker/gamer oriented OS named minidash (its home is this forum)
- A kid oriented OS named minilgos (you can google its home page) that will be a specific variant of minidash (internet accesses completely locked and narrowed to reviewed contents only, by default, in order to protect kids)
minidash gives (well, tries to), on many platforms (PC0 is only one of them, but the 100% sure legal one) :
- unified api (you will notice that there will be no function in that api that allows to access local hard disks)
- canonic assembler interpreter (for fast programming with a text editor, when speed is not needed)
- a way to upload native code (but you compile it yourself, I won't provide much help. the logical approach is : you test your ideas fast with interpreted canonic assembler, then you port it to native code to gain speed)
Other platforms will get code built with open dev kits, but many think they still can be considered illegal by the most aggressive lawyers... And to win the game, don't play with them at all.
If I manage to support hardware 3D acceleration for enough platform (PC0 is missing, but xb1 & ps2 are done), I think result will be quite interesting (some 3D multiplayers online game for example, allowing friends owning the 3 different platforms to play against each other with same source code written in canonic assembler). Hardware acceleration means you let a co-processor handle the heavy load, so if main cpu is slow because of interpreted code, it's not a too serious problem (a bit like xn/a on xbox360).
I'm a bit slow at the moment, but I should resume energetic coding soon. The canonic assembler engine on PC0 and hardware acceleration & network support on xb1 have kept me busy for the past two years...
So it's important for me to continue and obtain some solid, useful, result... even if it takes time.
Spending time on a console may be a bit ridiculous if you think about the legal issues (often unfair I think) and the actual lifetime of a console, so focusing mainly on PC0 is a good thing : legal for sure and will be still interesting for several decades for sure. Consoles support is there in order to raise the number of potential users/players since identical hardwares in the hands of millions is great from a programmer point of view for immediate release and fun... (otherwise, on PC0, it's limited to people having same graphic card, etc...). So the console part should raise interest for the portable homebrew code itself, then people will make an effort to have same PC0 hardware and then it will be total, legal, free, easy to code, homebrew pleasure, for decades...
Unified api is not finished but memory management, for example, is done (and well done, you freely access all memory with 32 bits linear physical addresses) on PC0, so you can already do some little complex programs, you can even use floating point unit.
I managed to decode ogg vorbis files with it, so it's quite usable I think.
You may consider canonic assembler+unified api as a very simplified version of java. An emulator would be a program written in canonic assembler, calling unified api, retrieving the "legal rom" through ftp or http, storing it directly in memory. On PC0 with 512Mb ram, the unified api call that will give you the amount of free ram available for malloc will probably return around 510Mb of free ram (a contiguous physical area you can address with 32 bits physical address values directly handled in your canonic assembler code through global or local registers!)
Linux does all this, but majority of people needs something that starts with a single button and don't ask them to "learn" how to become IT expert themselves... That's why I want to explore the way : "I insert cd, I power on, it works".
Edited by openxdkman, 24 March 2010 - 09:10 AM.