Reviving the Vera project!
Moderator: MaxCoderz Staff
- JoostinOnline
- Regular Member
- Posts: 133
- Joined: Wed 11 Jul, 2007 10:42 pm
- Location: Behind You
Aren't you people amazingly funny...
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
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
- Art_of_camelot
- Regular Member
- Posts: 124
- Joined: Sun 09 Sep, 2007 8:50 pm
- Location: The dark side of the moon
- Contact:
Yay, we've got memory allocation... well, most of it
Application programmers are going to love this: RAM applications can allocate up to about 15kb of memory for whichever use. Flash applications should (soon) be able to allocate twice as much. Compare that to being stuck with saferams 1, 2 and 3
How The Stuff Works
How To Use The Stuff
As always, feedback and suggestions are welcome!
Application programmers are going to love this: RAM applications can allocate up to about 15kb of memory for whichever use. Flash applications should (soon) be able to allocate twice as much. Compare that to being stuck with saferams 1, 2 and 3
How The Stuff Works
How To Use The Stuff
As always, feedback and suggestions are welcome!
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
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
I forgot to mention that we've also introduced a "scratchpad" of 50 bytes in kernel memory that developers can use if they just quickly need to dump a few bytes.
But kv, imagine a greyscale game for Vera, for example. You shouldn't have to use im2 because you can hook your interrupt handler in the im1 timer interrupt and tweak the timer to suit your needs, which saves you setting up a jump table and relocating your interrupt routine. Also, you can just allocate two 768 bytes memory regions for the seperate display buffers without worrying where they end up. Then, you allocate a few k to uncompress your map or sprite data... You see the picture?
Edit: Had to go get lunch, here's the rest of it
Also, we're thinking about adding some kind of task switching thing (think "alt tab", not real multitasking) on the kernel level, which will require us to seperate application memory, which is a thing you can't do with static saferams, and you can with allocated memory. On the VM level we're even considering real multitasking.
Vera is being written to be fun for developers, not necessarily to be a good calculator, so everything that's now state of the art in our little developer community (greyscale, hopefully multi calc linking, perhaps even some of Ben's hardware hacks) should be a lot easier to do on Vera, or even get supported by default by the kernel. This will enable people to look beyond the obvious and be truely creative, I hope.
But kv, imagine a greyscale game for Vera, for example. You shouldn't have to use im2 because you can hook your interrupt handler in the im1 timer interrupt and tweak the timer to suit your needs, which saves you setting up a jump table and relocating your interrupt routine. Also, you can just allocate two 768 bytes memory regions for the seperate display buffers without worrying where they end up. Then, you allocate a few k to uncompress your map or sprite data... You see the picture?
Edit: Had to go get lunch, here's the rest of it
Also, we're thinking about adding some kind of task switching thing (think "alt tab", not real multitasking) on the kernel level, which will require us to seperate application memory, which is a thing you can't do with static saferams, and you can with allocated memory. On the VM level we're even considering real multitasking.
Vera is being written to be fun for developers, not necessarily to be a good calculator, so everything that's now state of the art in our little developer community (greyscale, hopefully multi calc linking, perhaps even some of Ben's hardware hacks) should be a lot easier to do on Vera, or even get supported by default by the kernel. This will enable people to look beyond the obvious and be truely creative, I hope.
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
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
- Art_of_camelot
- Regular Member
- Posts: 124
- Joined: Sun 09 Sep, 2007 8:50 pm
- Location: The dark side of the moon
- Contact:
I don't know that there is really any practical use for multi-tasking. I can't really see many people getting too much use out of that feature if you were to include it in Vera. I don't know how much space it would take to implement a muti-tasking feature either, but either way it seems rather superfluous to me.
Art_of_camelot wrote:I don't know that there is really any practical use for multi-tasking. I can't really see many people getting too much use out of that feature if you were to include it in Vera.
VM != VeraI wrote:Also, we're thinking about adding some kind of task switching thing (think "alt tab", not real multitasking) on the kernel level [...] On the VM level we're even considering real multitasking.
Vera == kernel
VM == application
Task switching != multitasking
Think of it like a mobile phone, where you can jump back to the main menu at any point to do something completely different, and when you close the "window" it'll return to where you were. Think of it like Alt+Tab (only not windowed, so applications fill the whole screen), and only the visible application gets processor time. Think of it like the ultimate teacher key, where you simply switch to your CAS application from your game with a keystroke when a teacher walks by, and switch back when he leaves.
Plans for the VM aren't very clear yet, but it would be fun to have multitasking built in. We'll see what the possibilities are, and how useful they are with respect to the language.
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
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
- JoostinOnline
- Regular Member
- Posts: 133
- Joined: Wed 11 Jul, 2007 10:42 pm
- Location: Behind You
Re: Reviving the Vera project!
I can't believe it has been so long since we posted anything on here. I tried to tell myself that everyone was just busy, but I guess we (mostly me) finally have to accept that this will probably never be finished
But who knows, maybe someday another team will come along and finish the project.
But who knows, maybe someday another team will come along and finish the project.
Re: Reviving the Vera project!
Hey dude
I've been playing with it a bit just a month or two ago, but haven't made much progress. I've made an include file for "Vera applications" and written a few small apps, but the problem is that the binaries still need to be compiled into the kernel, because we don't have linking or a file storage system yet (so if anyone wants to contribute to that... ). Ben gave me his link routines, but I haven't got the time (or the motivation) to work on it right now.
It's not really dead, it's just waiting for a surge of interest in z80. The forum isn't much livelier, is it?
I've been playing with it a bit just a month or two ago, but haven't made much progress. I've made an include file for "Vera applications" and written a few small apps, but the problem is that the binaries still need to be compiled into the kernel, because we don't have linking or a file storage system yet (so if anyone wants to contribute to that... ). Ben gave me his link routines, but I haven't got the time (or the motivation) to work on it right now.
It's not really dead, it's just waiting for a surge of interest in z80. The forum isn't much livelier, is it?
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
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
- JoostinOnline
- Regular Member
- Posts: 133
- Joined: Wed 11 Jul, 2007 10:42 pm
- Location: Behind You
Re: Reviving the Vera project!
I am glad to hear that. I wish I was able to help more at the moment, but since I know so little about asm, the only thing I can offer is my "testing" calculator (bought it broken for $15 and fixed it).
Re: Reviving the Vera project!
If anyone can point me in a direction that needs work, I might be interested in helping out...
Re: Reviving the Vera project!
Good to hear!
http://vera.timendus.com/
svn://timendus.student.utwente.nl/vera
SVN user/pass: vera/calcloversplace
If you want an account on the wiki/to be added to the mailinglist, drop me a line.
Like I said; we really need file storage and TI-OS compatible link routines. Any help in those directions would be greatly appreciated!
http://vera.timendus.com/
svn://timendus.student.utwente.nl/vera
SVN user/pass: vera/calcloversplace
If you want an account on the wiki/to be added to the mailinglist, drop me a line.
Like I said; we really need file storage and TI-OS compatible link routines. Any help in those directions would be greatly appreciated!
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
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
Re: Reviving the Vera project!
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 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.
http://www.retroleum.co.uk/z80-filesystem.html
One important thing I'm worried about, though, is if the filesystem is intended for flash memory. The smallest sector is 64kb, which will have to be erased and rewritten for all file saves. Therefore, we'll want to implement some form of wear-leveling. TI-OS had its garbage collection, but that was pretty lame. I think we can come up with something better. Perhaps, every time a file is written, the sector its in is copied (with changes) to a new sector (not a swap sector, but a legit sector) and the old sector is marked as dirty, waiting to be erased and used later. The sectors could be kept in a sorted list, so that they aren't re-used too often, and if a sector is ever found to be faulty, it could be taken off the list, so that the whole calculator isn't useless!
I'm afraid I'm in the middle of a cappella hellweek, and as a result I can't let myself spend my free time on much else besides studies for university classes. But once things settle down, I'd love to get more involved in this project!
Update: I'm a dum-dum! Functioning on very little sleep, so sorry about a mistake I made about how to do wear-leveling. It's not as bad as I thought at first. 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. I'm confused....gonna have to think about this one some more. Figure out what we want to do to keep speed up and wear down....Sleep would help, that's for sure. Gonna have to wait a bit for that though.....
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! 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!
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.
http://www.retroleum.co.uk/z80-filesystem.html
One important thing I'm worried about, though, is if the filesystem is intended for flash memory. The smallest sector is 64kb, which will have to be erased and rewritten for all file saves. Therefore, we'll want to implement some form of wear-leveling. TI-OS had its garbage collection, but that was pretty lame. I think we can come up with something better. Perhaps, every time a file is written, the sector its in is copied (with changes) to a new sector (not a swap sector, but a legit sector) and the old sector is marked as dirty, waiting to be erased and used later. The sectors could be kept in a sorted list, so that they aren't re-used too often, and if a sector is ever found to be faulty, it could be taken off the list, so that the whole calculator isn't useless!
I'm afraid I'm in the middle of a cappella hellweek, and as a result I can't let myself spend my free time on much else besides studies for university classes. But once things settle down, I'd love to get more involved in this project!
Update: I'm a dum-dum! Functioning on very little sleep, so sorry about a mistake I made about how to do wear-leveling. It's not as bad as I thought at first. 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. I'm confused....gonna have to think about this one some more. Figure out what we want to do to keep speed up and wear down....Sleep would help, that's for sure. Gonna have to wait a bit for that though.....
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! 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!