4 bit calculator (+-x) decimal i/o on display

Build image: 
In-game name (NO VISITORS! Must be LEARNER rank or higher!): 
Thornthehedgehog
Builder name(s) and current ranks: 
Thornthehedgehog: Learner
Creation location: 
in the learner plots at x= 277, y= 203, z= -0 (how the heck is there -0 in coordinate points lol)
Machine Features: 

It's a 4 bit calculator with 3 functions +-x (as specified in the challengeboard), it has a 10 digit numpad and can input numbers between 0-15 (for 10 - 15 input 1 first then the second digit after). there is a lever to determine A or B input and a button to confirm/enter the number. There is a section to decide which typer of operation +-x you want to perform. just like a real calculator when you finish a calculation and switch to a new one it will clear the board and output. there is a full clear button for clearing the board including the type of operation being done. Before you input numbers you MUST specify which operation type you will do or it will not accept the input.

For the input, the calculator features a adder based sequential BCD2Bin decoder, there is a separate unit near the full calculator if you'd like to see this by itself. It is far more compact than most other types of BCD2Bin. Every Adder unit used in this design is a 5 tick diagonal CCA I designed. The multiplier is a 4 bit combinational multiplier with an 8 bit output. The addition is done with just a normal adder except this adder is also a toggle able subtracter. The adder/subtracter unit goes into another adder toggleable adder/subtracter unit. This second unit is to take negative outputs of the subtracter and apply 2's compliment to make it positive. All the outputs are Bussed out to a combinational Bin2BCD decoder which leads into 3 bin2dec decoders for the final output. The inputs and outputs are all displayed on the board. The inputs are entered into there selective spots and units through registers and multiplexers including the display inputs. every component was built by me with WorldEdit help from various users on the server including Farex, Jetfee42, and many others who i thank cause this would have taken forever without the help.

Additional features, in the CU there is an indicator to say whether the number being inputed is a 1's place digit number or a 10s place digit number. So if the 10's light is on then the number inputed is greater than 9 if the 1's is on then it's 1-9 and if it's nothing then the 0 light is on. This is to provide a quick input display. I would've put a display for which exact number is being inputed but it would be much slower since the BCD2Bin would need to decode first and then buss out into a decoder which would then not be able to decode so for efficient display of number i felt this was the best way to go. Another feature is when switching from one type of operation to another the inputs and thus the output are cleared in order to prevent issues of ORed outputs from the different units. Another feature added at the request of Ecconia is quick inputting which means that to input a 2 digit number you don't need to wait for the button to retract first or to wait or anything you can press 1 then 3 right after for 13 for quick and easy inputting which is done by having the outputs of the number pad come as short 2 tick pulses which are then extended sligtly to 4 ticks as they enter the BCD and the enter function of the bcd is timed to go off right as the inputs reach the bcd. thanks to ecconia for recommending this cause it makes this a whole lot better for inputting.

here is a link to an album with more pictures for a better view of the thing cause the one pic on here isn't enough for a good look of it: http://imgur.com/a/xwmaf

How To Use: 

to use this i explained it sort of above in the features section but i'll go over it again here. The first step is to select what kind of operation you would like to do +-x. Once selected, if there was anything on the board already it will be reset to all 0s and the new operator sign will show up on the board. After selecting the input then you would input the numbers used in the operation. So the number input is on the 10 digit numpad. 0-9. The number location is on a sign above the numpad. To input numbers from 0-9 just press the corresponding number. For numbers between 10-15 you need to input 1 first then the second number 0-5. after inputting the number go to the left and select whether or not you want to input to A or to B then press the input button (indicated by a sign with "input"). it may take a tiny bit of time for the number to show up because of delay in the bussing to the display decoder/rom however after pressing it you can go on to submit your next number. The other number you want you do the same thing and select the other input using the A/B lever then input again. To clear you can press the far right button (reset) or select another operator sign. however if you press any of the operator signs for resetting, the inputs will reset but the new sign will show up on the board. you can press the reset button if you won't want this.

Request status: 
Approved