Programming Forums
User Name Password Register
 

RSS Feed
FORUM INDEX | TODAY'S POSTS | UNANSWERED THREADS | ADVANCED SEARCH

Reply
 
Thread Tools Display Modes
Old Sep 6th, 2006, 5:02 AM   #1
Q-Base-Team
Newbie
 
Join Date: May 2006
Location: Bodafors, Sweden
Posts: 9
Rep Power: 0 Q-Base-Team is on a distinguished road
Send a message via MSN to Q-Base-Team
How to make a disk FAT and add EXE compability?

Im creating an os for my laptop w/o a hd and i've tried many tutorials that i found here and all over the web but i cant find anything that makes the floppy be FAT formatted and browsable in Windows and DOS...

And later on how to add EXE compability.

Im using NASM, A86 and the one following my CygWin Installation...

I really appriciate help soon, because ive tried to work this out myself for over 5 month now so im sick of it..

i prefer if you mail anything to me to

0763274824@mobil.tre.se

because i can reach this mail w/o paying anything...

///
Thanks
[ipodboqi]
__________________
Q-Base Team are looking for new members with some skills.
-------------------------------------------------------------------------------------------------------
Please check my threads!
Boot a program w/o harddrive...
Sig was shorten by Admin, Please keep it to 4-5 lines, thanks.
Q-Base-Team is offline   Reply With Quote
Old Sep 6th, 2006, 9:02 AM   #2
Polyphemus_
Expert Programmer
 
Polyphemus_'s Avatar
 
Join Date: Aug 2005
Location: Rotterdam, the Netherlands
Posts: 942
Rep Power: 4 Polyphemus_ is on a distinguished road
Official FAT whitepapers: http://osdever.net/documents/fatgen103.pdf?the_id=40

Another linky-dinky: http://www.mega-tokyo.com/osfaq/FAT12%20document
Polyphemus_ is offline   Reply With Quote
Old Sep 6th, 2006, 5:47 PM   #3
_James_
Newbie
 
Join Date: Sep 2006
Location: UK
Posts: 20
Rep Power: 0 _James_ is an unknown quantity at this point
Firstly you need to understand the boot process for PC's. Then you will need to add FAT12/16 capability to your kernel(I assume you have one). To do this you will need to read a FAT specification(such as the ones linked to above). This will give you the information needed on how to read and write to FAT volumes.

I dont really know what you mean by adding EXE capacity. EXE is just a file name extension to a DOS/Windows executable file. There are different types of executable formats. DOS Executables(also know as MZ) are less complex than more modern than the 32-bit PE executable format used in Windows. If you want your OS to run binaries made for DOS or windows then you will have to make a DOS or windows compatible OS. This would be quite complex.

I dont want to come across as rude but making an OS is not a walk in the park. I think you are going about it completly the wrong way. Learning how to do it from online tutorials is probably not the best way to do it. There are some books on the subject which would give you a better understanding of how to implement an OS. Studying an OS like minix would be a good start. I even think there is a book that uses minix as a study. I know this is what the university I attend does in the OS design module.
_James_ is offline   Reply With Quote
Old Sep 21st, 2006, 10:47 AM   #4
Q-Base-Team
Newbie
 
Join Date: May 2006
Location: Bodafors, Sweden
Posts: 9
Rep Power: 0 Q-Base-Team is on a distinguished road
Send a message via MSN to Q-Base-Team
As i said, my laptop has no harddrive so i need it to boot a EXE program from a floppy and i can make it boot from the floppy but not an EXE from it...

Somewhere on the net i read that you need to add EXE compability...

How to do that?

As i said before, ive been working with this for over five month now...
And dont tell me to simply buy a hd because that would first of all ruin the work i need to make it all work (when i know WHAT i need to ADD) and remove the thrill i get from programming, and secondly i cant afford it at the moment...

So does anyone know what this EXE support is, and how to add it?
__________________
Q-Base Team are looking for new members with some skills.
-------------------------------------------------------------------------------------------------------
Please check my threads!
Boot a program w/o harddrive...
Sig was shorten by Admin, Please keep it to 4-5 lines, thanks.
Q-Base-Team is offline   Reply With Quote
Old Sep 21st, 2006, 11:17 AM   #5
DaWei
Resident Grouch
 
DaWei's Avatar
 
Join Date: Jun 2005
Posts: 6,453
Rep Power: 10 DaWei is on a distinguished road
Regarding executable files, read James' post again. They are not "one thing." I have to ask, if you've been doing this for 5 months, why are you just now asking these questions. You aren't going to get the answers you need in a few posts in a thread. Fire up Google and check some books out of the library.
__________________
Abstraction doesn't make it impossible to write bad code; it makes it possible to write superior code.
Contributor's Corner: Grumpy on C++ Exceptions DaWei on Pointers
DaWei is offline   Reply With Quote
Old Sep 21st, 2006, 11:26 AM   #6
_James_
Newbie
 
Join Date: Sep 2006
Location: UK
Posts: 20
Rep Power: 0 _James_ is an unknown quantity at this point
mmm....

What do you want someone to come up with some magic code to make your OS boot from a Floppy disc and then execute an EXE file?

If you had any idea of how to make an OS you would know how an x86 PC boots. Or at least you would understand if someone told you how it worked in sufficent detail. You might have accomplished that already and I congratulate you on that. Now on the the exe issue. exe files have had different stuctures over the years. I dont understand what you mean by exe support really. I take it you want a program compiled on windows using VC or whatever to suddenly run on your OS. If that is the case then I think you need to sit down and do some more study. It is one thing making you OS capable of executing a binary that has the same stucture as a PE32 EXE and it is another to make a PE32 file linked on windows acutally work on your OS.

Asking about creating an OS here is like walking into a playschool and asking some 5 year olds on how to drive a car. They might know that what the stearing wheel is and what it does, but if you ask them about clutch control they will look at you blankly. There are some clever people here but they lack the knowledge on these things as they have not been to university. There are maybe 5 people out of the 30 or so regular members who would be able to do what you want. Creating an OS is fine, but dont try to do it without the first idea of how to do it. I dont know what education you have but by the way you post your questions I doubt you have a CS degree. There are books on OS design and I suggest you find one and read it. Then you will be better equipped to be able to start designing an OS.

edit DaWei's post is far more to the post so forget what I have just rambled on about.
_James_ is offline   Reply With Quote
Old Sep 26th, 2006, 2:27 PM   #7
Q-Base-Team
Newbie
 
Join Date: May 2006
Location: Bodafors, Sweden
Posts: 9
Rep Power: 0 Q-Base-Team is on a distinguished road
Send a message via MSN to Q-Base-Team
Those steps of this thing....

Quote:
Originally Posted by _James_ View Post
I take it you want a program compiled on windows using VC or whatever to suddenly run on your OS
Im not gonna write an GUI shell...and the used tool is Quick-Basic 7.1 that cannot link *.com files...

So i need this to be able to boot a simple DOS exe without having to use all those dll's and other files on a MS-DOS Bootdisc, which i cannot make with Win2KAS or any other Win2K....

Here is a short example of the different steps in the launching of the laptop (that is my goal):

1. Execute bootcode from floppy *
2. Execute .com/.bin file from floppy *
3. Execute .exe file from floppy

* = Already done...

So my last and final step is to make the exe-file to be executed from the floppy....

If anyone knows where to find any information about how to add this so-called exe compability please mail me or send a PM....
__________________
Q-Base Team are looking for new members with some skills.
-------------------------------------------------------------------------------------------------------
Please check my threads!
Boot a program w/o harddrive...
Sig was shorten by Admin, Please keep it to 4-5 lines, thanks.
Q-Base-Team is offline   Reply With Quote
Old Sep 26th, 2006, 2:48 PM   #8
Kennedy
Newbie
 
Join Date: Aug 2006
Location: Alabama
Posts: 26
Rep Power: 0 Kennedy is on a distinguished road
Sounds like you want Dr. DOS.
Kennedy is offline   Reply With Quote
Old Sep 26th, 2006, 2:49 PM   #9
DaWei
Resident Grouch
 
DaWei's Avatar
 
Join Date: Jun 2005
Posts: 6,453
Rep Power: 10 DaWei is on a distinguished road
Why mail or PM? This is a forum. We have tried to explain that an .exe file is not a single, rigidly defined thing. Look here and you'll see what I mean. This is not enough detail for you to work with, just enough to give you an idea. As I mentioned previously, this is not the sort of question that you are going to get answered in a typical forum's thread. You are going to have to follow up on the research.
__________________
Abstraction doesn't make it impossible to write bad code; it makes it possible to write superior code.
Contributor's Corner: Grumpy on C++ Exceptions DaWei on Pointers
DaWei is offline   Reply With Quote
Old Sep 26th, 2006, 2:57 PM   #10
niteice
Programmer
 
niteice's Avatar
 
Join Date: Aug 2005
Posts: 98
Rep Power: 4 niteice is on a distinguished road
Send a message via AIM to niteice
QBasic relies heavily on DOS to do its stuff. You're basically asking to reimplement DOS, which has been done.
niteice is offline   Reply With Quote
Reply

Bookmarks

« Previous Thread in Forum | Next Thread in Forum »

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump




DaniWeb IT Discussion Community
All times are GMT -5. The time now is 4:03 AM.

Powered by vBulletin® Version 3.7.0, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Copyright ©2007 DaniWeb® LLC