MaxCoderz

for your 1 bit pleasure!

All times are UTC




Post new topic Reply to topic  [ 130 posts ]  Go to page Previous  1 ... 5, 6, 7, 8, 9
Author Message
PostPosted: Wed 29 Oct, 2008 8:34 pm 
Offline
Calc King
User avatar

Joined: Sun 23 Jan, 2005 12:37 am
Posts: 1727
Location: Netherlands
magicdanw wrote:
I'm kind of interested in the file system implementation. In Vera, will there only be a filesystem in flash memory, and all ram will considered volatile? Or will there also be a ram filesystem?

I'm not sure we agreed on the latter, but yes, the main file system should be entirely in flash, not using the RAM.

Quote:
I found this website, where someone describes a simple filesystem he/she wrote for a small computer (z80, in fact!) I could write a filesystem based on his/her specs, with modifications agreed upon by the Vera team.

That would be totally awesome :)

Quote:
We can have a bit that marks a file valid or invalid, and when the file has to be re-saved with changes, we mark the original invalid, and write the new valid one below the files on whatever sector it fits in, and update pointers. Sector cycling only needs to happen when we run out of space on all the sectors and want to get rid of the invalid entries. Wait...darn, that's garbage collection.

Yes, but that's still probably the best way to do it. You don't want to erase the flash every time you need to save a new file. However; TI-OS garbage collect goes through the entire flash, if I'm not mistaken, and we could choose to garbage collect only one page "on the fly" when it is needed. That should make it responsive enough I hope?

Quote:
Update Two: Hmm, I took another look at the filesystem driver page on the wiki. There are no specs for directories! Are we really going to make a filesystem a la TIOS, without directories? They're so useful!

I'm all for directories, and I think most people were.

Quote:
You know, I think you'd better give me an account or add me to the mailing list, however I can communicate with team members. There are some things I want to talk about with the team! :)

Could you give me your e-mail address? PM it to me or something, I'll add you to the mailinglist. We don't check the wiki all that often ;)

Edit: Did I mention how great it is to see some outside interest in our project yet? I really appreciate you wanting to help us out with actual code on an actually useful part of the system :rofl:

_________________
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS


Top
 Profile  
 
PostPosted: Wed 29 Oct, 2008 9:35 pm 
Offline
New Member

Joined: Mon 16 Jul, 2007 7:02 am
Posts: 30
Actually, it's about 3/4 that I'm interested in the project, and 1/4 that I know my CS 140 curriculum already, and I'm freakin bored! :twisted:


Top
 Profile  
 
PostPosted: Thu 30 Oct, 2008 3:28 am 
Offline
Regular Member
User avatar

Joined: Wed 18 Oct, 2006 7:34 pm
Posts: 112
Location: The ex-planet Pluto
Ooh, idea! What about whenever you fill a flash sector, rewrite it except with deleted files removed! Might work...

_________________
~calc84maniac has spoken.

Projects:
F-Zero 83+
Project M (Super Mario for 83+)


Top
 Profile  
 
PostPosted: Thu 30 Oct, 2008 2:09 pm 
Offline
Calc King
User avatar

Joined: Sun 23 Jan, 2005 12:37 am
Posts: 1727
Location: Netherlands
The problem with that is that you get seemingly random delays when working with files. We'll have to choose if we want seemingly random delays or a generally slow file system or leaving garbage collecting to the user or have a very inefficient file system...

Edit: also, it wouldn't have wear levelling, and it would destroy your memory pretty fast ;)

_________________
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS


Top
 Profile  
 
PostPosted: Thu 30 Oct, 2008 3:36 pm 
Offline
Extreme Poster
User avatar

Joined: Thu 17 May, 2007 4:49 pm
Posts: 395
Location: $4080
Timendus wrote:
The problem with that is that you get seemingly random delays when working with files. We'll have to choose if we want seemingly random delays or a generally slow file system or leaving garbage collecting to the user or have a very inefficient file system...

Edit: also, it wouldn't have wear levelling, and it would destroy your memory pretty fast ;)

However I think the method he uses would suit Vera quite well, storing stuff in fixed size blocks will make garbage collection very easy.
Also his concept can easily be expanded for wear levelling, allow the BAT block anywhere and keep a reference to it in RAM, if RAM gets reset you could just search every block until you find it. Same with the root folder.

Some changes I'd make for Vera:
Reduce the block size to 512 or 1024 bytes (32kb is a lot... On my 80gb hd drive, it uses blocks of 4kb)
Drop all "Not used" space (which he used to pad his header).
Allow directories to span multiple blocks.

I think we can actually pull this off :D


Top
 Profile  
 
PostPosted: Thu 30 Oct, 2008 11:55 pm 
Offline
Calc King
User avatar

Joined: Sun 23 Jan, 2005 12:37 am
Posts: 1727
Location: Netherlands
Dries, I think we're talking about different methods... My reply was to calc84maniac, not to the link magicdanw posted, which is what I guess you're referring to ;)

Anyway, I suggest we leave this subsystem to magicdanw to play with, I wouldn't want to tell him how to implement things and take out all the fun :mrgreen: Unless he's interested in some suggestions and feedback, of course?

Edit: just read through the "PQSF" specification magicdanw posted, and it does look promising. I completely agree with your suggested modifications. I'd like to add though that we shouldn't forget to add a field in the block header to indicate that it needs to get garbage collected, and a way to update directory pointers when blocks get moved around. And also that we need to keep in mind that we can't load two flash pages into addressable memory at once, unless we disable interrupts, which we don't want unless absolutely necessary. My point being: if garbage collecting means having to move every block or two from one flash page to another individually, using the RAM as temporary storage, it could still take a while. I could think of some solutions, but I'm just pointing out the obvious here just in case ;)

Might I suggest we move this discussion to the mailinglist?

_________________
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS


Top
 Profile  
 
PostPosted: Fri 31 Oct, 2008 1:44 am 
Offline
Extreme Poster
User avatar

Joined: Thu 17 May, 2007 4:49 pm
Posts: 395
Location: $4080
Timendus wrote:
Dries, I think we're talking about different methods... My reply was to calc84maniac, not to the link magicdanw posted, which is what I guess you're referring to ;)

Whoops. My bad.

Quote:
Might I suggest we move this discussion to the mailinglist?

Oh yeah, almost forgot we had one. :P


Top
 Profile  
 
PostPosted: Fri 04 May, 2012 2:57 pm 
Offline
Calc King
User avatar

Joined: Sun 23 Jan, 2005 12:37 am
Posts: 1727
Location: Netherlands
For old time's sake: The Vera wiki is up again at http://vera.timendus.com/
Huzzah! :mrgreen:

_________________
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS


Top
 Profile  
 
PostPosted: Fri 04 May, 2012 4:50 pm 
Offline
Regular Member
User avatar

Joined: Wed 11 Jul, 2007 10:42 pm
Posts: 133
Location: Behind You
Haha, I can't believe it! Apparently I subscribed to this topic years ago. I've moved on to creating applications for the Wii (my latest is http://tinyurl.com/SettingsEditorGUI), but if you want to start this project up again, I might be able to help out this time. I know Java, SCHEME, and I'm learning C.

Man, this brings back memories.

_________________
"Macs are the Perfect Computers", said the Perfect Idiot.
Image
Testing for:
Vera


Top
 Profile  
 
PostPosted: Sat 05 May, 2012 2:00 pm 
Offline
Regular Member
User avatar

Joined: Sun 09 Sep, 2007 8:50 pm
Posts: 119
Location: The dark side of the moon
Another pleasant surprise Timendus. It's nice to see you still around as well JoostinOnline. :) I haven't seen you in ages..

_________________
Projects:
Projects:TBA-Soonish. :)
Updated 5/3/12


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 130 posts ]  Go to page Previous  1 ... 5, 6, 7, 8, 9

All times are UTC


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB ® Forum Software © phpBB Group | DVGFX2 by: Matt