Page 1 of 2

Calling out all ASM programmers!

Posted: Sun 07 May, 2006 5:46 am
by Brazucs
Dear Amazingly Good ASM Programmers,

I'd like to bring your attention to something you might not have heard about yet.
A while ago, many of us started a project to make a new operating system for the TI-83 Plus and perhaps the 84. We've called it "Vera": you've probably seen a few signatures or even heard about it.

However, although we have plenty of ideas, we're lacking people like yourself: Amazingly Good ASM Programmers. Even mediocre ones, we only have one or two people willing to code.

Right now is the perfect time to expand on the project. We have a rudimentary OS up: the beginnings of a command-line interface.
We just need people to add in more commands. If you know a bit about asm, it's quite easy! Check it out here.

Therefore, since this wonderful community project will certainly end without strong community support, please take 5 or 10 minutes of your time to post some new command ideas, perhaps some asm code, or even an updated version of the OS.

I hope you will come by.

Sincerely,
Brazucs

Posted: Sun 07 May, 2006 6:59 am
by CoBB
This isn't exactly true, is it?
Brazucs wrote:Even mediocre ones, we only have one or two people willing to code.
This is not the kind of project I'd like to be realised by mediocre coders. Vera shouldn't be a sandbox for learning.
Brazucs wrote:We have a rudimentary OS up: the beginnings of a command-line interface.
The CLI doesn't have anything to do with the OS itself. We have practically zero OS code so far.
Brazucs wrote:We just need people to add in more commands.
This is a joke, right?
Brazucs wrote:...please take 5 or 10 minutes of your time to post some new command ideas, perhaps some asm code, or even an updated version of the OS.
Are you actually taking this seriously?

I think I sound much more hostile than I really am (since I'm not at all hostile ;)), but it's hard to comment such a 'pamphlet' in any less reserved manner.

In short, this is not just some basic coding exercise. This time we can't get away with the typical minimal planning practised in our own little projects. Just look at how much talk was already about the filesystem/memory management, and we still haven't fixed anything. And I still think we need a C prototype to model the behaviour of our ideas on the desktop before writing a single Z80 instruction. There's a long way ahead...

Posted: Sun 07 May, 2006 7:02 am
by L4E_WakaMol-King
If you don't feel like explaining here, just say so, but what will this OS do that the TIOS doesn't already do? Multi-tasking seems like a lot to ask from such a slow chip... window-based interface would be hard to do on a screen that small... on-calc code editors and compilers might be nice, but honestly I much prefer to code on my pc rather than on my calc. Is it going to offer more math-realted funtions than the TIOS?

Posted: Sun 07 May, 2006 8:37 am
by the_unknown_one
We've got a death one here?

Posted: Sun 07 May, 2006 9:01 am
by Brazucs
CoBB wrote:
Brazucs wrote:...please take 5 or 10 minutes of your time to post some new command ideas, perhaps some asm code, or even an updated version of the OS.
Are you actually taking this seriously?
You seem to be the only one who caught on, CoBB. However, it would be nice if more people started coding it. Perhaps a lil' humor will attract some guys over :)

On a more serious note, I'm in the process of moving most the vera stuff to sourceforge (unless UTI doesn't allow remote connections).
http://vera.sf.net/
or
http://vera.sourceforge.net/

Posted: Sun 07 May, 2006 9:58 am
by Jim e
I don't think a c prototype is really all that necessary at first. What was talked about a lot was making a base between hardware and code, and more specifically memory management. I don't see how much c would help those situations since its mostly port talk.

I wouldn't have mind staying in and talking with it, but from the last time I went there were only 3 *possible* coders, and I was the only one with an 83+. Everyone else that was going didn't seem to get practicality, or why the font wasn't important.

And really i didn't see anyone there willing or able to right a CAS, which would be the only worthwhile effort for such a project. Unless you just wanted to write a whole bunch of base code, gpl it and hope someday it would prosper into glory.

Posted: Sun 07 May, 2006 11:30 am
by CoBB
Brazucs wrote:Perhaps a lil' humor will attract some guys over
That's fine, the problem is when I can't tell which parts were intended to be humorous. :P
Jim e wrote:I don't think a c prototype is really all that necessary at first.
I was having the filesystem in mind actually. It's much easier to try various algorithms to arrange stuff and do large-scale profiling (count page erases, simulate crashes etc.) than even in an emulator. Also, the maths backend is also very complex, and it's likely to require lots of backtracking during the design phase. Restructuring assembly code is no fun.
Jim e wrote:And really i didn't see anyone there willing or able to right a CAS, which would be the only worthwhile effort for such a project.
You could do that on an SE too, just put everything in a big app.

To me, the point would be to create a better platform which allows more interoperability between applications and provides solid, efficient basic services with sensible programming interfaces, and open up all the useful features of the hardware (e. g. all the RAM) without forcing application coders to look for workarounds all the time. Just a simple thing, file management is a major pain in the TIOS. Also, it would be open and well-documented; maybe you all know why that's beneficial...

Posted: Sun 07 May, 2006 8:58 pm
by Timendus
Hmm, I think we do know more or less now what we want our core to do (keyboard input, screen output, link control and file system/memory management). We could start to define how we want our applications to interact with those things, from the perspective of the application programmer. Apart from how the Ti-OS handles things, how would you WANT to use text output, file storage, et cetera? What calls would we need, where do we store them, how do we call them, and from there we could start implementing those routines as soon as we have defined that particular area far enough. I think that would be the best approach.

Posted: Sun 07 May, 2006 9:00 pm
by Jim e
CoBB wrote:I was having the filesystem in mind actually. It's much easier to try various algorithms to arrange stuff and do large-scale profiling (count page erases, simulate crashes etc.) than even in an emulator. Also, the maths backend is also very complex, and it's likely to require lots of backtracking during the design phase. Restructuring assembly code is no fun.
Thats a good point.

CoBB wrote:To me, the point would be to create a better platform which allows more interoperability between applications and provides solid, efficient basic services with sensible programming interfaces, and open up all the useful features of the hardware (e. g. all the RAM) without forcing application coders to look for workarounds all the time. Just a simple thing, file management is a major pain in the TIOS. Also, it would be open and well-documented; maybe you all know why that's beneficial...
This is true, but there is still the fact that most people want their programs to be seen, a new os means a dramatically smaller audeince unless it can provide many of the features TI-OS(and even then). I guess really depends on support for apps and extending the os.

Posted: Mon 08 May, 2006 10:29 pm
by Fr0stbyte124
Have you been over to Detached Solutions yet? There are some guys over there who might be interested.

Posted: Wed 10 May, 2006 2:12 am
by elfprince13
check out my post on the vera forum about how to implement the trig functions.

Posted: Thu 11 May, 2006 1:43 am
by Brazucs
Fr0stbyte124 wrote:Have you been over to Detached Solutions yet? There are some guys over there who might be interested.
I haven't... I also don't have an account there, and signing up just to announce this might seem a bit opportunistic.
I'll wait for someone who's established there to come over to Vera or I'll PM someone I know. Benryves and the DragonOS guys might also be interested, eh?

Posted: Thu 11 May, 2006 2:58 am
by Andy_J
Go ahead and post over there. I'm slightly interested, I'll look into it more tomorrow.

Posted: Thu 11 May, 2006 1:37 pm
by kv83
To be honest, I think the best thing is to copy existing systems. Why not use a FAT-system for the File Management? Ok, it has it's drawbacks, but it's fairly uncomplicated. Use the FLASH to store data. It may be slow, but you can use the RAM to load games/apps to execute :)

Just change the cluster size to something more fitting, like 255 bytes. The FAT would, of course, be in RAM and FLASH (a copy, so if user screw up, they can go back to the old) :)

For those who don't know how FAT works:
http://en.wikipedia.org/wiki/File_Allocation_Table

It's pretty much straight-forward, but should work fairly well on a limited system.

As we don't need directories, it becomes even more simple :)

When loading a file, just copy the clusters in a right order from flash to ram, and execute. Maybe even enable to have some part of the ram for using "streaming" so bigger programs don't have to load in a-one-time effort.

Posted: Thu 11 May, 2006 3:56 pm
by CoBB
kv83 wrote:To be honest, I think the best thing is to copy existing systems.
Only if those systems have at least remotely similar capabilities. Since the flash ROM and a HDD are completely different devices, similar file systems are out of the question. There has been a lengthy talk about it already, why don't you check it out?