Intro : Some months ago , i decided to learn how working computer on the most low level (CPU , ALU , RAM , Binary Code , etc). And i think that in whole i not bad all this understand. And here , in my mind came one idea : create my own simple computer , with small LED display. But the main part of my idea : i want to create such computer , without any microcontrollers (like Ardruino , Rasberry , etc) , and even maybe without ant memory microchip's. Using only or binary logical elements on transistors, or binary logical elements on microchip's (but not microcontrollers!).
In whole , my idea :
1)Display. Simple matrix(array) from one-color light-emitting diod's (i think 20x20=400 LEDS).
2)Programming. I think , that is the most interesting part of my idea , i want to programming my computer... by punched tape , which include only binary code of my progrram. The special apparatus is reading binary code from punched tape , and write it is in Command RAM. After this , CPU starting to read and do binary code from Command RAM. Variables , counts , all this will be making in the Main RAM. Else CPU has acsees to Video RAM. I mean : reading binary code from punched tape and writing this in Command RAM. Then CPU reading this code , and if need do something counts , delarings , etc. in Command RAM. On this base , in binary code i want to write some algorithm, which count the position for that LED , which i want to turn on. CPU only do commands. There is no conveyor algrotinm of command reading , code optimizer's , etc. Only 3-4 simple commands Just like this : Command style : xxxx - command ID yyyy - first operand zzzz - secomd operand
1)0001 0111 1 = > Set value of bit from Video RAM , with number 0111 in 1 (in the other words - turn on LED with number 0111).
2)0002 0111 1 => Set value of bit from Main RAM , with number 0111 in 1. etc...
And else i have idea to write some assembler for this computer. Some lexical analyzer on C++ , which will be tranlate my special assembler codes into binary code. On these assembler i can create even arrays and object types , using only 3-4 CPU commands. In the whole :
Screen : 20x20=400 LED
Video RAM : 400 bits
Command RAM : 1KB ~ 500Bytes
Main RAM : 200-300 Bytes. Maybe 500-600.
Ah , forgot about IRQ. I want to create 5 buttons , and there will be IRQ RAM (5 Bit) flags of turning on for each buton.
And i need an advice : is it really possible to create such computer (or my idea completely crazy??), which will be programming by binary code on punched tape , and 20x20 LED screen , and simple CPU , and how many time does it get to create? And of course using ONLY or binary logical elements and memory triggers based on transistrors , or binary logical elements and memory triggers based on microchip's (but not microcontroller) (It is crucial for me ). But do not understnd me wrong : i am actually glad to using microcontrollers , but i want to create this computer withount any of them. This is not some college projects, or project for real/business using , just my own idea for self-
education. In theory , counting the position of turned on LED , i can write some games on that computer. And it is quite possible to write such games on my copmuter :
http://www.youtube.com/watch?v=XczolyohgXU
http://www.youtube.com/watch?v=9ZcxFSu2_6k
Thanks for reading!
04-18-
In whole , my idea :
1)Display. Simple matrix(array) from one-color light-emitting diod's (i think 20x20=400 LEDS).
2)Programming. I think , that is the most interesting part of my idea , i want to programming my computer... by punched tape , which include only binary code of my progrram. The special apparatus is reading binary code from punched tape , and write it is in Command RAM. After this , CPU starting to read and do binary code from Command RAM. Variables , counts , all this will be making in the Main RAM. Else CPU has acsees to Video RAM. I mean : reading binary code from punched tape and writing this in Command RAM. Then CPU reading this code , and if need do something counts , delarings , etc. in Command RAM. On this base , in binary code i want to write some algorithm, which count the position for that LED , which i want to turn on. CPU only do commands. There is no conveyor algrotinm of command reading , code optimizer's , etc. Only 3-4 simple commands Just like this : Command style : xxxx - command ID yyyy - first operand zzzz - secomd operand
1)0001 0111 1 = > Set value of bit from Video RAM , with number 0111 in 1 (in the other words - turn on LED with number 0111).
2)0002 0111 1 => Set value of bit from Main RAM , with number 0111 in 1. etc...
And else i have idea to write some assembler for this computer. Some lexical analyzer on C++ , which will be tranlate my special assembler codes into binary code. On these assembler i can create even arrays and object types , using only 3-4 CPU commands. In the whole :
Screen : 20x20=400 LED
Video RAM : 400 bits
Command RAM : 1KB ~ 500Bytes
Main RAM : 200-300 Bytes. Maybe 500-600.
Ah , forgot about IRQ. I want to create 5 buttons , and there will be IRQ RAM (5 Bit) flags of turning on for each buton.
And i need an advice : is it really possible to create such computer (or my idea completely crazy??), which will be programming by binary code on punched tape , and 20x20 LED screen , and simple CPU , and how many time does it get to create? And of course using ONLY or binary logical elements and memory triggers based on transistrors , or binary logical elements and memory triggers based on microchip's (but not microcontroller) (It is crucial for me ). But do not understnd me wrong : i am actually glad to using microcontrollers , but i want to create this computer withount any of them. This is not some college projects, or project for real/business using , just my own idea for self-
education. In theory , counting the position of turned on LED , i can write some games on that computer. And it is quite possible to write such games on my copmuter :
http://www.youtube.com/watch?v=XczolyohgXU
http://www.youtube.com/watch?v=9ZcxFSu2_6k
Thanks for reading!
04-18-