You are not logged in.
Dex4u wrote:
But you have to write so many functions, before you can test them, you hope your not making a debugging nightmare for yourself .
Hahah, yeah it's not gonna be fun debugging if something goes wrong
Yeah, mine will be a module too, and I am thinking of calling the OS file "system.img" or something like that, with base modules inside it. If it's a image file, it can be loaded easily by a bootloader but still contain more then one file - the kernel could treat it as a directory for adding and deleting base modules inside it.
The image file could be a very simple format like:
header: dd kernelstart db "KERNEL SYS" ; uses fat12 naming in example, could be "kernel.sys" dd floppyDrv ; instead as long as they all are the same length db "FLOPPY DRV" dd fatDrv db "FAT12 DRV" db 0xFF ; end of header kernelstart: include "kernel.sys" floppyDrv: include "floppy.drv" fatDrv: include "fat12.drv"
well, you get the point. and the OS would let you add and remove stuff from this file just by copying to it as if it where a normal folder.
Offline
Cool, i do my image and font format the same
;=========================================================; ; Dex Image Format (DIF) 02-04-09 ; ; Also can be used for (DFF) ; ;---------------------------------------------------------; ; ; ; (c) Craig Bamford, All rights reserved. ; ;=========================================================; use32 org 0x0 db 'DIF1' ; 4 byte id dd Image1 ; Normal image dd Image2 ; Alpha image + Normal Image size dd Image2Size-Image2 ; Alpha image size dd Image2Size ; info Image1: file 'Bar.jpg' ; NORMAL Jpeg Image2: file 'BarAA.jpg' ; ALPHA Jpeg Image2Size:
I wanted alpha info in a jpeg, but its only 24bpp, so i make a image format that called DIF (Dex Image Format), that had 2 jpegs one with the alpha in.
And in many cases it still smaller than a png.
Last edited by Dex4u (2012-03-02 21:53:28)
Offline
Interesting...once I get past this CD Boot thing, I will working E820 memory issue, then Virtual File System Manager...so I can plug FATs in, CDFS, etcetera...as a driver. I'll start checking back here more frequently.
Offline
Good, I look forward to testing it - I think you have a very organized and neat design so I'm glad you're making progress.
Offline
I had forgotten how EXTREMELY frustrating it can be to debug Assembly code in Bochs for hours without getting any closer to a solution. Hahah, the good news is that the functions that i outlined above are completed, the bad news that they don't work.
it's kind of hard right now to figure out what part of the chain that's acting up. Could be any one of my new 3 functions, get_direntry, get_fatentry, get_cluster or it could also be my testing case, my lba2chs, my floppy driver, my VFS layer, my caching, my fat12 data structure or any pointers dealing with it, or just plain simple math error...
So I've got a few all-nighters bug-hunting sessions left before I can start implementing full read and dir support. Write will just have to wait until i got something semi-stable going.
Offline
Cool, progress, albeit slow, is still progress! I'm working the kinks out of the 64 bit coding now. I have the memory manager design requirements written, now I'm implementing, but between work and kids, it is tough.
Offline
I know that feeling, I've been trying to come up with a fast, clean memory block allocator but my progress is SLOW. Since when did you decide to rewrite your OS in 64bit assembly? :p
Offline