flat assembler
Message board for the users of flat assembler.

Index > OS Construction > 512b - Operating System Contest

Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8  Next
Author
Thread Post new topic Reply to topic
neonz



Joined: 02 Aug 2003
Posts: 62
Location: Latvia
neonz 05 Sep 2004, 15:00
decard wrote:
Privalov wrote:
What about processor requirements (FPU, MMX)?

Right, we should have thought about it before (and mark it in the rules). But it's just out first compo, in next ones we will prepare the rules better Smile
Now let's give a limit to 486 instruction set and FPU - I think it is enough for an OS. Shall I add it to the rules?


I think, yes, this should be added to rules.
Post 05 Sep 2004, 15:00
View user's profile Send private message Visit poster's website Reply with quote
ASHLEY4



Joined: 28 Apr 2004
Posts: 376
Location: UK
ASHLEY4 05 Sep 2004, 15:58
No, because the point of the compo was to :

Help OS maker's to move on a bit (as in i would of liked to of seen a pmode floppy driver, that fits in 512byte etc, we could all use one of them in our OS).

We are already restricked by 512byte, we do not need any more.

PS: I know the pmode floppy driver would of been a bit of a squeeze, but then that what we are about, making big programs,smaller and slow program's faster Wink.

\\\\||////
(@@)
ASHLEY4.
Post 05 Sep 2004, 15:58
View user's profile Send private message Reply with quote
Matrix



Joined: 04 Sep 2004
Posts: 1166
Location: Overflow
Matrix 05 Sep 2004, 20:51
Privalov wrote:
What about processor requirements (FPU, MMX)?


Not bad Smile
an 512 byte operating system requireing MMX, i think it could use SSE too in advance.
ps.:
the AMD contest whould be with the rules: Must use AMD 3d NOW! - instructions
MATRIX
Post 05 Sep 2004, 20:51
View user's profile Send private message Visit poster's website Reply with quote
ASHLEY4



Joined: 28 Apr 2004
Posts: 376
Location: UK
ASHLEY4 07 Sep 2004, 03:37
I have put some image's of the 512b entrys so far, if any one wants to have a look try here: http://www.falconrybells.co.uk/page2.htm

ps: Hope the people, who work it is, do not mind.

\\\\||////
(@@)
ASHLEY4.
Post 07 Sep 2004, 03:37
View user's profile Send private message Reply with quote
Chewy509



Joined: 19 Jun 2003
Posts: 297
Location: Bris-vegas, Australia
Chewy509 07 Sep 2004, 07:00
ASHLEY4 wrote:
I have put some image's of the 512b entrys so far, if any one wants to have a look try here: http://www.falconrybells.co.uk/page2.htm

ps: Hope the people, who work it is, do not mind.

\\\\||////
(@@)
ASHLEY4.


That's cool with me... but one point. 256b operates in Unreal Mode, so the display command should be:
Code:
> D 00007DFF 0100    
(Display 256bytes starting at 0x00007dff linear)! But for better effect try using 00007c00 as the memory offset. This will show the first half of the kernel.

PS. To reset the OS, type:
Code:
> G 00007c00    
and to reboot the PC type:
Code:
> G FFFF0000    

If you want some sceen shots from bochs, let me know and I will do them for you. (PPS. don't forget to let me know your email address).
Post 07 Sep 2004, 07:00
View user's profile Send private message Visit poster's website Reply with quote
ASHLEY4



Joined: 28 Apr 2004
Posts: 376
Location: UK
ASHLEY4 07 Sep 2004, 12:21
Sorry Chewy509, I was using the same pc as the readme file was on, i will take another photo tonight and upload it to the site with the above address on screen.
If you can take screen then that would be better.
You can post them to falconrybellmaker@yahoo.co.uk

Ps: Nice bit of coding.

\\\\||////
(@@)
ASHLEY4.
Post 07 Sep 2004, 12:21
View user's profile Send private message Reply with quote
Chewy509



Joined: 19 Jun 2003
Posts: 297
Location: Bris-vegas, Australia
Chewy509 07 Sep 2004, 23:26
ASHLEY4 wrote:
Sorry Chewy509, I was using the same pc as the readme file was on, i will take another photo tonight and upload it to the site with the above address on screen.
If you can take screen then that would be better.
You can post them to falconrybellmaker@yahoo.co.uk

Ps: Nice bit of coding.

\\\\||////
(@@)
ASHLEY4.


No problem, I'll do some screenies in bochs tonight and email them to you...

Darran (aka Chewy509)...
Post 07 Sep 2004, 23:26
View user's profile Send private message Visit poster's website Reply with quote
crc



Joined: 21 Jun 2003
Posts: 637
Location: Penndel, PA [USA]
crc 13 Sep 2004, 14:52
I finally managed to get my entry (RetroCalc) to fit in 512 bytes Smile

It's basically an RPN calculator, but the fun stuff is hidden inside. It actually packs the RetroForth dictionary, stack, interpreter, I/O, and math words into just 512 bytes. I had to give in somewhere, so it only makes six words accessible from the interpreter at this point.

So basically, you have + - * / reset . to play with. reset is used to restore the stack positions to the original settings (a good thing to use frequently since no over/underflow checking is done). The . word displays the top of the stack, and the math words are used like you'd expect from an RPN calculator.

It's also possible to run this under DOS with a few minor tweaks. (A DOS binary and source are included). I've had fun writing this, and I hope it proves helpful to others. I'm already looking forward to a future compo, with larger size limits, so I can expand on this framework Smile

Note that I've only tested it under Bochs, but it *should work* on most/all real PC's as well. If it doesn't, please let me know so I can work on it some more!
Post 13 Sep 2004, 14:52
View user's profile Send private message Visit poster's website Reply with quote
pelaillo
Missing in inaction


Joined: 19 Jun 2003
Posts: 878
Location: Colombia
pelaillo 13 Sep 2004, 18:23
Shocked crc, that is going to be hard to beat Shocked

I used to be happy with my candidate...it seems that I have to work harder on it Wink

Fully agree with you: a lot of fun writing those thingies...
Post 13 Sep 2004, 18:23
View user's profile Send private message Yahoo Messenger Reply with quote
ASHLEY4



Joined: 28 Apr 2004
Posts: 376
Location: UK
ASHLEY4 13 Sep 2004, 20:19
Hi crc, great work runs on a P100 PC fine, can you send me a screenshot of your entry as i have not used a RPN calculator, i may not demo it in the best light etc.
falconrybellmaker@yahoo.co.uk

And i will add it to the other screenshots on my site.
http://www.falconrybells.co.uk/page2.htm

ps: your wright about the size, i had to pack my entry out, with 400bytes of 0, Wink. (i wish)

\\\\||////
(@@)
ASHLEY4.
Post 13 Sep 2004, 20:19
View user's profile Send private message Reply with quote
DuLac



Joined: 13 Sep 2004
Posts: 8
Location: Portugal (EU)
DuLac 16 Sep 2004, 22:33
Hi everyone,

Since references to substitute the Boot sector by an OS have been removed, we can presume safely that the challenge is limited to a regular OS and the 512 bytes ARE available instead of 512 *MINUS* the 32 reserved bytes of a standard boot sector = 490 Bytes.

Bott Sector IS NOT "external ASSISTANCE" in booting. Not for any OS.
The enfasis is in ASSISTANCE... the "booting" association with the sentence is expurious and should be ignored. Good.

Providing date for sources is UNTIL 2004/10/1 NOT Jan/10 and the following should also be ignored.
The enfasis here is 00h00m AND GMT NOT your local time.

The Challenger wrote:

[*]All entries, must provied source code for there OS, but not until, after the 1/10/2004 00:00 (GMT), if after 1/10/2004 00:00 (GMT) the winner does not provide the source code they will be disqualified.


Sorry for pointing this but who told me about this challenge was bothered with that and seems to have lost the initial impetus. Sorry for him. Smile ... just trying it to happen to others.

Suspect this is a privat contest. Give me just 15 days make out of it... So I'm out caused by years away from ASM (used A86). But putting FAsm in my desk to test and maybe come back is enough. Smile OS/Lnx/BSD and Wirdows ?!? That's a gift from the sky Very Happy Hope this could be repeated though Exclamation

Smile So the clarifications to my friend and some other interested is the only contribution available for now, the last in this subject Question

_________________
Just clean patterns under the junky surface...
---
Le$$ nicotin: Smoke more to get the same dose.
New tabaco: Less nicotine, Same tar (cancerous).
Balance: Profit$ up, Population down
Post 16 Sep 2004, 22:33
View user's profile Send private message Visit poster's website Reply with quote
josh



Joined: 03 Sep 2004
Posts: 1
josh 17 Sep 2004, 07:03
I've just added my OS, d512. It's basically an unreal-mode "debug"-like machine monitor with six commands and an extension module to add five more.

"Screenshots" (created with Bochs' "snapshot" thingy):
http://64.161.78.226/snap1.txt
http://64.161.78.226/snap2.txt
http://64.161.78.226/snap3.txt
The commands r, w, W, c, x, q are from the base OS. l, s, i, o, I are from the extension module (which you can put on the second sector of the floppy if you want it).

Enjoy.

It works fine in bochs. If it doesn't work on a real PC, tell me so I can fix it Smile

Thanks!

-- Josh
Post 17 Sep 2004, 07:03
View user's profile Send private message Reply with quote
crc



Joined: 21 Jun 2003
Posts: 637
Location: Penndel, PA [USA]
crc 17 Sep 2004, 11:53
[quote]Boot Sector is NOT "external ASSISTANCE" in booting"

You can't run the OS unless you have some means of booting it, so the boot sector is part of the OS. This is why the code + data is limited to 510 bytes (2 bytes being the boot sector 'fingerprint' used by most BIOSes). If your boot sector + rest of the OS + data are less than 512 bytes, then great.
Post 17 Sep 2004, 11:53
View user's profile Send private message Visit poster's website Reply with quote
ASHLEY4



Joined: 28 Apr 2004
Posts: 376
Location: UK
ASHLEY4 18 Sep 2004, 00:16
crc, i have up loaded your image to my site.
http://www.falconrybells.co.uk/page2.htm
josh, if you send me a screen shot, of your entry, i will put it on my site also, or if you can not take a shot, let me know and i will take one for you.

\\\\||////
(@@)
ASHLEY4.
Post 18 Sep 2004, 00:16
View user's profile Send private message Reply with quote
Matrix



Joined: 04 Sep 2004
Posts: 1166
Location: Overflow
Matrix 18 Sep 2004, 17:23
HY ALL !
who whould like to see a piece of windows 95 disassembled?

see what kind of codes are u executing when u use windows?
Smile

MATRIX


Description: Sorry CRC, i even compressed it for you
Download
Filename: win95.zip
Filesize: 9.11 KB
Downloaded: 777 Time(s)



Last edited by Matrix on 19 Sep 2004, 13:47; edited 1 time in total
Post 18 Sep 2004, 17:23
View user's profile Send private message Visit poster's website Reply with quote
roticv



Joined: 19 Jun 2003
Posts: 374
Location: Singapore
roticv 18 Sep 2004, 17:42
How is it related to the competition?
Post 18 Sep 2004, 17:42
View user's profile Send private message Visit poster's website MSN Messenger Reply with quote
DuLac



Joined: 13 Sep 2004
Posts: 8
Location: Portugal (EU)
DuLac 19 Sep 2004, 01:53
Hummm...

[quote="crc"]
Quote:
Boot Sector is NOT "external ASSISTANCE" in booting"

You can't run the OS unless you have some means of booting it, so the boot sector is part of the OS. This is why the code + data is limited to 510 bytes (2 bytes being the boot sector 'fingerprint' used by most BIOSes). If your boot sector + rest of the OS + data are less than 512 bytes, then great.


Wink Very "Zen", creates a good "koan":
The Hunter is a piece of the traps he (the hunter) places on the forest...
... But which trap is he a piece of? Is he also part of the forrest?
Suppose I can live with it...

And in a very deep way I do agree thogh also know to be very unpractical in the real world. Back to there (the real world), and reformulating:

If a loader loads many Os's wich OS is it part of?
If many loaders (pre and post OS birth) load one and same OS then which loader is part of the OS? Even those that do not exist yet make part of the OS ?

Wink I'm writing this and I'm certainly not part of the editor...

Paradoxes do not exist as reality... Just exist like optic illusions exist: as fruit (and evidence) of misinterpretation. Such acceptance is just taking the easy path to find later that it was the longest and and with no end, just a wal in the end or many loops in the way.
Take the case of "relativity theory" as example: It's full of contradictions because it starts with incomplete data. Thus erroneous equations that contradict themselfs into absurdities. These are solved by the use of restrain jackets or nonsense will follow.
Here and there the KISS rule applies in all it's glory.

Arrow I believe the idea is to show a nano-OS. Not just a freak (that would be nice too, but lets keep each one in it's own places).

Even the rules state: You have the usual 512 bytes of a code/data sector used by any OS...
This [b]excludes[b] the Boot Sector not to mention the existence of more 30 reserved bytes besides the 2 bytes (special sector) boot signature. Please remind those other 30 bytes are standard for driver information and MAY be used by some BIOS in the past, present or future. Even if now most may consider just 2 and ignore (or fail-safe) on one of these other 30 reserved bytes. By now I'm now pretty sure you know that, after I saw your "little calc".

Question A pertinent question may be:
Why play with fire if "The Challenge" is hard and fun enough?
The Boot special sector is not a place for an OS to be (divergences on an OS definitions appart). The 512 bytes limit is aparentlly a healty account of the standard and was not surprising.

Question A curious question may be:
Can you fool the standard?!? Sometimes.
And:
Should you do it ?!? Misspractice is only a personal view on this "should you" question. The lost of 2 bytes is not considered in this view.

Exclamation The fulcrum question is:
Is our purpose to see a nano-OS to born OR it does not matter and would like someting else?

Nano-OS or just to say that the Loader is also the OS and vice-versa? To say it breaks common sense is nice but we must know the goal. Here is to give birth to one or several nano-OSs (as far as I understood, if I understood correctly).

Once I've made a Pascal program where the functions where in the main code and the main code in functions. It was fun! Is was delicious for its purpose: To answer a question.

It would not be as rewarding to bild an unsound piece of work that may not work everywere just to make it's job in the skin of another job as I did years ago reversing roles. That's easy!

Idea Such ultra minimalist nano-OS will be only a choice between combinations of services. Here these 2 bytes MAY be crucial in a good or less good combination. That's still not the point. The point is WHAT is the goal.

---

There's allway place to misinterpretations until they blow on ones face.
Not the case here but not working somewere would be failure (dependent on what one wants). I had my share on those 'blowing on the face' in various life situations and will try not to repeat them. That's not, by no means, a barrier to imagination and skill. You certainly have it as your recent use of the "forth" philosophy showed. It was also (not accidental) the very first idea that passed my mind when, after discover "the challenge", started wondering for an architectural solution.

---

Idea A simple suggestion: Let's not waste time making harder and unsound the possible solutions for a nice problem. It certainly is not what was in the proposer mind. Neither spliting the chances for the "NanoOS" that will come out and also the glorious author of it. And we may see several solutions, all with deserving the same place, recognised as equal in value. But let's not force, or confuse, people to out-of-the-world-factor in their attempts.

A random choice of ONE in such circunstaces would be anoying... to say the least... specially if based on this disagreament (if it will persist). That's the reason for attempting (pardon me if excessive) to make clear what I do belive to see clear, or maybe just a matter of consensus (which may change with time, acordingly to new needs, or ways to do things).

Have fun Wink Worries like this disagreament are defeating candidates before they even start Sad It happened with a friend of mine. Me? Now just curious, with ideas drawn on papper on the first day, stopped by lack of time and the inercia of a long time away of asm. (A slow but firm return is desired).

Patience, Persistance, Insight...
All the best,

_________________
Just clean patterns under the junky surface...
---
Le$$ nicotin: Smoke more to get the same dose.
New tabaco: Less nicotine, Same tar (cancerous).
Balance: Profit$ up, Population down
Post 19 Sep 2004, 01:53
View user's profile Send private message Visit poster's website Reply with quote
ASHLEY4



Joined: 28 Apr 2004
Posts: 376
Location: UK
ASHLEY4 19 Sep 2004, 11:12
DuLac, The poetry compo is next week Wink.

\\\\||////
(@@)
ASHLEY4.
Post 19 Sep 2004, 11:12
View user's profile Send private message Reply with quote
crc



Joined: 21 Jun 2003
Posts: 637
Location: Penndel, PA [USA]
crc 19 Sep 2004, 11:41
Quote:
If a loader loads many Os's wich OS is it part of?
If many loaders (pre and post OS birth) load one and same OS then which loader is part of the OS? Even those that do not exist yet make part of the OS ?


Even if a loader can load many OSes, it's still part of each OS. For example, if you use GRUB to load your OS, then GRUB is a part of your OS. The fact that GRUB can also load Syllable and Linux doesn't mean that it's not part of one OS and not the others.

Quote:
Wink I'm writing this and I'm certainly not part of the editor...


Are you sure about this? The editor is nothing without you; using it makes you an extension of it (or vice versa.)

Quote:
Even the rules state: You have the usual 512 bytes of a code/data sector used by any OS...
This [b]excludes[b] the Boot Sector not to mention the existence of more 30 reserved bytes besides the 2 bytes (special sector) boot signature. Please remind those other 30 bytes are standard for driver information and MAY be used by some BIOS in the past, present or future. Even if now most may consider just 2 and ignore (or fail-safe) on one of these other 30 reserved bytes. By now I'm now pretty sure you know that, after I saw your "little calc"


Not exactly true Smile The rule says:

The maximum size for all code and data compiled, is limited to 512 bytes, but there is no limit on size of memory used.

If the boot sector/loader is a part of the OS, as I believe, then it must be part of that 512 bytes. The problem with thinking of the boot sector as separate from the OS is that it introduces functionality beyond the rest of the OS. Your boot sector could switch to pmode, initialize some drivers, etc -- all OS functions. That would be "external assistance". If your boot sector just loads a 512 byte file/sector from elsewhere on the disk, then what's the point? The BIOS already does this when the PC boots!

I've never seen a BIOS that relies on the 30 bytes in question. And I've tested this on everything from an original IBM PC to a fairly new Dell Laptop. So what BIOSes/machines do you know that rely on those 30 bytes?

-----

Quote:
Is our purpose to see a nano-OS to born OR it does not matter and would like someting else?


The purpose of this compo is to encourage new development in small OSes. By packing a lot of functionality in a small space, we hope to show that OS kernels need not be large to be interesting. The goal is not to develop a real OS at this point (we'll leave that for future compos)
Post 19 Sep 2004, 11:41
View user's profile Send private message Visit poster's website Reply with quote
crc



Joined: 21 Jun 2003
Posts: 637
Location: Penndel, PA [USA]
crc 19 Sep 2004, 11:45
Matrix, that disassembly example should really have been an attachment or a link. You shouldn't cut and paste entire files into the forum, it makes the page take a lot longer to load for us dialup users Sad
Post 19 Sep 2004, 11:45
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8  Next

< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.