|Yes. But BSD (at least Free- and Net-, although I'd assume that Open- could as well) can run Linux binaries through an emulation subsystem. And, like I daid, the daemon's way cooler than Tux ^_^|
|written by Fop on Nov 06, 2003 19:43|
|Yes it is |
If you don't agree, that's your privilege. But it's still cooler
|Okay, calm down you guys. That's just your personal opinion. There's no point in fighting about it.|
Why not make a linoleum mascotte, which everybody likes ofcourse?
|Well, there already is one, the Cosmopeafowl should be fine|
He's already invented, and he looks cool ^_^
|written by Overtilt on Nov 07, 2003 11:58|
|I see you cencored yourself there, RJ. ^_^|
|Okay, but the cosmopeacock is the logo for Home Sweet Pixel. So it's already been used for something else. Go on, start drawing something! |
As for porting linoleum:
I'm not so sure the thread is successfully setup. I added code for all of the IsoKernel calls. Actually they (should) only output a string to the standard output, but it doesn't seem to work . The cause might be that there is a problem with the registers here, or maybe my indexes for the workspace period aren't right. Gonna check the later today...
|Drawing something.... *thinks*|
|Okay (Alex), i need some help here.|
I'm trying to access the command section, for example the [File Command]. In rtm.asm there is a defined value: mm_FileCommand = 32899, so, i expect the following to happen:
a = file command;
results in: a = 32899
|But instead the result is: a = 32909!|
What's happening here? Is the solution that i just need to add 10 to the index to access the filecommand from my code, or something else? I cannot find any clues in compiler.cpp or rtm.asm. Maybe the current binaries or executables are build from other sources? I really expect the File Command to have the value 32899.
Oh, this is what i've done in the linux RTM.
unsigned long *pWorkspace = malloc(....);
unsigned long result = 0;
#define mm_FileCommand 32899
if (pWorkspace[mm_FileCommand] != 0) result = krnlFileCommand();
|Well, for now i'll just add 10 to the index, and see if it works ofcourse.|
pWorkspace[mm_FileCommand + 10]
Ok, i know now what the problem was. I should have taken a pointer to the uninitialized workspace. Which is pUIWorkspace. (ws_AppSize appears to be 10 in this case.)
Now let's try to write that file
|Okay, here's just a status update:The environment is completely initialized right. (Exept maybe for polling for events)IsoKernel calls are called right and can fail or return successfully.[FILE COMMAND] = TEST/READ/WRITE: implemented and tested[FILE COMMAND] = RUN/RESIZE/DESTROY: implemented|
I'll first focus on the IsoKernel calls which don't need events. Then later i'll add that. I just don't know yet how to poll for events, and which events. But I think it depends on what i choose for the display command. I probably use XWindows, with Xlib, which has it's own events defined.
|Good, it's nice to see progress on the Linoleum Linux compiler. It will be great to be able to co-release software on both platforms once this is complete. I think many Linux users will really take a liking to Lino's capabilities.|
I might note that you should make a checklist of what is done, and each thing that still needs to be worked on. You could save it as a file on your site, and provide a link to it whenever you update it. That way, it would be easy to see, at a glance, how work is progressing.
Actually i'm just working on the RTM, you'll be able to compile programs for linux just with the same good old compiler you already have. At least with some minor adjustments....
|Good, it's nice to see progress on the Linoleum Linux compiler.|
The checklist might be a good idea, currently i just see in the source code which parts need to be filled. The basic infrastructure for all IsoKernel calls is provided, now i need to add some functionality to it. But then again, i'm not such a structured worker. I might keep the checklist for a week, and then forget it.....
|written by Overtilt on Nov 21, 2003 00:15|
|Checklists are fun, and they make it easier for us to understand how much is left! |
So the RTM emulates the windows compiler in a way? I don't udnerstand... Probably just as well.
|The RTM (Run Time Module) is the part of the Linoleum executable which takes care of the system specific functionality. In Linoleum you call these functions by a call to [IsoKernel]. The RTM might be considered the 'kernel' for linoleum programs. In all linoleum programs, for all platforms, the calls to the display, file system, sockets ... etc. have the same interface. But the implementation of these calls are system specific. So for every 'system' there must be a different RTM.|
I hope this makes the purpose of the RTM a little clearer. If not, i'll try to explain an other way, or with other words .
|written by Fop on Nov 21, 2003 10:29|
|Does this mean that you can't compile linux programs in linux?|