0 Members and 4 Guests are viewing this topic.
Thanks for pointing out the directory problem. I hate using hex for that kind of thing, I always make a mistake like that.As for virtual pages, it sounds like a great idea to start. However, it would get pretty inefficient, pretty fast. Imagine you're several GCs into the usage of the filesystem. The virtual pages end up completely different then the normal ones. When looking for file entries, or reading from a stream, crossing page boundaries becomes very slow - you'd have to swap through every physical page until you find the virtual one you need. That worries me, since you already need to search all entries to find the last file added. It would be even worse for garbage collection. Plus, the flash chip is a tough puppy. I've only ever heard of one calculator's flash dying.
Thanks for pointing out the directory problem. I hate using hex for that kind of thing, I always make a mistake like that.As for virtual pages, it sounds like a great idea to start. However, it would get pretty inefficient, pretty fast. Imagine you're several GCs into the usage of the filesystem. The virtual pages end up completely different then the normal ones. When looking for file entries, or reading from a stream, crossing page boundaries becomes very slow - you'd have to swap through every physical page until you find the virtual one you need.
As for virtual pages, it sounds like a great idea to start. However, it would get pretty inefficient, pretty fast. Imagine you're several GCs into the usage of the filesystem. The virtual pages end up completely different then the normal ones. When looking for file entries, or reading from a stream, crossing page boundaries becomes very slow - you'd have to swap through every physical page until you find the virtual one you need.
ld h,virtual_page_table/256ld l,a ; a is the virtual page numberld a,(hl) ; now a is the real page number
Fine, and it's pretty much done. I just want to get it implemented in KnightOS before releasing it.