This video is about my My4TH computer, which runs the old Forth programming language, and the Forth Deck, a portable computer with keyboard and display based on the My4TH computer board.
Hi Dennis! This is amazing! My oh my, building a Forth computer without a CPU! Well done! Forth has been one of my first computer experiences back in the day and I recall the Forth Ace computer that I once build a replica from and really liked the language. I lost the system over time and regret it every single day. Trying to find one but without luck (or way too expensive). I might have a look at this system but firstly a big THANK YOU for sharing your project! Cheers, __Frank
Thank you very much, Dennis. Brilliant work. It is great to see, that somebody really takes it to the limit. And it was nice to see that you used Forth as an example to show what to use your "CPU" for. And it still is fast enough. I wonder, if there will be a design soon that runs in an FPGA. Or simulated in an Arduino, as many do have a board unused in a corner somewhere ...
I am so impressed with this my first visit to this channel that I immediately subscribed. There are a lot of things that surprised me: • The microcode width, only 16 bits. Of course, it means it needs some decoding, but very little! • The use of Forth, which I applaud. • The lookup-table-supported software ALU. • The reduced number of units. • The ingenuity of the design. Many thanks for sharing!
A million years ago I tried my luck at a Forth implementation for AVR. Couldn't wrap my head around it - in the same manner that OCaml is so alien to me, that I never was able to form an even basic grasp of it. Despite me being a C++ fanboi. Btw. it's not very expensive to put in real key switches nowadays, what with all the DIY mechanical keyboard craze.
Serial CPU... like in F-14 Tomcat Ah... lookup tables...smart ;) Very well explained, good job. Lovely, you enchanted philosophy of Forth in hardware design. Niiice 😁 to me also Forth came back from memories...
Just curious, do modern fighter jets use FPGA's to any capacity? To my limited knowledge, they are excellent for high throughput applications so they could be used for sensors, etc.
@@rakinkazi9780 i'm not an expert but is very possible. In F14 this was avioncs computer, some tell that first microprocesor before 4004. Most fighters are made max in thousands, lastly even in hundreds or less so are good candidates for FPGA use.
@@rakinkazi9780 I mean, you could Google it. "The communication, navigation, and identification friend or foe (IFF) avionics of the F-35 relies on Xilinx FPGAs, as do other critical electronic subsystems aboard the advanced jet-fighter-bomber. FPGAs enable Lockheed Martin to add new waveforms to embedded software radio systems in the F-35, as well as for real-time digital signal processing."
@@rakinkazi9780 FPGA's are a good option to prototype, but their processing speed is relatively low. Given the amazing power of current microcontrollers and microprocessors, I would use them if I were to design microcomputers/-controllers for avionics, but I would probably include FPGA's in the design (which should include a variety of computers and software of different types and brands, whose results on same input data should all match) for various reasons, one of them being circuit uniqueness and secrecy, something military aircraft would benefit from.
Very impressive! I’m a big fan of Forth and like to see it used in situations like this. I’d love to see more videos about the project, any part of it, all parts of it. Hope to see more about it soon!
Outstanding! This should be used in Every school! I have always liked Forth, if only this had existed in the 1980s. But I will get one now. Have you sent one to Chuck Moore, I bet he would love it,
It's really surprising how much functionality there is for so few logic IC's! I'm very curious about low-level language implementation.. going to check your site now. Geek on!
Wow this is so cool. Back in school there was an elective for CS majors to build a 4-bit cpu centered around the 74181 and we had to implement the microcode but only needed to demonstrate basic functionality by manually stepping through some op code. Wish I could have done the full thing by implementing a real clock but the parts were pretty expensive at the time so most students teamed up in pairs and the other guy was going to keep it when we were done. I like how you were able to use a single NOR and use the microcode loops. Very slick. I have also played with Forth first on a PDP-11 as well as on my old Atari 800 and I really loved the idea of threaded interpreted languages and how you can extend the language so easily. That was easy enough when you can write your image to disk but I'm wondering if you can still do something similar by updating the EEPROM on the fly? I'll have to look at your links to see how you implemented forth.
... very nice project. In future can you replace for 2 3 colors E-ink large display. Then with battery operated can withstand approx 15 days. Thank you.
hmm I really like this, I think the only thing I might have done differently would be to just double the width of the eeprom, to reduce the need on the register - only one of these would be connected to the actual data bus to do transfers - and if I'm not mistaken this could double the speed? Would this form of the machine be compatible with the original software as well? (well minus changing address lookups as they are now all halfed I guess)
Thanks for inspiring me a little further. I had considered such an approach previously. I'm not going to say what I was going to do. But, I encourage people in turn. I was just wondering, if there is a simple high speed way to do the 1 bit logic operation with a loop back? When I originally skimmed your webpage, I saw 6.3khz for the addition operation. Being rather sick, I decided to stop reading regrettably. Good work. But 8-14mhz is workable, as long as you leave the logic operations fly asynchronously to complete as soon as possible, and be picked up on the next clock after completion, which makes multiplication more feasible. The performance should hopefully be superior to old basic 8 bit processors. It would be good if it had performwnce enough to emulate a Jupiter Ace Forth Micro though, as a historically tribute (a machine that could have done something with 2 colour charcters, 4 colour pallet charcter mode, and 16 colour programmable character mode (maybe with 16 colour pallet from 256 colours), with scan line switching, and better sound. Which would have greatly improved it's sustainability against the Sinclair Spectrum. History was always so close for Forth). I had thought of doing an open source forth processor design for the embedded community before I got a lot sicker. Based on energy economy of descent performance and simple interface flexibility, to compete with 4 bit to 16 bit low ene controllers. I am now wondering if a very simple design like yours, in silicon, with a flying looped 1 bit logic controller, might be a cheaper alternative to 4 bit processors used in manufacturing in China. Except for the logic /maths operations, a misc design can be made very simple. The 1 bit logic keeps it that way, and a lot of applications the performance and even low energy, does not matter.
A suggestion Dennis. Coloured Electronic paper, or liquid drsplays? The liquid versions can get much better pixel changing and colour performance to other electronic paper types, and even be made at home. Samsung etc, invested heavily in them, but then increased oled efficiency. Whatever is brighter whiter faster and more colourful, cheaply. A pOLED also would be a great option? Unfortunately, I don't know anybody who makes cheap good oiquid versions, byt that 8K VR headset around 5 years ago, used them instesd of OLED.
do you realy need the nor gate? why you do not only use look up tables? thank you for the explanation, i was staring for hours at the mynor schematics and could not figure out how you shift data bits around to make good use of your memory.
No, you could also use a nand/or/and gate. But you need a path to combine at least one bit from two different bytes/sources. But you could also omit the gate altogether. There is another path in the circuitry that can be used to combine two bits: the conditional jump logic. Any logical operation can be performed with a series of conditional jumps. But that would make the CPU really damn uselessly slow. 🤔
You can find everything you need to build the Forth Deck and the My4TH board on my website: www.mynor.org/myth . You can also buy a kit: www.budgetronics.eu/en/search?query=my4th
Hi Dennis. What display are you using? I just know about 20x4, but this one is much bigger. For what would I have to search, if I'd like to experiment with it?
If I'm not mistaken the you must buy the My4TH board/computer and the Forth Deck (display and keyboard) separately. But where do I buy that wonderful white plastic case?
You can download the STL file for the case from my homepage. The white case is printed with the SLS process, the material is PA 12. It cost me over €100 to hire a company to print it. So this part is not something you would print by the dozen to put on a shelf and hope someone buys it. 😉
My philosophy of life is "keep it simple". The simpler a system, the easier it is to understand. The less components are used, the less can break. It also keeps the way open for me to build the My4TH as a pure "dis-integrated" transistor computer one day ;-)
@@unLinuxeroMas "IC" stands for integrated circuits (transistors and ICs that are integrated into a package). By "dis-integrated" I mean that I pulled all the transistors and resistors out of the package. In fact, I rebuilt every IC I used for MyNOR with simple transistors and resistors.