Hi, i made a simple bootleader and write it on a floppy in help with debug:
debug b?bt.bin
-w 100 0 0 1

and it work fine, but I seems that the fimeformat get distroyed with this method.
I would like to execute a exe-file after booting, but how yo realize that?

booting
and than execute asdasdf.com/sdfsadf.exe

Deep Regard FF!
Posted on 2003-06-28 13:06:34 by Forginforcer
You cannot execute an exe. It not easy, made it as Com. Also, if your boot loader didnot have a FAT system, it worse difficult ( I still unable to understand it ). Write your com at sector 2, use int 13h and set bx to 100.




mov es,0x6000
mov bx,100



so your .com able to work ( because the address are set to origin 100. Maybe you can use org 0 ).
Posted on 2003-06-28 21:49:42 by realvampire
You are right, but it seems that when I write the loeader the fat system get distroyed! I cant access the disk anymore, only boot from it.

I didn|t got it, what exactly you mean...

Thanks for Response!
Posted on 2003-06-29 02:29:44 by Forginforcer
Com File are loaded at offset 100. Your variable will be not get/set correctly.
Posted on 2003-06-29 09:50:18 by realvampire
the first... um... 32 bytes contain fat information - you have to keep them in order to keep the filesystem:



jmp main ;first 3 bytes: jump to bootcode
nop

bsOemName db "BlueProj" ; 0x03
bpbBytesPerSector dw 0x0200 ; 0x0B
bpbSectorsPerCluster db 0x01 ; 0x0D
bpbReservedSectors dw 0x0001 ; 0x0E
bpbNumberOfFATs db 0x02 ; 0x10
bpbRootEntries dw 0x00e0 ; 0x11
bpbTotalSectors dw 0x0b40 ; 0x13
bpbMedia db 0xf0 ; 0x15
bpbSectorsPerFAT dw 0x0009 ; 0x16
bpbSectorsPerTrack dw 0x0012 ; 0x18
bpbHeadsPerCylinder dw 0x0002 ; 0x1A
bpbHiddenSectors dd 0x00000000 ; 0x1C
bpbTotalSectorsBig dd 0x00000000 ; 0x20

bsDriveNumber db 0x00 ; 0x24
bsUnused db 0x00 ; 0x25
bsExtBootSignature db 0x29 ; 0x26
bsSerialNumber dd 0xba5ec0de ; 0x27
bsVolumeLabel db "NO NAME " ; 0x2B
bsFileSystem db "FAT12 " ; 0x36

should work if you have this code at the beginning.
Posted on 2003-06-29 11:39:14 by hartyl
Copy paste it. The bluProj, whats the limit count? 7 bytes or what? can window recognized.
Posted on 2003-06-30 08:11:21 by realvampire
yes, the oem-name is limited to 8 bytes. and i'm sure that windows can read it. (in properties of disk?)
but don't forget the first three bytes!!!
Posted on 2003-06-30 14:23:35 by hartyl
I want to enable int 13 and int 10 at Protected mode. Tell me. I cannot read anything witout interrupt ( since the material a bit confusing ). Thanks.
Posted on 2003-07-02 03:20:31 by realvampire
Hi,

FAT or not here is the M$-docu.

to realvampire:

you really want to call BIOS functions from protected mode?

Since there is (was) a hole industry designing DOS-Extenders
I promise you can't. Only solution is to switch back to real mode
simultanously, that is was a DOS extender does.

In addition you should check DPMI implementation for calling
DOS functions from protected mode. Just ask Japheth he is the
DPMI guru here :)

Bye Miracle
Posted on 2003-07-02 05:17:01 by miracle

I want to enable int 13 and int 10 at Protected mode. Tell me. I cannot read anything witout interrupt ( since the material a bit confusing ). Thanks.



You will probably have to use those call gates, or another way may be to switch the CPU into V86 mode.
Posted on 2003-07-02 13:40:52 by x86asm