Page 1 of 1

Your dream calculator shell.

Posted: Fri 13 Jun, 2008 10:22 am
by qarnos
I was just wondering on what everybody's idea of the perfect calculator shell is. It's one of those things I would love to code one day, but will probably never get around to it. But still, it's cool to think about these things and work out what would be possible!

I think the key feature I would like is relocatable programs. I did a bit of work with the MS PE format a while ago and it got me thinking about a few things. It would, theoretically, be possible to create a calc executable format with different relocatable sections, just like PE/COFF files. You could including information on whether a section is read-only (flash loadable) or executable (load below $C000), etc. It would be a nightmare to code, but sure would be cool :) Not to mention that you would need an assembler capable of producing the relocation information.

On-calc program compression would also be a must.

Any other ideas?

Posted: Fri 13 Jun, 2008 10:53 am
by King Harold
Properly chainable hooks! :)
A memory allocation that is actually fast
Better use of the extra RAM pages on the calcs that have them
Real floats (for faster multiply, less space, etc)
Incremental Flash GC (hm.. in a shell?)
No mess during GetKey

Posted: Fri 13 Jun, 2008 12:43 pm
by benryves
A standardised way of loading and accessing binary libraries would be nice.

REL files (as used by Microsoft's 8080/Z80 CP/M development tools) might be suitable for use as a relocatable program format; they're relatively simple and quite small (being stored as a bit stream), and support program and data segments.

Whilst running programs directly from Flash sounds like a nice idea, I'm not sure how well it would work in practice if the program ends up crossing a page boundary (assuming that's what you're referring to?)

I second the suggestion of a decent maths library (be it floating or fixed point); a graphics library with an emphasis on ease of use (so, all operations are clipped by default and preferably using 16-bit coordinates) would also be welcome.

Posted: Fri 13 Jun, 2008 1:24 pm
by Dwedit
King Harold wrote:Properly chainable hooks! :)
A memory allocation that is actually fast
Better use of the extra RAM pages on the calcs that have them
Real floats (for faster multiply, less space, etc)
Incremental Flash GC (hm.. in a shell?)
No mess during GetKey
MirageOS disables 2nd+OFF during GetKey, and Crunchyos just gurantees that memory is in a consistent state, so 2nd+OFF doesn't corrupt anything.

Posted: Fri 13 Jun, 2008 1:36 pm
by King Harold
Yup that's what I mean
It would be kinda odd to have a dream shell without that now wouldn't it?