Contigous Sector Loading Bootsector

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
Cjmovie

Contigous Sector Loading Bootsector

Post by Cjmovie »

What do you think? When I started, I couldn't find a floppy emulator for Windows ME, so I had to use a REAL floppy. Very annoying. So I made this for people who want to just create an image of contigous sectors (starting with this bootsector) to load. Also it is for education.

It loads a max of 64KB of data. That should be PLENTY! Since from that you can load more stuff with your floppy drivers. If you ever get there....

I have no idea wether it works or not, as I haven't tried it loading any REAL code. It should though. It doesn't jump to the loaded code yet, either. I'd like someone to look over it if they could. It's my most well-commented ASM program ever!

Also my longest piece of ASM. My first bootloader that wasn't mostly copy+paste.

I'll be using it myself too, replacing my old EVIL one that was a hard-coded reader. Look about 1/4 down and find the variables, NumSecToRead can be set up to 128 (over that and it will start to overwrite the bootsector!)

It shows what sectors are being read in hex.

Used around 500 of my 510 bytes. Hehehe - barely made it with a small amount of optimization.

Switches to PMODE, (Does NOT enable the A20, yet) sets up two segments (simple GDT, not included) one data, one code, both limited 4GB and priveledge 0.

I was wondering if you guys would like an article in the wiki?
Cjmovie

Re:Contigous Sector Loading Bootsector

Post by Cjmovie »

Woops, it's only able to read 27.5kb, not 64kb :). I could move where it loads though.
Cjmovie

Re:Contigous Sector Loading Bootsector

Post by Cjmovie »

Final version.

Would ANYONE benfit from me putting it in the wiki (If it wouldn't I won't bother...)

This one comes EXTREMELY close to 510 bytes, I think within about 5 :).
Also, I've tested it, and it seems to work fine.

Also now it reports two-digit hex numbers for the Sector etc., and it also reports the full memory location each sector is going into, along with notifying the User the Kernel is starting.......
Post Reply