flat assembler
Message board for the users of flat assembler.
Index
> OS Construction > Bootloader Rebuild |
Author |
|
edfed 06 Sep 2010, 10:00
you can load sectors to a buffer, and refresh the screen with the datas in the buffer during the loading.
of course, in mode13h. or any graphic mode (vesa 1024*768*24bpp) it will give you the overview of loaded datas in a graphic way, up to 64000 bytes with mode 13h, and 2.5 mega bytes with vesa. because just see that one sector is loaded is not enough, you should see the content of these sectors to be sure the datas are exactlly thoses you want to load. just imagine that you have a problem with drive geometry access, you will load sectors but not the right sectors. |
|||
06 Sep 2010, 10:00 |
|
GhostXoPCorp 06 Sep 2010, 15:14
That i what i was fearing, as for buffers i just load everything to 0x0200 and keep overwriting as for the file its loaded elsewhere
Would you like for me to post code? _________________ Oh that divide overflow. Just jumps out of the bushes every time to scare the day lights out of me. |
|||
06 Sep 2010, 15:14 |
|
bitshifter 07 Sep 2010, 00:17
What file system?
FAT12 root is usually 224, 32-byte entries, which is 14 (512) byte sectors. There are way more than that many dots there, so what file system is it? |
|||
07 Sep 2010, 00:17 |
|
GhostXoPCorp 07 Sep 2010, 03:03
ive noticed that, so ive been reworking on my bootloader all day with some help from a friend.
turns out the fasm equations this = (this + this) well i found out first hand its compile time not execution time mathmatic exectution so.. thats also why when i take it out, theres no change in file size ill have news on it tommarow fat12 file system _________________ Oh that divide overflow. Just jumps out of the bushes every time to scare the day lights out of me. |
|||
07 Sep 2010, 03:03 |
|
edfed 07 Sep 2010, 09:06
you will need to give an entire segment to the sector buffer, because you can load 64k in one time (128 sectors of 512 bytes)
then, it is really easy to imagine a way to display the content... for example, load the sectors at 2000h:0 to 2000h:0FFFFh refresh the screen with this buffer... Code: vsync: mov dx,3dah @@: ;wait for vsync signal in al,dx and al,8 je @b push es fs word 2000h word 0a000h pop fs es xor di,di @@: mov al,[es:di] mov [fs:di],al inc di jne @b pop fs es ret you just have to call this kind of code in the load sector loop, for example. the performance is not a real problem, because just load one sector is a very slow process, no matter on how long it takes to refresh the screen. |
|||
07 Sep 2010, 09:06 |
|
bitshifter 08 Sep 2010, 05:43
You wont find simpler FAT12 boot loader than this...
http://board.flatassembler.net/topic.php?t=11774 I have newer version, i just need to upload it... |
|||
08 Sep 2010, 05:43 |
|
GhostXoPCorp 08 Sep 2010, 23:05
Thank you very much, i was in the midst of doing a bootloader rebuild,
Thanks alot also for the code example (ill probably read it and compare for any bloat i should slim down), i will study carefully, and post my code so i can let you know i didnt copy and paste any of it, i feel guilty for even using it as a reference, but thanks again Reason im rebuilding is, its been a while since ive coded and i have to kick the bad habbits (as in a 680 byte bootloader, to fat of code), without the times directive im going to try for 400 - 450 bytes, so i can fit in some extra things i can try. _________________ Oh that divide overflow. Just jumps out of the bushes every time to scare the day lights out of me. |
|||
08 Sep 2010, 23:05 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.