[Contest] 6507 Calculator
Posted: Wed Jan 15, 2020 10:01 pm
For my entry, I plan to build a scientific calculator. I've done some other projects working up to building a full-fledged graphing calculator with a 6502, so it should be fun to build a much reduced version that fits in only 8KB of memory. Here is the outline of what I plan as the rules require:
Software
Four-level RPN stack similar to old HP calculators like the HP-35. Calculations will be BCD floating point with precision around 10 digits. Four functions, trig, and logs will probably take up a lot of the 8KB, but if there is room (and time) left, simple keystroke programming might be possible.
Memory
Most of the 8KB range will probably be ROM with the RIOT providing some or all of the RAM. Hmm, not sure if there is a way to get the glue logic to use the RIOT as partially zero page and partially hardware stack. If the there is room left in the ROM, it might make sense to add a little more RAM to hold keystrokes for a keystroke programming mode.
Output
A screen of some sort. There are a lot of options, especially since running off a small battery is not possible anyway. HD44780 is an obvious choice but might come up with something more interesting like a VFD display. Most of the displays I've looked into like OLEDs and Nokia 1202s will probably be too small compared to how big the rest of the calculator will have to be.
Input
Keypad with 30-40 3D printed keys. Size and layout will probably mostly be determined by how big the underlying circuit board is. The RIOT has enough pins to multiplex this but might need an additional shift register since it has to drive the LCD too.
That's about it. Open to input and suggestions as the rules encourage
Good luck!
Software
Four-level RPN stack similar to old HP calculators like the HP-35. Calculations will be BCD floating point with precision around 10 digits. Four functions, trig, and logs will probably take up a lot of the 8KB, but if there is room (and time) left, simple keystroke programming might be possible.
Memory
Most of the 8KB range will probably be ROM with the RIOT providing some or all of the RAM. Hmm, not sure if there is a way to get the glue logic to use the RIOT as partially zero page and partially hardware stack. If the there is room left in the ROM, it might make sense to add a little more RAM to hold keystrokes for a keystroke programming mode.
Output
A screen of some sort. There are a lot of options, especially since running off a small battery is not possible anyway. HD44780 is an obvious choice but might come up with something more interesting like a VFD display. Most of the displays I've looked into like OLEDs and Nokia 1202s will probably be too small compared to how big the rest of the calculator will have to be.
Input
Keypad with 30-40 3D printed keys. Size and layout will probably mostly be determined by how big the underlying circuit board is. The RIOT has enough pins to multiplex this but might need an additional shift register since it has to drive the LCD too.
That's about it. Open to input and suggestions as the rules encourage