![]() ![]() If you enter 4,5,D>R,sin,cos,tan,atan,acos,asin,R>D you arrive back MILES from where you started - great stuff! ![]() I love the purple display (actually a perspex diffuser over a standard RED LED display), I love the fact that it's powered by a PP3 that bulges out the back but I particularly love the fact that 4,5,D>R,sin actually takes about 10 seconds to show the result (you can almost hear the cogs turning inside there). Of them all I think my two examples of the Sinclair Cambridge Programmable are my favourites - probably because these were the very first scientific calculators I ever owned. I actually (sporadically) collect calculators (though no HP rather ironically). I wonder if that's what set the "standard" for display 8 digits on a lot of the early calculators - because it's just beyond this that you start to see the errors creeping in more obviously? Something commonly called a high-level language.īCD is fine for a "4 banger" (great phrase!) but it gets a wee bit trickier with scientific notation as you then have to carry around an exponential shift value with the "mantissa" but you are right that it's better for accuracy than relying on IEE754 which cannot, for example, accurately represent 0.1 (which is a bit of a shame for 10 fingered human beings)īut if one goes the IEEE754 route and just uses a C lib then with 64 bit floats you have a pretty reasonable amount of accuracy (I'm pretty sure the Windows and many other "GUI" calculators just use the standard libm.a of their C compiler). You need something that enables you to express algorithms and operations in a simple, debuggable(!), testable and maintainable way. You need nothing "direct" (whatever that means) to implement an RPN calculator. Everything crammed into that 256 KNibble (128 KByte) ROM. The software was written in HP's version of FORTH. It used a 1 MHz processor, with 4 Bit (a nibble) external word size, 64 bit (16 nibbles) internal registers, 20 bit (5 nibble) address bus, 2 KNibble (1 KByte) RAM, 258 KNibble (128 KByte) ROM. That thing was released 22 years ago in 1986. THE CALCULATOR that paved the way for scientific RPN calculators.Īmong its many features it had an algebraic solver, symbolic math including symbolic differentiation, numeric integration, a large library of unit conversion, a graphic display with plot routines, a few hundred build-in functions, a programming language, menu system, IR printer interface, support for hex and binary math, complex numbers, statistics, matrices, you name it, it got it. I mentioned HP, so take the HP28C for example, Hewlett-Packard's first true scientific RPN calculator. Even 20 years ago people already wrote calculator firmware in high level languages, not assembler. GreenMan87 wrote: when it comes to code size reduction I think I'm better off with ASM since it's more direct.Apparently you haven't understood the gist of it all. ![]() I would be more efficient approaching this project with a high level language, but I'm not JS, and I don't want to start a which is better/faster/easier/etc. Base your decision of that, not on the perceived speed difference of the two approaches. Pick whichever language you like and are most comfortable with. If the data results are written to a Graphic LCD then that interface, too, will be very slow with respect to the majority of your calculations. For 90+ % of the calculations the efficiency of your keypad debounce will be more significant than the difference between C and Asm. ![]() I'm betting you can not tell the difference in the "End User Experience" between writing in C or Asm. Go write some quick, sample code, and test it. You can run your uC at 20 MHz, or even higher if you use an Xmega. Data is entered, by most people, using one finger. Quote: I'd have said a C program doing this may be 10% larger and 10% slower than doing it in Asm. Thanks everyone for suggesting stuff! I now know that it doesn't take that much ram and flash to get this done. I'll be writing all the code myself and using an optimizing compiler. I'm telling you exactly what I need - a reprogrammable graphing calculator that can do all the standard scientific functions and some other possible stuff like quick solving of equations. Unless there's some requirement you're not communicating to us, you're vastly over-specifying the CPU horsepower and memory you'll need. You would only need it (perhaps) if you needed to perform them very fast. You don't need 32 bits to perform the calculations. I think you'd be just fine with 32k of flash - get 64k if you want to feel extra, extra safe. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |