Jump to content
43oh

Simulating a TI calculator with crazy 11-bit opcodes


Recommended Posts

Bump.

 

Finally moved the emulator to a single PCB design (after one failed PCB design). Now my kids can take them and use them in school.

 

Source code can be found at https://github.com/simpleavr/tms0800.

 

Source code based on Ken Shirriff and other's work, please see http://righto.com/ti and http://righto.com/sinclair

 

 

A few photos...

 

attachicon.gifcal01.jpgattachicon.gifcal02.jpgattachicon.gifcal03.jpg

 

PCB design available upon request.

Awesome @@simpleavr. Here you go: http://43oh.com/2014/06/going-steampunk-with-the-msp430-a-retro-calculator/

 

You should create a project build thread.

Link to post
Share on other sites

Wow! This is really cool! Doesn't touching the metal on the back every short anything?

 

Yes, it reset itself if my finger is on certain pins of the MCU. Apart from electric contact, my daughter complained and ask me to make it non-spikely / (non-spiky?)

 

The back will be bound to a piece of hard plastic, current thinking is a cut out from clam-shell packaging material w/ "catches" along the edge. Have not make it yet.

 

But I do use it daily as my job needs a lot of simple adding.

Link to post
Share on other sites

Really Cool little project and very attractive for kids. Would you share the PCB design? 

 

Yes, you can make it relatively easily and cheap. I ordered from Elecrow. They now have a 10 x 10 cm green pcb special. Mine is like 8.5 x 5 cm and it cost me less than $20 including shipping.

 

Bubble led you can get from Sparkfun for a few dollars. Buttons, coin cell holder etc are all from ebay / DX.

 

I am not a good PCB designer. The layout is done w/ Fritzing, but it is not clean (and it works though), in that I did not clean up the schematic. I just dived in a place my buttons and start traces.

 

I will upload in a few days, do you prefer Fritzing format or a zip package that you can place Elecrow PCB order?

 

The current layout is not perfect. I had reserved another 8 buttons (w/ a smaller CR1212 battery) so that I might emulate a MK14 or some other calculators that requires more buttons. But on second thought, I would just accept a 20 button layout in the next pcb design and move them all north a little bit. The fact is it is kind of difficult to use one hand to hold and press the lower buttons.

Link to post
Share on other sites

@@enl @@zeke

 

I will look into your suggestions. Thanks.

I guess I am looking for something simple and not expensive. This is really toy / show piece although I do use it daily.

 

The tactile buttons are clickery (not soft to press) and the underside are spiky. And I guess it's acceptable if you are not an accountant who need to pound it everyday.

 

@@bluehash

 

It's open source and of course we can group make it if you don't mind my sloppy work. I am not in a position to help assembly etc, but can provide code / testing / advice.

 

 

I can upload the fritzing design. I would think that the layout should

 

  • Eliminate the extra button positions.
  • Add a by-pass cap (I forgot that but really every msp430 should have one)
Link to post
Share on other sites

How are the tactile buttons you used? I have always used the 4 post 6x6mm ones but some of them are pretty flaky. Which ones are you using?

The ones I am using are surprisingly good quality, better than the square ones (6x6 or 4.5x4.5) that I got from ebay.

I need these thin ones so as not to block the numberings.

The clicks are solid and are on the hard side, which is unlike typical calculators and makes it feel more like a electronic equipment.

I had the DX product link on the build page.

 

BTW I would also mentioned that I am direct driving / multiplexing the led at 1/8 rate, so it would work well outdoors (or beside a window). But works fine indoors. It's not designed for heavy use.

Link to post
Share on other sites

BTW I would also mentioned that I am direct driving / multiplexing the led at 1/8 rate, so it won't work well outdoors (or beside a window). But works fine indoors. It's not designed for heavy use.

Maybe you could design the PCB to allow for an LED bubble display or a 1x8 LCD display. The LCD would be less authentic, but allow for better battery life and better readability under bright light.

 

http://www.mouser.com/ds/2/291/NHD-0108FZ-RN-YBW-33152.pdf

Link to post
Share on other sites

Maybe you could design the PCB to allow for an LED bubble display or a 1x8 LCD display. The LCD would be less authentic, but allow for better battery life and better readability under bright light.

 

http://www.mouser.com/ds/2/291/NHD-0108FZ-RN-YBW-33152.pdf

Too big. I was also looking at some smaller COG ones but decided that they looked too "advanced" for any retro build. The fact that they are 7x5 dots instead of 7 segment really make them not attractive / pretty.

 

I myself is satisfied w/ the bubble led brightness and I mentioned it to avoid misleading potential builder into something it cannot do (outdoor visibility).

 

I actually make sure the led modules synchronize w/ the TMS080x emulated execution. I.e. I allow the led be updated while the TMS080x steps through instructions. So you will see some ghosting / running numbers during the calculations as the original calculator did.

 

I knew battery life will be an issue and originally try to use 1 or 2 AAAs, but eventually I want to keep it credit card size for the fun / toy like factor. The current PCB is 85x50 mm which is a bit narrower than a credit card, but I need to stay within 50mm width to enjoy a lower PCB cost.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...