So, essentially, what I want to accomplish is replacing *all* the internal hardware of a TI 84+, possibly also including LCD. The only thing that is a must-keep from the TI 84+ is the keyboard and form factor.
* I only own a TI 84+
Both the 84+ and 84+ SE have the same keyboard, IIRC, which I want to keep firstly due to the layout/labeling, and secondly because of the button type (which, IIRC, is not the same as the TI 83, which has softer keys with much less tactile feedback).
Regarding the keyboard, are the button contacts essentially a part of PCB? And if so, are they difficult to reproduce fairly accurately? Are the button contacts themselves the source of the keyboard's "feel" (the difference between the 83 and 84+)?
I'm currently looking at possible internals replacements, and the Raspberry Pi (A) looks like a good match. Anything with the following req's would do:
- 100+ MHz processor
- 100MB+ RAM
- 100MB+ ROM/secondary storage
- well-documented Linux support, large dev community
- GPIOs, of course
Unfortunately, the RasPi is, according to the FAQs, 21mm tall, which is frighteningly close to the slightly-less-than 1 inch thickness of the TI 84+.
The LCD is an open question. Right now, I'm wondering:
- Is the LCD size different at all between regular and SE? Measured by whether you could transplant a screen between them.
- Is the LCD hard to disconnect and resolder to GPIO pins?
- Is the LCD a bottleneck with regards to fps?
- Are there LCDs of close enough size to fit properly in the 84+ case?
* Obviously replacing the LCD offers the possibility of a much higher resolution and color screen.
After basic hardware, LCD, and keyboard, I'm looking at possible case mods, since the RasPi or analogous computers usually offer more connectivity than the 84+ case has space for. The audio port and USB should be able to fit, more or less, in the existing space, but what about ethernet and HDMI? This is not a huge priority, I'm not looking to make my calculator an all-in-one phone/calc/laptop, but I'm curious nonetheless.
And after all the hardware, of course, is software. Firstly, the internal hardware is assumably going to run Linux (a minimal distro, definitely not mainstream Ubuntu or the like). The most pressing issues are an appropriate LCD driver, USB connectivity, and keyboard input.
Second after the basic OS functionality is a TI-like environment. There are multiple ROM-based emulators out there (one is on this site!), so that would probably make the most sense, depending on relative speed. However, given a decent processor and proper LCD/keyboard drivers, it seems to me that it makes more sense to program an imitation from the ground up, since it's not that hard to compare functionality to a real TI calculator, and the catalog of functions, symbols, etc. for the 84+ is well-documented online. The graphics are comparatively simple and as far as basic functionality goes, it seems to be mostly text/symbols and respective offsets, and some fairly simple interface screens. I don't know whether something like this has been done before or if it is more difficult than it seems, but at first glance, it looks like this would be feasible and possibly quite useful for extending existing functionality.
... After all this, it may actually make more sense to simply create the case and keyboard as appropriate instead of purchasing a TI and replacing everything one-by-one -- but then again, if the LCD and buttons are more cooperative than they seem, maybe not! A lot of questions above, so I appreciate the sharing of knowledge.
* I only own a TI 84+
Both the 84+ and 84+ SE have the same keyboard, IIRC, which I want to keep firstly due to the layout/labeling, and secondly because of the button type (which, IIRC, is not the same as the TI 83, which has softer keys with much less tactile feedback).
Regarding the keyboard, are the button contacts essentially a part of PCB? And if so, are they difficult to reproduce fairly accurately? Are the button contacts themselves the source of the keyboard's "feel" (the difference between the 83 and 84+)?
I'm currently looking at possible internals replacements, and the Raspberry Pi (A) looks like a good match. Anything with the following req's would do:
- 100+ MHz processor
- 100MB+ RAM
- 100MB+ ROM/secondary storage
- well-documented Linux support, large dev community
- GPIOs, of course
Unfortunately, the RasPi is, according to the FAQs, 21mm tall, which is frighteningly close to the slightly-less-than 1 inch thickness of the TI 84+.
The LCD is an open question. Right now, I'm wondering:
- Is the LCD size different at all between regular and SE? Measured by whether you could transplant a screen between them.
- Is the LCD hard to disconnect and resolder to GPIO pins?
- Is the LCD a bottleneck with regards to fps?
- Are there LCDs of close enough size to fit properly in the 84+ case?
* Obviously replacing the LCD offers the possibility of a much higher resolution and color screen.
After basic hardware, LCD, and keyboard, I'm looking at possible case mods, since the RasPi or analogous computers usually offer more connectivity than the 84+ case has space for. The audio port and USB should be able to fit, more or less, in the existing space, but what about ethernet and HDMI? This is not a huge priority, I'm not looking to make my calculator an all-in-one phone/calc/laptop, but I'm curious nonetheless.
And after all the hardware, of course, is software. Firstly, the internal hardware is assumably going to run Linux (a minimal distro, definitely not mainstream Ubuntu or the like). The most pressing issues are an appropriate LCD driver, USB connectivity, and keyboard input.
Second after the basic OS functionality is a TI-like environment. There are multiple ROM-based emulators out there (one is on this site!), so that would probably make the most sense, depending on relative speed. However, given a decent processor and proper LCD/keyboard drivers, it seems to me that it makes more sense to program an imitation from the ground up, since it's not that hard to compare functionality to a real TI calculator, and the catalog of functions, symbols, etc. for the 84+ is well-documented online. The graphics are comparatively simple and as far as basic functionality goes, it seems to be mostly text/symbols and respective offsets, and some fairly simple interface screens. I don't know whether something like this has been done before or if it is more difficult than it seems, but at first glance, it looks like this would be feasible and possibly quite useful for extending existing functionality.
... After all this, it may actually make more sense to simply create the case and keyboard as appropriate instead of purchasing a TI and replacing everything one-by-one -- but then again, if the LCD and buttons are more cooperative than they seem, maybe not! A lot of questions above, so I appreciate the sharing of knowledge.