My FAT12 Bootsector FINALLY works :D

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.
Ryu

Re:My FAT12 Bootsector FINALLY works :D

Post by Ryu »

zeii wrote:0x00801000 Would be the stack location?
Not exactly, the linear location would be 800h - 1800h. 800h would be the bottom of the stack, and 1800h is the top which is where the stack pointer begins at in linear, if you use SS=80h SP=1000h that is. Another thing you may get mixed up is that the first push for example wouldn't have been save at 1800h linear (using the stack I recommended with the example), but in fact it saves at address 17FEh first, so its in boundry of 800h - 1800h.
BugHunter

Re:My FAT12 Bootsector FINALLY works :D

Post by BugHunter »

Interesting topic, zeii could you post your final bootsector? :-*
distantvoices
Member
Member
Posts: 1600
Joined: Wed Oct 18, 2006 11:59 am
Location: Vienna/Austria
Contact:

Re:My FAT12 Bootsector FINALLY works :D

Post by distantvoices »

@zeii: if you post it, take care not to post it with coffee stain all over the code, that'd be atrocious. *rofl*

as for your bug: you should set the stack to the next higher address of a segment of say 0x0020:0xffff - you set it to 0x0020:0x0000. (if this doesn't make any sense, pls ask. I'm low on coffee, it's late in the evening and I'm rather tired.)

as soon as something gets pushed, stack pointer decrements automatically (& will be at 0xfffd for 16 bit environment)

Just one question beside: Do you write certain words ugly on purpose? I have some difficulties deciphering some of them.
... the osdever formerly known as beyond infinity ...
BlueillusionOS iso image
Post Reply