Aww man! that's so awesome! I took an assembly class a few semesters ago, at the university i attend, and ever since I've wanted to write an operating system. I'm not nearly as advanced as you are, so I doubt I'd get anywhere, but it looks really friggin cool :P
Hey, not trying to discourage you, but here you wont find much of a testing crowd, but I think you should go online with this project (like sourceforge.net) and publish it over there and let other people get involved in testing, reviewing etc.
Does anyone have a bootstrapper for a usb storage device?
Or maybe some ideas or info on how i can write one?
I would like to store my OS on that instead of the floppy i use now.
As of now i am using an old 286 lappy to code ASM and i would like to do it on my 386 desktop but it has no floppy drive, and i wish not to store it on the hard drive.
I took a look at some of the code you have--pretty interesting stuff you got there. I took a class last semester specifically for operating systems. We got as far as being able to load and run processes (.exe files), as well as implementing file-systems (FAT32), dealing with interrupts, and terminal/keyboard/mouse input. Oh yeah, and page tables--that was fun. No sarcasm there at all I might be able to help you out, if you had any questions or anything like that--just out of curiosity, how far were you intending on going with this?
I have done it on microcontrollers. USB mass storage is essentially a SCSI interface sent over a USB bus. For examples, take a look at source for almost any USB handling micro. I know that SiLabs (www.silabs.com) has Mass Storage examples written mostly in C for their 34x micros.
I might be able to help you out, if you had any questions or anything like that--just out of curiosity, how far were you intending on going with this?
First i would like to place the menu commands into a table, this would make any changes or additions to the menu a lot easier to do later on.
As for how far i will take this project, well what im aiming for is a game engine that runs on its own operating system.
Right now im a Win32-OpenGL graphics code monkey, but as we all know that running windows for a game platform is very slow due to the overhead of the os.
I would like to have my own os and drop the opengl library all-together.
This project is purely for my buddies and i to link up and play my games online.
If you can make any parts of my code better i would like to know how.
I have no schooling in computer sciences and tought myself how to code, so what i know about asm is not nearly enough to do it all myself.
Nice! You can go to www.osdev.org, and joing a large community. You can also go to rohitab.com forums and they have a nice OS tutorial in the Source Code section.
Does anyone have a bootstrapper for a usb storage device?
Or maybe some ideas or info on how i can write one?
Do you have the answer for this?
Originally Posted by bitshifter420
i wish not to store it on the hard drive.
I assume there is a good reason for that but I am curious what that is. Why do you "wish not to store it on the hard drive"?
The original IBM PC could boot from the keyboard but I do not know the details of how to do that. I just know that I studied the IBM BIOS many years ago and was surprised by the code to boot from the keyboard.
Have you considered a virtual machine? I am not familiar with the details of virtual machines from Microsoft, but a virtual machine would probably help, at least for development.
Did you know that someone wrote an OS for a micro-controler that also had a HTTP server?
Have you considered making a development environment (an editor and an assembler) that executes in your OS?
I assume there is a good reason for that but I am curious what that is. Why do you "wish not to store it on the hard drive"?
Mainly so it is removable/portable and easy to make changes to later on.
You can hardly find a new pc that has a floppy drive, so usb mass storage device seems to be the next best thing to store it on.
Ive seen a lot of os examples written in C but i want to use asm only.
Im currently using nasmw for an assembler, it seems like the simplest one i could find and is easy to use.
My old 286 lappy has a 6 inch greyscale monitor so you can imagine how much fun that is to play with.
Getting this os onto a usb for my 386 desktop is kinda ontop of my list right now.
Then ill start work on the a20 gate and 32 bit protected mode.
You can hardly find a new pc that has a floppy drive, so usb mass storage device seems to be the next best thing to store it on.
Or CD-ROM, but I don't know how to easily test that. Probably if you were to develop the capability of booting from hard drive then that can be used for a CD-ROM also. Are you familiar with the El-Torito format? A CD-ROM can also emulate a hard drive.
Can Linux boot from a USB device? If so, then you should be able to find source code for that.
Originally Posted by bitshifter420
Ive seen a lot of os examples written in C but i want to use asm only.
I said nothing about C; if you understood me to have implied that, then you misunderstand.
Originally Posted by bitshifter420
Then ill start work on the a20 gate and 32 bit protected mode.
Does anyone have a bootstrapper for a usb storage device?
Or maybe some ideas or info on how i can write one?
I would like to store my OS on that instead of the floppy i use now.
Try doing a search. I did and got the following, but you should do the search yourself also.
I downloaded the x3dOS.zip file but I did not understand how to create a bootable floppy. I understand that it is still being developed and you are not ready for it to be used by most people.
If you have an improved version that you want others to try and you think it is easier to understand then I am interested in trying it.
Even if you don't have anything for us to try, I am curious about whether you have made progress.
* The Best Reasons to Target Windows 8
Learn some of the best reasons why you should seriously consider bringing your Android mobile development expertise to bear on the Windows 8 platform.