Hi Everyone!

As an electronics project for myself, I am looking to build a custom graphing calculator PCB and operating system using either an ARM7 or an EZ80. I would mill the chassis out of aluminium to add the secondary paperweight feature. However, I am not sure what in all I should include in my design. I'm thinking probably most features of the 84 Plus CE, plus a little bit of CAS, and SD card support.

I know this project will take me some time, but I have experience with designing custom ASICs and PCBs as well as CAD and CAM (for the aluminium case), so it won't be too much of a learning curve (hopefully!).

My main question is if you had a dream calculator, what features would it have? How would you construct it? QWERTY keyboard? Touchscreen? Pen input? Touchpad/cursor? Special math functions?

Any input would be appreciated!

Thanks in advance,
Tootsky3
Powerful components that are enough for GBA emulation at reasonable speed would be a nice start.
I'd want a way to program on calculator on a faster language than TI BASIC. Maybe you could accomplish this by compiling the language before it's run, like how ICE does it. ICE has a risk of ram clears if you do something wrong though, so it's always a better idea to use an emulator or keep backups.
In summary: It would be cool if you could compile a language like TI BASIC on calculator and run it
without risk of ram clear.
Hopefully that makes sense.
slimeenergy wrote:
I'd want a way to program on calculator on a faster language than TI BASIC. Maybe you could accomplish this by compiling the language before it's run, like how ICE does it. ICE has a risk of ram clears if you do something wrong though, so it's always a better idea to use an emulator or keep backups.
In summary: It would be cool if you could compile a language like TI BASIC on calculator and run it
without risk of ram clear.
Hopefully that makes sense.


That's really not feasible at the speeds you are hoping for, as explained several times in the ICE thread Wink

The whole act of compilation turns the language into ez80 machine code, a language the CE's chip understands. By the very nature of how assembly language interfaces directly with the hardware, getting something wrong leads to a ram reset (or worse, but I hear that's super hard to do non-maliciously)
Oh, okay. Is it possible to detect if the ram will reset and not run it if it will?
By the nature of calculator resets, it's impossible to do so. Resets occur when the program accesses an invalid memory area or executes an invalid instruction, which can happen often in alpha programs. When this happens, control is given to the OS, usually in an attempt to have the OS recover. TI, however, chooses to reset the calculator when such a thing happens because it's much easier to ensure the state won't be corrupt that way. It's also important to note that programs also sometimes freeze, requiring manual reset.
slimeenergy wrote:
Oh, okay. Is it possible to detect if the ram will reset and not run it if it will?


That's a reasonable next question, but no, I don't think that's possible. I believe that detecting if a rat reset will occur is related to the halting problem.

Maybe if you could sandbox the program or whatever, but that's incredibly difficult, I'd imagine.
_iPhoenix_ wrote:
slimeenergy wrote:
Oh, okay. Is it possible to detect if the ram will reset and not run it if it will?


That's a reasonable next question, but no, I don't think that's possible. I believe that detecting if a rat reset will occur is related to the halting problem.

Maybe if you could sandbox the program or whatever, but that's incredibly difficult, I'd imagine.


That's too bad, but thanks for explaining it.
Take at look at the NumWorks open-source calculator. You can use the existing hardware and software designs as a starting point for yourself. You can even buy one and use the physical hardware as a starting point, slowly replacing parts you make yourself while always having a complete, functioning unit.

I don't actually have one myself, but it looks like a reasonable design. The biggest shortcoming is the limited on-board flash, but they seem to have thought of that and added an unused SPI header, so an industrious user could hack in an SD card, although the calculator supplies a 2.8 V instead of the 3.3 V default for SD cards. Modern cards support a 1.8 V operation mode, though, so maybe some or even most cards will work just fine at 2.8 V.
There are a couple of active projects about designing 'dream calculators' - which is good!

I think it is also important to balance processing power with power consumption. It is no good having a pocket emulation station in a calculator if you need to charge it after 4 hours.

Do you have some starting specs in mind? You mention that you have experience designing ASIC's etc ... will you be doing that for this project? (Sounds expensive for a project - unless you are planning on mass producing one day?) Or would you be looking at a more off the shelf solution?
tr1p1ea wrote:
There are a couple of active projects about designing 'dream calculators' - which is good!

I think it is also important to balance processing power with power consumption. It is no good having a pocket emulation station in a calculator if you need to charge it after 4 hours.

Do you have some starting specs in mind? You mention that you have experience designing ASIC's etc ... will you be doing that for this project? (Sounds expensive for a project - unless you are planning on mass producing one day?) Or would you be looking at a more off the shelf solution?


It will be expensive for me to produce this. I am really not sure if I want to start with an off the shelf eZ80, ARM7, some other microprocessor, or just use an FPGA and create a custom one/order a custom manufactured ASIC (can't really do that myself, unless I want this calculator to take up half a room!). I was thinking of producing a few extras of these and selling them to friends/family to help offset the costs of producing just 1.

Also, would you mind linking some of the dream calculator threads you were talking about? I couldn't find them anywhere...

DrDnar wrote:
Take at look at the NumWorks open-source calculator. You can use the existing hardware and software designs as a starting point for yourself. You can even buy one and use the physical hardware as a starting point, slowly replacing parts you make yourself while always having a complete, functioning unit.

I don't actually have one myself, but it looks like a reasonable design. The biggest shortcoming is the limited on-board flash, but they seem to have thought of that and added an unused SPI header, so an industrious user could hack in an SD card, although the calculator supplies a 2.8 V instead of the 3.3 V default for SD cards. Modern cards support a 1.8 V operation mode, though, so maybe some or even most cards will work just fine at 2.8 V.


As stated in this github issue, the SD card slot could be populated, but there is not currently any firmware written for it, nor a system built to really support it in general. Otherwise, I would have totally gone out and populated the SD card slot and just written my own CAS and whatnot.


Lastly, for all who were discussing the ICE issue - since this would be custom hardware and not necessarily an eZ80, this problem could easily be solved. Thanks for bringing up that point!
Here are some links to the other similar kinds of projects I mentioned - some are mods, others are standalone. I don't believe there is anything along the lines of a custom ASIC etc, which sounds very ambitious!:

https://www.cemetech.net/forum/viewtopic.php?t=10917&start=0
https://www.cemetech.net/forum/viewtopic.php?t=13127&start=0
https://www.cemetech.net/projects/item.php?id=22
https://www.cemetech.net/projects/ee/ucalc2/
https://www.cemetech.net/forum/viewtopic.php?t=4181&postdays=0&postorder=asc&start=0
tr1p1ea wrote:
I don't believe there is anything along the lines of a custom ASIC etc, which sounds very ambitious!

That's because spinning your own ASIC is hundreds of thousands of dollars. All the cool people use FPGAs.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement