New firmware for the Swissmicros DM15L
|
06-08-2023, 12:34 PM
(This post was last modified: 06-08-2023 12:42 PM by goosnarrggh.)
Post: #20
|
|||
|
|||
RE: New firmware for the Swissmicros DM15L
(06-08-2023 06:53 AM)J-F Garnier Wrote:(06-07-2023 09:43 PM)jebedeo Wrote: The firmware right now takes ~54k of memory, so there is another 10k left before the ROM is maxed out on this particular calculator. From what I have seen the built in c functions (like sin, atan, et cetera) are the pieces of code that take the most memory. It probably helps that the original Nut instruction set was heavily optimized specifically to perform the kinds of BCD floating point tasks that were required in a device such as a calculator. It could operate on decimal nibbles, either in isolation or sequentially covering a selectable range of nibbles, all encoded within a single 10-bit instruction. It makes it rather straightforward to implement very compact elementary BCD floating point operations using just a couple of instructions. The ARM7TDMI instruction set, on the other hand, only really knows how to operate on bytes, 16-bit half-words, or 32-bit words, in an integer binary sense. Any kind of floating point operation will easily require substantially more instructions to complete. Hopefully, though, each elementary operation only needs to be implemented once, and then called as a subroutine in each additional instance where it's needed. But it certainly does make a persuasive argument in favour of focusing the ARM code solely on the task of emulating the elementary Nut instruction set, and then implementing the core logic in Nut instructions to take advantage of its compactness. |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 1 Guest(s)