 | |  | | Okay, first of all, don't get me wrong:
Okay, after getting this straight, this is my intention for this thread: - setup a place where information can be found about porting linoleum to linux. - posting links to sites where information about programming in linux can be found. - ask Alex a lot of questions about the linoleum RTM. 
Well, if you have further additions, let me know. | |  | |  |
|
   | |  | | I have the following plan to develope a linoleum RTM for linux. The very first goal is to get a minimal RTM which can execute: http://www.anywherebb.com/samplesc.html
here's the monologue i had with Alex: 13:22, Alex> ah, well... start by allocating a couple blocks of data 13:23, Alex> one for the code and one for the workspace 13:23, Alex> then setup the [CodeOrigin] at location 0 of the workspace 13:24, Alex> uhm... and compute a pointer that, added to [CodeOrigin], gives the pointer to the entry point of the Isokernel parser 13:24, Alex> and put that in [IsoKernel], at address... well, the first address after the end of the main workspace 13:25, Peterpaul kl h> That's a negative offset? 13:25, Alex> yup, it may be negative 13:26, Alex> then uhm... well... setup a thread, or something similar... 13:26, Alex> and have the thread call the entry point of the program, with a call that needs a simple "RET" to return. 13:26, Peterpaul kl h> jsr call 13:27, Alex> the inizialization paragraph of the RTM, filled by the compiler, gives all the values 13:27, Alex> yes, possibly a near, flat, 32-bit call 13:27, Alex> that is, if you'd like NOT to also rewrite the instruction set  13:28, Peterpaul kl h> No please  13:28, Alex> hmmm... well... egh... 13:29, Alex> not being a working isokernel there, there shouldn't be much left to do 13:29, Peterpaul kl h> This sounds pretty clear. 13:29, Alex> basically the Lino code needs access to the workspace, and to a location that it believes to be the entry point of the Isokernel parser 13:30, Alex> the mappings, as you probably remember, are: EDI = pointer to first location of workspace, EBP = spare register (X) 13:31, Alex> ESP = $, but it may be on the same stack as the RTM 13:31, Alex> then A=EAX, B=EBX, C=ECX, D=EDX, E=ESI, that's all 13:31, Peterpaul kl h> How are all the variables accessed, are they streamed into the allocated workspace? 13:32, Alex> yeah, really all. in such a minimal environment, you might be able to run apps that just perform without the Isokernel 13:32, Peterpaul kl h download linoleum's source. 13:33, Alex> yeah! streamed one after the other 13:33, Alex> (sorry, got disconnected) 13:34, Peterpaul kl h> no problem. 13:34, Alex> one variable after the other: after the last unit of "variables", the first unit of "workspace" is there 13:35, Alex> uhm... although, I suppose, for being at least minimally useful, it might have a way to load and save files, at least 13:36, Peterpaul kl h> Yeah, but the file-section is one of the least hard things to add. At least i think. 13:37, Alex> perhaps... I had a hell of time making the universal syntax thing, though  13:37, Alex> or perhaps because I didn't want the bare no-extension version of the RTM to cross 16 Kb  13:37, Peterpaul kl h> Euhm, what RTM can i use as a refference point? There are eight of them. 13:37, Alex> so I'd better say I had a hell of time optimizing it... 13:38, Alex> the first one is the simplest, without modular exceptions 13:38, Peterpaul kl h> Oh, i won't use such a limitation.  13:38, Alex meant: extensions, damn tiredness 13:38, Peterpaul kl h> let's make something working first. Optimalization comes later. 13:39, Alex> true... 13:39, Peterpaul kl h meant: optimizati.... heck, whatever.... 13:39, Alex>  | |  | |  |
|
   | |  | | Aren't monologues meant to involve only one person? 
*runs away before he gets beaten for being pedantic.... * | |  | |  |
|
 | |  | | ![]()  | Jim mc quim said: | Aren't monologues meant to involve only one person? 
*runs away before he gets beaten for being pedantic.... * | No Jim your right. Dialog is the correct word me thinks. | |  | |  |
|
| sun + black hole = fwoosh! |
|
   | |  | | Yeah, i think it might be helpfull. We can use all the help we can get . | |  | |  |
|
 | |  | | ![]()  | Ginja_ninja said: | | No Jim your right. Dialog is the correct word me thinks. | Yes.... but it still doesn't stop me being pedantic, does it? Now shush. Stop ruining the thread.  | |  | |  |
|
| written by Kalliope on Sep 19, 2003 04:33 |
 | |  | | Dialogue is between two people. Monologue is one person talking. This does not mean they are the only person on the stage. In fact, a number of monologues are basically dramatic rants or speeches.
A soliloquy, though, is one actor talking to himself. Also the only person on stage, if I remember rightly. | |  | |  |
|
 | |  | | Okay, since i'm the one who started this discussion about monologues and dialogues:
I was just kiddin' I just meant that i didn't really have something significant to add to Alex sayings. | |  | |  |
|
 | |  | | I knows.... hence the thing about me being _pedantic_, thanks Ginja. 
(and actually it was me, but there you goes... ) | |  | |  |
|
 | |  | | Coding has begun 
Here's the status thus far.Read Compiler Communication Paragraph (tested)Read the Commandline (tested)Allocate memory for the workspace, initialized to zeroAllocate memory for the code, initialized to zeroRead initialized workspace from stockfileRead code from stockfileWrite commandline paramters in workspace section.
Only the first two are currently tested, but the rest should follow quickly. I just don't like to switch between Windows and Linux a lot. Booting on both of them is so slow.
(Reminds me to try the current code in MINIX, which boots in 10 seconds. ) | |  | |  |
|
| written by Overtilt on Oct 30, 2003 12:12 |
 | |  | | I know this sounds stupid, but does this mean NoctisV will be available for Windows AND Linux... simultaneously?!
Oh God. This is so cool! | |  | |  |
|
 | |  | | When this RTM is finished: YES  | |  | |  |
|
| written by Overtilt on Oct 30, 2003 14:53 |
 | |  | | Oh, damn! All we need now is a MacOS port for Lino and it'll be all nice and good-like. 
Do you have an estimate on when you expect to be done? | |  | |  |
|
 | |  | | I could be very anoying here...
... Yeah, let's do it:
when it's ready 
I hope somewhere in January, February. But it's hard to estimate when you don't even have a working version for the most simple program. | |  | |  |
|
|