flat assembler
Message board for the users of flat assembler.

Index > OS Construction > The REAL OS construction contest

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



Joined: 18 Jan 2009
Posts: 384
Location: Ohio, USA
Coddy41
No worry, I only learn from there code... I will have to wright my own boot loader, that's all. But no Bios calls, can I still use it to get the time?
Post 25 Feb 2009, 19:24
View user's profile Send private message Visit poster's website Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 17669
Location: In your JS exploiting you and your system
revolution
Coddy41: You are not permitted to use the BIOS for anything. That includes getting the time.
Post 26 Feb 2009, 00:03
View user's profile Send private message Visit poster's website Reply with quote
Coddy41



Joined: 18 Jan 2009
Posts: 384
Location: Ohio, USA
Coddy41
awww... I don't know if I can do it, I love time and date calls...
Post 26 Feb 2009, 00:11
View user's profile Send private message Visit poster's website Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 17669
Location: In your JS exploiting you and your system
revolution
Getting the time out of the clock chip is easy, read up about it.
Post 26 Feb 2009, 00:23
View user's profile Send private message Visit poster's website Reply with quote
Madis731



Joined: 25 Sep 2003
Posts: 2140
Location: Estonia
Madis731
My X58 supports (U)EFI. I think there was a date in history, when all newer mobos from that date would come with (U)EFI...
Post 26 Feb 2009, 09:39
View user's profile Send private message Visit poster's website Yahoo Messenger MSN Messenger Reply with quote
sleepsleep



Joined: 05 Oct 2006
Posts: 9132
Location: ˛                             ⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣Posts: 334455
sleepsleep
seems cool, let hope many will take this opportunity Smile
Post 26 Feb 2009, 12:22
View user's profile Send private message Reply with quote
bitRAKE



Joined: 21 Jul 2003
Posts: 3045
Location: vpcmipstrm
bitRAKE
revolution, can applications use BIOS?
Not the OS, but programs for the OS?
Post 26 Feb 2009, 17:25
View user's profile Send private message Visit poster's website Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 17669
Location: In your JS exploiting you and your system
revolution
bitRAKE: No. It is in the rules I posted.
I wrote:
After that you must provide for applications to access the system resources (screen, keyboard, HDD, etc.) through your OS only. The apps are not allowed to call INT xx with xx<32 and are not allowed to do direct I/O (i.e. not allowed to do IN or OUT). The apps must use your OS for all I/O.
Post 26 Feb 2009, 17:30
View user's profile Send private message Visit poster's website Reply with quote
bitRAKE



Joined: 21 Jul 2003
Posts: 3045
Location: vpcmipstrm
bitRAKE
Darn, you don't leave any room for weaseling. Very Happy
Post 26 Feb 2009, 17:43
View user's profile Send private message Visit poster's website Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 17669
Location: In your JS exploiting you and your system
revolution
bitRAKE wrote:
Darn, you don't leave any room for weaseling. Very Happy
Yay, that was the plan. No sense in having an OS if the apps just bypass it!
Post 26 Feb 2009, 17:48
View user's profile Send private message Visit poster's website Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4242
Location: 2018
edfed
int9 is the int for keyboard, of course, application don't call it, but what about a virtual keyboard that bypass this int9 just to simulate a keystroke?
it is a int xx where xx<32.
i don't see the problem if we use ints in apps, but theses ints should be written, or at least included in the OS.
no?

a general rule could be:
everything written with fasm can be done.
everything that is not in the source code cannot be called.
Post 27 Feb 2009, 08:01
View user's profile Send private message Visit poster's website Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 17669
Location: In your JS exploiting you and your system
revolution
edfed wrote:
int9 is the int for keyboard, of course, application don't call it, but what about a virtual keyboard that bypass this int9 just to simulate a keystroke?
it is a int xx where xx<32.
i don't see the problem if we use ints in apps, but theses ints should be written, or at least included in the OS.
no?
You may use INT in your apps, but not to call BIOS functions. You can call your own OS functions with INT, that is OK.

If you decide to leave the BIOS INT 9 handler pointing into the BIOS then you won't be able to receive keystrokes (because you can't call INT 16h). Your choice of course, but I would imagine that a good OS would provide for the apps to receive keystrokes. My suggestion would be to override all the BIOS hardware INT's so that your OS can receive them.
edfed wrote:
a general rule could be:
everything written with fasm can be done.
everything that is not in the source code cannot be called.
Yes, that is the intention of the rules.
Post 27 Feb 2009, 08:22
View user's profile Send private message Visit poster's website Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 17669
Location: In your JS exploiting you and your system
revolution
I have excluded all INT's below 32 for two reasons. 1) to avoid confusion with the standard BIOS function calls. and 2) to meet the original Intel spec of the reserved interrupt space being 0-31. If you want to use hardware interrupts in your OS, then, to meet the rules, you will have to move the PIC base to at least 32 (higher if you want, but not lower).
Post 27 Feb 2009, 08:31
View user's profile Send private message Visit poster's website Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web
Dex4u
Right by these rules, you only have one problem to solve, that is loading more sectors than the one loaded at bootup.
The rest is childs play, So your only chose is hdd, as you can not fit a floppy driver in less than 512bytes, everything eles i have already coded, not using any BIOS code (as with any pmode OS).
The problem is who is going to test on there hdd ( as emulator can be tricky) and what time scale do we have.
I think the best bet is to use the unused sector after MBR on hdd.
Post 28 Feb 2009, 03:36
View user's profile Send private message Reply with quote
LocoDelAssembly
Your code has a bug


Joined: 06 May 2005
Posts: 4633
Location: Argentina
LocoDelAssembly
Accessing data structures created by the BIOS is allowed (i.e. accessing memory written by BIOS without issuing any software interrupt)?
Post 28 Feb 2009, 04:06
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 17669
Location: In your JS exploiting you and your system
revolution
LocoDelAssembly wrote:
Accessing data structures created by the BIOS is allowed (i.e. accessing memory written by BIOS without issuing any software interrupt)?
Remember that calling the BIOS is not permitted. So if you are suggesting that you can grab the address from the INT table and then call it, then not allowed.

To all: This is just a friendly compo between us like minded people. I would hope that people are not trying to find holes in the rules and use the pre-written BIOS codes. I acknowledge that there may be some holes (I tried my best to cover the most common scenarios) but please try to understand the "spirit of the rules" and try your best to follow the spirit if not the exact wording.

Indeed, if you notice a glaring hole in my rules as posted, then please point it out and I'll try to cover it without being too dictatorial.
Post 28 Feb 2009, 04:45
View user's profile Send private message Visit poster's website Reply with quote
LocoDelAssembly
Your code has a bug


Joined: 06 May 2005
Posts: 4633
Location: Argentina
LocoDelAssembly
I mean if you are allowed to access ACPI tables for example, and also the 0040h segment. The latter is a little bit tricky because some vars there change over the time (for example you could get a free tick counter from there), but there are other vars also that tell something about the installed hardware.

So, those data structures are fully allowed, partially or completely forbidden to use?
Post 28 Feb 2009, 05:13
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 17669
Location: In your JS exploiting you and your system
revolution
LocoDelAssembly wrote:
I mean if you are allowed to access ACPI tables for example, and also the 0040h segment. The latter is a little bit tricky because some vars there change over the time (for example you could get a free tick counter from there), but there are other vars also that tell something about the installed hardware.

So, those data structures are fully allowed, partially or completely forbidden to use?
I say yes you can access it. I have not excluded it from the rules and it is not outside the original intention of the rules. So if you find some memory contents useful to you then you can use it.

BUT I caution anyone with using this. Remember that other people will only vote for your OS if they like it best. So if you use these memory structures you many find out later that, due to incompatibilities, your OS is non-functioning when someone else is testing it on their hardware (or emulator). It may be of no importance to you that you can run it but others cannot but then you probably will have lost a few votes.
Post 28 Feb 2009, 05:23
View user's profile Send private message Visit poster's website Reply with quote
Coddy41



Joined: 18 Jan 2009
Posts: 384
Location: Ohio, USA
Coddy41
So a REAL OS needs at least a FDD & a Keyboard driver, with NO Bios calls, correct?
Post 28 Feb 2009, 15:46
View user's profile Send private message Visit poster's website Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 17669
Location: In your JS exploiting you and your system
revolution
There is no requirement to support FDD or KBD if you don't want to.

But remember that it is being voted on by the readers here, so the more you can support then perhaps the more votes you will receive.
Post 28 Feb 2009, 15:51
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  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-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.

Website powered by rwasa.